nmzik
67cfec9063
shader: remove redundant runtime descriptor provenance walks (perf)
2026-08-07 18:08:40 +02:00
nmzik
3052dac82e
gpu: correct HS, PS, GS and compute resource register decoding
2026-08-06 21:21:47 +02:00
nmzik
ac64d202af
shader: implement BUFFER_ATOMIC_FMAX
2026-08-05 02:59:28 +02:00
nmzik
df44ad3fac
shader: implement BUFFER_ATOMIC_FMIN, unhandled IR opcode now fails
2026-08-05 02:59:28 +02:00
nmzik
0a2f4814ac
refactor(shader): centralize opcode metadata and lookup paths
2026-08-05 02:59:28 +02:00
nmzik
9a3468e3a0
shader: implement V_MIN_U32
2026-08-05 02:59:28 +02:00
nmzik
73da43a7be
shader: implement V_CNDMASK_B32
2026-08-05 02:59:28 +02:00
nmzik
aa88d94755
shader: implement V_SUB_NC_U32
2026-08-05 02:59:27 +02:00
nmzik
822ca3c10b
shader: implement S_CMP_EQ_U64
2026-08-05 02:59:27 +02:00
nmzik
2b6fd699e7
shader: implement V_CMP_EQ_I64
2026-08-05 02:59:27 +02:00
nmzik
53feb6cb19
graphics: log image descriptor specialization mismatches
2026-08-03 04:02:35 +02:00
nmzik
86a586025f
renderer: expand rectangle lists with tessellation
...
Remove the legacy NGG rectangle workaround and its configuration toggle.
2026-08-03 00:35:02 +02:00
nmzik
44d7f2a3e8
shader cfg: handle shared early exits
...
Duplicate small shared exit tails so each selection gets its own merge block. This keeps overlapping early-exit ladders on structured SPIR-V and adds a regression test.
2026-08-02 03:16:08 +02:00
nmzik
2dcb90066c
shader cfg: normalize loop structure
...
Give loops one header and one continue path before SPIR-V generation. This handles conditional headers and multiple latches without falling back to a dispatcher.
2026-08-02 03:15:26 +02:00
nmzik
51a33cc363
shader cfg: handle loop control branches
...
Keep simple break, continue, and repeat branches in structured control flow. Split conflicting merge blocks and add regression tests for nested loop exits.
2026-08-02 03:14:39 +02:00
Claxten
43f30d3ab2
graphics: shader: ignore unused sampler border state
...
* Sampler dword 3 only matters when a clamp mode uses border color
(values >= 4). When no border mode is active, dword 3 is unused
but can still vary across loop iterations due to wave-lane spills.
This makes resource tracking think the descriptor is dynamic and
fail with "unsupported GPU selection".
* Fix by zeroing dword 3 when all clamp modes are non-border.
Signed-off-by: Claxten <claxten10@gmail.com >
2026-08-02 02:42:15 +02:00
nmzik
d68a477276
renderer: broaden compatibility
2026-07-31 22:24:56 +02:00
nmzik
846002c5eb
shader: fix invalid texture descriptors and add missing format
2026-07-31 17:30:31 +02:00
nmzik
d8a4c83cc7
format src and tests with clang-format
2026-07-31 11:36:12 +02:00
nmzik
68be13345a
fix(shader): support multisampled depth image loads
2026-07-31 11:36:12 +02:00
nmzik
167da0abe0
shader: fix readlane/writelane for inactive host lanes
2026-07-31 11:36:12 +02:00
nmzik
212282d693
fix(shader): preserve packed UINT16 MRT exports
2026-07-31 11:36:12 +02:00
Nikos
3b75a5659a
shader: specialize cube image descriptors ( #134 )
...
* shader: specialize cube image descriptors
Track whether image descriptors refer to cube maps during resource specialization, and apply the coordinate offset conversion when sampling cube maps as 2D image arrays in SPIR-V emission.
* shader: fix cube array coordinate lowering
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-07-31 03:59:10 +02:00
nmzik
d04938c88c
Embedded fetch shader: Fix overlapping buffer loads ( #133 )
...
Fix overlapping buffer loads. Fixes many games
2026-07-30 05:08:38 +02:00
nmzik
c508c4a9c0
shader_recompiler: allow GDS append/consume offsets
2026-07-30 00:10:40 +02:00
nmzik
832bc84100
fix(shader): stabilize scalar provenance phis in cyclic CFGs
2026-07-29 21:05:24 +02:00
nmzik
ec11f31aa6
fix graphical bug (PPSA17221)
2026-07-29 00:31:08 +02:00
nmzik
a6b61d7aa0
refactor(graphics): split renderer and recompiler into focused modules
2026-07-29 00:30:24 +02:00
nmzik
7351eae117
graphics: add 1D image descriptor support
2026-07-27 14:10:51 +02:00
nmzik
142b3c20fa
graphics: unify buffer bindings and depth target handling
2026-07-27 10:12:41 +02:00
nmzik
f43567e12c
shader: validate MSAA image descriptors during materialization
2026-07-27 10:12:41 +02:00
nmzik
a20cf5d298
refactor renderer
2026-07-27 02:27:29 +02:00
nmzik
a720b28b7f
graphics: cleanup
2026-07-23 23:21:26 +02:00
nmzik
0a5f78c727
graphics: refactoring #2
2026-07-21 07:37:52 +02:00
nmzik
42f634a751
fix fetch shader V_SAD_U32, video-out buffer overlap
2026-07-21 07:37:52 +02:00
nmzik
999f87576e
graphics: add native PS5 MSAA and safe image allocation reuse
2026-07-21 07:37:52 +02:00
nmzik
cbc11d2eaf
Refactor graphics #1
2026-07-19 00:54:31 +02:00
nmzik
601c82a031
format source files
2026-07-18 09:01:52 +02:00
nmzik
da6cee924b
Revert "Implement vertex swizzle"
...
This reverts commit f4b52cea2b .
2026-07-18 06:21:00 +02:00
nmzik
f4b52cea2b
Implement vertex swizzle
2026-07-18 03:36:09 +02:00
nmzik
8a6afc428d
support storage descriptors and tracked image aliases
2026-07-17 23:06:08 +02:00
nmzik
d7b2d1c2f0
recompiler: handle non valid descriptors
2026-07-17 13:27:29 +02:00
nmzik
0abe03af94
Support reverse RGBA16F render targets
2026-07-17 12:54:28 +02:00
nmzik
e903c93848
remove readback hacks, allows to read/write guest memory directly
2026-07-17 05:16:00 +02:00
nmzik
147188b143
Initial commit
2026-07-16 10:21:41 +02:00