Skip to content

perf(agc): combine consecutive descriptor set binds - #11

Open
JJenkx wants to merge 1 commit into
mainfrom
perf/combined-descriptor-binds
Open

JJenkx wants to merge 1 commit into
mainfrom
perf/combined-descriptor-binds

Conversation

@JJenkx

@JJenkx JJenkx commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

What

Split graphics resources bind descriptor sets 0 and 1 with two vkCmdBindDescriptorSets calls. Bind the two consecutive sets in one call when both exist, preserving set order, handles, bind point, and pipeline layout. Main-only, fragment-only, and empty cases retain their behavior. Use the same helper for ordinary resources and per-draw snapshot bindings.

The current refresh preserves main’s image-descriptor mock handling and all image-table tests. The helper statically requires the fragment descriptor set to remain set 1.

Tested

Refreshed as one commit on main 763ad20fc19. Release builds of the graphics and draw-cache-reuse tests pass. Both executables pass on RADV/Radeon and lavapipe: four invocations passed, no whole-test skips. The graphics suite includes the split-resource bind assertions for two sets, each single set, and no sets. Heap-mirror subchecks report unavailable without a write-watched guest arena and are not counted as validated.

Conventions and whitespace checks pass. No matched title performance comparison, Windows build, or full-suite run has been completed on this refresh. The reduced command count does not establish a gameplay FPS improvement.

Checklist

  • One topic; generic descriptor binding
  • No code comments, assets, or new dependencies
  • Existing image-descriptor and image-table tests preserved
  • Depends on: none
  • Unblocks: none
  • GPUs tested: AMD Radeon RX 6650 XT, RADV Mesa 26.2.4, Linux; lavapipe Mesa 26.2.4 on the same Linux host
  • AI-assisted: yes

@github-actions github-actions Bot added the agc libSceAgc* label Oct 13, 2026
@github-actions github-actions Bot added the needs rebase Conflicts with main, rebase needed label Oct 14, 2026
@JJenkx
JJenkx force-pushed the perf/combined-descriptor-binds branch from a3b64e3 to ee8f266 Compare October 14, 2026 15:59
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 14, 2026

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*

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant