Whatcookie
bfb9dfea7e
RSX: ProgramStateCache loops optimizations
2025-03-07 09:54:12 +02:00
Malcolm Jestadt
1920aee415
RSX: Fix issue where linux builds could hit illegal instruction on machines without AVX-512
...
- Place avx-512 function attributes in their own functions
2025-03-03 15:58:55 +03:00
Malcolm Jestadt
6bd1ab576c
RSX: Use AVX-512-ICL code in get_vertecx_program_ucode_hash and in vertex_program_compare
...
- Code is about 4 times as fast on my zen4 machine
- Should be twice as fast on zen5 machines with full width AVX-512
2025-03-02 09:07:07 +02:00
Malcolm Jestadt
7b9aaacc4b
RSX: ProgramStateCache logic cleanup and microoptimizations
...
- Eliminate some redundant checks in fragment and vertex comparison functions
- Add is_any_src_constant optimization, eliminates 1 instruction per loop
2025-02-16 12:28:10 +02:00
Malcolm Jestadt
d891b83e4b
RSX: Use checksum with rotated inputs for shader hashing instead of FNV
...
- Raises FPS from ~180 to ~200 in Ninja Gaiden
2025-02-16 12:28:10 +02:00
RipleyTom
cd87a64621
Headers cleanup
2025-02-11 20:38:35 +01:00
kd-11
27c56cde22
rsx/shaders: Track active MRT count per shader
...
- Also use more robust hashing to avoid collisions
2025-01-10 04:34:28 +03:00
kd-11
dce0abc8b9
rsx/fp: Re-design register write tracking
...
- Always collapse register writes when exporting FS outputs
2025-01-10 04:34:28 +03:00
kd-11
9e9ae54455
rsx: Add GLSL support for instanced rendering
2024-12-29 20:53:05 +03:00
kd-11
43e04f3fc7
Revert "rsx/vk: Implement hardware instancing ( #16466 )"
...
This reverts commit 62701154f1
.
2024-12-29 20:53:05 +03:00
kd-11
62701154f1
rsx/vk: Implement hardware instancing ( #16466 )
...
* rsx: Add code to detect instanced draw commands
* rsx: Add GLSL support for instanced rendering
* rsx: Move draw call related functions to their own class
* rsx: Move more functions from rsx thread to the draw command processor
* rsx: Fix vertex program compiler crash
* vk: Add support for hardware instanced draws
* rsx: Fix instancing bug when indexed addressing is used to read constants
* rsx: Fix rare crash in vertex program decompiler
- This whole decompiler mess needs a rewrite
* rsx: Handle dangling execution barriers
* rsx: Do not use global registers object in logical "firmware" units
* Cosmetic improvements
* rsx: Test vertex program flags on each draw
* rsx: Properly track changes in instancing state
2024-12-29 17:39:47 +02:00
Megamouse
0dfc622b58
Fix unused function warning
2024-08-11 00:56:07 +02:00
kd-11
3ef8046f5c
rsx: Fix fragment constants decoding for non-x86 platforms
2024-08-09 15:09:26 +03:00
kd-11
c41130080d
rsx/vp: Emit more efficient code
...
- Applies more aggressive DCE in the analyser. Dead-code in tails could happen before in some cases.
2023-11-09 21:05:54 +03:00
kd-11
85cefec5a3
rsx: Fix vertex program analyser bug
2023-11-09 21:05:54 +03:00
kd-11
bc7ed8eaab
rsx/vk: Rework MSAA implementation
2022-03-17 22:02:20 +03:00
kd-11
d523f9cc6b
rsx: Avoid skipping input mask checks due to static flow control
2021-12-08 23:58:32 +03:00
kd-11
3e09b97f58
rsx: Minor optimization; avoid preparing unused vertex streams
...
- Also discards unused program state variables
2021-09-28 17:43:15 +03:00
kd-11
b0e5de4c9c
rsx: Texcoord control mask affects decompiler output!
2021-08-26 13:55:00 +03:00
kd-11
2c7c1c501d
rsx: Implement support for extended vertex programs
...
- Some games are kinda pushing it with RSX register space and spilling VP data into adjacent unused space.
2021-06-28 10:52:05 +03:00
Nekotekina
2491aad6f2
types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
...
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
kd-11
c5a06dab0a
rsx: Refactor program texture state handling to be persistent across shader swaps
2021-05-15 23:51:12 +03:00