shadPS4/src/shader_recompiler/backend/spirv
TheTurtle 1fb0da9b89
video_core: Crucial buffer cache fixes + proper GPU clears (#414)
* translator: Use templates for stronger type guarantees

* spirv: Define buffer offsets upfront

* Saves a lot of shader instructions

* buffer_cache: Use dynamic vertex input when available

* Fixes issues when games like dark souls rebind vertex buffers with different stride

* externals: Update boost

* spirv: Use runtime array for ssbos

* ssbos can be large and typically their size will vary, especially in generic copy/clear cs shaders

* fs: Lock when doing case insensitive search

* Dark Souls does fs lookups from different threads

* texture_cache: More precise invalidation from compute

* Fixes unrelated render targets being cleared

* texture_cache: Use hashes for protect gpu modified images from reupload

* translator: Treat V_CNDMASK as float

* Sometimes it can have input modifiers. Worst this will cause is some extra calls to uintBitsToFloat and opposite. But most often this is used as float anyway

* translator: Small optimization for V_SAD_U32

* Fix review

* clang format
2024-08-13 09:21:48 +03:00
..
emit_spirv.cpp shader_recompiler: Small instruction parsing refactor/bugfixes (#340) 2024-07-30 23:32:40 +02: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: Small instruction parsing refactor/bugfixes (#340) 2024-07-30 23:32:40 +02: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 video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03:00
emit_spirv_convert.cpp shader_recompiler: Small instruction parsing refactor/bugfixes (#340) 2024-07-30 23:32:40 +02:00
emit_spirv_floating_point.cpp shader_recompiler: Small instruction parsing refactor/bugfixes (#340) 2024-07-30 23:32:40 +02:00
emit_spirv_image.cpp spirv: fix image sample lod/clamp/offset translation (#402) 2024-08-13 09:12:38 +03:00
emit_spirv_instructions.h spirv: fix image sample lod/clamp/offset translation (#402) 2024-08-13 09:12:38 +03:00
emit_spirv_integer.cpp shader_recompiler: Small instruction parsing refactor/bugfixes (#340) 2024-07-30 23:32:40 +02: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 video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03: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: Minor fixes (#366) 2024-08-05 13:45:28 +03:00
spirv_emit_context.cpp video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03:00
spirv_emit_context.h video_core: Crucial buffer cache fixes + proper GPU clears (#414) 2024-08-13 09:21:48 +03:00