diff options
author | bunnei <bunneidev@gmail.com> | 2020-11-07 09:08:19 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2020-11-07 09:08:19 +0100 |
commit | dc5396a4668b564b2d1f4488d10581dd67fc22db (patch) | |
tree | 831c685aa31c43777668f85a94b2a3f6cb5e2a1f /src/video_core/dma_pusher.cpp | |
parent | Merge pull request #4888 from lioncash/unicorn-remove (diff) | |
download | yuzu-dc5396a4668b564b2d1f4488d10581dd67fc22db.tar yuzu-dc5396a4668b564b2d1f4488d10581dd67fc22db.tar.gz yuzu-dc5396a4668b564b2d1f4488d10581dd67fc22db.tar.bz2 yuzu-dc5396a4668b564b2d1f4488d10581dd67fc22db.tar.lz yuzu-dc5396a4668b564b2d1f4488d10581dd67fc22db.tar.xz yuzu-dc5396a4668b564b2d1f4488d10581dd67fc22db.tar.zst yuzu-dc5396a4668b564b2d1f4488d10581dd67fc22db.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/dma_pusher.cpp | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/video_core/dma_pusher.cpp b/src/video_core/dma_pusher.cpp index 105b85a92..d8801b1f5 100644 --- a/src/video_core/dma_pusher.cpp +++ b/src/video_core/dma_pusher.cpp @@ -13,20 +13,6 @@ namespace Tegra { -void CommandList::RefreshIntegrityChecks(GPU& gpu) { - command_list_hashes.resize(command_lists.size()); - - for (std::size_t index = 0; index < command_lists.size(); ++index) { - const CommandListHeader command_list_header = command_lists[index]; - std::vector<CommandHeader> command_headers(command_list_header.size); - gpu.MemoryManager().ReadBlockUnsafe(command_list_header.addr, command_headers.data(), - command_list_header.size * sizeof(u32)); - command_list_hashes[index] = - Common::CityHash64(reinterpret_cast<char*>(command_headers.data()), - command_list_header.size * sizeof(u32)); - } -} - DmaPusher::DmaPusher(Core::System& system, GPU& gpu) : gpu{gpu}, system{system} {} DmaPusher::~DmaPusher() = default; @@ -77,8 +63,7 @@ bool DmaPusher::Step() { dma_pushbuffer.pop(); } else { const CommandListHeader command_list_header{ - command_list.command_lists[dma_pushbuffer_subindex]}; - const u64 next_hash = command_list.command_list_hashes[dma_pushbuffer_subindex++]; + command_list.command_lists[dma_pushbuffer_subindex++]}; const GPUVAddr dma_get = command_list_header.addr; if (dma_pushbuffer_subindex >= command_list.command_lists.size()) { @@ -95,15 +80,6 @@ bool DmaPusher::Step() { command_headers.resize(command_list_header.size); gpu.MemoryManager().ReadBlockUnsafe(dma_get, command_headers.data(), command_list_header.size * sizeof(u32)); - - // Integrity check - const u64 new_hash = Common::CityHash64(reinterpret_cast<char*>(command_headers.data()), - command_list_header.size * sizeof(u32)); - if (new_hash != next_hash) { - LOG_CRITICAL(HW_GPU, "CommandList at addr=0x{:X} is corrupt, skipping!", dma_get); - dma_pushbuffer.pop(); - return true; - } } for (std::size_t index = 0; index < command_headers.size();) { const CommandHeader& command_header = command_headers[index]; |