eden-miror/src/video_core/engines
MaranBr af554c0baa
[video_core] Fix Maxwell3D register processing to always mark dirty flags (#3712)
Removed the early return in ProcessDirtyRegisters to ensure all dependent dirty flags are set even if the register value hasn't changed.

This fixes flickering and vertex explosions on the Hero's Path in The Legend of Zelda: Breath of the Wild, fixes the teleport bug in The Legend of Zelda: Tears of the Kingdom, fixes the grey Luigi in Luigi's Mansion 3, and may also improve rendering in other games that rely on redundant register writes.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3712
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2026-03-17 19:53:28 +01:00
..
sw_blitter [*] change all std::unordered_map and std::unordered_set into ankerl::unordered_dense::map/set variants (#3442) 2026-02-10 03:34:07 +01:00
const_buffer_info.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
draw_manager.cpp vk_rasterizer: flip scissor y on lower left origin mode (#13122) 2024-02-27 15:40:33 +01:00
draw_manager.h Implement vertex array first and subsequent draws 2023-10-14 12:09:35 +01:00
engine_interface.h [video_core/engines] implement stub NV01 timer, inline other channel engines (#3640) 2026-03-06 15:05:39 +01:00
engine_upload.cpp [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
engine_upload.h VideoCore: Implement DispatchIndirect 2023-08-27 04:26:22 +02:00
fermi_2d.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
fermi_2d.h Fermi2D: sync cache flushes 2023-01-05 06:43:28 -05:00
kepler_compute.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
kepler_compute.h VideoCore: Implement DispatchIndirect 2023-08-27 04:26:22 +02:00
kepler_memory.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
kepler_memory.h DMAPusher: Improve collection of non executing methods 2023-01-01 16:43:57 -05:00
maxwell_3d.cpp [video_core] Fix Maxwell3D register processing to always mark dirty flags (#3712) 2026-03-17 19:53:28 +01:00
maxwell_3d.h [video_core/engines] implement stub NV01 timer, inline other channel engines (#3640) 2026-03-06 15:05:39 +01:00
maxwell_dma.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
maxwell_dma.h renderer_vulkan: implement layer stack composition 2024-01-31 11:27:21 -05:00
nv01_timer.h [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
puller.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
puller.h [video_core/engines] implement stub NV01 timer, inline other channel engines (#3640) 2026-03-06 15:05:39 +01:00