Skip to content

fix(agc): gate bulk capture profiling and retain cache regressions - #50

Open
JJenkx wants to merge 2 commits into
mainfrom
fix/cached-compact-resource-plans
Open

JJenkx wants to merge 2 commits into
mainfrom
fix/cached-compact-resource-plans

Conversation

@JJenkx

@JJenkx JJenkx commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Bulk shader-memory reads now respect CaptureProfiled() before updating read totals, matching the scalar read path. This branch also checks that cached plans rebuild their compact evaluation data and that cached bulk reads report only the requested words across a page boundary, including repeated captures.

Two commits on main 8856f180ca0b5605574842666ffbc8b0bb69cc4d; head 2098259a7813566243f83a1458321b44d054cdb5. Main already includes the compact-plan implementation from boykopovar#1193, so this refresh retains only the profiling correction and additional regressions. Shader cache format 36 is unchanged.

Validation: Linux x86-64 Release build of full runtime libraries and the selected test executables. With APS5_VERIFY_SRT_COMPACT=1, all 20 selected cache, shader-memory and prepared-shader/graphics CTest cases passed on both Radeon RX 6650 XT (RADV Mesa 26.2.4) and lavapipe, with zero skips. The negative controls and restored-source reruns were completed on base a08de6827; the complete build and both positive 20-case sets were repeated after the rebase onto 8856f180c. Conventions and whitespace checks pass.

The unchanged regression sources detect both deliberate production faults: removing cache-load CompactPlan fails with “the cached plan lost compact evaluation data”; marking entire cached pages as read fails with “an unaligned cached run recorded unrelated words”. Test executables were rebuilt against each faulty implementation, then the production sources were restored and rebuilt. The exact-span case runs through agc_shader_bindless; the cache round-trip case runs through agc_shader_disk_cache.

The local validation build differs from this public head only by a private SPIRV-Tools teardown repair in the submodule. That dependency change is excluded from this PR; these results do not independently validate the official dependency pin. No current Windows/full-suite or title FPS result is claimed.

@JJenkx
JJenkx marked this pull request as ready for review October 14, 2026 01:54
@github-actions github-actions Bot added agc libSceAgc* shader core/shader build CMake, submodules, 3rdparty docs Documentation needs rebase Conflicts with main, rebase needed labels Oct 14, 2026
@JJenkx
JJenkx force-pushed the fix/cached-compact-resource-plans branch from 2610662 to e650bf1 Compare October 14, 2026 16:12
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 14, 2026
@JJenkx
JJenkx force-pushed the fix/cached-compact-resource-plans branch 3 times, most recently from 2b84f7d to 51a159c Compare October 15, 2026 10:56
@JJenkx JJenkx changed the title fix(shader): preserve compact evaluation in cached resource plans fix(agc): gate bulk capture profiling and retain cache regressions Oct 15, 2026
@JJenkx
JJenkx force-pushed the fix/cached-compact-resource-plans branch from 51a159c to 2098259 Compare October 15, 2026 10:59

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agc libSceAgc* build CMake, submodules, 3rdparty docs Documentation shader core/shader

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant