nmzik
16b83a034c
Shader: execute RDNA2 FP64 shadow arithmetic and log denorm limits
...
Shader: disable FP64 denorm preservation controls for now
2026-09-26 15:15:35 +04:00
nmzik
cf423df624
shader: remove per-draw vertex diagnostic atomics
2026-09-25 21:15:41 +04:00
Romain Hedouin
d646fd92d1
graphics: hoist loop-invariant checks out of draw/attrib hot paths ( #807 )
...
* graphics: hoist loop-invariant checks out of draw/attrib hot paths
DrawIndirectMulti recomputed the index_type_and_size switch on every
sub-draw of a multi-draw-indirect call, and ShaderApplyAttribSemantics
re-checked the debug-dump config flag on every vertex attribute. Both
values are invariant across their respective loops, so compute them
once before iterating instead.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
* graphics: cache vertex buffer descriptor size in AcquireVertexBuffers
VertexBufferDescriptorSize was computed twice per vertex-buffer slot
on every draw call: once while collecting guest ranges, and again
while rebuilding slot bindings. Both calls use identical inputs, so
cache the first pass's result and reuse it in the second.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-24 21:02:23 +04:00
nmzik
03c55e5712
Keep shader user data inline for cached programs
2026-09-23 15:41:02 +04:00
nmzik
476204cd4b
Initialize native NGG vertex launch state and wave size
2026-09-22 11:11:36 +04:00
nmzik
6493674726
shader: dual-source blending (Vulkan)
2026-09-18 09:11:55 +04:00
nmzik
5dc644edb4
clean up graphics helpers
2026-09-17 20:35:36 +04:00
nmzik
cc8e02380f
remove magic_enum wrappers
...
Co-authored-by: Saadi <cosxmos@gmail.com >
2026-09-17 20:35:36 +04:00
nmzik
7c9148dd47
Support triangle fans in PS5 geometry shaders
...
Keep the fan center across subgroups and reuse the existing index fetch.
2026-09-16 08:42:47 +04:00
nmzik
0d9e95d96a
Fix centroid interpolation weights
...
PPSA03792
2026-09-15 19:51:30 +04:00
nmzik
968cf3c03f
Use the correct pixel shader wave size
2026-09-14 20:29:20 +04:00
nmzik
87971a28f5
gpu: isolate tessellation analysis and SPIR-V emission
2026-09-14 06:58:32 +04:00
nmzik
7516068662
gpu: compile RDNA2 tessellation through native LS HS and TES stages
2026-09-14 06:58:32 +04:00
nmzik
ef0155636a
shader: support single and split NGG shaders for PPSA11142
2026-09-08 21:26:59 +04:00
nmzik
2b3993a595
shader: share emitter helpers
2026-09-08 21:26:59 +04:00
nmzik
1fd07c2c83
shader: assemble point inputs for merged geometry shaders
2026-09-07 05:04:15 +04:00
nmzik
cf0cbee02d
shader: fix vertex attribute identity swizzles
2026-09-06 05:47:20 +04:00
nmzik
9918dc2591
render: set merged GS user data from shader registers
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-09-05 15:08:20 +04:00
nmzik
3ab372ccec
render: build indexed triangles for merged ES/GS shaders
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-09-05 14:59:28 +04:00
nmzik
b96a30ed88
shader: keep fragment layer values under lane masks
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-09-05 11:43:49 +04:00
nmzik
3213934d42
shader: run merged geometry stages as mesh shaders
...
Co-authored-by: Brandon Strong <brandostrong@gmail.com >
Co-authored-by: fxpw <fxpw@outlook.com >
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-09-05 08:32:23 +04:00
nmzik
98200fed19
shader: rework resource specialization and optimize pipeline caching
2026-09-03 03:04:17 +02:00
nmzik
0c4dfd565e
renderer: emulate clip-disabled screen-space positions
2026-09-01 21:39:11 +04:00
nmzik
63dd3917e2
reduce runtime logging
2026-09-01 20:50:57 +04:00
nmzik
1df06e230d
guest_gpu: remove stale PS4/GCN era gpu registers
2026-08-31 20:58:35 +04:00
nmzik
66ca225c76
shader: require explicit recompiler resource data
2026-08-31 10:26:08 +04:00
nmzik
af8aecfdde
shader: remove recompiler error-string propagation
2026-08-31 05:31:41 +04:00
nmzik
c167375fe1
shader: centralize program compilation and permutation caching
2026-08-27 13:37:46 +02:00
nmzik
e738535294
graphics: add RDNA2 FLAT BDA buffer cache and faults
2026-08-27 03:45:41 +02:00
nmzik
ffa69d48de
shader: remove second IR layer
2026-08-26 08:49:39 +02:00
nmzik
3e25eb0998
Fix wave64 LDS synchronization on subgroup32 hosts
2026-08-23 00:46:37 +02:00
nmzik
a2baaccc6e
shader: fix auxiliary position exports
2026-08-22 02:58:35 +02:00
nmzik
5e64efce4f
graphics: support RDNA2 custom pixel interpolation
...
Co-authored-by: Senaxx <Senaxx@users.noreply.github.com >
2026-08-21 23:33:40 +02:00
nmzik
bad6726f5e
Rewrite descriptor bindings and unify graphics push constants
2026-08-21 22:28:10 +02:00
nmzik
49ea1680f8
graphics: use per-invocation shader masks
2026-08-21 08:03:22 +02:00
nmzik
d0a4c908a1
shader: align address-memory buffer bindings
2026-08-21 03:32:49 +02:00
nmzik
719e20d470
shader: support bit-packed image surfaces
2026-08-21 03:32:49 +02:00
Senaxx
56a15c2036
Implement RDNA2 per-invocation scratch memory
2026-08-21 03:32:47 +02:00
nmzik
41bfba515c
shader: dump original RDNA2 binaries in graphics debug mode
2026-08-21 03:32:47 +02:00
nmzik
e39162fc52
shader: remove validation from program cache key
2026-08-18 14:03:36 +02:00
nmzik
0f3540b1ff
shader: unify stage input metadata
2026-08-18 03:53:44 +02:00
nmzik
b0bd6470f3
graphics: accept AGC vertex-buffer-only shaders
2026-08-18 03:53:43 +02:00
nmzik
4e343408dc
graphics: size compute LDS from shader state
2026-08-18 03:53:43 +02:00
nmzik
430de9bd15
graphics: support dynamic indirect image tables
2026-08-18 03:53:43 +02:00
nmzik
83ee040b4d
graphics: specialize invariant indirect image tables
2026-08-18 03:53:43 +02:00
Senaxx
980d89f739
graphics: support dynamic storage mip writes
2026-08-18 03:53:43 +02:00
nmzik
5e27a28ab0
shader: fix missing homogeneous semantics
2026-08-18 03:53:42 +02:00
nmzik
b42380ced6
shader_recompiler: add SSA
2026-08-18 03:53:41 +02:00
nmzik
21aa7b66ce
graphics: replace raw GPU enum values with typed formats
2026-08-11 16:12:38 +02:00
nmzik
3052dac82e
gpu: correct HS, PS, GS and compute resource register decoding
2026-08-06 21:21:47 +02:00