9#ifndef _HLSL_HLSL_INTRINSICS_H_
10#define _HLSL_HLSL_INTRINSICS_H_
19#define _HLSL_BUILTIN_ALIAS(builtin) \
20 __attribute__((clang_builtin_alias(builtin)))
21#define _HLSL_AVAILABILITY(environment, version) \
22 __attribute__((availability(environment, introduced = version)))
24#ifdef __HLSL_ENABLE_16_BIT
25#define _HLSL_16BIT_AVAILABILITY(environment, version) \
26 __attribute__((availability(environment, introduced = version)))
28#define _HLSL_16BIT_AVAILABILITY(environment, version)
39#ifdef __HLSL_ENABLE_16_BIT
45int16_t2
abs(int16_t2);
48int16_t3
abs(int16_t3);
51int16_t4
abs(int16_t4);
111#ifdef __HLSL_ENABLE_16_BIT
283#ifdef __HLSL_ENABLE_16_BIT
286int16_t
clamp(int16_t, int16_t, int16_t);
289int16_t2
clamp(int16_t2, int16_t2, int16_t2);
292int16_t3
clamp(int16_t3, int16_t3, int16_t3);
295int16_t4
clamp(int16_t4, int16_t4, int16_t4);
299uint16_t
clamp(uint16_t, uint16_t, uint16_t);
302uint16_t2
clamp(uint16_t2, uint16_t2, uint16_t2);
305uint16_t3
clamp(uint16_t3, uint16_t3, uint16_t3);
308uint16_t4
clamp(uint16_t4, uint16_t4, uint16_t4);
357double clamp(
double,
double,
double);
417#ifdef __HLSL_ENABLE_16_BIT
420int16_t
dot(int16_t, int16_t);
423int16_t
dot(int16_t2, int16_t2);
426int16_t
dot(int16_t3, int16_t3);
429int16_t
dot(int16_t4, int16_t4);
433uint16_t
dot(uint16_t, uint16_t);
436uint16_t
dot(uint16_t2, uint16_t2);
439uint16_t
dot(uint16_t3, uint16_t3);
442uint16_t
dot(uint16_t4, uint16_t4);
455double dot(
double,
double);
690float lerp(
float,
float,
float);
809half
mad(half, half, half);
820#ifdef __HLSL_ENABLE_16_BIT
823int16_t
mad(int16_t, int16_t, int16_t);
826int16_t2
mad(int16_t2, int16_t2, int16_t2);
829int16_t3
mad(int16_t3, int16_t3, int16_t3);
832int16_t4
mad(int16_t4, int16_t4, int16_t4);
836uint16_t
mad(uint16_t, uint16_t, uint16_t);
839uint16_t2
mad(uint16_t2, uint16_t2, uint16_t2);
842uint16_t3
mad(uint16_t3, uint16_t3, uint16_t3);
845uint16_t4
mad(uint16_t4, uint16_t4, uint16_t4);
885float mad(
float,
float,
float);
894double mad(
double,
double,
double);
924#ifdef __HLSL_ENABLE_16_BIT
927int16_t
max(int16_t, int16_t);
930int16_t2
max(int16_t2, int16_t2);
933int16_t3
max(int16_t3, int16_t3);
936int16_t4
max(int16_t4, int16_t4);
940uint16_t
max(uint16_t, uint16_t);
943uint16_t2
max(uint16_t2, uint16_t2);
946uint16_t3
max(uint16_t3, uint16_t3);
949uint16_t4
max(uint16_t4, uint16_t4);
998double max(
double,
double);
1028#ifdef __HLSL_ENABLE_16_BIT
1031int16_t
min(int16_t, int16_t);
1034int16_t2
min(int16_t2, int16_t2);
1037int16_t3
min(int16_t3, int16_t3);
1040int16_t4
min(int16_t4, int16_t4);
1044uint16_t
min(uint16_t, uint16_t);
1047uint16_t2
min(uint16_t2, uint16_t2);
1050uint16_t3
min(uint16_t3, uint16_t3);
1053uint16_t4
min(uint16_t4, uint16_t4);
1149#ifdef __HLSL_ENABLE_16_BIT
#define _HLSL_BUILTIN_ALIAS(builtin)
#define _HLSL_16BIT_AVAILABILITY(environment, version)
#define _HLSL_AVAILABILITY(environment, version)
half mad(half, half, half)
vector< uint64_t, 2 > uint64_t2
vector< float, 4 > float4
vector< int64_t, 4 > int64_t4
vector< uint64_t, 3 > uint64_t3
half lerp(half, half, half)
vector< int64_t, 3 > int64_t3
half clamp(half, half, half)
vector< uint64_t, 4 > uint64_t4
uint WaveActiveCountBits(bool Val)
Counts the number of boolean variables which evaluate to true across all active lanes in the current ...
vector< double, 3 > double3
vector< float, 2 > float2
vector< float, 3 > float3
vector< int64_t, 2 > int64_t2
vector< double, 4 > double4
vector< double, 2 > double2