Skip to content

feat(libSceAgcDriver): implement capture requests and submit validation settings - #2494

Closed
tarfouss3 wants to merge 1 commit into
boykopovar:mainfrom
tarfouss3:feat/agc-driver-capture-validation
Closed

tarfouss3 wants to merge 1 commit into
boykopovar:mainfrom
tarfouss3:feat/agc-driver-capture-validation

Conversation

@tarfouss3

Copy link
Copy Markdown

What

Implements 9 exports that called NotImplemented: sceAgcDriverRequestCaptureStart, sceAgcDriverRequestCaptureStop, sceAgcDriverTriggerCapture, sceAgcDriverGetShaderDebuggingStatus, sceAgcDriverSetSubmitValidationMode, sceAgcDriverGetSubmitValidationMode, sceAgcDriverSetSubmitValidationConfig, sceAgcDriverGetSubmitValidationConfig, sceAgcDriverSetValidationErrorOutputFrequency.

Signatures and behaviour follow the public reimplementations OpenAGC/OpenAGC, xnetcat/REmu; none is confirmed on a title, and the provenance of each function is recorded in docs/dev/TechnicalDebt.md. Inputs whose console behaviour is not established throw.

Left as stubs, as no reference establishes their signature or behaviour: sceAgcDriverSubmitCommandBuffer, sceAgcDriverSubmitMultiCommandBuffers, sceAgcDriverRegisterMultipleResources.

Tested

Linux x86-64 (Ubuntu 24.04, GCC 13.3, Release, BUILD_TESTING=ON), this branch alone on top of main (5bc7886): full build and libs, then the whole ctest suite with Vulkan on lavapipe: 520 of 522 passed. The two failures are environmental and also fail without this change: agc_driver_vopc_compare (lavapipe result) and guest_sce_net (the test machine has no IPv6, so the existing CheckUnspecifiedIpv6 aborts). Tests added or extended for this change: guest_agc_driver_resources. tools/check_conventions.py passes. Not tested with a title.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source (none added)
  • Generic behaviour, not specific to one title
  • Depends on: none
  • AI-assisted: yes. Written with Claude Code: agents looked up each signature in the public reimplementations cited above, implemented and tested it, and a second agent reviewed every function against those sources and reverted what they did not support.

🤖 Generated with Claude Code

…on settings

Implements 9 exports that called NotImplemented: sceAgcDriverRequestCaptureStart, sceAgcDriverRequestCaptureStop, sceAgcDriverTriggerCapture, sceAgcDriverGetShaderDebuggingStatus, sceAgcDriverSetSubmitValidationMode, sceAgcDriverGetSubmitValidationMode, sceAgcDriverSetSubmitValidationConfig, sceAgcDriverGetSubmitValidationConfig, sceAgcDriverSetValidationErrorOutputFrequency.

Signatures and behaviour follow the public reimplementations OpenAGC/OpenAGC, xnetcat/REmu; none is confirmed on a title, and the provenance of each function is recorded in docs/dev/TechnicalDebt.md. Inputs whose console behaviour is not established throw.

Left as stubs, as no reference establishes their signature or behaviour: sceAgcDriverSubmitCommandBuffer, sceAgcDriverSubmitMultiCommandBuffers, sceAgcDriverRegisterMultipleResources.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CM3ZvU1gP32iEs7abAt7N6
@github-actions

github-actions Bot commented Oct 9, 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
#374 docs/dev/TechnicalDebt.md L240
#425 docs/dev/TechnicalDebt.md L240
#1186 docs/dev/TechnicalDebt.md L240
#1837 docs/dev/TechnicalDebt.md L240
#2076 docs/dev/TechnicalDebt.md L240
#2169 docs/dev/TechnicalDebt.md L240
#2261 docs/dev/TechnicalDebt.md L240
#2490 docs/dev/TechnicalDebt.md L240
#2491 docs/dev/TechnicalDebt.md L240

@github-actions github-actions Bot added the intake paused Closed while PR intake is limited to authors with at least 10 PRs merged into main label Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Thank you for your interest in the project! We are sorry, but we cannot accept more PRs while we work through the existing backlog. This PR has been automatically closed and labeled "intake paused". This is not a judgment of the quality of your changes.

@github-actions github-actions Bot closed this Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Progress report (5cb747c → 5739105)

📈 System libraries: 85.97% (+0.29%, +9 implemented functions)

✅ 9 implemented
Library Name
libSceAgcDriver sceAgcDriverGetShaderDebuggingStatus
libSceAgcDriver sceAgcDriverGetSubmitValidationConfig
libSceAgcDriver sceAgcDriverGetSubmitValidationMode
libSceAgcDriver sceAgcDriverRequestCaptureStart
libSceAgcDriver sceAgcDriverRequestCaptureStop
libSceAgcDriver sceAgcDriverSetSubmitValidationConfig
libSceAgcDriver sceAgcDriverSetSubmitValidationMode
libSceAgcDriver sceAgcDriverSetValidationErrorOutputFrequency
libSceAgcDriver sceAgcDriverTriggerCapture

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

Labels

intake paused Closed while PR intake is limited to authors with at least 10 PRs merged into main

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant