nmzik
e43c242683
shader: add S_MEMREALTIME opcode
...
Co-authored-by: Maxime Allanic <maxime@allanic.me >
Co-authored-by: Mac <me@itsmemac.com >
2026-09-24 20:46:04 +04:00
Douglas Soares Silva
fcf0f3b67e
shader: fold the lane test after a pixel shader's entry s_wqm ( #801 )
...
Preserve live lane predicates through RDNA2 whole-quad expansion
Keep the source-live predicate when WQM expands a scalar mask, so entry masks remain known live without an instruction pre-scan. Preserve scalar mask values, SCC, half writes, and raw-source behavior.
Cover entry pixel masks, cross-half copies, and scalar/high-word sources with existing shader regression suites.
Co-authored-by: nmzik <Nmzik@mail.ru >
Co-authored-by: Douglas <douglasproducoes21@gmail.com >
2026-09-24 12:02:19 +04:00
João Lobo
3dc3fd0197
shader: implement DS_INC_U32 and DS_DEC_U32 ( #790 )
2026-09-24 00:45:12 +04:00
Deniz ŞAHİN
fc86509aac
shader: support DS_WRITE_B8_D16_HI ( #794 )
...
Decode GFX10 DS opcode 0xa0 as DS_WRITE_B8_D16_HI (next to
DS_WRITE_B16_D16_HI at 0xa1) and lower it through the existing 8-bit
shared-memory write. The stored byte is bits 23:16 of the data VGPR,
selected with SDWA BYTE_2 on src1.
Add captured-instruction decode coverage (from GTA V, PPSA04264) and a
runtime regression that writes one byte of a distinctive source value
into a pre-filled LDS dword.
2026-09-24 00:44:39 +04:00
nmzik
7d7267cc56
Translate NGG mesh prolog with guest wave32 width
2026-09-23 22:50:51 +04:00
nmzik
cfb8f7b246
Decode unsigned byte sources for SDWA half-float conversion
2026-09-22 11:11:36 +04:00
nmzik
476204cd4b
Initialize native NGG vertex launch state and wave size
2026-09-22 11:11:36 +04:00
Elija
549495575c
shader: add S_BITCMP0_B64 and S_BITCMP1_B64 ( #688 )
...
* shader: add S_BITCMP0_B64 and S_BITCMP1_B64
* test: move S_BITCMP_B64 coverage to compute suite
* test: use the existing compute CTest entry for bit comparisons
* test: remove the dedicated S_BITCMP_B64 command-line selector
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-20 19:36:12 +04:00
Elija
cfb110e0aa
shader: allow partial SDWA destinations for V_NOT_B32 ( #684 )
2026-09-20 18:21:40 +04:00
nmzik
ea6aae8577
shader: V_MAD_I16
2026-09-19 04:43:48 +04:00
nmzik
5b7d3343cf
shader: V_CMP_NLT_F16
2026-09-18 12:25:13 +04:00
nmzik
394e638905
shader: V_MUL_LO_U16
2026-09-18 11:21:57 +04:00
nmzik
95d3d9d3ad
shader: fix packed integer negation
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-09-18 09:11:55 +04:00
nmzik
bfc8cd0e0b
shader: DPP8 moves
...
Co-authored-by: foufouadi <attar.foued@gmail.com >
Co-authored-by: fxpw <fxpw@outlook.com >
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
4b77686566
shader: V_CMP_NGT_F16
2026-09-17 16:56:32 +04:00
Elija
f30afc184e
shader: support S_ASHR_I64 ( #658 )
...
* shader: implement S_ASHR_I64 with compute coverage
* tests: use existing compute suite for S_ASHR_I64
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-17 10:48:05 +04:00
nmzik
235e24d44f
Recognize null-destination SWAPPC shader handoffs
...
Credits:
BlackCAT (@psnwd):
https://github.com/KytyPS5/KytyPS5/pull/613
YuhiAida (@YuhiAida):
https://github.com/KytyPS5/KytyPS5/pull/655
2026-09-17 08:45:21 +04:00
nmzik
e0ecffed70
Approximate explicit-LOD texture gathers at mip zero
...
Credits:
YuhiAida (@YuhiAida):
https://github.com/KytyPS5/KytyPS5/pull/588
https://github.com/KytyPS5/KytyPS5/pull/589
https://github.com/KytyPS5/KytyPS5/pull/655
frans (@francoisatt):
https://github.com/KytyPS5/KytyPS5/pull/590
BlackCAT (@psnwd):
https://github.com/KytyPS5/KytyPS5/pull/613
shadowbeat070 (@shadowbeat070):
https://github.com/KytyPS5/KytyPS5/pull/654
Pouare514 (@Pouare514):
https://github.com/KytyPS5/KytyPS5/pull/29
https://github.com/KytyPS5/KytyPS5/pull/32
2026-09-17 08:39:57 +04:00
nmzik
fb94a819c7
Structure early returns with shared loop continuations
2026-09-16 22:33:19 +04:00
nmzik
5b541375a3
shader: implement S_CBRANCH_CDBGSYS opcode
2026-09-16 17:04:48 +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
acd7435d31
Support byte destinations in V_MOV_B32
2026-09-15 18:25:20 +04:00
nmzik
a1fbc41146
Preserve shared scalar loads during embedded vertex fetch replacement
2026-09-15 11:24:05 +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
ADBHXNLOL
a21ffde34e
shader: decode and translate V_FRACT_F16 (VOP1 0x5f) and V_CMPX_LT_U16 (VOPC 0xb9) ( #582 )
...
shader: support V_FRACT_F16 and V_CMPX_LT_U16
Decode compact, SDWA, and VOP3 forms using the existing arithmetic and comparison paths. Preserve EXEC masking and VCC for the integer compare, and reject unsupported DPP encoding.
Add captured-instruction, operand-selection, floating-point edge, and execution-mask regression coverage.
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-12 17:21:32 +04:00
Frans
7bcd43dbee
shader: support S_MUL_HI_I32 (SOP2 0x36) ( #576 )
2026-09-12 14:56:14 +04:00
nmzik
e026bfc9a2
shader: let structurization own rollback on failure
2026-09-12 13:42:15 +04:00
nmzik
5a31de7955
shader: keep derived frontend metadata with its owner
2026-09-12 13:42:15 +04:00
nmzik
1d1f00bdef
shader: use Khronos definitions and simplify compiler ownership
2026-09-12 13:42:15 +04:00
nmzik
c3546577b6
shader: implement S_WQM_B32
...
Co-authored-by: Brandon Strong <brandostrong@gmail.com >
2026-09-10 14:11:46 +04:00
nmzik
c913951f7b
shader: implement RDNA2 subvector loop mask and branch semantics
2026-09-10 14:11:46 +04:00
nmzik
3902b42096
shader: share direct and conditional branch classification
2026-09-10 14:11:46 +04:00
nmzik
1af19eabf0
shader: fix incorrect per-lane VCCZ/EXECZ reads
2026-09-09 13:22:09 +04:00
nmzik
32ea0869e5
shader: implement S_ORN2_SAVEEXEC_B32
2026-09-09 13:11:48 +04:00
nmzik
e04007a7c6
shader: implement DS_INC_RTN_U32 and DS_DEC_RTN_U32
2026-09-09 12:56:20 +04:00
nmzik
ef0155636a
shader: support single and split NGG shaders for PPSA11142
2026-09-08 21:26:59 +04:00
nmzik
839c172612
shader: reuse operands and remove duplicate helpers
2026-09-08 21:26:59 +04:00
nmzik
de3e86791c
shader: reuse CFG and validation lookups
2026-09-08 21:26:59 +04:00
nmzik
6f66f77b09
shader: drop unused decoder fields
2026-09-08 21:26:59 +04:00
nmzik
72963b01e1
shader: remove redundant decoder and translator state
2026-09-08 21:26:59 +04:00
nmzik
2c5060e14f
shader: remove masked-value pass and normalize ancillary fields
2026-09-07 11:12:48 +04:00
nmzik
8bccd325ec
shader: keep mask predicates across 64-bit moves
2026-09-07 07:04:55 +04:00
nmzik
19fc0274de
shader: validate shared terminal paths in selections
2026-09-07 06:57:55 +04:00
nmzik
6cc9e5de11
shader: fix wave32 VCC halves and scalar mask moves
...
Co-authored-by: Brandon Strong <brandostrong@gmail.com >
2026-09-07 06:04:40 +04:00
nmzik
bf7ca29487
shader: decode VOP3 FMAC source modifiers
2026-09-07 05:25:26 +04:00
nmzik
1fd07c2c83
shader: assemble point inputs for merged geometry shaders
2026-09-07 05:04:15 +04:00