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.
This commit is contained in:
Billy Laws 2022-11-25 16:33:14 +00:00
parent 579a2d9337
commit 137d801843

View File

@ -3,7 +3,6 @@
#include <soc.h> #include <soc.h>
#include <services/nvdrv/devices/deserialisation/deserialisation.h> #include <services/nvdrv/devices/deserialisation/deserialisation.h>
#include <gpu.h>
#include "host1x_channel.h" #include "host1x_channel.h"
namespace skyline::service::nvdrv::device::nvhost { namespace skyline::service::nvdrv::device::nvhost {
@ -39,10 +38,12 @@ namespace skyline::service::nvdrv::device::nvhost {
for (size_t i{}; i < syncpointIncrs.size(); i++) { for (size_t i{}; i < syncpointIncrs.size(); i++) {
const auto &incr{syncpointIncrs[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++) for (size_t j{}; j < incr.numIncrs; j++)
state.soc->host1x.syncpoints[incr.syncpointId].Increment(); state.soc->host1x.syncpoints[incr.syncpointId].Increment();
u32 max{core.syncpointManager.IncrementSyncpointMaxExt(incr.syncpointId, incr.numIncrs)};
if (i < fenceThresholds.size()) if (i < fenceThresholds.size())
fenceThresholds[i] = max; 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); Logger::Debug("Submit gather, CPU address: 0x{:X}, words: 0x{:X}", gatherAddress, cmdBuf.words);
span gather(reinterpret_cast<u32 *>(gatherAddress), cmdBuf.words); span gather(reinterpret_cast<u32 *>(gatherAddress), cmdBuf.words);
// state.soc->host1x.channels[static_cast<size_t>(channelType)].Push(gather); // Skip submitting the cmdbufs as no functionality is implemented
// state.soc->host1x.channels[static_cast<size_t>(channelType)].Push(gather);
} }
return PosixResult::Success; return PosixResult::Success;