@@ -176,372 +176,6 @@ const inline float distance(__detail::HLSL_FIXED_VECTOR<float, N> X,
176176}
177177
178178// ===----------------------------------------------------------------------===//
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
545179// fmod builtins
546180// ===----------------------------------------------------------------------===//
547181
0 commit comments