@@ -118,372 +118,6 @@ const inline float distance(__detail::HLSL_FIXED_VECTOR<float, N> X,
118
118
}
119
119
120
120
// ===----------------------------------------------------------------------===//
121
- <<<<<<< Updated upstream
122
- =======
123
- // dot product builtins
124
- // ===----------------------------------------------------------------------===//
125
-
126
- // / \fn K dot(T X, T Y)
127
- // / \brief Return the dot product (a scalar value) of \a X and \a Y.
128
- // / \param X The X input value.
129
- // / \param Y The Y input value.
130
-
131
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
132
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
133
- half dot (half, half);
134
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
135
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
136
- half dot (half2, half2);
137
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
138
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
139
- half dot (half3, half3);
140
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
141
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
142
- half dot (half4, half4);
143
-
144
- #ifdef __HLSL_ENABLE_16_BIT
145
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
146
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
147
- int16_t dot(int16_t , int16_t );
148
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
149
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
150
- int16_t dot(int16_t2, int16_t2);
151
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
152
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
153
- int16_t dot(int16_t3, int16_t3);
154
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
155
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
156
- int16_t dot(int16_t4, int16_t4);
157
-
158
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
159
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
160
- uint16_t dot(uint16_t , uint16_t );
161
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
162
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
163
- uint16_t dot(uint16_t2, uint16_t2);
164
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
165
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
166
- uint16_t dot(uint16_t3, uint16_t3);
167
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
168
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
169
- uint16_t dot(uint16_t4, uint16_t4);
170
- #endif
171
-
172
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
173
- float dot (float , float );
174
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
175
- float dot (float2, float2);
176
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
177
- float dot (float3, float3);
178
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
179
- float dot (float4, float4);
180
-
181
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
182
- double dot (double , double );
183
-
184
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
185
- int dot (int , int );
186
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
187
- int dot (int2, int2);
188
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
189
- int dot (int3, int3);
190
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
191
- int dot (int4, int4);
192
-
193
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
194
- uint dot (uint, uint);
195
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
196
- uint dot (uint2, uint2);
197
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
198
- uint dot (uint3, uint3);
199
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
200
- uint dot (uint4, uint4);
201
-
202
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
203
- int64_t dot (int64_t , int64_t );
204
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
205
- int64_t dot (int64_t2, int64_t2);
206
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
207
- int64_t dot (int64_t3, int64_t3);
208
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
209
- int64_t dot (int64_t4, int64_t4);
210
-
211
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
212
- uint64_t dot (uint64_t , uint64_t );
213
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
214
- uint64_t dot (uint64_t2, uint64_t2);
215
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
216
- uint64_t dot (uint64_t3, uint64_t3);
217
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
218
- uint64_t dot (uint64_t4, uint64_t4);
219
-
220
- // ===----------------------------------------------------------------------===//
221
- // dot4add builtins
222
- // ===----------------------------------------------------------------------===//
223
-
224
- // / \fn int dot4add_i8packed(uint A, uint B, int C)
225
-
226
- _HLSL_AVAILABILITY (shadermodel, 6.4 )
227
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot4add_i8packed)
228
- int dot4add_i8packed (uint, uint, int );
229
-
230
- // / \fn uint dot4add_u8packed(uint A, uint B, uint C)
231
-
232
- _HLSL_AVAILABILITY (shadermodel, 6.4 )
233
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot4add_u8packed)
234
- uint dot4add_u8packed (uint, uint, uint);
235
-
236
- // ===----------------------------------------------------------------------===//
237
- // dot2add builtins
238
- // ===----------------------------------------------------------------------===//
239
-
240
- // / \fn float dot2add(half2 a, half2 b, float c)
241
-
242
- _HLSL_AVAILABILITY (shadermodel, 6.4 )
243
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot2add)
244
- float dot2add (half2, half2, float );
245
-
246
- // ===----------------------------------------------------------------------===//
247
- // exp builtins
248
- // ===----------------------------------------------------------------------===//
249
-
250
- // / \fn T exp(T x)
251
- // / \brief Returns the base-e exponential, or \a e**x, of the specified value.
252
- // / \param x The specified input value.
253
- // /
254
- // / The return value is the base-e exponential of the \a x parameter.
255
-
256
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
257
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
258
- half exp (half);
259
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
260
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
261
- half2 exp (half2);
262
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
263
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
264
- half3 exp (half3);
265
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
266
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
267
- half4 exp (half4);
268
-
269
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
270
- float exp (float );
271
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
272
- float2 exp (float2);
273
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
274
- float3 exp (float3);
275
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
276
- float4 exp (float4);
277
-
278
- // ===----------------------------------------------------------------------===//
279
- // exp2 builtins
280
- // ===----------------------------------------------------------------------===//
281
-
282
- // / \fn T exp2(T x)
283
- // / \brief Returns the base 2 exponential, or \a 2**x, of the specified value.
284
- // / \param x The specified input value.
285
- // /
286
- // / The base 2 exponential of the \a x parameter.
287
-
288
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
289
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
290
- half exp2 (half);
291
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
292
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
293
- half2 exp2 (half2);
294
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
295
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
296
- half3 exp2 (half3);
297
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
298
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
299
- half4 exp2 (half4);
300
-
301
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
302
- float exp2 (float );
303
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
304
- float2 exp2 (float2);
305
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
306
- float3 exp2 (float3);
307
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
308
- float4 exp2 (float4);
309
-
310
- // ===----------------------------------------------------------------------===//
311
- // firstbithigh builtins
312
- // ===----------------------------------------------------------------------===//
313
-
314
- // / \fn T firstbithigh(T Val)
315
- // / \brief Returns the location of the first set bit starting from the highest
316
- // / order bit and working downward, per component.
317
- // / \param Val the input value.
318
-
319
- #ifdef __HLSL_ENABLE_16_BIT
320
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
321
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
322
- uint firstbithigh(int16_t );
323
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
324
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
325
- uint2 firstbithigh(int16_t2);
326
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
327
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
328
- uint3 firstbithigh(int16_t3);
329
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
330
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
331
- uint4 firstbithigh(int16_t4);
332
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
333
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
334
- uint firstbithigh(uint16_t );
335
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
336
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
337
- uint2 firstbithigh(uint16_t2);
338
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
339
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
340
- uint3 firstbithigh(uint16_t3);
341
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
342
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
343
- uint4 firstbithigh(uint16_t4);
344
- #endif
345
-
346
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
347
- uint firstbithigh (int );
348
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
349
- uint2 firstbithigh (int2);
350
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
351
- uint3 firstbithigh (int3);
352
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
353
- uint4 firstbithigh (int4);
354
-
355
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
356
- uint firstbithigh (uint);
357
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
358
- uint2 firstbithigh (uint2);
359
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
360
- uint3 firstbithigh (uint3);
361
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
362
- uint4 firstbithigh (uint4);
363
-
364
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
365
- uint firstbithigh (int64_t );
366
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
367
- uint2 firstbithigh (int64_t2);
368
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
369
- uint3 firstbithigh (int64_t3);
370
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
371
- uint4 firstbithigh (int64_t4);
372
-
373
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
374
- uint firstbithigh (uint64_t );
375
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
376
- uint2 firstbithigh (uint64_t2);
377
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
378
- uint3 firstbithigh (uint64_t3);
379
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
380
- uint4 firstbithigh (uint64_t4);
381
-
382
- // ===----------------------------------------------------------------------===//
383
- // firstbitlow builtins
384
- // ===----------------------------------------------------------------------===//
385
-
386
- // / \fn T firstbitlow(T Val)
387
- // / \brief Returns the location of the first set bit starting from the lowest
388
- // / order bit and working upward, per component.
389
- // / \param Val the input value.
390
-
391
- #ifdef __HLSL_ENABLE_16_BIT
392
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
393
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
394
- uint firstbitlow(int16_t );
395
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
396
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
397
- uint2 firstbitlow(int16_t2);
398
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
399
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
400
- uint3 firstbitlow(int16_t3);
401
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
402
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
403
- uint4 firstbitlow(int16_t4);
404
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
405
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
406
- uint firstbitlow(uint16_t );
407
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
408
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
409
- uint2 firstbitlow(uint16_t2);
410
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
411
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
412
- uint3 firstbitlow(uint16_t3);
413
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
414
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
415
- uint4 firstbitlow(uint16_t4);
416
- #endif
417
-
418
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
419
- uint firstbitlow (int );
420
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
421
- uint2 firstbitlow (int2);
422
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
423
- uint3 firstbitlow (int3);
424
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
425
- uint4 firstbitlow (int4);
426
-
427
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
428
- uint firstbitlow (uint);
429
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
430
- uint2 firstbitlow (uint2);
431
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
432
- uint3 firstbitlow (uint3);
433
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
434
- uint4 firstbitlow (uint4);
435
-
436
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
437
- uint firstbitlow (int64_t );
438
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
439
- uint2 firstbitlow (int64_t2);
440
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
441
- uint3 firstbitlow (int64_t3);
442
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
443
- uint4 firstbitlow (int64_t4);
444
-
445
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
446
- uint firstbitlow (uint64_t );
447
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
448
- uint2 firstbitlow (uint64_t2);
449
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
450
- uint3 firstbitlow (uint64_t3);
451
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
452
- uint4 firstbitlow (uint64_t4);
453
-
454
- // ===----------------------------------------------------------------------===//
455
- // floor builtins
456
- // ===----------------------------------------------------------------------===//
457
-
458
- // / \fn T floor(T Val)
459
- // / \brief Returns the largest integer that is less than or equal to the input
460
- // / value, \a Val.
461
- // / \param Val The input value.
462
-
463
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
464
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
465
- half floor (half);
466
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
467
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
468
- half2 floor (half2);
469
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
470
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
471
- half3 floor (half3);
472
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
473
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
474
- half4 floor (half4);
475
-
476
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
477
- float floor (float );
478
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
479
- float2 floor (float2);
480
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
481
- float3 floor (float3);
482
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
483
- float4 floor (float4);
484
-
485
- // ===----------------------------------------------------------------------===//
486
- >>>>>>> Stashed changes
487
121
// fmod builtins
488
122
// ===----------------------------------------------------------------------===//
489
123
0 commit comments