nmzik
d7f1bcaa19
graphics: support signed 16-bit integer packing
2026-08-18 03:53:43 +02:00
nmzik
2bb396f58f
graphics: support SDWA arithmetic right shifts
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
1c4171c9eb
graphics: accept SDWA byte conversion sources
2026-08-18 03:53:43 +02:00
nmzik
443bbcbf90
graphics: separate scalar address bindings
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
484433b180
shader: fix V_ADD_NC_U32
2026-08-18 03:53:42 +02:00
nmzik
7556a74f19
shader: implement s_bfe_i32
2026-08-18 03:53:42 +02:00
nmzik
b4809e7170
Fix SPIR-V float control contract (Preserve FP32 Inf and NaN)
2026-08-18 03:53:42 +02:00
nmzik
0df20eb300
fix opcode regression
2026-08-18 03:53:42 +02:00
nmzik
5bfdf4267e
Optimize decoder
2026-08-18 03:53:42 +02:00
nmzik
f3cdf217ea
shader: evaluate unsigned min in runtime descriptors
2026-08-18 03:53:42 +02:00
nmzik
f453a752bb
shader: snapshot wide SMEM sources before writes
2026-08-18 03:53:42 +02:00
nmzik
28a913894d
graphics: implement RDNA2 64-bit first-set-bit
2026-08-18 03:53:42 +02:00
nmzik
0ffacf22e6
graphics: accept phi-mediated SRT cycles
2026-08-18 03:53:42 +02:00
nmzik
13e87a8e58
graphics: implement RDNA2 alignbyte shader opcode
2026-08-18 03:53:42 +02:00
nmzik
09fec6815f
shader: handle disabled RDNA2 traps
2026-08-18 03:53:42 +02:00
nmzik
00bd19194a
shader: mask vector carry outputs by exec
2026-08-18 03:53:42 +02:00
nmzik
4a7bc55afa
shader: implement RDNA2 subrev borrow
2026-08-18 03:53:42 +02:00
nmzik
9c316e6988
shader: implement RDNA2 v_cmp_gt_u64
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
67cfec9063
shader: remove redundant runtime descriptor provenance walks (perf)
2026-08-07 18:08:40 +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
a6b61d7aa0
refactor(graphics): split renderer and recompiler into focused modules
2026-07-29 00:30:24 +02:00