shadPS4/src/shader_recompiler/backend/spirv
Vinicius Rangel 680192a0c4
64 bits OP, impl V_ADDC_U32 & V_MAD_U64_U32 (#310)
* impl V_ADDC_U32 & V_MAD_U64_U32

* shader recompiler: add 64 bits version to get register / GetSrc

* fix V_ADDC_U32 carry

* shader recompiler: removed automatic conversion to force_flt in GetSRc

* shader recompiler: auto cast between u32 and u64 during ssa pass

* shader recompiler: fix SetVectorReg64 & standardize switches-case

* shader translate: fix overflow detection in V_ADD_I32

use vcc lo instead of vcc thread bit

* shader recompiler: more 64-bit work

- removed bit_size parameter from Get[Scalar/Vector]Register
- add BitwiseOr64
- add SetDst64 as a replacement for SetScalarReg64 & SetVectorReg64
- add GetSrc64 for 64-bit value

* shader recompiler: add V_MAD_U64_U32 vcc output

- add V_MAD_U64_U32 vcc output
- ILessThan for 64-bits

* shader recompiler: removed unnecessary changes & missing consts

* shader_recompiler: Add s64 type in constant propagation
2024-07-27 17:23:59 +03:00
..
emit_spirv.cpp shader_recompiler: Check usage before enabling capabilities (#245) 2024-07-06 02:42:16 +03:00
emit_spirv.h video_core: Add image support 2024-05-27 18:25:45 +03:00
emit_spirv_atomic.cpp shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store (#231) 2024-07-05 00:15:44 +03:00
emit_spirv_barriers.cpp shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store (#231) 2024-07-05 00:15:44 +03:00
emit_spirv_bitwise_conversion.cpp shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store (#231) 2024-07-05 00:15:44 +03:00
emit_spirv_composite.cpp video_core: Track renderpass scopes properly 2024-07-01 13:56:14 +03:00
emit_spirv_context_get_set.cpp spirv: Address some regressions in buffer loads (#304) 2024-07-19 19:36:07 +03:00
emit_spirv_convert.cpp shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store (#231) 2024-07-05 00:15:44 +03:00
emit_spirv_floating_point.cpp Surface management rework (1/3) (#307) 2024-07-20 12:51:21 +03:00
emit_spirv_image.cpp clang format fix 2024-07-17 17:57:54 +03:00
emit_spirv_instructions.h 64 bits OP, impl V_ADDC_U32 & V_MAD_U64_U32 (#310) 2024-07-27 17:23:59 +03:00
emit_spirv_integer.cpp 64 bits OP, impl V_ADDC_U32 & V_MAD_U64_U32 (#310) 2024-07-27 17:23:59 +03:00
emit_spirv_logical.cpp video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
emit_spirv_select.cpp video_core: Track renderpass scopes properly 2024-07-01 13:56:14 +03:00
emit_spirv_shared_memory.cpp shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store (#231) 2024-07-05 00:15:44 +03:00
emit_spirv_special.cpp recompiler: added support for discard on export with masked EXEC 2024-07-13 14:57:01 +02:00
emit_spirv_undefined.cpp video_core: Track renderpass scopes properly 2024-07-01 13:56:14 +03:00
emit_spirv_warp.cpp video_core: Preliminary storage image support and more (#188) 2024-06-10 22:35:14 +03:00
spirv_emit_context.cpp memory: Cleanups and refactors (#324) 2024-07-25 23:01:12 +03:00
spirv_emit_context.h Surface management rework (1/3) (#307) 2024-07-20 12:51:21 +03:00