Skip to content

Cap highest shader model at 6.9 for the 1.9.2607 release#8618

Merged
alsepkow merged 3 commits into
microsoft:release-1.9.2607from
alsepkow:stage-sm69-release-1.9.2607
Jul 16, 2026
Merged

Cap highest shader model at 6.9 for the 1.9.2607 release#8618
alsepkow merged 3 commits into
microsoft:release-1.9.2607from
alsepkow:stage-sm69-release-1.9.2607

Conversation

@alsepkow

@alsepkow alsepkow commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Caps the highest recognized shader model to 6.9 by lowering from 6.10.
This is a 6.9 release.

Lower the highest recognized shader model from 6.10 to 6.9 so this
release branch only produces up to Shader Model 6.9. Sets
highest_minor = 9 in hctdb_instrhelp.py and regenerates the dependent
sources (DxilConstants.h, DxilShaderModel.h/.cpp, HLSLOptions.td),
dropping all 6.10 target profiles, the SM 6.10 table entries, and
IsSM610Plus. kDxilMinor and the validator version follow at 1.9.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f3140c6f-a4ea-4f73-aac8-df248801fd8f

@damyanp damyanp left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

nit: dunno if this is the language we've used in the past, but "revert" implies this might be a git revert when it isn't.

@alsepkow alsepkow changed the title Revert highest shader model to 6.9 for the 1.9.2607 release Cap highest shader model at 6.9 for the 1.9.2607 release Jul 14, 2026
@alsepkow

alsepkow commented Jul 14, 2026 via email

Copy link
Copy Markdown
Contributor Author

@bob80905

Copy link
Copy Markdown
Collaborator

I figured a test would fail when making this change.
At the very least, for "External DXIL Validator tests", I suspect there are failures because the tests require SM6.10 support.
For example: "D:\DXC\tools\clang\test\LitDXILValidation\LinAlgMatrix\linalgmatrix-type-allowed-in-dxil.ll" is a test that is failing due to the now missing 6.10 support.
I think the proper fix is to add: REQUIRES: dxil-1-10 to the top of the file.
One can also run the external validator tests locally with hcttest extdxil, and get all the failed tests, and add that line to the top of the file so that they're excluded.

@bob80905

Copy link
Copy Markdown
Collaborator

Also, question, is this building on the previous 6.10 preview release, or is this release intended to be completely separate and not a derivative of the previous preview release?
I think we would want to still maintain 6.10 as a recognizable shader model target, even if we are making changes to the already released 6.9

Capping the highest recognized shader model to 6.9 (PR microsoft#8618) removes the
dxil-1-10 lit feature, so tests that target SM 6.10 or require validator
version 1.10 now fail. Add REQUIRES: dxil-1-10 guards so they skip cleanly
on the capped release, following the pattern from PR microsoft#8069.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 086148ba-a82b-41c4-8fa0-5eb63e5797e2

@V-FEXrt V-FEXrt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it's for now but I'd like to have some way that we don't need to do this for releases on the SM barrier. I thought that's what the "hightest release minor" value was supposed to do but looks like that's not quite sufficient given this PR:)

alsepkow added a commit that referenced this pull request Jul 16, 2026
The PSV and DebugBreak unit tests hard-code the newest PSV runtime-info
version, which is a latent fragility unrelated to any single release.

- `ValidationTest` PSV tests hard-coded `sizeof(PSVRuntimeInfo4)` (and
the literal string `56`). That silently assumes the validator always
emits the newest PSV struct. It is wrong for any validator `< 1.10`
(which emits `PSVRuntimeInfo3`), including downlevel/external-validator
runs and any future shader-model cap. The expected size is now derived
from the validator version via a `GetExpectedPSVRuntimeInfoSize()`
helper.
- `PixTest::DebugBreakInstrumentation_{Basic,Multiple}` hard-code
`cs_6_10`; they now skip when Dxil/Validator `< 1.10`.

This is behavior-preserving on `main` (validator is 1.10 there, so PSV
v4 is still expected and the tests still run), while removing the
fragility. The latent bug was introduced in #7871, which added
`PSVRuntimeInfo4` and the `< 1.10 -> v3` gating together; main has
always run validator 1.10 since, so the `v3` path was never exercised.

Intended to be cherry-picked to `release-1.9.2607` (where #8618 caps the
validator to 1.9), unblocking the SM 6.9 cap.

Assisted by co-pilot

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@alsepkow
alsepkow enabled auto-merge (squash) July 16, 2026 18:57
@alsepkow alsepkow added ci Continuous integration and removed ci Continuous integration labels Jul 16, 2026
@alsepkow
alsepkow merged commit 6d807af into microsoft:release-1.9.2607 Jul 16, 2026
15 of 20 checks passed
@github-project-automation github-project-automation Bot moved this from New to Done in HLSL Roadmap Jul 16, 2026
@alsepkow alsepkow added ci Continuous integration and removed ci Continuous integration labels Jul 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants