nmzik
7c5473400e
config: simplify logging and profiler options. Change to Mailbox
2026-09-12 14:41:34 +04:00
nmzik
23c8a43e37
Simplify and batch buffer cache downloads
2026-09-12 14:17:00 +04:00
nmzik
20e57994cf
shader: reuse native emitters and simplify memory dispatch
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
0cd7682012
Rename texture transfer types and download APIs
2026-09-12 13:40:10 +04:00
nmzik
25a44371e3
refactor(graphics)
2026-09-12 13:40:10 +04:00
nmzik
a305a6c1c6
graphics: share packed texture and render-target channel layouts
...
Resolve PS5 5551 textures with alpha in bit 15 and compose host channel order with guest selectors. Share the existing render-target mapping with sampled textures so packed layouts cannot diverge.
Add native GPU readback coverage for 5551 and 4444, arbitrary selectors, constants, and existing 1555 render-target mapping. Verified PPSA24515 through launch.json with Vulkan validation, advancing scenes and over 12,700 guest flips. Independent correctness and cleanliness audits passed.
2026-09-10 14:36: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
ae573f941a
graphics: share vertex format mapping and support packed float colors
2026-09-10 14:11:46 +04:00
nmzik
0b4e78c0b2
graphics: execute DB_RENDER_OVERRIDE depth and stencil copies
2026-09-09 15:26:52 +04:00
nmzik
57844a07e2
buffer cache: grow stream reserves toward incoming requests
2026-09-09 15:26:52 +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
679adbfa5e
graphics: fix linear render-target pitch alignment
2026-09-09 02:45:59 +02:00
nmzik
9d550fbffa
graphics: fix last provoking vertex on PS5
2026-09-08 21:26:59 +04:00
nmzik
80a18e82b7
graphics: simplify image allocation
2026-09-08 21:26:58 +04:00
nmzik
c725ec50ff
graphics: clean up draw setup
2026-09-08 21:26:58 +04:00
nmzik
2097ebb414
render: support overlapping fragment depth feedback
2026-09-07 11:15:47 +04:00
nmzik
587df9145f
render: validate sampled depth descriptors independently of target history
...
Comparison textures can carry valid HTILE descriptors before any depth-target binding. Keep encoding checks independent of cached image metadata, matching SDK texture classification and shadPS4 depth promotion. Preserve HTILE address and control validation, and replace cache-history test fixtures with captured first-use coverage.
2026-09-07 11:12:48 +04:00
nmzik
2a54310876
render: fix depth write state before choosing layouts
...
Co-authored-by: MehmetCambaz <mcambaz18@gmail.com>
2026-09-07 07:12:58 +04:00
nmzik
ad935311f0
Revert "render: add depth attachment feedback support"
2026-09-07 07:01:53 +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
f880c58ccc
render: add depth attachment feedback support
...
Co-authored-by: DeathWhispers <56944463+Death-Whispers-U@users.noreply.github.com>
2026-09-07 04:25:10 +04:00
nmzik
49e59e572e
shader: separate depth comparison and regular image descriptors
...
Co-authored-by: Lordix <lordix253634@gmail.com>
Co-authored-by: fxpw <fxpw@outlook.com>
Co-authored-by: Mac <me@itsmemac.com>
2026-09-07 04:06:14 +04:00
nmzik
ceb2b664e0
render: reset rasterization defaults on CLEAR_STATE
2026-09-06 21:25:12 +04:00
nmzik
b5b4c06179
textures: share depth comparison view geometry
2026-09-06 20:18:31 +04:00
nmzik
e847f82fab
shader: initialize pixel position W as a reciprocal
2026-09-06 19:47:43 +04:00
nmzik
807a594c2d
textures: keep atlas data across compressed block views
2026-09-06 18:57:26 +04:00
nmzik
d83f1f8235
memory: handle GPU faults at the mapped boundary
...
Co-authored-by: CheesyPoofs346 <jjs777406@gmail.com>
2026-09-06 11:08:05 +04:00
nmzik
50e78d717d
render: use guest polygon modes
2026-09-06 10:56:59 +04:00
nmzik
6ca8201982
textures: handle DCC memory reused as HTile
2026-09-06 10:34:02 +04:00
nmzik
dcaf4205cb
render: track pages for DMA fills and copies
2026-09-06 10:16:27 +04:00
nmzik
4735359466
textures: invalidate stencil links on CPU writes
2026-09-06 09:38:22 +04:00
nmzik
997ad60c50
system: keep error dialogs open until dismissed
2026-09-06 08:34:58 +04:00
nmzik
44f982bca7
render: apply DCC clears before binding images
...
Co-authored-by: Techx3 <56268269+Techx3@users.noreply.github.com>
Co-authored-by: Brandon Strong <brandostrong@gmail.com>
2026-09-06 08:00:59 +04:00
nmzik
b346f58b73
shader: read sample IDs from pixel ancillary input
2026-09-06 06:54:38 +04:00
nmzik
ace877ce28
shader: lower FMASK loads before binding images
2026-09-06 06:42:23 +04:00
nmzik
98e7eeb72a
textures: keep dirty pages during image-to-buffer sync
2026-09-06 05:36:41 +04:00
nmzik
1eb13dfa5e
render: call Vulkan diagnostics and capability checks directly
2026-09-06 04:11:46 +04:00
nmzik
dda628ca81
render: simplify command and resource ownership
2026-09-06 04:05:35 +04:00
nmzik
4c769dfbf9
render: simplify buffer and memory tracking ownership
2026-09-06 03:46:34 +04:00
nmzik
ccd19b3e56
render: choose depth layouts independently of load clears
...
Co-authored-by: DeathWhispers <56944463+Death-Whispers-U@users.noreply.github.com>
2026-09-06 03:35:56 +04:00
nmzik
86b539a9ea
tests: clear BDA page tables before transfer updates
2026-09-05 16:04:58 +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
c83aac966e
textures: keep incompatible mip layouts separate
2026-09-05 15:24:07 +04:00
nmzik
d5b19850fb
render: clean up texture transfers and compute fills
2026-09-05 13:20:52 +04:00
nmzik
e7fe8192bb
tests: wait for interrupt callbacks before the next queue
...
Co-authored-by: Vyas Devgna <vyasdevgna@gmail.com>
2026-09-05 13:20:16 +04:00
nmzik
bec7c510c2
render: use native clears for stencil fill shaders
2026-09-05 12:36:13 +04:00
nmzik
9641b51925
render: fix tiled depth comparison textures
...
Co-authored-by: Ettore Sartori <85788613+Ekt0re@users.noreply.github.com>
Co-authored-by: Mac <me@itsmemac.com>
2026-09-05 11:44:11 +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
dea80f34ca
shader: detect full buffer fills from uniform stores
...
Co-authored-by: Techx3 <56268269+Techx3@users.noreply.github.com>
2026-09-05 10:34:30 +04:00
nmzik
b92f0a5458
render: share layouts with sampled attachments
...
Co-authored-by: DeathWhispers <56944463+Death-Whispers-U@users.noreply.github.com>
2026-09-05 08:54:41 +04:00
nmzik
251f6d6121
shader: fix returns and descriptor placement
2026-09-05 08:54:35 +04:00
nmzik
0d8c83a5cb
tests: enable Vulkan gather and derivative features
2026-09-05 08:54:14 +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
246212789f
agc: merge resources from both shader stages
2026-09-05 07:39:30 +04:00
nmzik
c7f7fd974b
textures: use the backing format for alias uploads
...
Co-authored-by: Lordix <lordix253634@gmail.com>
2026-09-05 07:30:05 +04:00
nmzik
5cf2f5767a
render: fix volume attachment slice bounds
...
Co-authored-by: SueryRD <the.ai.tester2@gmail.com>
Co-authored-by: Techx3 <56268269+Techx3@users.noreply.github.com>
2026-09-05 07:11:46 +04:00
nmzik
e8e580cf6c
fix ge
2026-09-05 06:53:59 +04:00
nmzik
74a78f37d0
renderer: grow repeatedly joined buffer ranges (perf)
2026-09-05 06:30:31 +04:00
nmzik
8d3ebb5a55
renderer: widen buffer readback windows
...
Co-authored-by: Ali Almohaya <17254073+Almo7aya@users.noreply.github.com>
2026-09-05 05:44:42 +04:00
nmzik
dd9ecd5f65
Revert "shader: separate comparison image bindings"
...
This reverts commit d762d24f73 .
2026-09-04 03:09:00 +02:00
nmzik
81b0c1302d
Revert "graphics: create depth images for comparison textures"
...
This reverts commit 0ce19357f6 .
2026-09-04 03:08:56 +02:00
nmzik
040b2b9653
tests: align GPU fixtures with binding architecture
2026-09-04 02:06:06 +02:00
nmzik
0ce19357f6
graphics: create depth images for comparison textures
2026-09-04 02:06:06 +02:00
nmzik
d762d24f73
shader: separate comparison image bindings
2026-09-04 02:06:06 +02: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
Brandon Strong
e21c5f37d0
graphics: honour DCC fixed clear codes on 16-bit and float colour targets ( #471 )
...
* Honour DCC fixed clear codes on 16-bit and float colour targets
* tests: DCC fixed clear codes materialise on an RGBA16F target
* graphics: remove fixed clear format comment
---------
Co-authored-by: nmzik <Nmzik@mail.ru>
2026-09-03 03:41:28 +02:00
Brandon Strong
2d5023fda2
shader: support IMAGE_ATOMIC_SWAP ( #456 )
2026-09-03 03:37:55 +02:00
nmzik
98200fed19
shader: rework resource specialization and optimize pipeline caching
2026-09-03 03:04:17 +02:00
nmzik
5c86f894be
shader: simplify typed image bindings
2026-09-02 15:45:16 +02:00
nmzik
86e3c90e32
shader: simplify image resource semantics
2026-09-02 15:45:15 +02:00
nmzik
894bc7de3c
shader: support signed sampled images
2026-09-02 15:39:30 +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
80225015c5
renderer: enable storage for color images
2026-09-01 23:54:17 +04:00
nmzik
0c8d7a1e49
shader: DPP row-xmask
2026-09-01 21:02:19 +04:00
nmzik
3b6b3c2040
pm4: handle reserved depth control fields
2026-09-01 20:50:57 +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
Brandon Strong
b8a459e83d
graphics: do not arm a fast clear from a read-modify-write dispatch ( #428 )
...
* graphics: do not arm a fast clear from a read-modify-write dispatch
* tests: cover compute metadata clear classification
---------
Co-authored-by: nmzik <Nmzik@mail.ru>
2026-09-01 05:48:06 +04:00
nmzik
7684c343d6
guest_gpu: fix private AGC register regression
2026-09-01 04:24:47 +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
GodsWill Dev
6453bafd1d
renderer: ignore inactive stencil registers for depth-only targets ( #425 )
...
graphics: ignore inactive Hi-Stencil state
Co-authored-by: nmzik <Nmzik@mail.ru>
2026-08-31 22:39:44 +04:00
nmzik
1df06e230d
guest_gpu: remove stale PS4/GCN era gpu registers
2026-08-31 20:58:35 +04:00
nmzik
66ca225c76
shader: require explicit recompiler resource data
2026-08-31 10:26:08 +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
nmzik
39ee9972b8
shader: V_CMPX_CLASS_F32
2026-08-30 14:32:07 +04:00
Mehmet Cambaz
ff61c1cecd
shader: implement V_SIN_F16 ( #399 )
...
Co-authored-by: nmzik <Nmzik@mail.ru>
2026-08-30 01:32:49 +04:00
nmzik
1a87cfedb5
shader: implement V_COS_F16
2026-08-29 19:23:19 +04:00
nmzik
5bd447d2a2
shader: implement DS_BPERMUTE_B32
...
Co-authored-by: Techx3 <56268269+Techx3@users.noreply.github.com>
2026-08-29 19:23:19 +04:00
nmzik
ef639610e7
shader: allow SDWA add-with-carry
2026-08-29 15:31:20 +04:00
Brandon Strong
6c3b562822
graphics: support Standard64KB color target arrays ( #315 )
...
graphics: support Standard64KB render target arrays
Co-authored-by: nmzik <Nmzik@mail.ru>
2026-08-29 15:18:44 +04:00