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
1b70938052
agc: emit async memory semaphores and execute them in the CP
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
f90a8b1589
graphics: decode register clears of RGBA16 UNORM, UINT and SINT and RG32 UINT and SINT targets
...
Co-authored-by: Senaxx <michelbeld@gmail.com >
Co-authored-by: Jetsku <59046009+Jetsku@users.noreply.github.com >
2026-10-26 07:43:11 +01:00
nmzik and usa-ratt
17a0f53d39
graphics: resolve MSAA color into the level and layer the texture cache placed each target at
...
Co-authored-by: usa-ratt <188116257+usa-ratt@users.noreply.github.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
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
nmzik and Ali Almohaya
b4209dde1b
graphics: write the subdraw index of multi-draw indirect packets
...
Co-authored-by: Ali Almohaya <AliAlmohaya@gmail.com >
2026-10-26 05:32:02 +01:00
nmzik
72d7da7266
texture_cache: view BC images for raw reads of their layers instead of evicting them
2026-10-26 05:32:02 +01:00
nmzik
95bbc9c65d
graphics: hold image heap descriptors whose address another extent pins
2026-10-26 05:32:02 +01:00
nmzik
4db225008b
graphics: resize image heap tables in place when their descriptor size changes
2026-10-26 05:32:02 +01:00
nmzik
dc3bd68dee
gpu: bound null storage bindings to zero bytes
2026-10-26 05:32:02 +01:00
nmzik
c1dfb309a1
graphics: drop image heap table snapshots superseded at the same base
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
nmzik
463a096249
graphics: unwatch image heap pages on writes next to a table
2026-10-26 05:32:02 +01:00
b2c9ec7609
renderer: decode R8, R8G8 and R16_UINT color register clears ( #1893 )
...
DecodePackedColorClear had no case for R8_UNORM/UINT, R8G8_UNORM/UINT and
R16_UINT, so a CMASK fast clear of such a render target was dropped and the
target kept its old contents. UFC 6 (PPSA23566) fast-clears an R8_UINT
region map this way every frame and then writes only part of it; a capture
showed the map never cleared. DWORD fills of these formats are decoded only
when every pixel in the word holds the same value.
Co-authored-by: 4wgycvn84p-afk <346802885+4wgycvn84p-afk@users.noreply.github.com >
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-25 18:47:45 +01:00
nmzik
dd5bc26c64
pipeline: write the shader store on a background thread
2026-10-25 02:20:44 +02: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
87e49282b8
pipeline: log real shader compiles to the console
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
dbc7b8b2ff
pipeline: look up draw programs and pipelines from the command buffer
2026-10-24 05:18:46 +02:00
nmzik
269e411ef2
graphics: index live cache slots directly
2026-10-24 04:26:16 +02:00
nmzik
170c107779
texture_cache: dedupe region queries with a picked flag
2026-10-24 04:03:01 +02:00
nmzik
8dc0d56b7e
common: SlotVector without generations
2026-10-24 03:48:46 +02:00
nmzik
d7856753e0
shader: walk every resource plan with the x86 SRT walker
2026-10-24 02:57:24 +02:00
nmzik
f356fa3730
gpu: move the BDA sync queue from MemoryTracker into BufferCache
2026-10-24 01:05:19 +02:00
nmzik
6aaa533296
gpu: queue GDS release interrupts behind earlier interrupts
2026-10-23 22:22:39 +02:00
nmzik
dc40478e7b
gpu: deliver RELEASE_MEM interrupts with the slice flush instead of their own
2026-10-23 22:14:55 +02:00
nmzik
bf5dd62eea
gpu: decode RELEASE_MEM directly from the driver's native packet
2026-10-23 21:11:07 +02:00
nmzik
227f12ee4b
gpu: remove the PS4-era constant engine, marker NOPs and EVENT_WRITE_EOP/EOS packets
2026-10-23 20:42:41 +02:00
Senaxx
77a8f30758
shader: read S_MEMREALTIME from the host device clock shifted to about 100 MHz
2026-10-23 19:48:53 +02:00