shadPS4/src/shader_recompiler/ir
TheTurtle a49b13fe66
shader_recompiler: Optimize general case of buffer addressing (#3159)
* shader_recompiler: Simplify dma types

Only U32 is needed for S_LOAD_DWORD

* shader_recompiler: Perform address shift on IR level

Buffer instructions now expect address in the data unit they work on. Doing the shift on IR level will allow us to optimize some operations away on common case

* shader_recompiler: Optimize common buffer access pattern

* emit_spirv: Use 32-bit integer ops for fault buffer

Not many GPUs have 8-bit bitwise or operations so that would probably require some overhead to emulate from the driver

* resource_tracking_pass: Fix texel buffer shift
2025-06-26 12:14:36 +03:00
..
passes shader_recompiler: Optimize general case of buffer addressing (#3159) 2025-06-26 12:14:36 +03:00
abstract_syntax_list.cpp video_core: Implement DMA. (#2819) 2025-05-22 21:00:15 +03:00
abstract_syntax_list.h video_core: Implement DMA. (#2819) 2025-05-22 21:00:15 +03:00
attribute.cpp Tessellation (#1528) 2024-12-14 12:56:17 +02:00
attribute.h shader_recompiler: Implement linear interpolation support (#3055) 2025-06-08 22:46:34 +03:00
basic_block.cpp Tessellation (#1528) 2024-12-14 12:56:17 +02:00
basic_block.h Fixed return strict const iterator, replace to range-based loop C++17 and code refactor (#548) 2024-10-18 11:06:11 +03:00
breadth_first_search.h Bump to Clang 19 (#2434) 2025-02-18 15:55:13 +02:00
condition.h core,shader_recompiler: added const ref filesystem::path and removed if type size less 16 (#446) 2024-08-16 11:36:05 +03:00
debug_print.h DebugPrintf in shaders (#1252) 2024-10-06 22:34:40 +03:00
ir_emitter.cpp Implement buffer atomic fmin/fmax instructions (#3123) 2025-06-19 17:37:29 -07:00
ir_emitter.h Implement buffer atomic fmin/fmax instructions (#3123) 2025-06-19 17:37:29 -07:00
microinstruction.cpp Implement buffer atomic fmin/fmax instructions (#3123) 2025-06-19 17:37:29 -07:00
opcodes.cpp video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
opcodes.h Bump to Clang 19 (#2434) 2025-02-18 15:55:13 +02:00
opcodes.inc Implement buffer atomic fmin/fmax instructions (#3123) 2025-06-19 17:37:29 -07:00
patch.cpp Tessellation (#1528) 2024-12-14 12:56:17 +02:00
patch.h Tessellation (#1528) 2024-12-14 12:56:17 +02:00
pattern_matching.h Tessellation (#1528) 2024-12-14 12:56:17 +02:00
post_order.cpp shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store (#231) 2024-07-05 00:15:44 +03:00
post_order.h video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
program.cpp video_core: Implement DMA. (#2819) 2025-05-22 21:00:15 +03:00
program.h video_core: Implement DMA. (#2819) 2025-05-22 21:00:15 +03:00
reg.h shader_recompiler: Implement linear interpolation support (#3055) 2025-06-08 22:46:34 +03:00
reinterpret.h amdgpu: Handle 32-bit Unorm formats. (#2974) 2025-05-22 03:16:20 -07:00
srt_gvn_table.h Misc Cleanups (#2579) 2025-03-02 21:52:32 +02:00
type.cpp Fix shader type names (#2336) 2025-02-03 23:24:56 -08:00
type.h Tessellation (#1528) 2024-12-14 12:56:17 +02:00
value.cpp Tessellation (#1528) 2024-12-14 12:56:17 +02:00
value.h shader_recompiler: Various fixes to shared memory and atomics. (#3075) 2025-06-10 15:41:58 -07:00