Skip to content

Resolve merge conflicts for microsoft/DirectXShaderCompiler PR #8291#12

Merged
damyanp merged 6 commits intobyebyecoopvecfrom
copilot/resolve-merge-conflicts
Mar 26, 2026
Merged

Resolve merge conflicts for microsoft/DirectXShaderCompiler PR #8291#12
damyanp merged 6 commits intobyebyecoopvecfrom
copilot/resolve-merge-conflicts

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 26, 2026

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 the byebyecoopvec branch, two modify/delete conflicts were encountered:

  1. tools/clang/lib/Headers/hlsl/dx/coopvec.hmicrosoft/main (commit 44efa2947) swapped the DATA_TYPE_UINT8 and DATA_TYPE_SINT8 enum values (19↔20). Since byebyecoopvec deletes this file entirely as part of eliminating the deprecated CoopVec API, the deletion was kept.

  2. tools/clang/test/CodeGenDXIL/hlsl/coopvec/mat-vec-mul.hlslmicrosoft/main updated test expectations to match the reordered enum values. Since byebyecoopvec deletes 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

⚠️ This PR was automatically created targeting main. It should be retargeted to byebyecoopvec to show only the 5 new commits from microsoft/main that need to be incorporated into byebyecoopvec to resolve the conflicts in microsoft/DirectXShaderCompiler PR microsoft#8291.

Once merged into byebyecoopvec, the byebyecoopvec branch will be conflict-free with microsoft/main and PR microsoft#8291 can proceed.


⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.

Keenuts and others added 6 commits March 24, 2026 16:32
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 AI requested a review from damyanp March 26, 2026 01:39
@damyanp damyanp changed the base branch from main to byebyecoopvec March 26, 2026 01:41
@damyanp damyanp marked this pull request as ready for review March 26, 2026 01:42
@damyanp damyanp merged commit f082a08 into byebyecoopvec Mar 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants