summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp4
-rw-r--r--src/video_core/engines/puller.cpp2
-rw-r--r--src/video_core/texture_cache/util.cpp2
3 files changed, 5 insertions, 3 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
index a859a7abd..54074af75 100644
--- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
+++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
@@ -143,7 +143,7 @@ NvResult nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector
143 } 143 }
144 }(); 144 }();
145 145
146 must_unmark_fail = true; 146 must_unmark_fail = false;
147 147
148 const auto check_failing = [&]() { 148 const auto check_failing = [&]() {
149 if (events[slot].fails > 2) { 149 if (events[slot].fails > 2) {
@@ -164,6 +164,7 @@ NvResult nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector
164 164
165 if (params.timeout == 0) { 165 if (params.timeout == 0) {
166 if (check_failing()) { 166 if (check_failing()) {
167 events[slot].fails = 0;
167 return NvResult::Success; 168 return NvResult::Success;
168 } 169 }
169 return NvResult::Timeout; 170 return NvResult::Timeout;
@@ -180,6 +181,7 @@ NvResult nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector
180 } 181 }
181 182
182 if (check_failing()) { 183 if (check_failing()) {
184 event.fails = 0;
183 return NvResult::Success; 185 return NvResult::Success;
184 } 186 }
185 187
diff --git a/src/video_core/engines/puller.cpp b/src/video_core/engines/puller.cpp
index 37f2ced18..3866c8746 100644
--- a/src/video_core/engines/puller.cpp
+++ b/src/video_core/engines/puller.cpp
@@ -118,7 +118,7 @@ void Puller::ProcessSemaphoreTriggerMethod() {
118} 118}
119 119
120void Puller::ProcessSemaphoreRelease() { 120void Puller::ProcessSemaphoreRelease() {
121 memory_manager.Write<u32>(regs.semaphore_address.SemaphoreAddress(), regs.semaphore_release); 121 rasterizer->SignalSemaphore(regs.semaphore_address.SemaphoreAddress(), regs.semaphore_release);
122} 122}
123 123
124void Puller::ProcessSemaphoreAcquire() { 124void Puller::ProcessSemaphoreAcquire() {
diff --git a/src/video_core/texture_cache/util.cpp b/src/video_core/texture_cache/util.cpp
index 1820823b2..bea1c27d0 100644
--- a/src/video_core/texture_cache/util.cpp
+++ b/src/video_core/texture_cache/util.cpp
@@ -755,7 +755,7 @@ bool IsValidEntry(const Tegra::MemoryManager& gpu_memory, const TICEntry& config
755 if (address == 0) { 755 if (address == 0) {
756 return false; 756 return false;
757 } 757 }
758 if (address > (1ULL << 48)) { 758 if (address >= (1ULL << 40)) {
759 return false; 759 return false;
760 } 760 }
761 if (gpu_memory.GpuToCpuAddress(address).has_value()) { 761 if (gpu_memory.GpuToCpuAddress(address).has_value()) {