From 2ed2c8b2f71b4b7c26aa73abce0f3318c971a778 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Fri, 16 Jan 2026 13:56:53 -0400 Subject: [PATCH] Revert "[video_core, dma] Recalculating engine entries to dma based on previous initialization method" --- src/video_core/dma_pusher.cpp | 27 ++++++++++++------------ src/video_core/engines/engine_upload.cpp | 9 -------- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/src/video_core/dma_pusher.cpp b/src/video_core/dma_pusher.cpp index 286663f3aa..9a4db1b4ab 100644 --- a/src/video_core/dma_pusher.cpp +++ b/src/video_core/dma_pusher.cpp @@ -27,20 +27,19 @@ constexpr bool IsMethodExecutable(u32 method, Tegra::Engines::EngineTypes engine switch (engine_type) { case EngineTypes::Maxwell3D: switch (method) { - case 0x0110: case 0x0114: case 0x0115: case 0x0117: case 0x0124: - case 0x01B0: case 0x01B4: case 0x02C8: - case 0x0D74: case 0x0D75: case 0x0DE0: case 0x0F74: case 0x0F7C: - case 0x108B: case 0x1214: case 0x1218: case 0x1301: - case 0x1530: case 0x1552: case 0x15E8: case 0x15ED: - case 0x1614: case 0x1615: case 0x1970: case 0x19D0: case 0x1B03: - case 0x17CD: case 0x17CE: case 0x17E4: case 0x17E8: case 0x17EC: - case 0x17F0: case 0x17F4: case 0x17F8: - case 0x2304: - case 0x2384: case 0x2385: case 0x2386: case 0x2387: - case 0x2388: case 0x2389: case 0x238A: case 0x238B: - case 0x238C: case 0x238D: case 0x238E: case 0x238F: - case 0x2390: case 0x2391: case 0x2392: case 0x2393: - case 0x2404: case 0x240C: case 0x2414: case 0x241C: case 0x2424: + case 0x0044: case 0x0045: case 0x0046: case 0x0047: case 0x0049: + case 0x006C: case 0x006D: case 0x00B2: + case 0x035D: case 0x035E: case 0x0378: case 0x03DD: case 0x03DF: + case 0x0485: case 0x0486: case 0x04C0: case 0x054C: case 0x0556: + case 0x0585: case 0x0586: case 0x057A: case 0x057B: + case 0x05F7: case 0x05F8: case 0x05F9: case 0x05FA: case 0x05FB: + case 0x05FC: case 0x05FD: case 0x05FE: + case 0x065C: case 0x0674: case 0x06C0: case 0x08C4: + case 0x08E0: case 0x08E1: case 0x08E2: case 0x08E3: case 0x08E4: + case 0x08E5: case 0x08E6: case 0x08E7: case 0x08E8: case 0x08E9: + case 0x08EA: case 0x08EB: case 0x08EC: case 0x08ED: case 0x08EE: case 0x08EF: + case 0x0900: case 0x0908: case 0x0910: case 0x0918: case 0x0920: + case 0x042B: return true; default: return false; diff --git a/src/video_core/engines/engine_upload.cpp b/src/video_core/engines/engine_upload.cpp index ea6ce61090..ba21eec4c4 100644 --- a/src/video_core/engines/engine_upload.cpp +++ b/src/video_core/engines/engine_upload.cpp @@ -33,12 +33,6 @@ void State::ProcessExec(const bool is_linear_) { } void State::ProcessData(const u32 data, const bool is_last_call) { - if (copy_size == 0) [[unlikely]] { - return; - } - if (write_offset >= copy_size) [[unlikely]] { - return; - } const u32 sub_copy_size = (std::min)(4U, copy_size - write_offset); std::memcpy(&inner_buffer[write_offset], &data, sub_copy_size); write_offset += sub_copy_size; @@ -55,9 +49,6 @@ void State::ProcessData(const u32* data, size_t num_data) { void State::ProcessData(std::span read_buffer) { const GPUVAddr address{regs.dest.Address()}; - if (address == 0 || regs.line_count == 0 || regs.line_length_in == 0) [[unlikely]] { - return; - } if (is_linear) { for (size_t line = 0; line < regs.line_count; ++line) { const GPUVAddr dest_line = address + line * regs.dest.pitch;