Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/DXIL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3076,7 +3076,7 @@ ID Name Description
2147483656 RayQuery_CandidateTriangleObjectPosition returns candidate triangle vertices in object space as <9 x float>
2147483657 RayQuery_CommittedTriangleObjectPosition returns committed triangle vertices in object space as <9 x float>
2147483658 HitObject_TriangleObjectPosition returns triangle vertices in object space as <9 x float>
2147483659 CreateMatrix creates a handle to a Matrix
2147483659 LinAlgMatrixReserved0 reserved
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The interesting changes are in hctdb.py/gen_intrin_main.txt everything else is generated

2147483660 FillMatrix fills a matrix with a scalar value
2147483661 CopyConvertMatrix Converts and copies the element and use type of the source matrix to the destination matrix with optional transpose
2147483662 MatrixLoadFromDescriptor fills a matrix with data from a [RW]ByteAddressBuffer
Expand All @@ -3094,10 +3094,10 @@ ID Name Description
2147483674 MatrixVecMulAdd Multiplies a MxK dimension matrix and a K sized input vector then adds a M sized bias vector
2147483675 MatrixAccumulateToDescriptor accumulates a matrix to a RWByteAddressBuffer
2147483676 MatrixAccumulateToMemory accumulates a matrix to groupshared memory
2147483677 MatrixOuterProduct Outer products an M sized vector and a K sized vector producing an MxK matrix
2147483678 LinAlgMatrixReserved0 reserved
2147483679 LinAlgMatrixReserved1 reserved
2147483680 LinAlgMatrixReserved2 reserved
2147483677 MatrixOuterProduct Outer products an M sized vector and a N sized vector producing an MxN matrix
2147483678 LinAlgMatrixReserved1 reserved
2147483679 LinAlgMatrixReserved2 reserved
2147483680 LinAlgMatrixReserved3 reserved
========== ======================================== ===================================================================================================================


Expand Down
31 changes: 15 additions & 16 deletions include/dxc/DXIL/DxilConstants.h
Original file line number Diff line number Diff line change
Expand Up @@ -512,9 +512,10 @@ static const OpCodeTableID TableID = OpCodeTableID::ExperimentalOps;
// Enumeration for ExperimentalOps DXIL operations
enum class OpCode : unsigned {
//
LinAlgMatrixReserved0 = 30, // reserved
LinAlgMatrixReserved1 = 31, // reserved
LinAlgMatrixReserved2 = 32, // reserved
LinAlgMatrixReserved0 = 11, // reserved
LinAlgMatrixReserved1 = 30, // reserved
LinAlgMatrixReserved2 = 31, // reserved
LinAlgMatrixReserved3 = 32, // reserved

// Group Wave Ops
GetGroupWaveCount = 2, // returns the number of waves in the thread group
Expand All @@ -532,7 +533,6 @@ enum class OpCode : unsigned {
CopyConvertMatrix =
13, // Converts and copies the element and use type of the source matrix
// to the destination matrix with optional transpose
CreateMatrix = 11, // creates a handle to a Matrix
FillMatrix = 12, // fills a matrix with a scalar value
MatrixAccumulate = 24, // accumulate A or B matrix into Accumulator matrix
// following LHS += RHS
Expand All @@ -552,8 +552,8 @@ enum class OpCode : unsigned {
15, // fills a matrix with data from a groupshared array
MatrixMulOp =
23, // applies a multiplication op to matrix C using A and B as parameters
MatrixOuterProduct = 29, // Outer products an M sized vector and a K sized
// vector producing an MxK matrix
MatrixOuterProduct = 29, // Outer products an M sized vector and a N sized
// vector producing an MxN matrix
MatrixQueryAccumulatorLayout = 22, // returns comptime 0 when accumulator
// matrix are A layout, 1 when B layout
MatrixSetElement = 19, // sets the element of the matrix corresponding to the
Expand Down Expand Up @@ -1242,8 +1242,8 @@ enum class OpCode : unsigned {
EXP_OPCODE(ExperimentalOps,
HitObject_TriangleObjectPosition), // returns triangle vertices in
// object space as <9 x float>
// CreateMatrix = 0x8000000B, 2147483659U, -2147483637
EXP_OPCODE(ExperimentalOps, CreateMatrix), // creates a handle to a Matrix
// LinAlgMatrixReserved0 = 0x8000000B, 2147483659U, -2147483637
EXP_OPCODE(ExperimentalOps, LinAlgMatrixReserved0), // reserved
// FillMatrix = 0x8000000C, 2147483660U, -2147483636
EXP_OPCODE(ExperimentalOps, FillMatrix), // fills a matrix with a scalar value
// CopyConvertMatrix = 0x8000000D, 2147483661U, -2147483635
Expand Down Expand Up @@ -1316,14 +1316,14 @@ enum class OpCode : unsigned {
MatrixAccumulateToMemory), // accumulates a matrix to groupshared memory
// MatrixOuterProduct = 0x8000001D, 2147483677U, -2147483619
EXP_OPCODE(ExperimentalOps,
MatrixOuterProduct), // Outer products an M sized vector and a K
// sized vector producing an MxK matrix
// LinAlgMatrixReserved0 = 0x8000001E, 2147483678U, -2147483618
EXP_OPCODE(ExperimentalOps, LinAlgMatrixReserved0), // reserved
// LinAlgMatrixReserved1 = 0x8000001F, 2147483679U, -2147483617
MatrixOuterProduct), // Outer products an M sized vector and a N
// sized vector producing an MxN matrix
// LinAlgMatrixReserved1 = 0x8000001E, 2147483678U, -2147483618
EXP_OPCODE(ExperimentalOps, LinAlgMatrixReserved1), // reserved
// LinAlgMatrixReserved2 = 0x80000020, 2147483680U, -2147483616
// LinAlgMatrixReserved2 = 0x8000001F, 2147483679U, -2147483617
EXP_OPCODE(ExperimentalOps, LinAlgMatrixReserved2), // reserved
// LinAlgMatrixReserved3 = 0x80000020, 2147483680U, -2147483616
EXP_OPCODE(ExperimentalOps, LinAlgMatrixReserved3), // reserved
};
// OPCODE-ENUM:END
#undef EXP_OPCODE
Expand Down Expand Up @@ -1480,7 +1480,6 @@ enum class OpCodeClass : unsigned {

// Linear Algebra Operations
CopyConvertMatrix,
CreateMatrix,
FillMatrix,
MatVecMul,
MatVecMulAdd,
Expand Down Expand Up @@ -1688,7 +1687,7 @@ enum class OpCodeClass : unsigned {
NodeOutputIsValid,
OutputComplete,

NumOpClasses = 223, // exclusive last value of enumeration
NumOpClasses = 222, // exclusive last value of enumeration
};
// OPCODECLASS-ENUM:END

Expand Down
Loading