@@ -118,372 +118,6 @@ const inline float distance(__detail::HLSL_FIXED_VECTOR<float, N> X,
118118}
119119
120120// ===----------------------------------------------------------------------===//
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
487121// fmod builtins
488122// ===----------------------------------------------------------------------===//
489123
0 commit comments