nmzik
fbdc1e8714
shader: implement RDNA2 scalar quad-mask reduction
2026-08-21 03:32:48 +02:00
Senaxx
56a15c2036
Implement RDNA2 per-invocation scratch memory
2026-08-21 03:32:47 +02:00
nmzik
85cf965d54
refactor(shader): centralize typed resource metadata
2026-08-21 03:32:47 +02:00
nmzik
87166eed94
refactor(shader): reduce dispatcher state overhead
2026-08-21 03:32:47 +02:00
nmzik
6e9f162bd4
refactor(shader): compact paired 64-bit lowering
2026-08-21 03:32:47 +02:00
nmzik
8063822243
refactor(shader): preserve native scalar memory operations
2026-08-21 03:32:47 +02:00
nmzik
c236ba713d
refactor(shader): preserve native wide shared operations
2026-08-21 03:32:47 +02:00
nmzik
c9e942a972
refactor(shader): compact whole-quad mask lowering
2026-08-21 03:32:47 +02:00
nmzik
5383972e96
refactor(shader): preserve native wide buffer operations
2026-08-21 03:32:47 +02:00
nmzik
3ea2099245
refactor(shader): simplify buffer access emission
2026-08-21 03:32:47 +02:00
nmzik
49145c1902
refactor(shader): emit structured phis natively
2026-08-21 03:32:47 +02:00
nmzik
e1bcc298a0
refactor(shader): remove register-state compatibility paths
2026-08-21 03:32:47 +02:00
Senaxx
7e42513faf
perf(shader): cache analysis ( #259 )
...
perf(shader): cache SPIR-V requirement analysis
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-08-19 00:50:13 +02:00
nmzik
377fb8f50a
shader: use ISA-style decoder opcode names
2026-08-18 03:53:45 +02:00
nmzik
330889e50b
shader: implement RDNA2 frexp mantissa
2026-08-18 03:53:44 +02:00
nmzik
1be9568a02
shader: implement RDNA2 frexp exponent
2026-08-18 03:53:44 +02:00
nmzik
e7c8bcb3a4
recompiler: deduplication cleanup
2026-08-18 03:53:44 +02:00
nmzik
0f3540b1ff
shader: unify stage input metadata
2026-08-18 03:53:44 +02:00
nmzik
44302cbf96
shader: implement RDNA2 V_MED3_I16
2026-08-18 03:53:44 +02:00
nmzik
2a1a8e72e3
shader: preserve exec-masked FLAT address roots
2026-08-18 03:53:44 +02:00
nmzik
1375d650a7
graphics: support RDNA2 dependency waits
2026-08-18 03:53:43 +02:00
nmzik
d7f1bcaa19
graphics: support signed 16-bit integer packing
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
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
7556a74f19
shader: implement s_bfe_i32
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
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
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
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
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