Adrià
d4cb89300f
Merge pull request #12354 from Queuse/codex/document-loop-guard-limit
...
docs: clarify the shader loop guard limit
2026-10-28 14:58:00 +01:00
Adrià
bd15a91f99
Merge pull request #11696 from Astronaut10/perf/agc-shape-memo
...
perf(agc): repeat a draw shape's resident targets and pipeline instead of looking them up again
2026-10-28 14:49:03 +01:00
Adrià
ca814b7bfa
Merge pull request #12094 from MarcZX10/docs/environment-value-kinds
...
docs: correct kinds, defaults and sources of thirteen environment variable rows
2026-10-28 14:47:33 +01:00
Adrià
bf31ed6c3f
Merge pull request #12091 from MarcZX10/docs/environment-reference-accuracy
...
docs: correct eleven rows of the environment variable reference
2026-10-28 14:47:22 +01:00
Queuze
f5a61dc3c5
docs: clarify the shader loop guard limit
2026-10-28 07:27:36 -03:00
Cesar Mora and Claude Opus 5.5
2b349ff156
perf(agc): repeat a draw shape's resident targets and pipeline instead of looking them up again
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-28 08:33:40 +01:00
Adrià
fddf0ffb75
Merge pull request #9129 from EagleBearerYS/fix/agc-draw-cache-byte-budget
...
fix(agc): bound the draw cache by bytes
2026-10-28 08:07:42 +01:00
Dean
ccfb96757f
Merge pull request #11307 from dantdmdarealguy/perf/agc-depth-plane-copies-recent-presents
...
perf(agc): keep recently sampled depth plane copies up to twice the budget
2026-10-28 18:17:14 +13:00
Yunus Shaikh
332b5f3d28
Merge main into fix/agc-draw-cache-byte-budget
...
# Conflicts:
# core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawCacheStatistics.cpp
2026-10-27 20:08:17 -07:00
Adrià
a37797da92
Merge pull request #11637 from B-Howell/codex/videoout-display-index-current-main
...
feat(libSceVideoOut): allow selecting the initial display
2026-10-28 03:49:48 +01:00
Dean
b643e2a6b8
Merge pull request #11363 from JJenkx/feat/agc-selected-image-readback-20261026
...
feat(agc): capture selected live storage images without writeback
2026-10-28 13:46:57 +13:00
MarcZX10
dfe6db8b58
docs: spell out the APS5_DISPATCH_CACHE_ENTRIES default
...
dispatchCacheEntries picks 8192 only for more than two variants, 16384
for one or two and 4096 when stamp validation is on.
2026-10-27 20:22:48 +00:00
MarcZX10
009be80e18
docs: point APS5_EBOOT at the code that reads it
...
libSceSystemService reads the variable when it prepares a launch, and an
empty value counts as unset; GuestSystemExit.cpp only checks that it is
not defined.
2026-10-27 20:22:48 +00:00
MarcZX10
8592867658
docs: correct the default of APS5_FRAME_CAPTURE_AT_FLIP
...
FrameRecorder reads the variable with a fallback of 0 and raises it to 1
when it picks the boundary, so the effect of the default is the same as
1 but the default is 0; a value that is not a number throws.
2026-10-27 20:22:48 +00:00
MarcZX10
f281b02025
docs: document APS5_LOG_STATS as a string
...
AsyncLog.hpp compares the value with 0, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
bd8a7b9315
docs: document APS5_LABEL_TRUST_LATE as a string
...
Recorder.cpp compares the value with 0, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
4da9369e17
docs: document APS5_KEYS_FILL_CLEAR as a string
...
Texture.cpp acts only on the value 1, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
13a973de6f
docs: document APS5_HOOK_FLUSH_CPU_BLOCKS as a string
...
Recorder.cpp acts only on a value that starts with 0, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
8cf29166bd
docs: document APS5_EXACT_DRAW_WRITES as a string
...
WrittenBuffers.cpp compares the value with 0, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
c4239be970
docs: document APS5_COPY_READ_TRACKING as a string
...
Recorder.cpp compares the value with 0, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
71e4a80c7e
docs: document APS5_STRICT_DESCRIPTOR_WEBS as a string
...
ResourceTracker.cpp compares the value with 0, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
017847c3bb
docs: document APS5_IMAGE_TABLE_STRICT as a string
...
ResourceMaterializer.cpp compares the value with 0, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
89e8dbee00
docs: document ANYPS5_NO_SHADER_CACHE as a string
...
ShaderDiskCache.cpp ignores an empty value and 0, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
2fe21dbd99
docs: document APS5_SKIP_TIMING_TESTS as a string
...
PreciseWait.cpp tests the first character for 0, so the value is interpreted and the variable is not a
presence switch.
2026-10-27 20:22:48 +00:00
MarcZX10
c95f8f80e0
docs: say the APS5_SAVEDATA_TRACE limit is per logging site
...
SAVEDATA_TRACE keeps a static counter in each use, so the default limit
of three applies to every site separately.
2026-10-27 20:15:57 +00:00
MarcZX10
c688fede63
docs: give the range and default of APS5_TRACE_EVENTS
...
TraceThread::ParseCapacity rejects 0 and anything above 4,194,304, and
DefaultCapacity is 262,144.
2026-10-27 20:15:57 +00:00
MarcZX10
1aac7817b5
docs: keep the host read-only state in the USB passthrough row
...
HostVolumes records ReadOnly from the mount options (or the Windows
read-only volume flag) and the export reports it, so passthrough is not
always writable.
2026-10-27 20:15:57 +00:00
MarcZX10
e6410e8daa
docs: mark the Windows-only debug variables
...
The timer selftest, the job worker pinning and the page query trace are
compiled only under _WIN32; elsewhere the variables are ignored.
2026-10-27 20:15:57 +00:00
MarcZX10
8ff8758c37
docs: document APS5_TIME_SCALE as a number string
...
The value is parsed with strtod, so fractional factors work, as the row
already says; the integer kind contradicted it.
2026-10-27 20:15:57 +00:00
MarcZX10
11a036fa09
docs: state the interval limit of APS5_TRACE_BENCH
...
TraceBench::Keep retains MaximumIntervals = 240 and counts the rest as
dropped.
2026-10-27 20:15:57 +00:00
MarcZX10
29b1aaa480
docs: say what APS5_TRACE_SKIPS adds
...
reportSkip already writes each distinct skip once; the variable only
enables the 'again' lines for repeats.
2026-10-27 20:15:57 +00:00
MarcZX10
fb7b465ad7
docs: point APS5_SPIRV_OPT at its production reader
...
The SPIR-V backend reads the variable; the test only repeats the read.
2026-10-27 20:15:57 +00:00
MarcZX10
d035b7afe3
docs: describe the perf pair switches as recompiler switches
...
APS5_NO_PERF_FRONTEND_PAIR and APS5_NO_PERF_LAYOUT_PAIR are read by the
shader recompiler itself, which the shader disk cache lists among its
output-neutral switches, not only by the shader-memory test the rows
pointed at.
2026-10-27 20:15:57 +00:00
MarcZX10
b47d7e50d3
docs: document APS5_SRGB_SHADER_DECODE as a string
...
TextureFormat.cpp compares the value with "1" and "copy" and ignores
anything else, so setting it to an arbitrary value does not behave like
a presence switch.
2026-10-27 20:15:20 +00:00
MarcZX10
534f5acdc8
docs: document APS5_STORE_AT_LABEL as a string that accepts only 1
...
StoreAtLabelRequested returns true for "1" and throws for any other
value (expected 1), like its sibling APS5_STORE_AT_FLIP, so it is not a
presence switch.
2026-10-27 20:15:20 +00:00
Adrià
486919e70a
Merge pull request #11456 from MarcZX10/marc/docs-environment-sync
...
docs(environment): correct variable rows that no longer match the code
2026-10-27 12:00:02 +01:00
Adrià
bb5a62ce11
docs(environment): sort ANYPS5_DISPLAY_INDEX within libSceVideoOut
2026-10-27 11:50:09 +01:00
B-Howell
be358dc3f7
feat(libSceVideoOut): allow selecting the initial display
2026-10-27 11:50:06 +01:00
Dean
3fea2a937b
Merge pull request #11685 from oneandonlydean/port/direct-depth-layer-copy-v2
...
feat(agc): copy depth planes to and from color storage images directly where maintenance8 allows
2026-10-27 23:03:00 +13:00
Dean
a636927e5f
Merge pull request #8161 from Celegans12/feat/tools-ab-split
...
feat(tools): split the periodic reports of an APS5_AB run by phase
2026-10-27 21:34:47 +13:00
Adrià
b9a946180a
Merge pull request #11046 from simnJS/claude/sweet-faraday-oqfsm5
...
feat(libSceUsbStorage): pass the host's USB FAT and exFAT volumes through
2026-10-27 08:27:14 +01:00
dantdmdarealguy
36277c4b44
perf(agc): keep recently sampled depth plane copies up to twice the budget
...
The depth plane copy budget (APS5_DEPTH_PLANE_COPY_MIB, 256 MiB) evicted
the least recently used copy even when it had been sampled in the same
frame. When one frame samples more than the budget, every use evicts a
copy the next use needs, so each copy is made and refilled again on every
use. ASTRO BOT (PPSA21564) samples a 1536x1536x16 D32 copy (288 MiB with
its staging buffer) and a 2048x2048x3 D16 copy (48 MiB) alternately in
its intro and thrashes this way.
A copy sampled in the current or the previous present now stays while
all copies hold at most twice the budget. Past that, the least recently
used copies leave whenever they were sampled, so the copies never hold
more than twice the budget, or the one copy being sampled if it is
larger. Older copies still leave first by least recent use down to the
budget.
DepthPlaneCopyBytes reports the bytes the copies hold, for the tests.
The pooled-memory rounds of agc_driver_depth_plane_guest_layers now
advance two presents between samples, since two copies sampled in one
present may now be kept together.
2026-10-26 22:31:18 -05:00
Dean
c72ed0b7c8
Merge pull request #10388 from Tamalero/perf/prebuild-pool-threads
...
perf(agc): prebuild registration libraries on half the hardware threads by default
2026-10-27 14:59:11 +13:00
Dean
8cc3be6e2b
Merge pull request #9098 from EagleBearerYS/perf/libc-collect-without-region-query
...
perf(libc): read private write watches per allocation without a region query
2026-10-27 14:57:16 +13:00
Dean
37c6b4bc25
Merge pull request #8077 from 0xcrstn/ufc6/descriptor-web-fold
...
fix(shader): split descriptor webs whose paths fold or hold invalid arms
2026-10-27 14:56:47 +13:00
Dean
d1de04f943
Merge pull request #7484 from AlxcBTW/pr/robust-loads
...
perf(recompiler): leave the descriptor-range comparison out of direct buffer loads when the device zeroes past the range
2026-10-27 14:56:32 +13:00
simnJS
6988438d77
feat(libSceUsbStorage): pass host volumes through only with APS5_USB_STORAGE_PASSTHROUGH
...
Unset, ScanHostVolumes returns no volume, so nothing is scanned or
exposed and the guest sees no USB storage, as on main. The test checks
that injected volumes are neither listed nor raised by a rescan with the
switch off, and turns it on for the device cases.
2026-10-27 00:01:56 +01:00
Dean
74acfad65b
Merge pull request #11365 from oneandonlydean/sa/per-draw-gpu-timing
...
feat(agc): opt-in per-draw GPU timing and dump-by-address diagnostics
2026-10-27 11:08:24 +13:00
Dean
910e14f3c9
Merge pull request #8896 from teepean/perf/recent-host-imports
...
perf(agc): find a host import among the last ones found first
2026-10-27 10:52:34 +13:00
Dean
b7cfbf0115
Merge pull request #9346 from Techx3/feat/fullscreen-env
...
feat(libSceVideoOut): open the display window fullscreen with ANYPS5_FULLSCREEN
2026-10-27 10:29:49 +13:00