[HLSL] Correct LinAlg OuterProduct accumulator use#8662
Draft
JoeCitizen wants to merge 1 commit into
Draft
Conversation
Use the shared MatrixUse parameter for the OuterProduct result and set it to Accumulator, matching proposal 0035 and the public dx::linalg API. Add a host-side invariant to prevent the legacy A-use declaration from returning. Assisted-by: GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83725f5d-8e98-4c1d-91ee-ad47629e007b
This was referenced Jul 23, 2026
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
USEparameter instead of the legacy hard-codedAuse.MatrixUse::Accumulator, matching proposal 0035 and<dx/linalg.h>.This is a narrow baseline correction; it does not add new shapes, types, scopes, or capability handling.
Validation
clang-format17.0.1 andgit diff --checkpass.ExecHLSLTestsbuilds successfully.LinAlgMatrixC8M16N16U0S0toLinAlgMatrixC8M16N16U2S0; OuterProduct and descriptor accumulation consistently use the accumulator type.1.721.2-preview, and WARP1.65535.20-preview: 1 passed, 0 failed, 0 skipped. The exact value-4 readback oracle passed.ConvertLinearAlgebraMatrixcompute-command-list bug documented in [SM6.10][Exec][Bugfix] Add matrix layout conversion helpers, add post-dispatch callback, and re-enable OuterProduct test #8606: recording the conversion on a compute list poisonsClose()withE_FAIL. For local validation only, the main ShaderOp command list was temporarily changed toDIRECT, which the API specification permits. No queue workaround is included in this PR. Unchangedupstream/main@2fab3f175and this branch fail identically on the affected compute-list runtime; this branch passes on the documented DIRECT-list workaround.Refs #7841
Refs #8563
Refs #8561
Assisted-by: GitHub Copilot