The LinAlg spec doesn't disallow unitialized LinAlg Matrices to be used in Matrix operations. So the code snippet below:
MatrixTy mat;
Buffer.Store(0, mat.Get(0));
produces:
%3 = call half @dx.op.linAlgMatrixGetElement.f16.mC8M16N16U0S2(i32 -2147483630, ** %dx.types.LinAlgMatrixC8M16N16U0S2 undef**, i32 0) ; LinAlgMatrixGetElement(matrix,threadLocalIndex)
Proposed Solution:
Improve user experience by haivng DXIL Validator catch this and emit errors.
The LinAlg spec doesn't disallow unitialized LinAlg Matrices to be used in Matrix operations. So the code snippet below:
produces:
Proposed Solution:
Improve user experience by haivng DXIL Validator catch this and emit errors.