[workstream] Matrix Support
Opened this issue · 0 comments
damyanp commented
Relies on the LLVM Matrix extension: https://clang.llvm.org/docs/MatrixTypes.html.
As with all the other work documented here, SPIR-V support will be added throughout.
Render Mesh (#15)
- Matrix declaration
- Matrix swizzle accessors
- Constrain matrix sizes using concepts
- Elementwise matrix operations
- Includes various
__builtin_elementwise*
functions
- Includes various
- Matrix/Matrix multiplication is supported using the LLVM matrix extensions
- Requires changing existing behavior of
*
operator for HLSL
- Requires changing existing behavior of
- Matrix row/column-major layouts
- Allow type qualifiers, pragmas, conversions
- Matrix Load/Store
Pixel and Vertex Shaders (#16)
- Matrix Initialization
Mesh Shaders (#17)
- Groupshared matrices
Ray Tracing (#18)
- Support ObjectToWorld and WorldToObject matrices
V1 Release (#19)
- Boolean matrices
- Optimizations such as constant propagation are being applied to matrices.
- llvm/llvm-project#88060