Skip to content

fix(agc): decode implicit six-face cube extents - #1308

Merged
adriadam10 merged 1 commit into
boykopovar:mainfrom
TibixDev:pr/implicit-cube-extents
Oct 8, 2026
Merged

adriadam10 merged 1 commit into
boykopovar:mainfrom
TibixDev:pr/implicit-cube-extents

Conversation

@TibixDev

@TibixDev TibixDev commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

What

Decode equal BASE_ARRAY and DEPTH as one six-face cube. Keep rejecting partial cube ranges.

The hardware reference used image_load, image_sample, and image_get_resinfo on RX 6600 (gfx1032), with base slices 0, 5, and 6. Console equivalence remains unverified.

Tested

Fedora 44, Release build, RX 6600 with host RADV and Vulkan validation:

  • agc_driver_graphics.
  • Recorder --cube-only: snapshot and storage views read all six faces at each base slice.
  • Contribution checks.

The initial GPU run passed its assertions but reported command-buffer reset errors from the recorder fixture. The corrected fixture enables reset. The repeated CPU and GPU tests pass with no validation errors.

Checklist

  • Current main; no duplicate open PR.
  • One topic.
  • No new code comments.
  • Unsupported paths still throw; UI stubs are documented.
  • No notes, logs, or images in the repository.
  • No new third-party code.
  • General behavior.
  • Depends on: none.
  • AI-assisted: yes.

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.

Pull request Conflicting files (lines on main) Same exports Same new files
#1368 core/libs/prx/libSceAgcDriver/tests/shaders/SampleArray.comp
#1395 core/libs/prx/libSceAgcDriver/tests/shaders/SampleArray.comp

@TibixDev

TibixDev commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Rebased on eaa6ccea. Resolved the documentation conflict from merged #1051. Preserved the Linux host-import limitation and this PR’s distinct texture behavior; no production-code conflict.

Fedora 44 Release: agc_driver_graphics_tests, agc_driver_pm4_tests, agc_driver_recorder_tests build; the targeted tests and contribution checks pass. Windows CI is pending.
RADV and lavapipe: --cube-only pass with core and synchronization validation; no validation errors.

@TibixDev
TibixDev force-pushed the pr/implicit-cube-extents branch 2 times, most recently from 7d5fce8 to 6f70c0e Compare October 8, 2026 07:41
@github-actions github-actions Bot added needs rebase Conflicts with main, rebase needed and removed needs rebase Conflicts with main, rebase needed labels Oct 8, 2026
Treat equal BASE_ARRAY and DEPTH as a six-face cube. Measured with image_load, image_sample and image_get_resinfo on RX 6600 gfx1032 using base slices 0, 5 and 6. Partial cube ranges still throw because filtered sampling differs from load bounds.

Graphics tests and GPU snapshot/storage sampling tests pass for all six faces at each tested base.

Assisted-by: OpenAI Codex
@TibixDev
TibixDev force-pushed the pr/implicit-cube-extents branch from 6f70c0e to 48bb99d Compare October 8, 2026 08:00
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 8, 2026
@adriadam10

Copy link
Copy Markdown
Collaborator

Checked on gfx1035 with the HW oracle: a CUBE T# with BASE_ARRAY == DEPTH (0/0, 2/2, 5/5, 6/6) reads exactly faces base..base+5 with image_load and image_sample_lz, and image_get_resinfo returns depth 6, the same as DEPTH = BASE_ARRAY + 5; partial ranges are bounded by DEPTH on loads, so keeping them throwing is right. Build + ctest green, the decode test fails without the change, recorder --cube-only passes on RADV. Merging.

Note: #1368 and #1395 add tests/shaders/SampleArray.comp too (with the STENCIL variant), so they will need a rebase on top of this one.

@adriadam10
adriadam10 merged commit 44ef694 into boykopovar:main Oct 8, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants