Skip to content

Fix nullable mesh-stage parameter parsing and Python CI - #1154

Closed
oliverames wants to merge 1 commit into
seedds:mainfrom
oliverames:fix-meshstage-parameter-lint
Closed

oliverames wants to merge 1 commit into
seedds:mainfrom
oliverames:fix-meshstage-parameter-lint

Conversation

@oliverames

Copy link
Copy Markdown
Contributor

to_stage() indexes a nullable regex match while extracting kernel parameter names, causing the Python ratchet failure on main. A synthetic unreadable parameter also reproduces an uncaught TypeError; dmsh_build.py expects ValueError to report mesh stage failed.

Check the match and raise that existing error type with the offending parameter. Add a focused rejection test and document the error path. Valid generated shader output is unchanged. This is a CI/parser fix found while preparing the physical-iPhone regression runner in #1153, not a claimed DKB or MKW performance fix.

Validation: all 24 mesh-stage tests pass, including compiling four representative task/mesh variants for macOS and iPhoneOS. The four generated MSL strings are byte-identical before/after. The full pinned Python ratchet passes (391 existing findings, zero new, zero stale); all 11 documentation tests and whitespace checks pass. The current chain tool still computes 475a55e74858, matching the header: dmsh_meshstage.py is not among its hashed files. No game shaders or installed phone build were changed, and no game-level behavior improvement is claimed.

@oliverames

Copy link
Copy Markdown
Contributor Author

Closing as superseded by the maintainer's e556f7a, which handles unnamed mesh-stage parameters with ValueError and includes a regression. Current main a70f071 additionally includes this helper in the shader cache and chain inputs. I verified 24 mesh-stage tests and six Xcode workflow tests on that implementation.

The completed Tool tests failure on this older PR was test_xcode_workflow.py's missing modules_in fixture member, also fixed in e556f7a. Dependent branches are being updated to retain the landed implementation and remove this prerequisite from their diffs. No phone or DKB performance claim is implied.

@oliverames oliverames closed this Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation nvn NVN on Metal and its tests (dm/gfx/nvn, dm/gfx/tests)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant