Skip to content

docs(debt): cite radeonsi for the front half's OC_LDS_EN in shader fusion - #7815

Merged
adriadam10 merged 1 commit into
boykopovar:mainfrom
parl0v:docs/fusion-oc-lds-source
Oct 19, 2026
Merged

adriadam10 merged 1 commit into
boykopovar:mainfrom
parl0v:docs/fusion-oc-lds-source

Conversation

@parl0v

@parl0v parl0v commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

What

The GS shader-half fusion entry in docs/dev/debt/libSceAgc.md says keeping SPI_SHADER_PGM_RSRC2_GS.OC_LDS_EN from either half (#6653) "is inferred from retaining both halves' requirements". There is a source for it: Mesa's radeonsi builds the same merged ES+GS program and sets the bit from the ES stage alone, in both si_shader_gs_legacy and gfx10_shader_ngg:

S_00B22C_OC_LDS_EN(es_stage == MESA_SHADER_TESS_EVAL) |

So the bit is the front (ES) half's: it is set when that half is a tessellation evaluation shader. The entry now cites those two lines (permalinks at Mesa 45ea3ed8) instead of calling the rule inferred, and keeps the note that console fusion output has not been measured.

Tested

  • I logged the halves Cocoon (PPSA08766) fuses on Windows / RTX 3060 (main 46f2762 with a temporary print in MergeRsrc2, not part of this PR): 6 distinct pairs, every front half the ES-stage half and every back half the GS half. Four front halves set OC_LDS_EN (RSRC2 0x00070004), two do not (0x00030018), and no back half sets it. The title also creates tessellation-plus-geometry pipelines (VGT_SHADER_STAGES_EN=0x2135, whose ES stage is the domain shader), the case where radeonsi sets the bit.
  • tools/check_conventions.py --base origin/main passes.

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
  • Fixes: none
  • Unblocks: none
  • GPUs tested: n/a (documentation only)
  • AI-assisted: yes

@github-actions github-actions Bot added the docs label Oct 19, 2026
@adriadam10 adriadam10 self-assigned this Oct 19, 2026
@adriadam10
adriadam10 merged commit 8444508 into boykopovar:main Oct 19, 2026
10 checks passed
@adriadam10

Copy link
Copy Markdown
Collaborator

Checked the two cited radeonsi lines at Mesa 45ea3ed8 (L631, L1144): both set OC_LDS_EN from the ES stage being tessellation evaluation, as described; docs-only, Conventions green; merged.

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