Resolve merge conflicts for microsoft/DirectXShaderCompiler PR #8291#12
Merged
damyanp merged 6 commits intobyebyecoopvecfrom Mar 26, 2026
Merged
Resolve merge conflicts for microsoft/DirectXShaderCompiler PR #8291#12damyanp merged 6 commits intobyebyecoopvecfrom
damyanp merged 6 commits intobyebyecoopvecfrom
Conversation
Updates SPIRV-Tools and fixes bad test. spirv-val got updated and now requries an OpSpecConstantComposite if one operand if an OpSpecConstant*. Should fix SPIRV-Tools smoke test.
…ateToDescriptor (microsoft#8286) Add `align` argument to the LinAlg Matrix built-ins and ops for `LoadFromDescriptor`, `*StoreToDescriptor` and `*AccumulateToDescriptor`. Fixes microsoft#8284
I8 and U8 were in an inconsistent order compared to all the other previously defined types. The values are swapped now as they were only ever used for coopvec which never left preview and is removed from future releases. The upcoming LinAlg feature will depend on these values so they must be updated now.
Add an HLK execution test for the SM 6.10 GetGroupWaveIndex() and GetGroupWaveCount() intrinsics per the spec at https://microsoft.github.io/hlsl-specs/proposals/0048-group-wave-index/. The test dispatches a compute shader that writes per-thread wave index, wave count, lane index, lane count, and first-lane group index to a UAV buffer, then verifies: - GetGroupWaveCount() is uniform across all threads in the group - GetGroupWaveCount() >= ceil(threadGroupSize / WaveGetLaneCount()) - GetGroupWaveIndex() is in range [0, waveCount) - GetGroupWaveIndex() is uniform within each wave - Each wave has a distinct index covering [0, waveCount) Test configurations cover: - Multiple thread group sizes: 8, 64, 256, 1024 threads - 1D, 2D, and 3D thread group dimensions - Non-power-of-2 thread group size - WaveSize attribute interaction for each supported wave size - Single-wave edge case (numthreads <= waveSize)
…e/Splat tests (microsoft#8285) Introduce `LinAlgTests.cpp` with a new pattern for execution tests where ShaderOp objects are built programmatically in C++ no ShaderOpArith.xml entries required. Shader source, resources, and root signatures are all defined in the `.cpp` file. Tests will currently be skipped since no driver reports SM6.10 support Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Damyan Pepper <damyanp@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Alex Sepkowski <alexsepkowski@gmail.com>
…icrosoft#8291 Resolve two modify/delete conflicts: - tools/clang/lib/Headers/hlsl/dx/coopvec.h: kept deletion (PR removes CoopVec) - tools/clang/test/CodeGenDXIL/hlsl/coopvec/mat-vec-mul.hlsl: kept deletion (PR removes CoopVec) microsoft/main changed the DATA_TYPE_UINT8/DATA_TYPE_SINT8 enum ordering in coopvec.h and updated corresponding test expectations. Since PR microsoft#8291 removes these files entirely as part of replacing deprecated CoopVec operations with LinAlg, the files should remain deleted.
Copilot created this pull request from a session on behalf of
damyanp
March 26, 2026 01:39
View session
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Resolves the merge conflicts for microsoft/DirectXShaderCompiler#8291, which removes deprecated CoopVec operations (MatVecMul, MatVecMulAdd, OuterProductAccumulate, VectorAccumulate) in favor of new LinAlg matrix operations.
Conflict Resolution
When merging
microsoft/main(which has 5 commits ahead of the common ancestor) into thebyebyecoopvecbranch, two modify/delete conflicts were encountered:tools/clang/lib/Headers/hlsl/dx/coopvec.h—microsoft/main(commit44efa2947) swapped theDATA_TYPE_UINT8andDATA_TYPE_SINT8enum values (19↔20). Sincebyebyecoopvecdeletes this file entirely as part of eliminating the deprecated CoopVec API, the deletion was kept.tools/clang/test/CodeGenDXIL/hlsl/coopvec/mat-vec-mul.hlsl—microsoft/mainupdated test expectations to match the reordered enum values. Sincebyebyecoopvecdeletes this test file entirely, the deletion was kept.Both resolutions are consistent with the intent of PR microsoft#8291: removing the deprecated CoopVec operations entirely.
Note on Base Branch
main. It should be retargeted tobyebyecoopvecto show only the 5 new commits frommicrosoft/mainthat need to be incorporated intobyebyecoopvecto resolve the conflicts in microsoft/DirectXShaderCompiler PR microsoft#8291.Once merged into
byebyecoopvec, thebyebyecoopvecbranch will be conflict-free withmicrosoft/mainand PR microsoft#8291 can proceed.⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.