Skip to content

feat(libSceAgc): identify sceAgcCreateInterpolantMapping_10000 and sceAgcUpdateInterpolantMapping_10000 - #6005

Closed
ErenYeager1836 wants to merge 1 commit into
boykopovar:mainfrom
ErenYeager1836:feat/libSceAgc-interpolant-mapping-real-names
Closed

ErenYeager1836 wants to merge 1 commit into
boykopovar:mainfrom
ErenYeager1836:feat/libSceAgc-interpolant-mapping-real-names

Conversation

@ErenYeager1836

@ErenYeager1836 ErenYeager1836 commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

What

Identifies and exports the real SDK symbol names for two previously unknown Agc interpolant mapping exports:

  • dbOlWdppb4o -> sceAgcCreateInterpolantMapping_10000
  • vieBRwlh1Lw -> sceAgcUpdateInterpolantMapping_10000

Both symbols match the versioned convention of sceAgcCreateInterpolantMapping_0100 and sceAgcUpdateInterpolantMapping_0100 introduced in SDK 10.000, and their SHA-1 salt hashes mathematically resolve directly to the respective exported NIDs:

  • sha1("sceAgcCreateInterpolantMapping_10000" + salt) -> dbOlWdppb4o
  • sha1("sceAgcUpdateInterpolantMapping_10000" + salt) -> vieBRwlh1Lw

Changes:

  1. core/libs/prx/libSceAgc/Shader/src/InterpolantMapping.cpp:
    • Replaced temporary names sceAgcUnknownCreateInterpolantMapping and sceAgcUnknown_vieBRwlh1Lw with their official SDK exports sceAgcCreateInterpolantMapping_10000 and sceAgcUpdateInterpolantMapping_10000.
    • Removed APS5_EXPORT aliases since standard symbols resolve their NIDs automatically through the relinker.
  2. core/libs/prx/libSceAgc/tests/InterpolantMapping.cpp:
    • Updated existing test suite to assert against the resolved function names.
  3. docs/dev/debt/libSceAgc.md:
    • Updated technical debt documentation to track both functions by their resolved names and NIDs.
    • Verified with tools/nid_names.py that codebase unknown NID count decreased from 25 to 22.

Tested

  • python tools/check_conventions.py --base upstream/main passes cleanly with zero errors.
  • tools/nid_names.py derives matching NIDs (dbOlWdppb4o, vieBRwlh1Lw).
  • core/libs/prx/libSceAgc/tests/InterpolantMapping.cpp assertions updated to target resolved exports.
  • Zero comments added to C++ source files.

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 under Silent stubs in their library's technical debt file
  • 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
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Unblocks: Agc 10.000 shader interpolant mapping
  • GPUs tested: n/a
  • AI-assisted: yes

@github-actions

Copy link
Copy Markdown

Progress report (2b0d680 → 5245809)

➖ System libraries: 88.86% (+0.0%, +2 implemented, -2 removed functions)

✅ 2 implemented
Library Name
libSceAgc sceAgcCreateInterpolantMapping_10000
libSceAgc sceAgcUpdateInterpolantMapping_10000
🗑️ 2 removed
Library Name
libSceAgc sceAgcUnknownCreateInterpolantMapping
libSceAgc sceAgcUnknown_vieBRwlh1Lw

@github-actions

github-actions Bot commented Oct 14, 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
#5848 docs/dev/debt/libSceAgc.md L23, L29, L31 sceAgcCreateInterpolantMapping_10000
sceAgcUpdateInterpolantMapping_10000

@github-actions github-actions Bot added docs agc libSceAgc* labels Oct 14, 2026
@wachi35676

Copy link
Copy Markdown
Contributor

Heads-up: #5848 makes the same change — dbOlWdppb4o → sceAgcCreateInterpolantMapping_10000 and vieBRwlh1Lw → sceAgcUpdateInterpolantMapping_10000 in the same three files (Shader/src/InterpolantMapping.cpp, tests/InterpolantMapping.cpp, docs/dev/debt/libSceAgc.md), opened about five hours before this one. The pr-overlap bot has flagged both. Mentioning it so review time isn't spent on two copies; happy for the maintainers to take whichever they prefer.

@ErenYeager1836

ErenYeager1836 commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor Author

Heads-up: #5848 makes the same change — dbOlWdppb4o → sceAgcCreateInterpolantMapping_10000 and vieBRwlh1Lw → sceAgcUpdateInterpolantMapping_10000 in the same three files (Shader/src/InterpolantMapping.cpp, tests/InterpolantMapping.cpp, docs/dev/debt/libSceAgc.md), opened about five hours before this one. The pr-overlap bot has flagged both. Mentioning it so review time isn't spent on two copies; happy for the maintainers to take whichever they prefer.

Thanks for the heads-up! I didn't spot #5848 earlier. Since you opened yours first with the same resolution, I'll close this one to keep the PR queue clean and avoid duplicate review effort. 👍"

@ErenYeager1836
ErenYeager1836 deleted the feat/libSceAgc-interpolant-mapping-real-names branch October 15, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agc libSceAgc* docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants