Remove experimental Cooperative Vector feature#8291
Open
damyanp wants to merge 19 commits intomicrosoft:mainfrom
Open
Remove experimental Cooperative Vector feature#8291damyanp wants to merge 19 commits intomicrosoft:mainfrom
damyanp wants to merge 19 commits intomicrosoft:mainfrom
Conversation
…ative vector operations - Deleted invalid and valid test cases for outer product accumulation. - Removed tests for matrix-vector multiplication and accumulation errors. - Cleaned up configuration files related to cooperative vector tests. - Updated the HCT database to remove references to obsolete operations.
…DXIL documentation and code
damyanp
commented
Mar 23, 2026
…lass This commit eliminates several validation rules related to Linalg operations that are no longer necessary. The removed rules include checks for constant flags, valid interpretation values, matrix layout constraints, and other related validations. This cleanup helps streamline the validation process and maintain code clarity.
alsepkow
reviewed
Mar 24, 2026
hekota
reviewed
Mar 24, 2026
Co-authored-by: Helena Kotas <hekotas@microsoft.com>
…derCompiler into byebyecoopvec
Copilot AI
added a commit
to damyanp/DirectXShaderCompiler
that referenced
this pull request
Mar 26, 2026
Apply changes from microsoft#8291 which removes deprecated CoopVec (MatVecMul, MatVecMulAdd, OuterProductAccumulate, VectorAccumulate) operations in favor of new LinAlg matrix operations. Fix two build issues introduced by the PR: 1. Remove CheckLinalgInterpretation from DxilValidation.cpp which was left as an unused static function after PR microsoft#8291 removed all its callers (ValidateImmOperandsForMatVecOps and ValidateImmOperandsForOuterProdAcc). On Linux/macOS with -DLLVM_ENABLE_WERROR=On, this causes a warning-as-error for unused static functions. 2. Fix LinAlgTests.cpp to use a locally-defined MatrixLayout enum instead of hlsl::DXIL::LinalgMatrixLayout which was removed from DxilConstants.h by PR microsoft#8291.
2 tasks
Co-authored-by: damyanp <8118402+damyanp@users.noreply.github.com> Agent-Logs-Url: https://github.com/damyanp/DirectXShaderCompiler/sessions/642f795d-d640-402b-87aa-006061deda85
Fix Linux/macOS build failures caused by removal of CoopVec ops (PR microsoft#8291)
…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.
Resolve merge conflicts for microsoft/DirectXShaderCompiler PR microsoft#8291
V-FEXrt
reviewed
Mar 26, 2026
Collaborator
V-FEXrt
left a comment
There was a problem hiding this comment.
Related to the one comment I left, I'd expect at least a small change to gen_intrin_main.txt as part of this change
- Updated intrinsic operation codes in `hlsl_intrinsic_opcodes.json` to reflect the correct values, reducing the total number of intrinsics from 426 to 422. - Adjusted various HLSL test files to match the new intrinsic operation codes, including `debugbreak.hlsl`, `isdebuggerpresent.hlsl`, and `group-wave-index.hlsl`. - Modified LLVM IR files in the DXC test suite to ensure consistency with the updated intrinsic values, specifically in `clusterid_dxilgen.ll`, `debugbreak.ll`, `group-wave-index.ll`, `isdebuggerpresent.ll`, and `triangle_positions_dxilgen.ll`. - Corrected the expected output in AST checks for matrix built-in functions in `matrix-builtins-ast.hlsl`, `matrixaccumulatetomemory/ast.hlsl`, `matrixloadfrommemory/ast.hlsl`, and `matrixstoretomemory/ast.hlsl`.
V-FEXrt
approved these changes
Mar 26, 2026
Collaborator
V-FEXrt
left a comment
There was a problem hiding this comment.
Great thanks for the cleanup!
Does the PR description need an Assisted-By: tag?
Member
Author
It will when #8300 merges :) |
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.
The experimental Cooperative Vector feature has been superseded by LinAlg. This change removes the code supporting the old feature.
Fixes #8147
Assisted-By: copilot