Browse Source

Add safe_reads to only Extreme accuracy

pull/276/head
MaranBr 7 months ago
committed by crueter
parent
commit
d0bfbabe42
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 7
      src/video_core/dma_pusher.cpp

7
src/video_core/dma_pusher.cpp

@ -85,6 +85,7 @@ bool DmaPusher::Step() {
dma_state.dma_get, command_list_header.size * sizeof(u32));
}
}
const auto safe_process = [&] {
Tegra::Memory::GpuGuestMemory<Tegra::CommandHeader,
Tegra::Memory::GuestMemoryFlags::SafeRead>
@ -92,6 +93,7 @@ bool DmaPusher::Step() {
&command_headers);
ProcessCommands(headers);
};
const auto unsafe_process = [&] {
Tegra::Memory::GpuGuestMemory<Tegra::CommandHeader,
Tegra::Memory::GuestMemoryFlags::UnsafeRead>
@ -99,7 +101,10 @@ bool DmaPusher::Step() {
&command_headers);
ProcessCommands(headers);
};
if (Settings::IsGPULevelHigh()) {
if (Settings::IsGPULevelExtreme()) {
safe_process();
} else if (Settings::IsGPULevelHigh()) {
if (dma_state.method >= MacroRegistersStart) {
unsafe_process();
} else {

Loading…
Cancel
Save