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
nmzik
e847f82fab
shader: initialize pixel position W as a reciprocal
2026-09-06 19:47:43 +04:00
nmzik
99a87bd65b
shader: keep loop branches during selection routing
2026-09-06 10:23:44 +04:00
nmzik
81a5dd612f
shader: fix embedded vertex fetch swizzles
2026-09-05 16:00:46 +04:00
nmzik
49ff962f69
shader: add conditional 64-bit scalar moves
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-09-05 15:38:51 +04:00
nmzik
3ab372ccec
render: build indexed triangles for merged ES/GS shaders
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-09-05 14:59:28 +04:00
nmzik
b96a30ed88
shader: keep fragment layer values under lane masks
...
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-09-05 11:43:49 +04:00
nmzik
2ec0e9e8f3
shader: fix packed image address reads
2026-09-05 11:32:32 +04:00
nmzik
51afce3a97
shader: zero-extend unsigned SOPK comparisons
2026-09-05 10:38:29 +04:00
nmzik
251f6d6121
shader: fix returns and descriptor placement
2026-09-05 08:54:35 +04:00
nmzik
3213934d42
shader: run merged geometry stages as mesh shaders
...
Co-authored-by: Brandon Strong <brandostrong@gmail.com >
Co-authored-by: fxpw <fxpw@outlook.com >
Co-authored-by: shadowbeat070 <70843316+shadowbeat070@users.noreply.github.com >
2026-09-05 08:32:23 +04:00
nmzik
e8e580cf6c
fix ge
2026-09-05 06:53:59 +04:00
GodsWill Dev
2fe5c150bc
shader: implement BUFFER_ATOMIC_CMPSWAP ( #357 )
...
shader: implement RDNA2 buffer atomic compare swap
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-03 23:34:34 +02:00
nmzik
fb4d97e8a9
graphics: fix PS5 NGG vertex and instance draw offsets
...
Refs: https://github.com/KytyPS5/KytyPS5/issues/130
2026-09-03 21:52:02 +02:00
nmzik
b3c8f91a84
graphics: implement RDNA2 buffer atomic swap x2
2026-09-03 10:17:04 +02:00
nmzik
c78a5a9fdf
graphics: unify atomic feature and width handling
2026-09-03 05:45:45 +02:00
nmzik
858c18468b
graphics: implement RDNA2 buffer atomic OR x2
2026-09-03 05:39:05 +02:00
Brandon Strong
2d5023fda2
shader: support IMAGE_ATOMIC_SWAP ( #456 )
2026-09-03 03:37:55 +02:00
nmzik
86e3c90e32
shader: simplify image resource semantics
2026-09-02 15:45:15 +02:00
nmzik
e9425e101d
shader: add missing RDNA2 ALU opcodes
...
Add missing scalar and vector opcodes with compute tests.
Original work by @Pouare514 in #176 .
Co-authored-by: Pouare514 <julienaulycee@gmail.com >
2026-09-02 01:56:55 +04:00
nmzik
e591a66b67
Revert "shader: preserve raw VCC bits in S_MOV_B64 ( #418 )"
...
This reverts commit 6758d67942 .
An EXEC pair loses its mask provenance and falls into the raw high-word path. The saved all-ones high word then keeps waterfall branches true and wedges GPU work.
2026-09-01 07:50:37 +04:00
nmzik
1342c6f1e1
shader: took fixes from PR 427
...
- apply c8f34f9's ResourceTracking portability fix
- complete V_CMP_LT_U64 and S_FLBIT_I32_B32 support
- add the sceAmprCommandBufferWaitOnAddress NID from f625a47
- add decoder and compute tests for both shader operations
Co-authored-by: Mac <me@itsmemac.com >
2026-08-31 23:49:21 +04:00
nmzik
1592cf2b1b
shader: accept SDWA byte source for reverse shift
2026-08-31 09:53:26 +04:00
nmzik
af8aecfdde
shader: remove recompiler error-string propagation
2026-08-31 05:31:41 +04:00
nomolao2-cell
6758d67942
shader: preserve raw VCC bits in S_MOV_B64 ( #418 )
...
* shader: preserve raw VCC bits in S_MOV_B64
* fix(shader): centralize scalar U64 mask provenance
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-08-31 03:04:16 +04:00
GodsWill Dev
9992ab18fc
shader: preserve untouched half in VOP1 B16 writes ( #370 )
...
shader: preserve native 16-bit destinations
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-08-30 19:33:26 +04:00
Brandon Strong
18af08460f
shader: take the high half per lane in V_PK_FMAC_F16 ( #404 )
...
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-08-30 15:08:22 +04:00