eden-miror/src/video_core/engines
lizzie 77decca678
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
[video_core/engines/maxwell3d] memory inline DrawState to reduce indirection on hot paths (#3758)
usual indirection removal
helps very slightly to codegen

the idea is basically to reduce the amount of pointer deference overall in the code, and use idiomatic std::variant<>-isms to not rely on vtables/unique_ptr overhead
this should allow the compiler to emit better code
of course it's a tiny optimisation and only CPU side, but allows us to reduce indirection which is almost always a good thing

"but youre passing more parameters to the function!!!" its literally memoized into a register my friend

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3758
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-04-28 17:44:51 +02: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 [video_core/engines/maxwell3d] memory inline DrawState to reduce indirection on hot paths (#3758) 2026-04-28 17:44:51 +02: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/engines/maxwell3d] memory inline DrawState to reduce indirection on hot paths (#3758) 2026-04-28 17:44:51 +02:00
maxwell_3d.h [video_core/engines/maxwell3d] memory inline DrawState to reduce indirection on hot paths (#3758) 2026-04-28 17:44:51 +02: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