From ac22c4087d9a6380c1937337530a5d4e54808ad1 Mon Sep 17 00:00:00 2001 From: kraibse <33869366+kraibse@users.noreply.github.com> Date: Sun, 1 Nov 2026 21:44:43 +0100 Subject: Revert "video_core: draw deferred instances before the state after their loop" This reverts commit eb99da60729bcc9fa4d3a03607a719f7e220ad62. --- src/video_core/engines/maxwell_3d.cpp | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'src/video_core/engines/maxwell_3d.cpp') diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index b344514bc6..6adfcf89b8 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -336,12 +336,6 @@ void Maxwell3D::ConsumeSinkImpl(Core::System& system) { } void Maxwell3D::ProcessDirtyRegisters(u32 method, u32 argument) { - // The instances after the first are drawn together once their loop ends, and they must see - // the state they were begun with: NVN's draw macros reset the base instance (and its copy in - // c[0][0x644]) right after the loop, before the macro returns. - if (draw_manager.HasDeferredDraw() && !DrawManager::IsInstanceLoopMethod(method)) [[unlikely]] { - draw_manager.DrawDeferred(*this); - } regs.reg_array[method] = argument; for (auto const& table : dirty.tables) dirty.flags[table[method]] = true; @@ -522,10 +516,6 @@ void Maxwell3D::CallMultiMethod(Core::System& system, u32 method, const u32* bas ProcessMacro(system, method, base_start, amount, amount == methods_pending); return; } - // As in ProcessDirtyRegisters: the paths below write without it. - if (draw_manager.HasDeferredDraw() && !DrawManager::IsInstanceLoopMethod(method)) [[unlikely]] { - draw_manager.DrawDeferred(*this); - } switch (method) { case MAXWELL3D_REG_INDEX(const_buffer.buffer): case MAXWELL3D_REG_INDEX(const_buffer.buffer) + 1: -- cgit v1.2.3