From 7d1b974bcaf72c32910dcf4ff2d435f91cf40609 Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Wed, 12 Jun 2019 07:52:49 -0400 Subject: GPU: Correct Interrupts to interrupt on syncpt/value instead of event, mirroring hardware --- src/core/hle/service/nvdrv/nvdrv.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/core/hle/service/nvdrv/nvdrv.h') diff --git a/src/core/hle/service/nvdrv/nvdrv.h b/src/core/hle/service/nvdrv/nvdrv.h index 597acc9c6..97b48d150 100644 --- a/src/core/hle/service/nvdrv/nvdrv.h +++ b/src/core/hle/service/nvdrv/nvdrv.h @@ -73,6 +73,8 @@ struct EventsInterface { void LiberateEvent(const u32 event_id) { status[event_id] = registered[event_id] ? EventState::Registered : EventState::Free; events_mask &= ~(1 << event_id); + assigned_syncpt[event_id] = 0xFFFFFFFF; + assigned_value[event_id] = 0; } }; @@ -97,7 +99,7 @@ public: /// Closes a device file descriptor and returns operation success. ResultCode Close(u32 fd); - void SignalEvent(const u32 event_id); + void SignalSyncpt(const u32 syncpoint_id, const u32 value); Kernel::SharedPtr GetEvent(const u32 event_id); -- cgit v1.2.3