From 137d8018433a5a601487d8161203b622086dcc9f Mon Sep 17 00:00:00 2001 From: Billy Laws Date: Fri, 25 Nov 2022 16:33:14 +0000 Subject: [PATCH] Skip host1x HW emulation and effectively stub submission This was causing a bunch of logspam and isn't really needed as we will be using a HLE approach. --- .../services/nvdrv/devices/nvhost/host1x_channel.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/cpp/skyline/services/nvdrv/devices/nvhost/host1x_channel.cpp b/app/src/main/cpp/skyline/services/nvdrv/devices/nvhost/host1x_channel.cpp index ebc3db4a..66f86108 100644 --- a/app/src/main/cpp/skyline/services/nvdrv/devices/nvhost/host1x_channel.cpp +++ b/app/src/main/cpp/skyline/services/nvdrv/devices/nvhost/host1x_channel.cpp @@ -3,7 +3,6 @@ #include #include -#include #include "host1x_channel.h" namespace skyline::service::nvdrv::device::nvhost { @@ -39,10 +38,12 @@ namespace skyline::service::nvdrv::device::nvhost { for (size_t i{}; i < syncpointIncrs.size(); i++) { const auto &incr{syncpointIncrs[i]}; + u32 max{core.syncpointManager.IncrementSyncpointMaxExt(incr.syncpointId, incr.numIncrs)}; + + // Increment syncpoints on the CPU to avoid needing to pass through the emulated nvdec code which currently does nothing for (size_t j{}; j < incr.numIncrs; j++) state.soc->host1x.syncpoints[incr.syncpointId].Increment(); - u32 max{core.syncpointManager.IncrementSyncpointMaxExt(incr.syncpointId, incr.numIncrs)}; if (i < fenceThresholds.size()) fenceThresholds[i] = max; } @@ -56,7 +57,8 @@ namespace skyline::service::nvdrv::device::nvhost { Logger::Debug("Submit gather, CPU address: 0x{:X}, words: 0x{:X}", gatherAddress, cmdBuf.words); span gather(reinterpret_cast(gatherAddress), cmdBuf.words); - // state.soc->host1x.channels[static_cast(channelType)].Push(gather); + // Skip submitting the cmdbufs as no functionality is implemented + // state.soc->host1x.channels[static_cast(channelType)].Push(gather); } return PosixResult::Success;