Repository navigation
A uniform slot the game left unbound gets a plain line naming its shader instead of a [RED] - #2398
Open
computerguy526 wants to merge 1 commit into
Open
computerguy526 wants to merge 1 commit into
computerguy526 wants to merge 1 commit into
Conversation
…der instead of a [RED] cbuf_slot binds the all-zero bank both when the game left a slot at address 0 and when the host lost a binding (an address in no memory pool, or a slot past the 16 the replay keeps), and printed "[RED] stage N cbK has no uniform buffer bound" for either. Address 0 is the game's own state: PRAGMATA's compute shader 9d5de89b049f5915_b declares cb1, which the game never binds, and reads it only for a workgroup count of 2,048 or more, so the [RED] showed on every boot with nothing wrong. That case is now a plain line for each of the first 8 shaders; a lost binding keeps the [RED] line as it was. The binding does not change. nvn_cbmiss.h holds the decision; t_cbmiss checks it (5 checks). Co-authored-by: uncraftablexd <352372032+uncraftablexd@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related to the PRAGMATA bring-up, ccd834e (@seedds).
cbuf_slotbinds the all-zero bank in two cases: when the game left a slot at address 0, and when the host lost a binding (an address in no memory pool, or a slot past the 16 the replay keeps). It printed[RED] stage N cbK has no uniform buffer boundfor both. Address 0 is the game's own state. PRAGMATA's compute shader9d5de89b049f5915_bdeclares cb1, which the game never binds, and reads it only for a workgroup count of 2,048 or more, so the [RED] showed on every boot with nothing wrong (it is in the port's Open list).What changes
stage N cbK of shader <key> is not bound (address 0): it reads the zero bank, the game's own state, once per shader for the first 8 shaders.[RED]line, with its shader, address and frame, unchanged.Tests
t_cbmiss(new, CPU only):nvn_cbmiss.hsorts unbound / lost / slot past 16 / bound (5 checks).Regression
regress.py impactpicks The Legend of Zelda: Breath of the Wild, Pokémon Scarlet and The Legend of Zelda: Tears of the Kingdom (the profiles with a usage manifest; they reachnvn_mtl.mas a whole). They were not run.Reach: only the log line of a slot that already read the zero bank changes, so there is no rendering change. Several game READMEs quote the old line (Batman: Arkham Knight, Kirby Star Allies, Paper Mario: The Thousand-Year Door, Paper Mario: The Origami King, Super Mario Party Jamboree, Fire Emblem Fortune's Weave). Where their slot is at address 0 (Batman's is), they will show the plain line instead; I left their notes as they are.
Working with UncraftableXD