forked from ShuriZma/suyu
1
0
Fork 0

VideoCore: Extra Fixes.

This commit is contained in:
Fernando Sahmkow 2021-11-16 00:01:40 +01:00
parent feb49c822d
commit 6fc4012396
3 changed files with 5 additions and 3 deletions

View File

@ -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 = [&]() { const auto check_failing = [&]() {
if (events[slot].fails > 2) { 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 (params.timeout == 0) {
if (check_failing()) { if (check_failing()) {
events[slot].fails = 0;
return NvResult::Success; return NvResult::Success;
} }
return NvResult::Timeout; return NvResult::Timeout;
@ -180,6 +181,7 @@ NvResult nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector
} }
if (check_failing()) { if (check_failing()) {
event.fails = 0;
return NvResult::Success; return NvResult::Success;
} }

View File

@ -118,7 +118,7 @@ void Puller::ProcessSemaphoreTriggerMethod() {
} }
void Puller::ProcessSemaphoreRelease() { 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() { void Puller::ProcessSemaphoreAcquire() {

View File

@ -755,7 +755,7 @@ bool IsValidEntry(const Tegra::MemoryManager& gpu_memory, const TICEntry& config
if (address == 0) { if (address == 0) {
return false; return false;
} }
if (address > (1ULL << 48)) { if (address >= (1ULL << 40)) {
return false; return false;
} }
if (gpu_memory.GpuToCpuAddress(address).has_value()) { if (gpu_memory.GpuToCpuAddress(address).has_value()) {