@@ -176,372 +176,6 @@ const inline float distance(__detail::HLSL_FIXED_VECTOR<float, N> X,
176
176
}
177
177
178
178
// ===----------------------------------------------------------------------===//
179
- <<<<<<< Updated upstream
180
- =======
181
- // dot product builtins
182
- // ===----------------------------------------------------------------------===//
183
-
184
- // / \fn K dot(T X, T Y)
185
- // / \brief Return the dot product (a scalar value) of \a X and \a Y.
186
- // / \param X The X input value.
187
- // / \param Y The Y input value.
188
-
189
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
190
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
191
- half dot (half, half);
192
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
193
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
194
- half dot (half2, half2);
195
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
196
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
197
- half dot (half3, half3);
198
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
199
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
200
- half dot (half4, half4);
201
-
202
- #ifdef __HLSL_ENABLE_16_BIT
203
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
204
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
205
- int16_t dot(int16_t , int16_t );
206
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
207
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
208
- int16_t dot(int16_t2, int16_t2);
209
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
210
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
211
- int16_t dot(int16_t3, int16_t3);
212
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
213
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
214
- int16_t dot(int16_t4, int16_t4);
215
-
216
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
217
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
218
- uint16_t dot(uint16_t , uint16_t );
219
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
220
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
221
- uint16_t dot(uint16_t2, uint16_t2);
222
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
223
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
224
- uint16_t dot(uint16_t3, uint16_t3);
225
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
226
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_dot)
227
- uint16_t dot(uint16_t4, uint16_t4);
228
- #endif
229
-
230
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
231
- float dot (float , float );
232
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
233
- float dot (float2, float2);
234
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
235
- float dot (float3, float3);
236
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
237
- float dot (float4, float4);
238
-
239
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
240
- double dot (double , double );
241
-
242
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
243
- int dot (int , int );
244
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
245
- int dot (int2, int2);
246
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
247
- int dot (int3, int3);
248
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
249
- int dot (int4, int4);
250
-
251
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
252
- uint dot (uint, uint);
253
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
254
- uint dot (uint2, uint2);
255
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
256
- uint dot (uint3, uint3);
257
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
258
- uint dot (uint4, uint4);
259
-
260
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
261
- int64_t dot (int64_t , int64_t );
262
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
263
- int64_t dot (int64_t2, int64_t2);
264
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
265
- int64_t dot (int64_t3, int64_t3);
266
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
267
- int64_t dot (int64_t4, int64_t4);
268
-
269
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
270
- uint64_t dot (uint64_t , uint64_t );
271
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
272
- uint64_t dot (uint64_t2, uint64_t2);
273
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
274
- uint64_t dot (uint64_t3, uint64_t3);
275
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot)
276
- uint64_t dot (uint64_t4, uint64_t4);
277
-
278
- // ===----------------------------------------------------------------------===//
279
- // dot4add builtins
280
- // ===----------------------------------------------------------------------===//
281
-
282
- // / \fn int dot4add_i8packed(uint A, uint B, int C)
283
-
284
- _HLSL_AVAILABILITY (shadermodel, 6.4 )
285
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot4add_i8packed)
286
- int dot4add_i8packed (uint, uint, int );
287
-
288
- // / \fn uint dot4add_u8packed(uint A, uint B, uint C)
289
-
290
- _HLSL_AVAILABILITY (shadermodel, 6.4 )
291
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot4add_u8packed)
292
- uint dot4add_u8packed (uint, uint, uint);
293
-
294
- // ===----------------------------------------------------------------------===//
295
- // dot2add builtins
296
- // ===----------------------------------------------------------------------===//
297
-
298
- // / \fn float dot2add(half2 a, half2 b, float c)
299
-
300
- _HLSL_AVAILABILITY (shadermodel, 6.4 )
301
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_dot2add)
302
- float dot2add (half2, half2, float );
303
-
304
- // ===----------------------------------------------------------------------===//
305
- // exp builtins
306
- // ===----------------------------------------------------------------------===//
307
-
308
- // / \fn T exp(T x)
309
- // / \brief Returns the base-e exponential, or \a e**x, of the specified value.
310
- // / \param x The specified input value.
311
- // /
312
- // / The return value is the base-e exponential of the \a x parameter.
313
-
314
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
315
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
316
- half exp (half);
317
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
318
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
319
- half2 exp (half2);
320
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
321
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
322
- half3 exp (half3);
323
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
324
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
325
- half4 exp (half4);
326
-
327
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
328
- float exp (float );
329
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
330
- float2 exp (float2);
331
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
332
- float3 exp (float3);
333
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp)
334
- float4 exp (float4);
335
-
336
- // ===----------------------------------------------------------------------===//
337
- // exp2 builtins
338
- // ===----------------------------------------------------------------------===//
339
-
340
- // / \fn T exp2(T x)
341
- // / \brief Returns the base 2 exponential, or \a 2**x, of the specified value.
342
- // / \param x The specified input value.
343
- // /
344
- // / The base 2 exponential of the \a x parameter.
345
-
346
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
347
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
348
- half exp2 (half);
349
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
350
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
351
- half2 exp2 (half2);
352
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
353
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
354
- half3 exp2 (half3);
355
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
356
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
357
- half4 exp2 (half4);
358
-
359
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
360
- float exp2 (float );
361
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
362
- float2 exp2 (float2);
363
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
364
- float3 exp2 (float3);
365
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_exp2)
366
- float4 exp2 (float4);
367
-
368
- // ===----------------------------------------------------------------------===//
369
- // firstbithigh builtins
370
- // ===----------------------------------------------------------------------===//
371
-
372
- // / \fn T firstbithigh(T Val)
373
- // / \brief Returns the location of the first set bit starting from the highest
374
- // / order bit and working downward, per component.
375
- // / \param Val the input value.
376
-
377
- #ifdef __HLSL_ENABLE_16_BIT
378
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
379
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
380
- uint firstbithigh(int16_t );
381
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
382
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
383
- uint2 firstbithigh(int16_t2);
384
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
385
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
386
- uint3 firstbithigh(int16_t3);
387
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
388
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
389
- uint4 firstbithigh(int16_t4);
390
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
391
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
392
- uint firstbithigh(uint16_t );
393
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
394
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
395
- uint2 firstbithigh(uint16_t2);
396
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
397
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
398
- uint3 firstbithigh(uint16_t3);
399
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
400
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbithigh)
401
- uint4 firstbithigh(uint16_t4);
402
- #endif
403
-
404
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
405
- uint firstbithigh (int );
406
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
407
- uint2 firstbithigh (int2);
408
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
409
- uint3 firstbithigh (int3);
410
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
411
- uint4 firstbithigh (int4);
412
-
413
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
414
- uint firstbithigh (uint);
415
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
416
- uint2 firstbithigh (uint2);
417
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
418
- uint3 firstbithigh (uint3);
419
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
420
- uint4 firstbithigh (uint4);
421
-
422
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
423
- uint firstbithigh (int64_t );
424
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
425
- uint2 firstbithigh (int64_t2);
426
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
427
- uint3 firstbithigh (int64_t3);
428
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
429
- uint4 firstbithigh (int64_t4);
430
-
431
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
432
- uint firstbithigh (uint64_t );
433
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
434
- uint2 firstbithigh (uint64_t2);
435
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
436
- uint3 firstbithigh (uint64_t3);
437
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbithigh)
438
- uint4 firstbithigh (uint64_t4);
439
-
440
- // ===----------------------------------------------------------------------===//
441
- // firstbitlow builtins
442
- // ===----------------------------------------------------------------------===//
443
-
444
- // / \fn T firstbitlow(T Val)
445
- // / \brief Returns the location of the first set bit starting from the lowest
446
- // / order bit and working upward, per component.
447
- // / \param Val the input value.
448
-
449
- #ifdef __HLSL_ENABLE_16_BIT
450
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
451
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
452
- uint firstbitlow(int16_t );
453
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
454
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
455
- uint2 firstbitlow(int16_t2);
456
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
457
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
458
- uint3 firstbitlow(int16_t3);
459
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
460
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
461
- uint4 firstbitlow(int16_t4);
462
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
463
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
464
- uint firstbitlow(uint16_t );
465
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
466
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
467
- uint2 firstbitlow(uint16_t2);
468
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
469
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
470
- uint3 firstbitlow(uint16_t3);
471
- _HLSL_AVAILABILITY (shadermodel, 6.2 )
472
- _HLSL_BUILTIN_ALIAS(__builtin_hlsl_elementwise_firstbitlow)
473
- uint4 firstbitlow(uint16_t4);
474
- #endif
475
-
476
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
477
- uint firstbitlow (int );
478
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
479
- uint2 firstbitlow (int2);
480
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
481
- uint3 firstbitlow (int3);
482
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
483
- uint4 firstbitlow (int4);
484
-
485
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
486
- uint firstbitlow (uint);
487
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
488
- uint2 firstbitlow (uint2);
489
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
490
- uint3 firstbitlow (uint3);
491
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
492
- uint4 firstbitlow (uint4);
493
-
494
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
495
- uint firstbitlow (int64_t );
496
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
497
- uint2 firstbitlow (int64_t2);
498
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
499
- uint3 firstbitlow (int64_t3);
500
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
501
- uint4 firstbitlow (int64_t4);
502
-
503
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
504
- uint firstbitlow (uint64_t );
505
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
506
- uint2 firstbitlow (uint64_t2);
507
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
508
- uint3 firstbitlow (uint64_t3);
509
- _HLSL_BUILTIN_ALIAS (__builtin_hlsl_elementwise_firstbitlow)
510
- uint4 firstbitlow (uint64_t4);
511
-
512
- // ===----------------------------------------------------------------------===//
513
- // floor builtins
514
- // ===----------------------------------------------------------------------===//
515
-
516
- // / \fn T floor(T Val)
517
- // / \brief Returns the largest integer that is less than or equal to the input
518
- // / value, \a Val.
519
- // / \param Val The input value.
520
-
521
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
522
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
523
- half floor (half);
524
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
525
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
526
- half2 floor (half2);
527
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
528
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
529
- half3 floor (half3);
530
- _HLSL_16BIT_AVAILABILITY (shadermodel, 6.2 )
531
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
532
- half4 floor (half4);
533
-
534
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
535
- float floor (float );
536
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
537
- float2 floor (float2);
538
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
539
- float3 floor (float3);
540
- _HLSL_BUILTIN_ALIAS (__builtin_elementwise_floor)
541
- float4 floor (float4);
542
-
543
- // ===----------------------------------------------------------------------===//
544
- >>>>>>> Stashed changes
545
179
// fmod builtins
546
180
// ===----------------------------------------------------------------------===//
547
181
0 commit comments