@@ -115,6 +115,239 @@ typedef vector<float64_t, 2> float64_t2;
115
115
typedef vector<float64_t , 3 > float64_t3;
116
116
typedef vector<float64_t , 4 > float64_t4;
117
117
118
+ #ifdef __HLSL_ENABLE_16_BIT
119
+ typedef matrix<int16_t , 1 , 1 > int16_t1x1;
120
+ typedef matrix<int16_t , 1 , 2 > int16_t1x2;
121
+ typedef matrix<int16_t , 1 , 3 > int16_t1x3;
122
+ typedef matrix<int16_t , 1 , 4 > int16_t1x4;
123
+ typedef matrix<int16_t , 2 , 1 > int16_t2x1;
124
+ typedef matrix<int16_t , 2 , 2 > int16_t2x2;
125
+ typedef matrix<int16_t , 2 , 3 > int16_t2x3;
126
+ typedef matrix<int16_t , 2 , 4 > int16_t2x4;
127
+ typedef matrix<int16_t , 3 , 1 > int16_t3x1;
128
+ typedef matrix<int16_t , 3 , 2 > int16_t3x2;
129
+ typedef matrix<int16_t , 3 , 3 > int16_t3x3;
130
+ typedef matrix<int16_t , 3 , 4 > int16_t3x4;
131
+ typedef matrix<int16_t , 4 , 1 > int16_t4x1;
132
+ typedef matrix<int16_t , 4 , 2 > int16_t4x2;
133
+ typedef matrix<int16_t , 4 , 3 > int16_t4x3;
134
+ typedef matrix<int16_t , 4 , 4 > int16_t4x4;
135
+ typedef matrix<uint16_t , 1 , 1 > uint16_t1x1;
136
+ typedef matrix<uint16_t , 1 , 2 > uint16_t1x2;
137
+ typedef matrix<uint16_t , 1 , 3 > uint16_t1x3;
138
+ typedef matrix<uint16_t , 1 , 4 > uint16_t1x4;
139
+ typedef matrix<uint16_t , 2 , 1 > uint16_t2x1;
140
+ typedef matrix<uint16_t , 2 , 2 > uint16_t2x2;
141
+ typedef matrix<uint16_t , 2 , 3 > uint16_t2x3;
142
+ typedef matrix<uint16_t , 2 , 4 > uint16_t2x4;
143
+ typedef matrix<uint16_t , 3 , 1 > uint16_t3x1;
144
+ typedef matrix<uint16_t , 3 , 2 > uint16_t3x2;
145
+ typedef matrix<uint16_t , 3 , 3 > uint16_t3x3;
146
+ typedef matrix<uint16_t , 3 , 4 > uint16_t3x4;
147
+ typedef matrix<uint16_t , 4 , 1 > uint16_t4x1;
148
+ typedef matrix<uint16_t , 4 , 2 > uint16_t4x2;
149
+ typedef matrix<uint16_t , 4 , 3 > uint16_t4x3;
150
+ typedef matrix<uint16_t , 4 , 4 > uint16_t4x4;
151
+ #endif
152
+
153
+ typedef matrix<int , 1 , 1 > int1x1;
154
+ typedef matrix<int , 1 , 2 > int1x2;
155
+ typedef matrix<int , 1 , 3 > int1x3;
156
+ typedef matrix<int , 1 , 4 > int1x4;
157
+ typedef matrix<int , 2 , 1 > int2x1;
158
+ typedef matrix<int , 2 , 2 > int2x2;
159
+ typedef matrix<int , 2 , 3 > int2x3;
160
+ typedef matrix<int , 2 , 4 > int2x4;
161
+ typedef matrix<int , 3 , 1 > int3x1;
162
+ typedef matrix<int , 3 , 2 > int3x2;
163
+ typedef matrix<int , 3 , 3 > int3x3;
164
+ typedef matrix<int , 3 , 4 > int3x4;
165
+ typedef matrix<int , 4 , 1 > int4x1;
166
+ typedef matrix<int , 4 , 2 > int4x2;
167
+ typedef matrix<int , 4 , 3 > int4x3;
168
+ typedef matrix<int , 4 , 4 > int4x4;
169
+ typedef matrix<uint, 1 , 1 > uint1x1;
170
+ typedef matrix<uint, 1 , 2 > uint1x2;
171
+ typedef matrix<uint, 1 , 3 > uint1x3;
172
+ typedef matrix<uint, 1 , 4 > uint1x4;
173
+ typedef matrix<uint, 2 , 1 > uint2x1;
174
+ typedef matrix<uint, 2 , 2 > uint2x2;
175
+ typedef matrix<uint, 2 , 3 > uint2x3;
176
+ typedef matrix<uint, 2 , 4 > uint2x4;
177
+ typedef matrix<uint, 3 , 1 > uint3x1;
178
+ typedef matrix<uint, 3 , 2 > uint3x2;
179
+ typedef matrix<uint, 3 , 3 > uint3x3;
180
+ typedef matrix<uint, 3 , 4 > uint3x4;
181
+ typedef matrix<uint, 4 , 1 > uint4x1;
182
+ typedef matrix<uint, 4 , 2 > uint4x2;
183
+ typedef matrix<uint, 4 , 3 > uint4x3;
184
+ typedef matrix<uint, 4 , 4 > uint4x4;
185
+ typedef matrix<int32_t , 1 , 1 > int32_t1x1;
186
+ typedef matrix<int32_t , 1 , 2 > int32_t1x2;
187
+ typedef matrix<int32_t , 1 , 3 > int32_t1x3;
188
+ typedef matrix<int32_t , 1 , 4 > int32_t1x4;
189
+ typedef matrix<int32_t , 2 , 1 > int32_t2x1;
190
+ typedef matrix<int32_t , 2 , 2 > int32_t2x2;
191
+ typedef matrix<int32_t , 2 , 3 > int32_t2x3;
192
+ typedef matrix<int32_t , 2 , 4 > int32_t2x4;
193
+ typedef matrix<int32_t , 3 , 1 > int32_t3x1;
194
+ typedef matrix<int32_t , 3 , 2 > int32_t3x2;
195
+ typedef matrix<int32_t , 3 , 3 > int32_t3x3;
196
+ typedef matrix<int32_t , 3 , 4 > int32_t3x4;
197
+ typedef matrix<int32_t , 4 , 1 > int32_t4x1;
198
+ typedef matrix<int32_t , 4 , 2 > int32_t4x2;
199
+ typedef matrix<int32_t , 4 , 3 > int32_t4x3;
200
+ typedef matrix<int32_t , 4 , 4 > int32_t4x4;
201
+ typedef matrix<uint32_t , 1 , 1 > uint32_t1x1;
202
+ typedef matrix<uint32_t , 1 , 2 > uint32_t1x2;
203
+ typedef matrix<uint32_t , 1 , 3 > uint32_t1x3;
204
+ typedef matrix<uint32_t , 1 , 4 > uint32_t1x4;
205
+ typedef matrix<uint32_t , 2 , 1 > uint32_t2x1;
206
+ typedef matrix<uint32_t , 2 , 2 > uint32_t2x2;
207
+ typedef matrix<uint32_t , 2 , 3 > uint32_t2x3;
208
+ typedef matrix<uint32_t , 2 , 4 > uint32_t2x4;
209
+ typedef matrix<uint32_t , 3 , 1 > uint32_t3x1;
210
+ typedef matrix<uint32_t , 3 , 2 > uint32_t3x2;
211
+ typedef matrix<uint32_t , 3 , 3 > uint32_t3x3;
212
+ typedef matrix<uint32_t , 3 , 4 > uint32_t3x4;
213
+ typedef matrix<uint32_t , 4 , 1 > uint32_t4x1;
214
+ typedef matrix<uint32_t , 4 , 2 > uint32_t4x2;
215
+ typedef matrix<uint32_t , 4 , 3 > uint32_t4x3;
216
+ typedef matrix<uint32_t , 4 , 4 > uint32_t4x4;
217
+ typedef matrix<int64_t , 1 , 1 > int64_t1x1;
218
+ typedef matrix<int64_t , 1 , 2 > int64_t1x2;
219
+ typedef matrix<int64_t , 1 , 3 > int64_t1x3;
220
+ typedef matrix<int64_t , 1 , 4 > int64_t1x4;
221
+ typedef matrix<int64_t , 2 , 1 > int64_t2x1;
222
+ typedef matrix<int64_t , 2 , 2 > int64_t2x2;
223
+ typedef matrix<int64_t , 2 , 3 > int64_t2x3;
224
+ typedef matrix<int64_t , 2 , 4 > int64_t2x4;
225
+ typedef matrix<int64_t , 3 , 1 > int64_t3x1;
226
+ typedef matrix<int64_t , 3 , 2 > int64_t3x2;
227
+ typedef matrix<int64_t , 3 , 3 > int64_t3x3;
228
+ typedef matrix<int64_t , 3 , 4 > int64_t3x4;
229
+ typedef matrix<int64_t , 4 , 1 > int64_t4x1;
230
+ typedef matrix<int64_t , 4 , 2 > int64_t4x2;
231
+ typedef matrix<int64_t , 4 , 3 > int64_t4x3;
232
+ typedef matrix<int64_t , 4 , 4 > int64_t4x4;
233
+ typedef matrix<uint64_t , 1 , 1 > uint64_t1x1;
234
+ typedef matrix<uint64_t , 1 , 2 > uint64_t1x2;
235
+ typedef matrix<uint64_t , 1 , 3 > uint64_t1x3;
236
+ typedef matrix<uint64_t , 1 , 4 > uint64_t1x4;
237
+ typedef matrix<uint64_t , 2 , 1 > uint64_t2x1;
238
+ typedef matrix<uint64_t , 2 , 2 > uint64_t2x2;
239
+ typedef matrix<uint64_t , 2 , 3 > uint64_t2x3;
240
+ typedef matrix<uint64_t , 2 , 4 > uint64_t2x4;
241
+ typedef matrix<uint64_t , 3 , 1 > uint64_t3x1;
242
+ typedef matrix<uint64_t , 3 , 2 > uint64_t3x2;
243
+ typedef matrix<uint64_t , 3 , 3 > uint64_t3x3;
244
+ typedef matrix<uint64_t , 3 , 4 > uint64_t3x4;
245
+ typedef matrix<uint64_t , 4 , 1 > uint64_t4x1;
246
+ typedef matrix<uint64_t , 4 , 2 > uint64_t4x2;
247
+ typedef matrix<uint64_t , 4 , 3 > uint64_t4x3;
248
+ typedef matrix<uint64_t , 4 , 4 > uint64_t4x4;
249
+
250
+ typedef matrix<half, 1 , 1 > half1x1;
251
+ typedef matrix<half, 1 , 2 > half1x2;
252
+ typedef matrix<half, 1 , 3 > half1x3;
253
+ typedef matrix<half, 1 , 4 > half1x4;
254
+ typedef matrix<half, 2 , 1 > half2x1;
255
+ typedef matrix<half, 2 , 2 > half2x2;
256
+ typedef matrix<half, 2 , 3 > half2x3;
257
+ typedef matrix<half, 2 , 4 > half2x4;
258
+ typedef matrix<half, 3 , 1 > half3x1;
259
+ typedef matrix<half, 3 , 2 > half3x2;
260
+ typedef matrix<half, 3 , 3 > half3x3;
261
+ typedef matrix<half, 3 , 4 > half3x4;
262
+ typedef matrix<half, 4 , 1 > half4x1;
263
+ typedef matrix<half, 4 , 2 > half4x2;
264
+ typedef matrix<half, 4 , 3 > half4x3;
265
+ typedef matrix<half, 4 , 4 > half4x4;
266
+ typedef matrix<float , 1 , 1 > float1x1;
267
+ typedef matrix<float , 1 , 2 > float1x2;
268
+ typedef matrix<float , 1 , 3 > float1x3;
269
+ typedef matrix<float , 1 , 4 > float1x4;
270
+ typedef matrix<float , 2 , 1 > float2x1;
271
+ typedef matrix<float , 2 , 2 > float2x2;
272
+ typedef matrix<float , 2 , 3 > float2x3;
273
+ typedef matrix<float , 2 , 4 > float2x4;
274
+ typedef matrix<float , 3 , 1 > float3x1;
275
+ typedef matrix<float , 3 , 2 > float3x2;
276
+ typedef matrix<float , 3 , 3 > float3x3;
277
+ typedef matrix<float , 3 , 4 > float3x4;
278
+ typedef matrix<float , 4 , 1 > float4x1;
279
+ typedef matrix<float , 4 , 2 > float4x2;
280
+ typedef matrix<float , 4 , 3 > float4x3;
281
+ typedef matrix<float , 4 , 4 > float4x4;
282
+ typedef matrix<double , 1 , 1 > double1x1;
283
+ typedef matrix<double , 1 , 2 > double1x2;
284
+ typedef matrix<double , 1 , 3 > double1x3;
285
+ typedef matrix<double , 1 , 4 > double1x4;
286
+ typedef matrix<double , 2 , 1 > double2x1;
287
+ typedef matrix<double , 2 , 2 > double2x2;
288
+ typedef matrix<double , 2 , 3 > double2x3;
289
+ typedef matrix<double , 2 , 4 > double2x4;
290
+ typedef matrix<double , 3 , 1 > double3x1;
291
+ typedef matrix<double , 3 , 2 > double3x2;
292
+ typedef matrix<double , 3 , 3 > double3x3;
293
+ typedef matrix<double , 3 , 4 > double3x4;
294
+ typedef matrix<double , 4 , 1 > double4x1;
295
+ typedef matrix<double , 4 , 2 > double4x2;
296
+ typedef matrix<double , 4 , 3 > double4x3;
297
+ typedef matrix<double , 4 , 4 > double4x4;
298
+
299
+ #ifdef __HLSL_ENABLE_16_BIT
300
+ typedef matrix<float16_t , 1 , 1 > float16_t1x1;
301
+ typedef matrix<float16_t , 1 , 2 > float16_t1x2;
302
+ typedef matrix<float16_t , 1 , 3 > float16_t1x3;
303
+ typedef matrix<float16_t , 1 , 4 > float16_t1x4;
304
+ typedef matrix<float16_t , 2 , 1 > float16_t2x1;
305
+ typedef matrix<float16_t , 2 , 2 > float16_t2x2;
306
+ typedef matrix<float16_t , 2 , 3 > float16_t2x3;
307
+ typedef matrix<float16_t , 2 , 4 > float16_t2x4;
308
+ typedef matrix<float16_t , 3 , 1 > float16_t3x1;
309
+ typedef matrix<float16_t , 3 , 2 > float16_t3x2;
310
+ typedef matrix<float16_t , 3 , 3 > float16_t3x3;
311
+ typedef matrix<float16_t , 3 , 4 > float16_t3x4;
312
+ typedef matrix<float16_t , 4 , 1 > float16_t4x1;
313
+ typedef matrix<float16_t , 4 , 2 > float16_t4x2;
314
+ typedef matrix<float16_t , 4 , 3 > float16_t4x3;
315
+ typedef matrix<float16_t , 4 , 4 > float16_t4x4;
316
+ #endif
317
+
318
+ typedef matrix<float32_t , 1 , 1 > float32_t1x1;
319
+ typedef matrix<float32_t , 1 , 2 > float32_t1x2;
320
+ typedef matrix<float32_t , 1 , 3 > float32_t1x3;
321
+ typedef matrix<float32_t , 1 , 4 > float32_t1x4;
322
+ typedef matrix<float32_t , 2 , 1 > float32_t2x1;
323
+ typedef matrix<float32_t , 2 , 2 > float32_t2x2;
324
+ typedef matrix<float32_t , 2 , 3 > float32_t2x3;
325
+ typedef matrix<float32_t , 2 , 4 > float32_t2x4;
326
+ typedef matrix<float32_t , 3 , 1 > float32_t3x1;
327
+ typedef matrix<float32_t , 3 , 2 > float32_t3x2;
328
+ typedef matrix<float32_t , 3 , 3 > float32_t3x3;
329
+ typedef matrix<float32_t , 3 , 4 > float32_t3x4;
330
+ typedef matrix<float32_t , 4 , 1 > float32_t4x1;
331
+ typedef matrix<float32_t , 4 , 2 > float32_t4x2;
332
+ typedef matrix<float32_t , 4 , 3 > float32_t4x3;
333
+ typedef matrix<float32_t , 4 , 4 > float32_t4x4;
334
+ typedef matrix<float64_t , 1 , 1 > float64_t1x1;
335
+ typedef matrix<float64_t , 1 , 2 > float64_t1x2;
336
+ typedef matrix<float64_t , 1 , 3 > float64_t1x3;
337
+ typedef matrix<float64_t , 1 , 4 > float64_t1x4;
338
+ typedef matrix<float64_t , 2 , 1 > float64_t2x1;
339
+ typedef matrix<float64_t , 2 , 2 > float64_t2x2;
340
+ typedef matrix<float64_t , 2 , 3 > float64_t2x3;
341
+ typedef matrix<float64_t , 2 , 4 > float64_t2x4;
342
+ typedef matrix<float64_t , 3 , 1 > float64_t3x1;
343
+ typedef matrix<float64_t , 3 , 2 > float64_t3x2;
344
+ typedef matrix<float64_t , 3 , 3 > float64_t3x3;
345
+ typedef matrix<float64_t , 3 , 4 > float64_t3x4;
346
+ typedef matrix<float64_t , 4 , 1 > float64_t4x1;
347
+ typedef matrix<float64_t , 4 , 2 > float64_t4x2;
348
+ typedef matrix<float64_t , 4 , 3 > float64_t4x3;
349
+ typedef matrix<float64_t , 4 , 4 > float64_t4x4;
350
+
118
351
} // namespace hlsl
119
352
120
353
#endif // _HLSL_HLSL_BASIC_TYPES_H_
0 commit comments