1- // RUN: %dxc -T lib_6_9 -enable-16bit-types %s -verify
2-
3- enum CompType {
4- Invalid = 0 ,
5- I1 = 1 ,
6- I16 = 2 ,
7- U16 = 3 ,
8- I32 = 4 ,
9- U32 = 5 ,
10- I64 = 6 ,
11- U64 = 7 ,
12- F16 = 8 ,
13- F32 = 9 ,
14- F64 = 10 ,
15- SNormF16 = 11 ,
16- UNormF16 = 12 ,
17- SNormF32 = 13 ,
18- UNormF32 = 14 ,
19- SNormF64 = 15 ,
20- UNormF64 = 16 ,
21- PackedS8x32 = 17 ,
22- PackedU8x32 = 18 ,
23-
24- // BEGIN NEW FOR SM 6.9
25- U8 = 19 ,
26- I8 = 20 ,
27- F8_E4M3 = 21 ,
28- F8_E5M2 = 22 ,
29- };
1+ // RUN: %dxc -I %hlsl_headers -T lib_6_9 -enable-16bit-types %s -verify
2+
3+ #include <dx/linalg.h>
304
315enum MatLayout {
326 RowMajor = 0 ,
@@ -35,6 +9,8 @@ enum MatLayout {
359 OuterProductOptimal = 3 ,
3610};
3711
12+ using namespace dx::linalg;
13+
3814ByteAddressBuffer input_vector_buffer;
3915ByteAddressBuffer matrix_buffer;
4016ByteAddressBuffer bias_buffer;
@@ -48,12 +24,12 @@ void test_invalid_bias_interpretation() {
4824 vector <float , 4 > input_vector =
4925 input_vector_buffer.Load<vector <float , 4 > >(0 );
5026 const uint is_input_unsigned = 0 ;
51- const uint input_interpretation = CompType::F32; // F32
27+ const uint input_interpretation = DataType::DATA_TYPE_FLOAT32;
5228 const uint matrix_offset = 0 ;
53- const uint matrix_interpretation = CompType::F32; // F32
29+ const uint matrix_interpretation = DataType::DATA_TYPE_FLOAT32;
5430 const uint matrix_dimM = 4 ;
5531 const uint matrix_dimK = 4 ;
56- const uint matrix_layout = MatLayout::RowMajor; // RowMajor
32+ const uint matrix_layout = MatrixLayout::MATRIX_LAYOUT_ROW_MAJOR;
5733 const uint matrix_is_transposed = 0 ;
5834 const uint matrix_stride = 0 ;
5935 const uint bias_offset = 0 ;
@@ -76,17 +52,17 @@ void test_invalid_bias_interpretation_value() {
7652 vector <float , 4 > input_vector =
7753 input_vector_buffer.Load<vector <float , 4 > >(0 );
7854 const uint is_input_unsigned = 0 ;
79- const uint input_interpretation = CompType::F32; // F32
55+ const uint input_interpretation = DataType::DATA_TYPE_FLOAT32;
8056 const uint matrix_offset = 0 ;
81- const uint matrix_interpretation = CompType::F32; // F32
57+ const uint matrix_interpretation = DataType::DATA_TYPE_FLOAT32;
8258 const uint matrix_dimM = 4 ;
8359 const uint matrix_dimK = 4 ;
84- const uint matrix_layout = MatLayout::RowMajor; // RowMajor
60+ const uint matrix_layout = MatrixLayout::MATRIX_LAYOUT_ROW_MAJOR;
8561 const uint matrix_is_transposed = 0 ;
8662 const uint matrix_stride = 0 ;
8763 const uint bias_offset = 0 ;
8864
89- const uint bias_interpretation_0 = CompType::Invalid ;
65+ const uint bias_interpretation_0 = 0 ;
9066
9167 // expected-error@+6 {{0 is an invalid Memory Interpretation value}}
9268 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -96,7 +72,7 @@ void test_invalid_bias_interpretation_value() {
9672 matrix_stride, bias_buffer, bias_offset,
9773 bias_interpretation_0);
9874
99- const uint bias_interpretation_1 = CompType::I1 ;
75+ const uint bias_interpretation_1 = 1 ;
10076
10177 // expected-error@+6 {{1 is an invalid Memory Interpretation value}}
10278 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -106,7 +82,7 @@ void test_invalid_bias_interpretation_value() {
10682 matrix_stride, bias_buffer, bias_offset,
10783 bias_interpretation_1);
10884
109- const uint bias_interpretation_2 = CompType::I64 ;
85+ const uint bias_interpretation_2 = 6 ;
11086
11187 // expected-error@+6 {{6 is an invalid Memory Interpretation value}}
11288 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -116,7 +92,7 @@ void test_invalid_bias_interpretation_value() {
11692 matrix_stride, bias_buffer, bias_offset,
11793 bias_interpretation_2);
11894
119- const uint bias_interpretation_3 = CompType::U64 ;
95+ const uint bias_interpretation_3 = 7 ;
12096
12197 // expected-error@+6 {{7 is an invalid Memory Interpretation value}}
12298 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -126,7 +102,7 @@ void test_invalid_bias_interpretation_value() {
126102 matrix_stride, bias_buffer, bias_offset,
127103 bias_interpretation_3);
128104
129- const uint bias_interpretation_4 = CompType::F64 ;
105+ const uint bias_interpretation_4 = 10 ;
130106
131107 // expected-error@+6 {{10 is an invalid Memory Interpretation value}}
132108 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -136,7 +112,7 @@ void test_invalid_bias_interpretation_value() {
136112 matrix_stride, bias_buffer, bias_offset,
137113 bias_interpretation_4);
138114
139- const uint bias_interpretation_5 = CompType::SNormF16 ;
115+ const uint bias_interpretation_5 = 11 ;
140116
141117 // expected-error@+6 {{11 is an invalid Memory Interpretation value}}
142118 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -146,7 +122,7 @@ void test_invalid_bias_interpretation_value() {
146122 matrix_stride, bias_buffer, bias_offset,
147123 bias_interpretation_5);
148124
149- const uint bias_interpretation_6 = CompType::UNormF16 ;
125+ const uint bias_interpretation_6 = 12 ;
150126
151127 // expected-error@+6 {{12 is an invalid Memory Interpretation value}}
152128 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -156,7 +132,7 @@ void test_invalid_bias_interpretation_value() {
156132 matrix_stride, bias_buffer, bias_offset,
157133 bias_interpretation_6);
158134
159- const uint bias_interpretation_7 = CompType::SNormF32 ;
135+ const uint bias_interpretation_7 = 13 ;
160136
161137 // expected-error@+6 {{13 is an invalid Memory Interpretation value}}
162138 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -166,7 +142,7 @@ void test_invalid_bias_interpretation_value() {
166142 matrix_stride, bias_buffer, bias_offset,
167143 bias_interpretation_7);
168144
169- const uint bias_interpretation_8 = CompType::UNormF32 ;
145+ const uint bias_interpretation_8 = 14 ;
170146
171147 // expected-error@+6 {{14 is an invalid Memory Interpretation value}}
172148 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -176,7 +152,7 @@ void test_invalid_bias_interpretation_value() {
176152 matrix_stride, bias_buffer, bias_offset,
177153 bias_interpretation_8);
178154
179- const uint bias_interpretation_9 = CompType::SNormF64 ;
155+ const uint bias_interpretation_9 = 15 ;
180156
181157 // expected-error@+6 {{15 is an invalid Memory Interpretation value}}
182158 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -186,7 +162,7 @@ void test_invalid_bias_interpretation_value() {
186162 matrix_stride, bias_buffer, bias_offset,
187163 bias_interpretation_9);
188164
189- const uint bias_interpretation_10 = CompType::UNormF64 ;
165+ const uint bias_interpretation_10 = 16 ;
190166
191167
192168 // expected-error@+6 {{16 is an invalid Memory Interpretation value}}
@@ -197,7 +173,7 @@ void test_invalid_bias_interpretation_value() {
197173 matrix_stride, bias_buffer, bias_offset,
198174 bias_interpretation_10);
199175
200- const uint bias_interpretation_11 = CompType::PackedS8x32 ;
176+ const uint bias_interpretation_11 = DataType::DATA_TYPE_SINT8_T4_PACKED ;
201177
202178 // expected-error@+6 {{17 is an invalid Memory Interpretation value}}
203179 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
@@ -207,7 +183,7 @@ void test_invalid_bias_interpretation_value() {
207183 matrix_stride, bias_buffer, bias_offset,
208184 bias_interpretation_11);
209185
210- const uint bias_interpretation_12 = CompType::PackedU8x32 ;
186+ const uint bias_interpretation_12 = DataType::DATA_TYPE_UINT8_T4_PACKED ;
211187
212188 // expected-error@+6 {{18 is an invalid Memory Interpretation value}}
213189 __builtin_MatVecMulAdd (output_vector, is_output_unsigned, input_vector,
0 commit comments