shadPS4/src/shader_recompiler/frontend/translate
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
..
data_share.cpp shader_recompiler: Various fixes to shared memory and atomics. (#3075) 2025-06-10 15:41:58 -07:00
export.cpp shader_recompiler: Implement dual source blending (#3054) 2025-06-08 21:38:58 +03:00
scalar_alu.cpp shader_recompiler: Optimize general case of buffer addressing (#3159) 2025-06-26 12:14:36 +03:00
scalar_flow.cpp Implement SET_PC_B64 instruction (#2823) 2025-04-21 14:25:15 -07:00
scalar_memory.cpp video_core: Implement DMA. (#2819) 2025-05-22 21:00:15 +03:00
translate.cpp shader_recompiler: Implement linear interpolation support (#3055) 2025-06-08 22:46:34 +03:00
translate.h Handle DS_READ_U16, DS_WRITE_B16, DS_ADD_U64 (#3007) 2025-06-09 22:03:38 +03:00
vector_alu.cpp v_rcp_legacy_f32 (#3040) 2025-06-04 16:55:47 -07:00
vector_interpolation.cpp shader_recompiler: Cleanup fragment attribute handling (#3076) 2025-06-10 18:57:16 +03:00
vector_memory.cpp Implement buffer atomic fmin/fmax instructions (#3123) 2025-06-19 17:37:29 -07:00