Skip to content

Fix dxc version printing and fix external validator testing#8075

Merged
tex3d merged 17 commits into
microsoft:mainfrom
tex3d:dxc-version-print
Jan 22, 2026
Merged

Fix dxc version printing and fix external validator testing#8075
tex3d merged 17 commits into
microsoft:mainfrom
tex3d:dxc-version-print

Conversation

@tex3d
Copy link
Copy Markdown
Contributor

@tex3d tex3d commented Jan 17, 2026

Version print didn't reveal details from available version interfaces, nor did it print file version for DXIL.dll when available. We also weren't testing the external validator we build: (lib)dxil.(dll|so|dylib).

Changes:

  • Clean up code a bit
  • No longer skip QI for IDxcVersionInfo2 based on build, since that's for implementer, not user.
  • Print CustomVersionString from IDxcVersionInfo3 if available.
  • Remove ifdefs for WIN32 around file/product version calls, because that's handled in the function.
  • Only print product version string if available for dxil.dll, since that's what it does for dxcompiler.dll.
  • Removes old dev build detection (separate commit in PR so it's easy to reverse if desired)
  • Fixes unconditional print of '(dev' as if it's an old dev build on non-Win32 targets
  • Implement IDxcVersionInfo(2,3) in the IDxcCompiler wrapper interface, so it doesn't look like version 1.0
  • Only print version information for external validator when selected
  • Otherwise, don't print info for a validator we found that won't be used
  • Fix dxc version parsing in lit.cfg
  • Add built external validator testing check-extdxil
  • Select the only clang/test subdirs that could even test the external validator
  • Skip LitDXILValidation tests when testing compiler output using released validators

@tex3d
Copy link
Copy Markdown
Contributor Author

tex3d commented Jan 20, 2026

Note: there are some follow-up TBDs:

  • Add dedicated tests to make sure it prints what's expected when selecting validator.
  • Add new option/flag to separate setting external validator path from down-level released validator testing. This way, we can test the external validator we built (across all platforms), which is currently untested.

Comment thread tools/clang/test/LitDXILValidation/lit.local.cfg Outdated
Comment thread tools/clang/tools/dxclib/dxc.cpp
Comment thread tools/clang/tools/dxclib/dxc.cpp
Comment thread tools/clang/tools/dxclib/dxc.cpp
Comment thread tools/clang/tools/dxclib/dxc.cpp Outdated
Comment thread tools/clang/test/DXC/version_interface.test Outdated
Comment thread tools/clang/tools/dxclib/dxc.cpp
Copy link
Copy Markdown
Contributor

@alsepkow alsepkow left a comment

Choose a reason for hiding this comment

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

lgtm

tex3d added 8 commits January 20, 2026 19:29
- No longer skip QI for IDxcVersionInfo2 based on build, since that's for implementer, not user.
- Print CustomVersionString from IDxcVersionInfo3 if available.
- Remove ifdefs for _WIN32 around file/product version calls, because that's handled in the function.
- Only print product version string if available for dxil.dll, since that's what it does for dxcompiler.dll.
I don't think this is necessary anymore.
No point printing some dxil module version if not used.

Print it when you set the env var, in which case, the full DXIL path would be printed, so it needs to be less strict about what's immediately before the dxil.dll/libdxil.so name.
@tex3d tex3d force-pushed the dxc-version-print branch from 10ca117 to 2f159df Compare January 21, 2026 18:20
Comment thread tools/clang/test/DXC/version_interface.test Outdated
Comment thread tools/clang/test/lit.cfg
Comment thread tools/clang/test/CMakeLists.txt Outdated
Copy link
Copy Markdown
Collaborator

@bob80905 bob80905 left a comment

Choose a reason for hiding this comment

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

LGTM

@tex3d tex3d changed the title Fix dxc version printing to fix external validator testing Fix dxc version printing and fix external validator testing Jan 22, 2026
@tex3d tex3d merged commit e7346ac into microsoft:main Jan 22, 2026
15 checks passed
@github-project-automation github-project-automation Bot moved this from New to Done in HLSL Roadmap Jan 22, 2026
@tex3d tex3d deleted the dxc-version-print branch January 22, 2026 19:38
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.

3 participants