Skip to content

[DirectX] DXIL container shader flags are incorrect when using native low precision #138997

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
bogner opened this issue May 8, 2025 · 1 comment · May be fixed by #139623
Open

[DirectX] DXIL container shader flags are incorrect when using native low precision #138997

bogner opened this issue May 8, 2025 · 1 comment · May be fixed by #139623
Assignees

Comments

@bogner
Copy link
Contributor

bogner commented May 8, 2025

If we build any shader with clang-dxc -enable-16bit-types, we fail the validator.

Given x.hlsl:

RWBuffer<half> Out : register(u0);
[numthreads(1,1,1)] void main() {
  Out[0] = 0;
}

We see:

$ clang-dxc -enable-16bit-types -T cs_6_4 -Fo x.o x.hlsl
error: Container part 'Feature Info' does not match expected for module.
Validation failed.

clang-dxc: error: dxv command failed with exit code 1 (use -v to see invocation)

This looks like a problem with NativeLowPrecision vs UseNativeLowPrecision in DXContainerConstants.def

@farzonl farzonl moved this to Planning in HLSL Support May 8, 2025
@farzonl
Copy link
Member

farzonl commented May 8, 2025

Before this change (e66b731) I was seeing error: Container part 'Feature Info' does not match expected for module. 2499 times. After this change I now only see 221 cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Active
3 participants