nmzik
b43bf9f7fb
graphics: store vertex attribute bindings without duplicated arrays
2026-09-29 13:57:32 +04:00
nmzik
0791f921f6
UFC 5 in-game ( #883 )
...
* shader: release descriptor dependencies
* shader: simplify shared-exit control flow
* shader: fix scalar memory loads
* shader: fix LDS counter bounds
* renderer: skip inactive pixel shaders
* shader: respect FP32 mode in comparisons
* renderer: fix sampler border colors
* shader: resolve descriptors from control flow
* shader: resolve descriptors before resource planning
* shader: handle scalar guards for image bounds
* shader: handle reduced guards for image loops
* shader: fix wave guards and material indices
* shader: preserve scalar buffer offset alignment and carry
* shader: prove masked loop bounds across iteration transitions
* shader: preserve source and IR before resource tracking failures
* shader: track material keys selected from active lanes
* shader: remove obsolete post-dominator analysis
* shader: follow bounds guards through control-flow joins
2026-09-28 16:03:05 +04:00
Matthew Hurley
1b6af301b5
tests: wire dormant VOP3 lane-read check and guard new dormant tests ( #840 )
...
Tests: enable lane-read coverage and clarify layout failures
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-27 15:37:32 +04:00
Pcniado
bec67b7863
Fix HITMAN 3 boot, layered presentation, and socket imports ( #851 )
...
* videoout: synchronize layered flips with premultiplied composition
* shader: support unsigned FFBH subword sources
* shader: apply cube-face result scaling
* shader: prune buffer reads proven out of bounds
* net: implement send and receive exports with shared socket handling
---------
Co-authored-by: nmzik <Nmzik@mail.ru >
2026-09-27 02:13:30 +04:00
Hamza Shakir
cda236dbb3
Shader recompiler: accept V_NOT_B32 SDWA partial dst with any source; allow 64 buffers
...
SDWA source extraction and destination insertion are independent. Cover the reported word1-to-word0 preserve form and byte-source partial destinations in compute tests. Verify 64 distinct compute buffers survive resource tracking and binding layout, and remove the obsolete CFG rejection.
(cherry picked from commit 9e74df7dc0 )
2026-09-26 01:58:55 +04:00
nmzik
6bb68a3fd9
shader: stop repeated CFG merge gateway splitting
2026-09-25 14:27:09 +04:00
nmzik
d72a79af2d
graphics: skip compute dispatches with BVH instructions
...
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
nmzik
a6248c7c7c
Convert formatted half-float buffer stores from F32
...
Co-authored-by: TarkusR <90155059+TarkusR@users.noreply.github.com >
2026-09-24 11:13:33 +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
d30dca78be
Read image descriptors in one bounded span
2026-09-23 15:41:02 +04:00
nmzik
03c55e5712
Keep shader user data inline for cached programs
2026-09-23 15:41:02 +04:00
nmzik
13fcb3a133
Refresh cached resources in one SRT walk
2026-09-23 15:41:02 +04:00
nmzik
8dc9b9d532
Persist save allocations for search and mount capacity queries
2026-09-22 11:38:50 +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
nmzik
f9e56ef8a0
Scope native barriers to shaders with shared execution
2026-09-22 11:11:36 +04:00
Elija
cfb110e0aa
shader: allow partial SDWA destinations for V_NOT_B32 ( #684 )
2026-09-20 18:21:40 +04:00
nmzik
2bf78a94e0
remove string wrappers
2026-09-17 20:35:36 +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
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
86414760e6
Cull zero homogeneous vertex positions before rasterization
...
Fix Playroom top right artifact on Nvidia by clipping zero-position vertices.
2026-09-15 11:24:05 +04:00
nmzik
a1fbc41146
Preserve shared scalar loads during embedded vertex fetch replacement
2026-09-15 11:24:05 +04:00
nmzik
bbebb6419b
graphics: preserve PS5 array mip contents during cache promotion
...
PPSA05975
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
nmzik
1208d22547
Fix Windows Clang SPIR-V serialization with typed operands
2026-09-12 13:08:23 +02:00
Frans
7bcd43dbee
shader: support S_MUL_HI_I32 (SOP2 0x36) ( #576 )
2026-09-12 14:56:14 +04:00
nmzik
7c5473400e
config: simplify logging and profiler options. Change to Mailbox
2026-09-12 14:41:34 +04:00
nmzik
e026bfc9a2
shader: let structurization own rollback on failure
2026-09-12 13:42:15 +04:00
nmzik
20e57994cf
shader: reuse native emitters and simplify memory dispatch
2026-09-12 13:42:15 +04:00
nmzik
59ef88c959
shader: generate SPIR-V dispatch and marshal handler arguments
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
25a44371e3
refactor(graphics)
2026-09-12 13:40:10 +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
72963b01e1
shader: remove redundant decoder and translator state
2026-09-08 21:26:59 +04:00
nmzik
056dcee70c
graphics: simplify buffer allocations
2026-09-07 15:00:52 +04:00
nmzik
2c5060e14f
shader: remove masked-value pass and normalize ancillary fields
2026-09-07 11:12:48 +04:00
nmzik
19fc0274de
shader: validate shared terminal paths in selections
2026-09-07 06:57:55 +04:00
nmzik
1fd07c2c83
shader: assemble point inputs for merged geometry shaders
2026-09-07 05:04:15 +04:00
nmzik
ced73c56cc
shader: fix spilled mesh shader data loads
2026-09-06 17:17:51 +04:00
nmzik
533176f9ff
shader: drop inactive pixel values under whole-quad masks
2026-09-06 14:38:32 +04:00
nmzik
99a87bd65b
shader: keep loop branches during selection routing
2026-09-06 10:23:44 +04:00
nmzik
f9f8e12c35
shader: add viewport-index exports and indexed raster state
...
Co-authored-by: Ettore Sartori <85788613+Ekt0re@users.noreply.github.com >
2026-09-06 10:16:38 +04:00