diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2021-11-16 00:01:40 +0100 | 
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-10-06 21:00:52 +0200 | 
| commit | 6fc4012396e98a1a6ac455791b314d2280a12a51 (patch) | |
| tree | e033b398a8cf99f3bd5f9810970872ee40a35a82 | |
| parent | feb49c822d9cabc5bc7be9eab1f2bf4ba460176a (diff) | |
VideoCore: Extra Fixes.
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp | 4 | ||||
| -rw-r--r-- | src/video_core/engines/puller.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/texture_cache/util.cpp | 2 | 
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          }      }(); -    must_unmark_fail = true; +    must_unmark_fail = false;      const auto check_failing = [&]() {          if (events[slot].fails > 2) { @@ -164,6 +164,7 @@ NvResult nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector      if (params.timeout == 0) {          if (check_failing()) { +            events[slot].fails = 0;              return NvResult::Success;          }          return NvResult::Timeout; @@ -180,6 +181,7 @@ NvResult nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector      }      if (check_failing()) { +        event.fails = 0;          return NvResult::Success;      } 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() {  }  void Puller::ProcessSemaphoreRelease() { -    memory_manager.Write<u32>(regs.semaphore_address.SemaphoreAddress(), regs.semaphore_release); +    rasterizer->SignalSemaphore(regs.semaphore_address.SemaphoreAddress(), regs.semaphore_release);  }  void 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      if (address == 0) {          return false;      } -    if (address > (1ULL << 48)) { +    if (address >= (1ULL << 40)) {          return false;      }      if (gpu_memory.GpuToCpuAddress(address).has_value()) { | 
