diff options
Diffstat (limited to 'src/video_core/gpu.cpp')
| -rw-r--r-- | src/video_core/gpu.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp index efea23bf2..cdb2f804e 100644 --- a/src/video_core/gpu.cpp +++ b/src/video_core/gpu.cpp | |||
| @@ -97,15 +97,18 @@ void GPU::RegisterSyncptInterrupt(const u32 syncpoint_id, const u32 value) { | |||
| 97 | syncpt_interrupts[syncpoint_id].emplace_back(value); | 97 | syncpt_interrupts[syncpoint_id].emplace_back(value); |
| 98 | } | 98 | } |
| 99 | 99 | ||
| 100 | void GPU::CancelSyncptInterrupt(const u32 syncpoint_id, const u32 value) { | 100 | bool GPU::CancelSyncptInterrupt(const u32 syncpoint_id, const u32 value) { |
| 101 | sync_mutex.lock(); | ||
| 101 | auto it = syncpt_interrupts[syncpoint_id].begin(); | 102 | auto it = syncpt_interrupts[syncpoint_id].begin(); |
| 102 | while (it != syncpt_interrupts[syncpoint_id].end()) { | 103 | while (it != syncpt_interrupts[syncpoint_id].end()) { |
| 103 | if (value == *it) { | 104 | if (value == *it) { |
| 104 | it = syncpt_interrupts[syncpoint_id].erase(it); | 105 | it = syncpt_interrupts[syncpoint_id].erase(it); |
| 105 | return; | 106 | return true; |
| 106 | } | 107 | } |
| 107 | it++; | 108 | it++; |
| 108 | } | 109 | } |
| 110 | return false; | ||
| 111 | sync_mutex.unlock(); | ||
| 109 | } | 112 | } |
| 110 | 113 | ||
| 111 | u32 RenderTargetBytesPerPixel(RenderTargetFormat format) { | 114 | u32 RenderTargetBytesPerPixel(RenderTargetFormat format) { |