Vladislav Mikhalin
876445faf1
recompiler: emit a label right after s_branch to prevent dead code interferrence ( #1785 )
2024-12-14 22:46:55 +02:00
TheTurtle
e9ede8d627
Revert "DmaData and Recompiler fixes ( #1775 )" ( #1784 )
...
This reverts commit cafd40f2c2
.
2024-12-14 16:17:14 +02:00
Vladislav Mikhalin
cafd40f2c2
DmaData and Recompiler fixes ( #1775 )
...
* liverpool: fix dmadata packet handling
* recompiler: emit a label right after s_branch to prevent dead code interferrence
* specialize barriers
2024-12-14 14:33:06 +02:00
TheTurtle
22a2741ea0
shader_recompilers: Improvements to SSA phi generation and lane instruction elimination ( #1667 )
...
* shader_recompiler: Add use tracking for Insts
* ssa_rewrite: Recursively remove phis
* ssa_rewrite: Correct recursive trivial phi elimination
* ir: Improve read lane folding pass
* control_flow: Avoid adding unnecessary divergant blocks
* clang format
* externals: Update ext-boost
---------
Co-authored-by: Frodo Baggins <baggins31084@proton.me>
2024-12-05 23:14:16 +02:00
Herman Semenoff
96ea686eb6
Fixed return strict const iterator, replace to range-based loop C++17 and code refactor ( #548 )
...
Signed-off-by: Herman Semenov <GermanAizek@yandex.ru>
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-10-18 11:06:11 +03:00
TheTurtle
ee38eec7fe
shader_recompiler: Additional scope handling and user data as push constants ( #1013 )
...
* shader_recompiler: Use push constants for user data regs
* shader: Add some GR2 instructions
* shader: Add some instructions
* shader: Add instructions for knack
* touchups
* spirv: Better names
* buffer_cache: Ignore non gpu modified images
* clang format
* Add log
* more fixes
2024-09-23 08:55:43 +02:00
psucien
b687ae5e34
GnmDriver: Clear context support ( #567 )
...
* gnmdriver: added support for gpu context reset
* shader_recompiler: minor validation fixes
* shader_recompiler: added `V_CMPX_GT_I32`
* shader_recompiler: fix for crash on inline sampler access
* compilation warnings and dead code elimination
* amdgpu: fix for registers addressing
* libraries: videoout: reduce logging pressure
* shader_recompiler: fix for devergence scope detection
2024-08-25 23:01:05 +03:00
TheTurtle
3f9c86ad33
vk_pipeline_cache: Avoid recompiling new shaders on each new PL ( #480 )
...
* cfg: Add one more divergence case
* Seen in RDR shaders
* renderer_vulkan: Reduce number of compiled shaders
* vk_pipeline_cache: Remove some unnecessary checks
2024-08-21 02:00:24 +03:00
TheTurtle
1d1c88ad31
control_flow_graph: Initial divergence handling ( #434 )
...
* control_flow_graph: Initial divergence handling
* cfg: Handle additional case
* spirv: Handle tgid enable bits
* clang format
* spirv: Use proper format
* translator: Add more instructions
2024-08-16 20:05:37 +03:00
TheTurtle
381ba8c7a5
video_core: Implement guest buffer manager ( #373 )
...
* video_core: Introduce buffer cache
* video_core: Use multi level page table for caches
* renderer_vulkan: Remove unused stream buffer
* fix build
* oops forgot optimize off
2024-08-08 15:02:10 +03:00
psucien
f041276b04
recompiler: added support for discard on export with masked EXEC
2024-07-13 14:57:01 +02:00
TheTurtle
6ceab6dfac
shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store ( #231 )
...
* shader_recompiler: Add LDEXP
* shader_recompiler: Add most image integer atomic ops
* shader_recompiler: Implement shared memory load/store
* shader_recompiler: More image atomics
* externals: Update sirit
* clang format
* cmake: Add missing files
* shader_recompiler: Fix some atomic bugs
* shader_recompiler: Vs outputs
* shader_recompiler: Shared mem has side-effects, fix format component order
* shader_recompiler: Inline constant buffer impl
* video_core: Fix regressions
* Work
* Fixup a few things
2024-07-05 00:15:44 +03:00
TheTurtle
998d046210
video_core: Add depth buffer support and fix some bugs ( #172 )
...
* memory: Avoid crash when alignment is zero
* Also remove unused file
* shader_recompiler: Add more instructions
* Also fix some minor issues with a few existing instructions
* control_flow: Don't emit discard for null exports
* renderer_vulkan: Add depth buffer support
* liverpool: Fix wrong color buffer number type and viewport zscale
* Also add some more formats
2024-06-07 16:26:43 +03:00
raphaelthegreat
58de7ff55a
video_core: Implement basic compute shaders and more instructions
2024-05-30 01:39:24 +03:00
TheTurtle
8730968385
video: Import new shader recompiler + display a triangle ( #142 )
2024-05-22 01:35:12 +03:00