Compare commits

..

1 Commits

Author SHA1 Message Date
xbzk a9b95c2f20 [nce] handles duplicate NCE interrupts 2026-10-13 23:40:15 -03:00
2 changed files with 5 additions and 9 deletions
+2 -2
View File
@@ -369,8 +369,8 @@ void ArmNce::SetContext(const Kernel::Svc::ThreadContext& ctx) {
}
void ArmNce::SignalInterrupt(Kernel::KThread* thread) {
// Add break loop condition.
m_guest_ctx.esr_el1.fetch_or(static_cast<u64>(HaltReason::BreakLoop));
constexpr u64 break_loop = static_cast<u64>(HaltReason::BreakLoop);
if ((m_guest_ctx.esr_el1.fetch_or(break_loop) & break_loop) != 0) return;
auto* params = &thread->GetNativeExecutionParameters();
LockThreadParameters(params);
@@ -219,13 +219,9 @@ public:
void BindTextureBuffer(Buffer& buffer, u32 offset, u32 size,
VideoCore::Surface::PixelFormat format) {
if (guest_descriptor_queue.UsesDescriptorBuffer()) {
const VkDeviceAddress address = buffer.DeviceAddress();
const VkFormat vk_format = address == 0 ? VK_FORMAT_UNDEFINED : TexelBufferFormat(format);
guest_descriptor_queue.AddTexelBuffer(VK_NULL_HANDLE, address, offset, size, vk_format);
} else {
guest_descriptor_queue.AddTexelBuffer(buffer.View(offset, size, format));
}
guest_descriptor_queue.AddTexelBuffer(buffer.View(offset, size, format),
buffer.DeviceAddress(), offset, size,
TexelBufferFormat(format));
}
bool ShouldLimitDynamicStorageBuffers() const {