[llvm] [DX] Support pipeline state masks (PR #66425)
Justin Bogner via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 14 15:26:56 PDT 2023
================
@@ -51,6 +51,18 @@ struct PSVRuntimeInfo {
SmallVector<PSVSignatureElement> OutputElements;
SmallVector<PSVSignatureElement> PatchOrPrimElements;
+ // The interface here is bad, and we'll want to change this in the future. We
+ // probably will want to build out these mask vectors as vectors of bools and
+ // have this utility object convert them to the bit masks. I don't want to
+ // over-engineer this API now since we don't know what the data coming in to
+ // feed it will look like, so I kept it extremely simple for the immediate use
+ // case.
+ SmallVector<uint32_t> OutputVectorMasks[4];
----------------
bogner wrote:
This leaves a lot of "4"s laying around the patch. Might be cleaner to use `std::array<SmallVector<uint32_t>, 4>` for `OutputVectorMasks` and `InputOutputMap`, and then just use `.size()` in the various places we iterate through these and their derivative types?
https://github.com/llvm/llvm-project/pull/66425
More information about the llvm-commits
mailing list