kd-11
f2913e4692
rsx/fp: Reimplement GLSL code generation from CFG
2025-12-10 13:07:07 +03:00
kd-11
26fd0510ab
rsx/fp: Enable CFG passes and emit block epilogues
2025-12-10 13:07:07 +03:00
kd-11
e8e2d4b93d
rsx/fp: Fix issues with FP decompiler using new CFG system
2025-12-10 13:07:07 +03:00
kd-11
5c187f5cda
rsx/fp: Use CFG to decompile fragment programs
2025-11-24 16:48:03 +03:00
kd-11
cb7650240c
rsx/fp: Use CFG for fragment program
2025-11-24 16:48:03 +03:00
kd-11
2275e689ce
rsx: Restore optimizations in fragment shader recompiler
2025-10-13 12:12:22 +03:00
kd-11
cd3e4fc8f1
rsx: Fix bugs in fragment program constants stream maagement
...
- Fix misplaced semicolon in GL fragment program compiler
- Add a simple lookup to avoid silly reverse-indexing issues in FP::AddConst
2025-10-13 12:12:22 +03:00
kd-11
aa119e1413
vk: Fix fragment constants indexing
2025-10-13 12:12:22 +03:00
kd-11
e0e0d1ee0b
rsx/vk: Convert fragment constants from static struct to array of vec4
...
- Also allows vulkan to use full-range binding model
2025-10-13 12:12:22 +03: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
14e1214645
rsx: Properly implement 8-bit signed renormalization for textures
2024-06-10 20:41:45 +03:00
oltolm
9e9a3262eb
simplify template code like std::is_same<T>::value
2024-04-21 18:15:17 +03:00
kd-11
186fe53279
rsx: Fix the default shadow codegen path
2023-07-09 19:33:48 +03:00
kd-11
d77a78cdf1
rsx: Rework texture coordinate handling to support clamping and a more sane scale-bias setup
2023-07-04 09:31:51 +03:00
kd-11
66cb855db0
rsx: Fix fragment program codegen
2023-07-04 09:31:51 +03:00
kd-11
9a35684507
rsx: Don't accept garbage shader input
2023-02-07 13:51:26 +03:00
kd-11
bc7ed8eaab
rsx/vk: Rework MSAA implementation
2022-03-17 22:02:20 +03:00
kd-11
28d7af313b
rsx: Remove noisy debug print
2021-12-24 15:13:33 +03:00
DH
cccfb89aa0
[Config] Use std::less<> for std::map<...>
...
Reduces amount of string copies
[Utilities] fmt::replace_all: avoid creation of temporary strings
2021-12-02 21:36:57 +03:00
kd-11
b3725baf5a
rsx: Rewrite shader decompiler texture dispatch
2021-10-09 15:10:36 +03:00
kd-11
b0e352c44e
Add missing const
2021-08-26 13:55:00 +03:00
kd-11
2ff407ac6a
rsx/fp: Fix perspective correction handling
...
- Perspective correction flag multiplies VP output by HPOS.w.
NOTE: Not the same as division by w when it comes to NaN/Inf problems!!
- Restructure indexed loads a bit to avoid re-initializing registers unnecessarily
2021-08-26 13:55:00 +03:00
kd-11
57b9acec62
rsx: Implement indexed dynamic attribute load
2021-08-24 16:52:18 +03:00
kd-11
3eb37344cd
rsx/fp: Fix indexed TEX[n] loads
2021-08-20 11:59:05 +03:00
Nekotekina
658b4f70ef
Fix some warnings
2021-07-30 09:31:36 +03:00
Megamouse
50354253c8
replace some random Emu.Pause with fatal errors
2021-07-20 19:47:00 +02:00
kd-11
20bd723e7c
rsx: Add floor workaround for GPUs with rounding issues
...
- Mainly affects nvidia where x/w * w can sometimes return a value smaller than x.
In such conditions, floor(x) will return x-1 if x is an integer which is horribly wrong and exaggerates minor precision drift to great proportions.
2021-06-09 10:55:55 +03:00
kd-11
39815801aa
rsx: Implement proper decoding for some obscure fragment instructions
...
PK4UBG and UP4UBG were dropped from the NV_fragment_program spec in 2002.
Not much information about them remains but seems pretty straightforward.
2021-06-05 21:02:14 +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