nmzik
a833e1b735
graphics: fix vertex and instance IDs for unpatched indirect draws
2026-10-28 04:33:03 +01:00
nmzik
a5b3673a39
graphics: draw patched-offset indirect draws from GPU-read records
2026-10-27 10:13:15 +01:00
Senaxx
6cee2dc0bd
shader: inline the hot IR operand accessors
2026-10-27 07:04:38 +01:00
Senaxx
a526a8b9c9
shader: hand IR uses over at once on replacement and skip use lists at program teardown
2026-10-27 07:04:38 +01:00
nmzik
db12f0c5fb
shader: select consecutive GPU-selected sampler table entries without a switch
2026-10-27 04:23:01 +01:00
nmzik
3f9666acbb
shader: seal SSA blocks once their predecessors are filled
2026-10-27 04:23:01 +01:00
nmzik
7eb8abb279
shader: drop the duplicate-use scan from Inst::AddUse
2026-10-27 04:23:01 +01:00
Claxten
91a5ff6cb7
shader: decode s_dcache_inv as a no-op
2026-10-27 04:23:01 +01:00
Claxten
95a507a8ff
shader: support 64-bit buffer atomic minimum
2026-10-27 04:23:01 +01:00
Claxten
b2053c2861
shader: bound per-lane descriptor table loops by the program's uniform loop count
2026-10-27 04:23:01 +01:00
Claxten
9801fd862b
shader: zero image descriptors that only unreached blocks use
2026-10-27 04:23:01 +01:00
nmzik and shadowbeat070
78adb9293d
shader: give A16 1D and late 3D gradients their own address VGPRs
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-10-27 04:23:01 +01:00
Claxten
0a72641678
shader: evaluate saturating float-to-signed conversions in runtime descriptor values
2026-10-27 04:23:01 +01:00
Claxten
99f4eba223
shader: read bit-scan records only at ranks their mask buffer words set
2026-10-27 04:23:01 +01:00
nmzik and shadowbeat070
04bfd9070c
shader: give an A16 bias its own address VGPR
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-10-27 04:23:01 +01:00
nmzik and shadowbeat070
ffa3992c1a
shader: decode every PS5 image_gather4 encoding
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-10-27 04:23:00 +01:00
Claxten
914a3bb4b8
shader: enumerate set ranks of eight-word light bitmaps
2026-10-27 04:23:00 +01:00
Claxten
ffb6ad6cab
shader: bound selected-lane record indices by guarded shared append lists
2026-10-27 04:23:00 +01:00
Claxten
a3ac6d0d32
shader: bound table keys by an inclusive guard with a constant limit
2026-10-27 04:23:00 +01:00
Claxten
f297c0bfe1
shader: bound bit-scan record keys and drop the key a guard rules out
2026-10-27 04:23:00 +01:00
Claxten
20bb268a48
shader: bound raw image table keys by a signed clamp on the key or a sibling read
2026-10-27 04:23:00 +01:00
Claxten
d3768c00e9
shader: accept indirect image rows whose type reads the leading sample coordinates
2026-10-27 04:23:00 +01:00
Claxten
dfcf1c0b03
shader: bound waterfall image table keys converted from clamped float arithmetic
2026-10-27 04:23:00 +01:00
Claxten
de3ed905c8
shader: track image table keys divided from a runtime base plus the workgroup ID
2026-10-27 04:23:00 +01:00
nmzik
2483573651
shader: mask V_MAD_U64_U32 carry-out bits of lanes outside EXEC
2026-10-27 04:23:00 +01:00
MrFr3di
986721f5bc
shader: decode FLAT, GLOBAL and SCRATCH D16 high-half loads ( #1924 )
...
FLAT-family opcode 0x25 (FLAT/GLOBAL/SCRATCH_LOAD_SHORT_D16_HI) loads an
unsigned halfword into bits [31:16] of the destination and keeps bits [15:0].
Decode it beside the low-half variant and let it select the high half of the
existing partial destination write, so FLAT_LOAD needs no new path.
Ghost of Yotei CS 0x79b0066f0cd1f3cd stopped at
global_load_short_d16_hi v16, v18, s[0:1] offset:196 (0xdc9480c4 0x10000012).
2026-10-26 22:34:54 +01:00
nmzik and Senaxx
943bc19f46
shader: leave the start instance out of mesh and NGG instance ID VGPRs
...
Co-authored-by: Senaxx <michelbeld@gmail.com >
2026-10-26 07:43:11 +01:00
nmzik
5429888d4c
shader: keep pixel helper lanes out of the EXEC and VCC words
2026-10-26 07:43:11 +01:00
nmzik and Senaxx
025d1f7edf
shader: decode the SHARED_LIMIT and PRIVATE_LIMIT inline constants
...
Co-authored-by: Senaxx <michelbeld@gmail.com >
2026-10-26 06:35:17 +01:00
shadowbeat070
ceb154d9e4
shader: acquire stored buffers and images at S_BARRIER
2026-10-26 05:32:02 +01:00
26ca609236
shader: type pixel outputs of UINT and SINT render targets as integer vectors
...
Co-authored-by: Ali Almohaya <AliAlmohaya@gmail.com >
Co-authored-by: Mac <me@itsmemac.com >
Co-authored-by: Senaxx <michelbeld@gmail.com >
2026-10-26 05:32:02 +01:00
nmzik and Senaxx
4ebae87a1b
shader: apply the LOD clamp of image_sample _cl variants
...
Co-authored-by: Senaxx <michelbeld@gmail.com >
2026-10-26 05:32:02 +01:00
ce5e57aa36
shader: fold complementary masks so wave reductions see full EXEC
...
Co-authored-by: Senaxx <michelbeld@gmail.com >
Co-authored-by: Mac <me@itsmemac.com >
2026-10-26 05:32:02 +01:00
6357740fa1
shader: lower wave32 whole-wave UMin and UMax reductions to subgroup reductions
...
Co-authored-by: Senaxx <michelbeld@gmail.com >
Co-authored-by: Mac <me@itsmemac.com >
2026-10-26 05:32:02 +01:00
nmzik
ba7f9969ef
shader: bound storage buffers by pushed binding sizes instead of OpArrayLength
2026-10-26 05:32:02 +01:00
7524e8f79e
shader: count one SGPR for lane reads and wave32 lane masks in call targets
...
Co-authored-by: Ali Almohaya <AliAlmohaya@gmail.com >
Co-authored-by: Senaxx <michelbeld@gmail.com >
Co-authored-by: Mac <me@itsmemac.com >
2026-10-26 05:32:02 +01:00
nmzik
153dadd0b3
shader: emit 16-bit packs with a zero high lane as a mask
2026-10-26 05:32:02 +01:00
nmzik
72903bfce6
shader: use the V_PERMLANE16 row directly instead of copying it
2026-10-25 02:20:44 +02:00
nmzik
59d8256b36
shader: encode 11/10-bit float formatted buffer stores as truncated unsigned floats
2026-10-25 02:20:44 +02:00
nmzik
9a20c6f738
shader: disable DPP16 writes from EXEC-disabled sources without BOUND_CTRL
2026-10-25 02:20:44 +02:00
nmzik
67c89e0915
shader: keep the old V_PERMLANE16 destination for inactive sources without BOUND_CTRL
2026-10-25 02:20:44 +02:00
TheCruZ
e864cb20bd
shader: clamp V_FRACT_F16/F32/F64 results below one
2026-10-25 02:20:44 +02:00
nmzik
ec8b75b244
pipeline: persist shaders and pipelines per game and prewarm them at boot
2026-10-25 02:20:44 +02:00
TheCruZ
9210264d47
shader: saturate V_CVT_PK_U16_U32 and V_CVT_PK_I16_I32
2026-10-25 02:20:44 +02:00
nmzik
1816004357
shader: serialize resource plans for the shader cache
2026-10-25 02:20:44 +02:00
nmzik
bfc377627a
pipeline: create pipelines from GraphicsPipelineKey and shader modules
2026-10-25 02:20:44 +02:00
nmzik
4b651f2ba7
pipeline: fold the program cache into PipelineCache with stable module ids
2026-10-25 02:20:44 +02:00
nmzik
8291cfeb04
shader: parse vertex metadata once when a shader is mapped
2026-10-24 05:44:46 +02:00
nmzik
dbc7b8b2ff
pipeline: look up draw programs and pipelines from the command buffer
2026-10-24 05:18:46 +02:00
nmzik
d7856753e0
shader: walk every resource plan with the x86 SRT walker
2026-10-24 02:57:24 +02:00