mirror of
https://github.com/yuzu-emu/yuzu.git
synced 2025-06-11 06:48:43 -05:00
GPU: Correct Interrupts to interrupt on syncpt/value instead of event, mirroring hardware
This commit is contained in:
committed by
FernandoS27
parent
61697864c3
commit
7d1b974bca
@ -89,13 +89,14 @@ ResultCode Module::Close(u32 fd) {
|
||||
return RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
void Module::SignalEvent(const u32 event_id) {
|
||||
if (event_id >= 64) {
|
||||
LOG_ERROR(Service_NVDRV, "Unexpected Event signalled!");
|
||||
return;
|
||||
void Module::SignalSyncpt(const u32 syncpoint_id, const u32 value) {
|
||||
for (u32 i = 0; i < MaxNvEvents; i++) {
|
||||
if (events_interface.assigned_syncpt[i] == syncpoint_id &&
|
||||
events_interface.assigned_value[i] == value) {
|
||||
events_interface.LiberateEvent(i);
|
||||
events_interface.events[i].writable->Signal();
|
||||
}
|
||||
}
|
||||
events_interface.LiberateEvent(event_id);
|
||||
events_interface.events[event_id].writable->Signal();
|
||||
}
|
||||
|
||||
Kernel::SharedPtr<Kernel::ReadableEvent> Module::GetEvent(const u32 event_id) {
|
||||
|
Reference in New Issue
Block a user