2026-08-06 - HLSL Working Group Minutes
Discussion Topics
- This week in HLSL
- Requests for Review
Meeting Notes
This Week in HLSL
We saw 36 PRs merged, 14 new PRs opened, and have 65 PRs ongoing. This was a fairly light week for HLSL and DirectX, with most of the changes going in being SPIR-V related or offload test suite updates.
For a full list of merged PRs, see the appendix.
Requests for Review
There are a few PRs that folks have asked for eyes on.
- @tcorringham has three PRs in flight that need some attention:
- [HLSL][SPIRV] Add IntrConvergent to convergent intrinsics (llvm/llvm-project#211256)
- Amend
matrix_bool_*tests (llvm/offload-test-suite#1424) - [SPIRV] Legalize byte-buffer reinterpretation ptrcasts (llvm/llvm-project#212999)
- @farzonl has a draft PR and an RFC about changing the matrix layout
representation and would like feedback:
- [HLSL] Modify the Matrix orientation to be AST based instead of Attribute (llvm/llvm-project#214001)
- RFC: Represent HLSL Matrix Layout in the Clang AST
Appendix: Merged PRs
HLSL Frontend
- [HLSL] Consistently quote resource attribute args (llvm/llvm-project#214106)
DirectX Backend
- [DirectX] Prevent
dxil-resource-accessfrom inserting a resource access in-between phi nodes (llvm/llvm-project#211343) - [MC][DXContainer] Avoid reading moved-from ContentEntry (llvm/llvm-project#211741)
- [MC][DXContainer] Initialize SourceNames::Header scalar fields (llvm/llvm-project#211751)
- Add atomic shader flags for resources (llvm/llvm-project#212869)
SPIR-V Backend
- [SPIR-V] Fix validation errors for function pointers with CodeSectionINTEL storage class (llvm/llvm-project#192973)
- [SPIRV] Legalize i1 min/max before selection (llvm/llvm-project#204231)
- [SPIR-V] Parse parameterized Memory Access operands with a shared helper (llvm/llvm-project#209262)
- Implement support for NSDI DebugFunctionDefinition. (llvm/llvm-project#211853)
- [SPIRV] Emit FPFastMathMode for Call (llvm/llvm-project#211879)
- [SPIR-V] Preserve sign and payload when printing NaN as hex float (llvm/llvm-project#212438)
- [SPIRV] Legalize Cast Instructions for Matrix Types (llvm/llvm-project#212619)
- [SPIRV][HLSL] Fix Vulkan-invalid SPIR-V for Interlocked* on groupshared/UAV memory (llvm/llvm-project#212663)
- [SPIR-V] Fix OpGroupAsyncCopy null event substitution (llvm/llvm-project#212754)
- [SPIR-V] Expand atomicrmw nand through compare-exchange (llvm/llvm-project#213217)
- [SPIR-V] Legalize wide-vector atan2 by splitting first (llvm/llvm-project#213341)
- [SPIR-V] Preserve float types through wide float shuffles and atan2 legalization (llvm/llvm-project#213785)
- [SPIRV] Split wide shader PHIs before applying explicit supported types (llvm/llvm-project#213806)
- [SPIR-V] Fix truncation of nonzero constant bool argument in group builtins (llvm/llvm-project#214142)
- [SPIR-V] Build vendored SPIRV-Tools in Release mode (llvm/llvm-project#214159)
Offload Test Suite
- [SPIRV] Enable switch statement tests (llvm/offload-test-suite#1393)
- Add ZeroTolerance for ULP compares near 0 (llvm/offload-test-suite#1394)
- Update unimplemented xfails for interlockedor (llvm/offload-test-suite#1401)
- Set up frequent builder machine that builds dxc and clang on x64 (llvm/offload-test-suite#1406)
- Add
stepmatrix tests (llvm/offload-test-suite#1408) - [Vulkan][MoltenVK] Enable tests that are now passing (llvm/offload-test-suite#1409)
- [Vulkan][KosmicKrisp] Enable tests that are now passing (llvm/offload-test-suite#1410)
- [Vulkan] Enable Transpose of bool matrix (llvm/offload-test-suite#1411)
- Enable Mandelbrot everywhere (llvm/offload-test-suite#1412)
- Add InterlockedCompareStore tests (llvm/offload-test-suite#1416)
- [SPIRV][Vulkan] Enable the Atan2 tests (llvm/offload-test-suite#1417)
- Introduce global timeout for individual lit tests. (llvm/offload-test-suite#1419)