clang 22.0.0git
hlsl Namespace Reference

Namespaces

namespace  __detail
namespace  vk

Typedefs

typedef int int32_t
typedef unsigned int uint
 An unsigned 32-bit integer.
typedef unsigned int uint32_t
typedef float float32_t
typedef unsigned long uint64_t
typedef long int64_t
typedef double float64_t
typedef vector< bool, 1 > bool1
typedef vector< bool, 2 > bool2
typedef vector< bool, 3 > bool3
typedef vector< bool, 4 > bool4
typedef vector< int, 1 > int1
typedef vector< int, 2 > int2
typedef vector< int, 3 > int3
typedef vector< int, 4 > int4
typedef vector< uint, 1 > uint1
typedef vector< uint, 2 > uint2
typedef vector< uint, 3 > uint3
typedef vector< uint, 4 > uint4
typedef vector< int32_t, 1 > int32_t1
typedef vector< int32_t, 2 > int32_t2
typedef vector< int32_t, 3 > int32_t3
typedef vector< int32_t, 4 > int32_t4
typedef vector< uint32_t, 1 > uint32_t1
typedef vector< uint32_t, 2 > uint32_t2
typedef vector< uint32_t, 3 > uint32_t3
typedef vector< uint32_t, 4 > uint32_t4
typedef vector< int64_t, 1 > int64_t1
typedef vector< int64_t, 2 > int64_t2
typedef vector< int64_t, 3 > int64_t3
typedef vector< int64_t, 4 > int64_t4
typedef vector< uint64_t, 1 > uint64_t1
typedef vector< uint64_t, 2 > uint64_t2
typedef vector< uint64_t, 3 > uint64_t3
typedef vector< uint64_t, 4 > uint64_t4
typedef vector< half, 1 > half1
typedef vector< half, 2 > half2
typedef vector< half, 3 > half3
typedef vector< half, 4 > half4
typedef vector< float, 1 > float1
typedef vector< float, 2 > float2
typedef vector< float, 3 > float3
typedef vector< float, 4 > float4
typedef vector< double, 1 > double1
typedef vector< double, 2 > double2
typedef vector< double, 3 > double3
typedef vector< double, 4 > double4
typedef vector< float32_t, 1 > float32_t1
typedef vector< float32_t, 2 > float32_t2
typedef vector< float32_t, 3 > float32_t3
typedef vector< float32_t, 4 > float32_t4
typedef vector< float64_t, 1 > float64_t1
typedef vector< float64_t, 2 > float64_t2
typedef vector< float64_t, 3 > float64_t3
typedef vector< float64_t, 4 > float64_t4

Functions

half abs (half)
half2 abs (half2)
half3 abs (half3)
half4 abs (half4)
int abs (int)
int2 abs (int2)
int3 abs (int3)
int4 abs (int4)
constexpr uint abs (uint V)
constexpr uint2 abs (uint2 V)
constexpr uint3 abs (uint3 V)
constexpr uint4 abs (uint4 V)
float abs (float)
float2 abs (float2)
float3 abs (float3)
float4 abs (float4)
int64_t abs (int64_t)
int64_t2 abs (int64_t2)
int64_t3 abs (int64_t3)
int64_t4 abs (int64_t4)
constexpr uint64_t abs (uint64_t V)
constexpr uint64_t2 abs (uint64_t2 V)
constexpr uint64_t3 abs (uint64_t3 V)
constexpr uint64_t4 abs (uint64_t4 V)
double abs (double)
double2 abs (double2)
double3 abs (double3)
double4 abs (double4)
half acos (half)
half2 acos (half2)
half3 acos (half3)
half4 acos (half4)
float acos (float)
float2 acos (float2)
float3 acos (float3)
float4 acos (float4)
uint32_t2 AddUint64 (uint32_t2, uint32_t2)
uint32_t4 AddUint64 (uint32_t4, uint32_t4)
bool all (half)
bool all (half2)
bool all (half3)
bool all (half4)
bool all (bool)
bool all (bool2)
bool all (bool3)
bool all (bool4)
bool all (int)
bool all (int2)
bool all (int3)
bool all (int4)
bool all (uint)
bool all (uint2)
bool all (uint3)
bool all (uint4)
bool all (float)
bool all (float2)
bool all (float3)
bool all (float4)
bool all (int64_t)
bool all (int64_t2)
bool all (int64_t3)
bool all (int64_t4)
bool all (uint64_t)
bool all (uint64_t2)
bool all (uint64_t3)
bool all (uint64_t4)
bool all (double)
bool all (double2)
bool all (double3)
bool all (double4)
bool and (bool x, bool y)
 Logically ands two boolean vectors elementwise and produces a bool vector output.
bool2 and (bool2 x, bool2 y)
bool3 and (bool3 x, bool3 y)
bool4 and (bool4 x, bool4 y)
bool any (half)
bool any (half2)
bool any (half3)
bool any (half4)
bool any (bool)
bool any (bool2)
bool any (bool3)
bool any (bool4)
bool any (int)
bool any (int2)
bool any (int3)
bool any (int4)
bool any (uint)
bool any (uint2)
bool any (uint3)
bool any (uint4)
bool any (float)
bool any (float2)
bool any (float3)
bool any (float4)
bool any (int64_t)
bool any (int64_t2)
bool any (int64_t3)
bool any (int64_t4)
bool any (uint64_t)
bool any (uint64_t2)
bool any (uint64_t3)
bool any (uint64_t4)
bool any (double)
bool any (double2)
bool any (double3)
bool any (double4)
double asdouble (uint, uint)
 Reinterprets a cast value (two 32-bit values) into a double.
double2 asdouble (uint2, uint2)
double3 asdouble (uint3, uint3)
double4 asdouble (uint4, uint4)
half asin (half)
half2 asin (half2)
half3 asin (half3)
half4 asin (half4)
float asin (float)
float2 asin (float2)
float3 asin (float3)
float4 asin (float4)
half atan (half)
half2 atan (half2)
half3 atan (half3)
half4 atan (half4)
float atan (float)
float2 atan (float2)
float3 atan (float3)
float4 atan (float4)
half atan2 (half y, half x)
half2 atan2 (half2 y, half2 x)
half3 atan2 (half3 y, half3 x)
half4 atan2 (half4 y, half4 x)
float atan2 (float y, float x)
float2 atan2 (float2 y, float2 x)
float3 atan2 (float3 y, float3 x)
float4 atan2 (float4 y, float4 x)
half ceil (half)
half2 ceil (half2)
half3 ceil (half3)
half4 ceil (half4)
float ceil (float)
float2 ceil (float2)
float3 ceil (float3)
float4 ceil (float4)
half clamp (half, half, half)
half2 clamp (half2, half2, half2)
half3 clamp (half3, half3, half3)
half4 clamp (half4, half4, half4)
int clamp (int, int, int)
int2 clamp (int2, int2, int2)
int3 clamp (int3, int3, int3)
int4 clamp (int4, int4, int4)
uint clamp (uint, uint, uint)
uint2 clamp (uint2, uint2, uint2)
uint3 clamp (uint3, uint3, uint3)
uint4 clamp (uint4, uint4, uint4)
int64_t clamp (int64_t, int64_t, int64_t)
int64_t2 clamp (int64_t2, int64_t2, int64_t2)
int64_t3 clamp (int64_t3, int64_t3, int64_t3)
int64_t4 clamp (int64_t4, int64_t4, int64_t4)
uint64_t clamp (uint64_t, uint64_t, uint64_t)
uint64_t2 clamp (uint64_t2, uint64_t2, uint64_t2)
uint64_t3 clamp (uint64_t3, uint64_t3, uint64_t3)
uint64_t4 clamp (uint64_t4, uint64_t4, uint64_t4)
float clamp (float, float, float)
float2 clamp (float2, float2, float2)
float3 clamp (float3, float3, float3)
float4 clamp (float4, float4, float4)
double clamp (double, double, double)
double2 clamp (double2, double2, double2)
double3 clamp (double3, double3, double3)
double4 clamp (double4, double4, double4)
void clip (float)
void clip (float2)
void clip (float3)
void clip (float4)
half cos (half)
half2 cos (half2)
half3 cos (half3)
half4 cos (half4)
float cos (float)
float2 cos (float2)
float3 cos (float3)
float4 cos (float4)
half cosh (half)
half2 cosh (half2)
half3 cosh (half3)
half4 cosh (half4)
float cosh (float)
float2 cosh (float2)
float3 cosh (float3)
float4 cosh (float4)
const uint countbits (int x)
const uint2 countbits (int2 x)
const uint3 countbits (int3 x)
const uint4 countbits (int4 x)
const uint countbits (uint x)
const uint2 countbits (uint2 x)
const uint3 countbits (uint3 x)
const uint4 countbits (uint4 x)
const uint countbits (int64_t x)
const uint2 countbits (int64_t2 x)
const uint3 countbits (int64_t3 x)
const uint4 countbits (int64_t4 x)
const uint countbits (uint64_t x)
const uint2 countbits (uint64_t2 x)
const uint3 countbits (uint64_t3 x)
const uint4 countbits (uint64_t4 x)
half degrees (half)
half2 degrees (half2)
half3 degrees (half3)
half4 degrees (half4)
float degrees (float)
float2 degrees (float2)
float3 degrees (float3)
float4 degrees (float4)
half dot (half, half)
half dot (half2, half2)
half dot (half3, half3)
half dot (half4, half4)
float dot (float, float)
float dot (float2, float2)
float dot (float3, float3)
float dot (float4, float4)
double dot (double, double)
int dot (int, int)
int dot (int2, int2)
int dot (int3, int3)
int dot (int4, int4)
uint dot (uint, uint)
uint dot (uint2, uint2)
uint dot (uint3, uint3)
uint dot (uint4, uint4)
int64_t dot (int64_t, int64_t)
int64_t dot (int64_t2, int64_t2)
int64_t dot (int64_t3, int64_t3)
int64_t dot (int64_t4, int64_t4)
uint64_t dot (uint64_t, uint64_t)
uint64_t dot (uint64_t2, uint64_t2)
uint64_t dot (uint64_t3, uint64_t3)
uint64_t dot (uint64_t4, uint64_t4)
int dot4add_i8packed (uint, uint, int)
uint dot4add_u8packed (uint, uint, uint)
half exp (half)
half2 exp (half2)
half3 exp (half3)
half4 exp (half4)
float exp (float)
float2 exp (float2)
float3 exp (float3)
float4 exp (float4)
half exp2 (half)
half2 exp2 (half2)
half3 exp2 (half3)
half4 exp2 (half4)
float exp2 (float)
float2 exp2 (float2)
float3 exp2 (float3)
float4 exp2 (float4)
uint firstbithigh (int)
uint2 firstbithigh (int2)
uint3 firstbithigh (int3)
uint4 firstbithigh (int4)
uint firstbithigh (uint)
uint2 firstbithigh (uint2)
uint3 firstbithigh (uint3)
uint4 firstbithigh (uint4)
uint firstbithigh (int64_t)
uint2 firstbithigh (int64_t2)
uint3 firstbithigh (int64_t3)
uint4 firstbithigh (int64_t4)
uint firstbithigh (uint64_t)
uint2 firstbithigh (uint64_t2)
uint3 firstbithigh (uint64_t3)
uint4 firstbithigh (uint64_t4)
uint firstbitlow (int)
uint2 firstbitlow (int2)
uint3 firstbitlow (int3)
uint4 firstbitlow (int4)
uint firstbitlow (uint)
uint2 firstbitlow (uint2)
uint3 firstbitlow (uint3)
uint4 firstbitlow (uint4)
uint firstbitlow (int64_t)
uint2 firstbitlow (int64_t2)
uint3 firstbitlow (int64_t3)
uint4 firstbitlow (int64_t4)
uint firstbitlow (uint64_t)
uint2 firstbitlow (uint64_t2)
uint3 firstbitlow (uint64_t3)
uint4 firstbitlow (uint64_t4)
half floor (half)
half2 floor (half2)
half3 floor (half3)
half4 floor (half4)
float floor (float)
float2 floor (float2)
float3 floor (float3)
float4 floor (float4)
half frac (half)
half2 frac (half2)
half3 frac (half3)
half4 frac (half4)
float frac (float)
float2 frac (float2)
float3 frac (float3)
float4 frac (float4)
bool isinf (half)
bool2 isinf (half2)
bool3 isinf (half3)
bool4 isinf (half4)
bool isinf (float)
bool2 isinf (float2)
bool3 isinf (float3)
bool4 isinf (float4)
half lerp (half, half, half)
half2 lerp (half2, half2, half2)
half3 lerp (half3, half3, half3)
half4 lerp (half4, half4, half4)
float lerp (float, float, float)
float2 lerp (float2, float2, float2)
float3 lerp (float3, float3, float3)
float4 lerp (float4, float4, float4)
half log (half)
half2 log (half2)
half3 log (half3)
half4 log (half4)
float log (float)
float2 log (float2)
float3 log (float3)
float4 log (float4)
half log10 (half)
half2 log10 (half2)
half3 log10 (half3)
half4 log10 (half4)
float log10 (float)
float2 log10 (float2)
float3 log10 (float3)
float4 log10 (float4)
half log2 (half)
half2 log2 (half2)
half3 log2 (half3)
half4 log2 (half4)
float log2 (float)
float2 log2 (float2)
float3 log2 (float3)
float4 log2 (float4)
half mad (half, half, half)
half2 mad (half2, half2, half2)
half3 mad (half3, half3, half3)
half4 mad (half4, half4, half4)
int mad (int, int, int)
int2 mad (int2, int2, int2)
int3 mad (int3, int3, int3)
int4 mad (int4, int4, int4)
uint mad (uint, uint, uint)
uint2 mad (uint2, uint2, uint2)
uint3 mad (uint3, uint3, uint3)
uint4 mad (uint4, uint4, uint4)
int64_t mad (int64_t, int64_t, int64_t)
int64_t2 mad (int64_t2, int64_t2, int64_t2)
int64_t3 mad (int64_t3, int64_t3, int64_t3)
int64_t4 mad (int64_t4, int64_t4, int64_t4)
uint64_t mad (uint64_t, uint64_t, uint64_t)
uint64_t2 mad (uint64_t2, uint64_t2, uint64_t2)
uint64_t3 mad (uint64_t3, uint64_t3, uint64_t3)
uint64_t4 mad (uint64_t4, uint64_t4, uint64_t4)
float mad (float, float, float)
float2 mad (float2, float2, float2)
float3 mad (float3, float3, float3)
float4 mad (float4, float4, float4)
double mad (double, double, double)
double2 mad (double2, double2, double2)
double3 mad (double3, double3, double3)
double4 mad (double4, double4, double4)
half max (half, half)
half2 max (half2, half2)
half3 max (half3, half3)
half4 max (half4, half4)
int max (int, int)
int2 max (int2, int2)
int3 max (int3, int3)
int4 max (int4, int4)
uint max (uint, uint)
uint2 max (uint2, uint2)
uint3 max (uint3, uint3)
uint4 max (uint4, uint4)
int64_t max (int64_t, int64_t)
int64_t2 max (int64_t2, int64_t2)
int64_t3 max (int64_t3, int64_t3)
int64_t4 max (int64_t4, int64_t4)
uint64_t max (uint64_t, uint64_t)
uint64_t2 max (uint64_t2, uint64_t2)
uint64_t3 max (uint64_t3, uint64_t3)
uint64_t4 max (uint64_t4, uint64_t4)
float max (float, float)
float2 max (float2, float2)
float3 max (float3, float3)
float4 max (float4, float4)
double max (double, double)
double2 max (double2, double2)
double3 max (double3, double3)
double4 max (double4, double4)
half min (half, half)
half2 min (half2, half2)
half3 min (half3, half3)
half4 min (half4, half4)
int min (int, int)
int2 min (int2, int2)
int3 min (int3, int3)
int4 min (int4, int4)
uint min (uint, uint)
uint2 min (uint2, uint2)
uint3 min (uint3, uint3)
uint4 min (uint4, uint4)
float min (float, float)
float2 min (float2, float2)
float3 min (float3, float3)
float4 min (float4, float4)
int64_t min (int64_t, int64_t)
int64_t2 min (int64_t2, int64_t2)
int64_t3 min (int64_t3, int64_t3)
int64_t4 min (int64_t4, int64_t4)
uint64_t min (uint64_t, uint64_t)
uint64_t2 min (uint64_t2, uint64_t2)
uint64_t3 min (uint64_t3, uint64_t3)
uint64_t4 min (uint64_t4, uint64_t4)
double min (double, double)
double2 min (double2, double2)
double3 min (double3, double3)
double4 min (double4, double4)
half normalize (half)
half2 normalize (half2)
half3 normalize (half3)
half4 normalize (half4)
float normalize (float)
float2 normalize (float2)
float3 normalize (float3)
float4 normalize (float4)
bool or (bool, bool)
 Logically ors two boolean vectors elementwise and produces a bool vector output.
bool2 or (bool2, bool2)
bool3 or (bool3, bool3)
bool4 or (bool4, bool4)
half pow (half, half)
half2 pow (half2, half2)
half3 pow (half3, half3)
half4 pow (half4, half4)
float pow (float, float)
float2 pow (float2, float2)
float3 pow (float3, float3)
float4 pow (float4, float4)
uint reversebits (uint)
uint2 reversebits (uint2)
uint3 reversebits (uint3)
uint4 reversebits (uint4)
uint64_t reversebits (uint64_t)
uint64_t2 reversebits (uint64_t2)
uint64_t3 reversebits (uint64_t3)
uint64_t4 reversebits (uint64_t4)
half3 cross (half3, half3)
float3 cross (float3, float3)
half rcp (half)
half2 rcp (half2)
half3 rcp (half3)
half4 rcp (half4)
float rcp (float)
float2 rcp (float2)
float3 rcp (float3)
float4 rcp (float4)
double rcp (double)
double2 rcp (double2)
double3 rcp (double3)
double4 rcp (double4)
half rsqrt (half)
half2 rsqrt (half2)
half3 rsqrt (half3)
half4 rsqrt (half4)
float rsqrt (float)
float2 rsqrt (float2)
float3 rsqrt (float3)
float4 rsqrt (float4)
half round (half)
half2 round (half2)
half3 round (half3)
half4 round (half4)
float round (float)
float2 round (float2)
float3 round (float3)
float4 round (float4)
half saturate (half)
half2 saturate (half2)
half3 saturate (half3)
half4 saturate (half4)
float saturate (float)
float2 saturate (float2)
float3 saturate (float3)
float4 saturate (float4)
double saturate (double)
double2 saturate (double2)
double3 saturate (double3)
double4 saturate (double4)
template<typename T>
select (bool, T, T)
 ternary operator.
template<typename T, int Sz>
vector< T, Sz > select (vector< bool, Sz >, vector< T, Sz >, vector< T, Sz >)
 ternary operator for vectors.
template<typename T, int Sz>
vector< T, Sz > select (vector< bool, Sz >, T, vector< T, Sz >)
 ternary operator for vectors.
template<typename T, int Sz>
vector< T, Sz > select (vector< bool, Sz >, vector< T, Sz >, T)
 ternary operator for vectors.
template<typename T, int Sz>
__detail::enable_if_t< __detail::is_arithmetic< T >::Value, vector< T, Sz > > select (vector< bool, Sz >, T, T)
half sin (half)
half2 sin (half2)
half3 sin (half3)
half4 sin (half4)
float sin (float)
float2 sin (float2)
float3 sin (float3)
float4 sin (float4)
half sinh (half)
half2 sinh (half2)
half3 sinh (half3)
half4 sinh (half4)
float sinh (float)
float2 sinh (float2)
float3 sinh (float3)
float4 sinh (float4)
half sqrt (half)
half2 sqrt (half2)
half3 sqrt (half3)
half4 sqrt (half4)
float sqrt (float)
float2 sqrt (float2)
float3 sqrt (float3)
float4 sqrt (float4)
half step (half, half)
half2 step (half2, half2)
half3 step (half3, half3)
half4 step (half4, half4)
float step (float, float)
float2 step (float2, float2)
float3 step (float3, float3)
float4 step (float4, float4)
half tan (half)
half2 tan (half2)
half3 tan (half3)
half4 tan (half4)
float tan (float)
float2 tan (float2)
float3 tan (float3)
float4 tan (float4)
half tanh (half)
half2 tanh (half2)
half3 tanh (half3)
half4 tanh (half4)
float tanh (float)
float2 tanh (float2)
float3 tanh (float3)
float4 tanh (float4)
half trunc (half)
half2 trunc (half2)
half3 trunc (half3)
half4 trunc (half4)
float trunc (float)
float2 trunc (float2)
float3 trunc (float3)
float4 trunc (float4)
 __attribute__ ((convergent)) bool WaveActiveAllTrue(bool Val)
 Returns true if the expression is true in all active lanes in the current wave.
int sign (half)
int2 sign (half2)
int3 sign (half3)
int4 sign (half4)
int sign (int)
int2 sign (int2)
int3 sign (int3)
int4 sign (int4)
int sign (uint)
int2 sign (uint2)
int3 sign (uint3)
int4 sign (uint4)
int sign (float)
int2 sign (float2)
int3 sign (float3)
int4 sign (float4)
int sign (int64_t)
int2 sign (int64_t2)
int3 sign (int64_t3)
int4 sign (int64_t4)
int sign (uint64_t)
int2 sign (uint64_t2)
int3 sign (uint64_t3)
int4 sign (uint64_t4)
int sign (double)
int2 sign (double2)
int3 sign (double3)
int4 sign (double4)
half radians (half)
half2 radians (half2)
half3 radians (half3)
half4 radians (half4)
float radians (float)
float2 radians (float2)
float3 radians (float3)
float4 radians (float4)
void GroupMemoryBarrierWithGroupSync (void)
 Blocks execution of all threads in a group until all group shared accesses have been completed and all threads in the group have reached this call.
template<typename T, uint N>
constexpr __detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > clamp (vector< T, N > p0, vector< T, N > p1, T p2)
template<typename T, uint N>
constexpr __detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > clamp (vector< T, N > p0, T p1, vector< T, N > p2)
template<typename T, uint N>
constexpr __detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > clamp (vector< T, N > p0, T p1, T p2)
constexpr bool isinf (double V)
constexpr bool2 isinf (double2 V)
constexpr bool3 isinf (double3 V)
constexpr bool4 isinf (double4 V)
template<typename T, uint N>
constexpr __detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > lerp (vector< T, N > x, vector< T, N > y, T s)
template<typename T, uint N>
constexpr __detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > max (vector< T, N > p0, T p1)
template<typename T, uint N>
constexpr __detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > max (T p0, vector< T, N > p1)
template<typename T, uint N>
constexpr __detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > min (vector< T, N > p0, T p1)
template<typename T, uint N>
constexpr __detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > min (T p0, vector< T, N > p1)
template<typename T, int N>
constexpr vector< float, N > asfloat (vector< T, N > V)
template<typename T>
constexpr float asfloat (T F)
 Interprets the bit pattern of x as float point number.
template<typename T, int N>
constexpr vector< int, N > asint (vector< T, N > V)
template<typename T>
constexpr int asint (T F)
 Interprets the bit pattern of x as an integer.
template<typename T, int N>
constexpr vector< uint, N > asuint (vector< T, N > V)
template<typename T>
constexpr uint asuint (T F)
 Interprets the bit pattern of x as an unsigned integer.
void asuint (double, out uint, out uint)
void asuint (double2, out uint2, out uint2)
void asuint (double3, out uint3, out uint3)
void asuint (double4, out uint4, out uint4)
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > distance (T X, T Y)
 Returns a distance scalar between X and Y.
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > distance (T X, T Y)
template<int N>
const half distance (__detail::HLSL_FIXED_VECTOR< half, N > X, __detail::HLSL_FIXED_VECTOR< half, N > Y)
template<int N>
const float distance (__detail::HLSL_FIXED_VECTOR< float, N > X, __detail::HLSL_FIXED_VECTOR< float, N > Y)
const float dot2add (half2 A, half2 B, float C)
 Dot product of 2 vector of type half and add a float scalar value.
const half4 dst (half4 Src0, half4 Src1)
const float4 dst (float4 Src0, float4 Src1)
const double4 dst (double4 Src0, double4 Src1)
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > faceforward (T N, T I, T Ng)
 Flips the surface-normal (if needed) to face in a direction opposite to I.
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > faceforward (T N, T I, T Ng)
template<int L>
const __detail::HLSL_FIXED_VECTOR< half, L > faceforward (__detail::HLSL_FIXED_VECTOR< half, L > N, __detail::HLSL_FIXED_VECTOR< half, L > I, __detail::HLSL_FIXED_VECTOR< half, L > Ng)
template<int L>
const __detail::HLSL_FIXED_VECTOR< float, L > faceforward (__detail::HLSL_FIXED_VECTOR< float, L > N, __detail::HLSL_FIXED_VECTOR< float, L > I, __detail::HLSL_FIXED_VECTOR< float, L > Ng)
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > fmod (T X, T Y)
 Returns the linear interpolation of x to y.
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > fmod (T X, T Y)
template<int N>
const __detail::HLSL_FIXED_VECTOR< half, N > fmod (__detail::HLSL_FIXED_VECTOR< half, N > X, __detail::HLSL_FIXED_VECTOR< half, N > Y)
template<int N>
const __detail::HLSL_FIXED_VECTOR< float, N > fmod (__detail::HLSL_FIXED_VECTOR< float, N > X, __detail::HLSL_FIXED_VECTOR< float, N > Y)
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > ldexp (T X, T Exp)
 Returns the result of multiplying the specified value by two raised to the power of the specified exponent.
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > ldexp (T X, T Exp)
template<int N>
const __detail::HLSL_FIXED_VECTOR< half, N > ldexp (__detail::HLSL_FIXED_VECTOR< half, N > X, __detail::HLSL_FIXED_VECTOR< half, N > Exp)
template<int N>
const __detail::HLSL_FIXED_VECTOR< float, N > ldexp (__detail::HLSL_FIXED_VECTOR< float, N > X, __detail::HLSL_FIXED_VECTOR< float, N > Exp)
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > length (T X)
 Returns the length of the specified floating-point vector.
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > length (T X)
template<int N>
const half length (__detail::HLSL_FIXED_VECTOR< half, N > X)
template<int N>
const float length (__detail::HLSL_FIXED_VECTOR< float, N > X)
const half4 lit (half NDotL, half NDotH, half M)
const float4 lit (float NDotL, float NDotH, float M)
constexpr int4 D3DCOLORtoUBYTE4 (float4 V)
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > reflect (T I, T N)
 Returns a reflection using an incident ray, I, and a surface normal, N.
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > reflect (T I, T N)
template<int L>
const __detail::HLSL_FIXED_VECTOR< half, L > reflect (__detail::HLSL_FIXED_VECTOR< half, L > I, __detail::HLSL_FIXED_VECTOR< half, L > N)
template<int L>
const __detail::HLSL_FIXED_VECTOR< float, L > reflect (__detail::HLSL_FIXED_VECTOR< float, L > I, __detail::HLSL_FIXED_VECTOR< float, L > N)
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > refract (T I, T N, T eta)
 Returns a refraction using an entering ray, I, a surface normal, N and refraction index eta.
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > refract (T I, T N, T eta)
template<int L>
const __detail::HLSL_FIXED_VECTOR< half, L > refract (__detail::HLSL_FIXED_VECTOR< half, L > I, __detail::HLSL_FIXED_VECTOR< half, L > N, half eta)
template<int L>
const __detail::HLSL_FIXED_VECTOR< float, L > refract (__detail::HLSL_FIXED_VECTOR< float, L > I, __detail::HLSL_FIXED_VECTOR< float, L > N, float eta)
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > smoothstep (T Min, T Max, T X)
 Returns a smooth Hermite interpolation between 0 and 1, if X is in the range [Min, Max].
template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > smoothstep (T Min, T Max, T X)
template<int N>
const __detail::HLSL_FIXED_VECTOR< half, N > smoothstep (__detail::HLSL_FIXED_VECTOR< half, N > Min, __detail::HLSL_FIXED_VECTOR< half, N > Max, __detail::HLSL_FIXED_VECTOR< half, N > X)
template<int N>
const __detail::HLSL_FIXED_VECTOR< float, N > smoothstep (__detail::HLSL_FIXED_VECTOR< float, N > Min, __detail::HLSL_FIXED_VECTOR< float, N > Max, __detail::HLSL_FIXED_VECTOR< float, N > X)

Typedef Documentation

◆ bool1

typedef vector<bool, 1> hlsl::bool1

Definition at line 60 of file hlsl_basic_types.h.

◆ bool2

typedef vector<bool, 2> hlsl::bool2

Definition at line 61 of file hlsl_basic_types.h.

◆ bool3

typedef vector<bool, 3> hlsl::bool3

Definition at line 62 of file hlsl_basic_types.h.

◆ bool4

typedef vector<bool, 4> hlsl::bool4

Definition at line 63 of file hlsl_basic_types.h.

◆ double1

typedef vector<double, 1> hlsl::double1

Definition at line 97 of file hlsl_basic_types.h.

◆ double2

typedef vector<double, 2> hlsl::double2

Definition at line 98 of file hlsl_basic_types.h.

◆ double3

typedef vector<double, 3> hlsl::double3

Definition at line 99 of file hlsl_basic_types.h.

◆ double4

typedef vector<double, 4> hlsl::double4

Definition at line 100 of file hlsl_basic_types.h.

◆ float1

typedef vector<float, 1> hlsl::float1

Definition at line 93 of file hlsl_basic_types.h.

◆ float2

typedef vector<float, 2> hlsl::float2

Definition at line 94 of file hlsl_basic_types.h.

◆ float3

typedef vector<float, 3> hlsl::float3

Definition at line 95 of file hlsl_basic_types.h.

◆ float32_t

Definition at line 39 of file hlsl_basic_types.h.

◆ float32_t1

typedef vector<float32_t, 1> hlsl::float32_t1

Definition at line 109 of file hlsl_basic_types.h.

◆ float32_t2

typedef vector<float32_t, 2> hlsl::float32_t2

Definition at line 110 of file hlsl_basic_types.h.

◆ float32_t3

typedef vector<float32_t, 3> hlsl::float32_t3

Definition at line 111 of file hlsl_basic_types.h.

◆ float32_t4

typedef vector<float32_t, 4> hlsl::float32_t4

Definition at line 112 of file hlsl_basic_types.h.

◆ float4

typedef vector<float, 4> hlsl::float4

Definition at line 96 of file hlsl_basic_types.h.

◆ float64_t

Definition at line 46 of file hlsl_basic_types.h.

◆ float64_t1

typedef vector<float64_t, 1> hlsl::float64_t1

Definition at line 113 of file hlsl_basic_types.h.

◆ float64_t2

typedef vector<float64_t, 2> hlsl::float64_t2

Definition at line 114 of file hlsl_basic_types.h.

◆ float64_t3

typedef vector<float64_t, 3> hlsl::float64_t3

Definition at line 115 of file hlsl_basic_types.h.

◆ float64_t4

typedef vector<float64_t, 4> hlsl::float64_t4

Definition at line 116 of file hlsl_basic_types.h.

◆ half1

typedef vector<half, 1> hlsl::half1

Definition at line 89 of file hlsl_basic_types.h.

◆ half2

typedef vector<half, 2> hlsl::half2

Definition at line 90 of file hlsl_basic_types.h.

◆ half3

typedef vector<half, 3> hlsl::half3

Definition at line 91 of file hlsl_basic_types.h.

◆ half4

typedef vector<half, 4> hlsl::half4

Definition at line 92 of file hlsl_basic_types.h.

◆ int1

typedef vector<int, 1> hlsl::int1

Definition at line 64 of file hlsl_basic_types.h.

◆ int2

typedef vector<int, 2> hlsl::int2

Definition at line 65 of file hlsl_basic_types.h.

◆ int3

typedef vector<int, 3> hlsl::int3

Definition at line 66 of file hlsl_basic_types.h.

◆ int32_t

typedef int hlsl::int32_t

Definition at line 32 of file hlsl_basic_types.h.

◆ int32_t1

typedef vector<int32_t, 1> hlsl::int32_t1

Definition at line 72 of file hlsl_basic_types.h.

◆ int32_t2

typedef vector<int32_t, 2> hlsl::int32_t2

Definition at line 73 of file hlsl_basic_types.h.

◆ int32_t3

typedef vector<int32_t, 3> hlsl::int32_t3

Definition at line 74 of file hlsl_basic_types.h.

◆ int32_t4

typedef vector<int32_t, 4> hlsl::int32_t4

Definition at line 75 of file hlsl_basic_types.h.

◆ int4

typedef vector<int, 4> hlsl::int4

Definition at line 67 of file hlsl_basic_types.h.

◆ int64_t

typedef long hlsl::int64_t

Definition at line 43 of file hlsl_basic_types.h.

◆ int64_t1

typedef vector<int64_t, 1> hlsl::int64_t1

Definition at line 80 of file hlsl_basic_types.h.

◆ int64_t2

typedef vector<int64_t, 2> hlsl::int64_t2

Definition at line 81 of file hlsl_basic_types.h.

◆ int64_t3

typedef vector<int64_t, 3> hlsl::int64_t3

Definition at line 82 of file hlsl_basic_types.h.

◆ int64_t4

typedef vector<int64_t, 4> hlsl::int64_t4

Definition at line 83 of file hlsl_basic_types.h.

◆ uint

An unsigned 32-bit integer.

Definition at line 35 of file hlsl_basic_types.h.

◆ uint1

typedef vector<uint, 1> hlsl::uint1

Definition at line 68 of file hlsl_basic_types.h.

◆ uint2

typedef vector<uint, 2> hlsl::uint2

Definition at line 69 of file hlsl_basic_types.h.

◆ uint3

typedef vector<uint, 3> hlsl::uint3

Definition at line 70 of file hlsl_basic_types.h.

◆ uint32_t

Definition at line 36 of file hlsl_basic_types.h.

◆ uint32_t1

typedef vector<uint32_t, 1> hlsl::uint32_t1

Definition at line 76 of file hlsl_basic_types.h.

◆ uint32_t2

typedef vector<uint32_t, 2> hlsl::uint32_t2

Definition at line 77 of file hlsl_basic_types.h.

◆ uint32_t3

typedef vector<uint32_t, 3> hlsl::uint32_t3

Definition at line 78 of file hlsl_basic_types.h.

◆ uint32_t4

typedef vector<uint32_t, 4> hlsl::uint32_t4

Definition at line 79 of file hlsl_basic_types.h.

◆ uint4

typedef vector<uint, 4> hlsl::uint4

Definition at line 71 of file hlsl_basic_types.h.

◆ uint64_t

typedef unsigned long hlsl::uint64_t

Definition at line 42 of file hlsl_basic_types.h.

◆ uint64_t1

typedef vector<uint64_t, 1> hlsl::uint64_t1

Definition at line 84 of file hlsl_basic_types.h.

◆ uint64_t2

typedef vector<uint64_t, 2> hlsl::uint64_t2

Definition at line 85 of file hlsl_basic_types.h.

◆ uint64_t3

typedef vector<uint64_t, 3> hlsl::uint64_t3

Definition at line 86 of file hlsl_basic_types.h.

◆ uint64_t4

typedef vector<uint64_t, 4> hlsl::uint64_t4

Definition at line 87 of file hlsl_basic_types.h.

Function Documentation

◆ __attribute__()

hlsl::__attribute__ ( (convergent) )

Returns true if the expression is true in all active lanes in the current wave.

Returns the index of the current lane within the current wave.

Counts the number of boolean variables which evaluate to true across all active lanes in the current wave.

Returns true if the expression is true in any active lane in the current wave.

Parameters
ValThe boolean expression to evaluate.
Returns
True if the expression is true in all lanes.
Parameters
ValThe boolean expression to evaluate.
Returns
True if the expression is true in any lane.
Parameters
ValThe input boolean value.
Returns
The number of lanes for which the boolean variable evaluates to true, across all active lanes in the current wave.

References __attribute__(), _HLSL_16BIT_AVAILABILITY, _HLSL_AVAILABILITY, _HLSL_BUILTIN_ALIAS, and sign().

Referenced by __attribute__().

◆ abs() [1/28]

double hlsl::abs ( double )

References _HLSL_BUILTIN_ALIAS, abs(), and double.

◆ abs() [2/28]

double2 hlsl::abs ( double2 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [3/28]

double3 hlsl::abs ( double3 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [4/28]

◆ abs() [5/28]

float hlsl::abs ( float )

References _HLSL_BUILTIN_ALIAS, abs(), and float.

◆ abs() [6/28]

float2 hlsl::abs ( float2 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [7/28]

float3 hlsl::abs ( float3 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [8/28]

float4 hlsl::abs ( float4 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [9/28]

◆ abs() [10/28]

◆ abs() [11/28]

◆ abs() [12/28]

half4 hlsl::abs ( half4 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [13/28]

int hlsl::abs ( int )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [14/28]

int2 hlsl::abs ( int2 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [15/28]

int3 hlsl::abs ( int3 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [16/28]

int4 hlsl::abs ( int4 )

References abs().

◆ abs() [17/28]

int64_t hlsl::abs ( int64_t )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [18/28]

int64_t2 hlsl::abs ( int64_t2 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [19/28]

int64_t3 hlsl::abs ( int64_t3 )

References _HLSL_BUILTIN_ALIAS, and abs().

◆ abs() [20/28]

int64_t4 hlsl::abs ( int64_t4 )

References abs().

◆ abs() [21/28]

uint hlsl::abs ( uint V)
constexpr

Definition at line 92 of file hlsl_alias_intrinsics.h.

References abs(), and V.

◆ abs() [22/28]

uint2 hlsl::abs ( uint2 V)
constexpr

Definition at line 93 of file hlsl_alias_intrinsics.h.

References V.

◆ abs() [23/28]

uint3 hlsl::abs ( uint3 V)
constexpr

Definition at line 94 of file hlsl_alias_intrinsics.h.

References V.

◆ abs() [24/28]

uint4 hlsl::abs ( uint4 V)
constexpr

Definition at line 95 of file hlsl_alias_intrinsics.h.

References V.

◆ abs() [25/28]

uint64_t hlsl::abs ( uint64_t V)
constexpr

Definition at line 115 of file hlsl_alias_intrinsics.h.

References abs(), and V.

◆ abs() [26/28]

uint64_t2 hlsl::abs ( uint64_t2 V)
constexpr

Definition at line 116 of file hlsl_alias_intrinsics.h.

References V.

◆ abs() [27/28]

uint64_t3 hlsl::abs ( uint64_t3 V)
constexpr

Definition at line 117 of file hlsl_alias_intrinsics.h.

References V.

◆ abs() [28/28]

uint64_t4 hlsl::abs ( uint64_t4 V)
constexpr

Definition at line 118 of file hlsl_alias_intrinsics.h.

References V.

◆ acos() [1/8]

float hlsl::acos ( float )

References _HLSL_BUILTIN_ALIAS, and acos().

◆ acos() [2/8]

float2 hlsl::acos ( float2 )

References _HLSL_BUILTIN_ALIAS, and acos().

◆ acos() [3/8]

float3 hlsl::acos ( float3 )

References _HLSL_BUILTIN_ALIAS, and acos().

◆ acos() [4/8]

float4 hlsl::acos ( float4 )

◆ acos() [5/8]

half hlsl::acos ( half )

◆ acos() [6/8]

◆ acos() [7/8]

◆ acos() [8/8]

half4 hlsl::acos ( half4 )

References _HLSL_BUILTIN_ALIAS, and acos().

◆ AddUint64() [1/2]

uint32_t2 hlsl::AddUint64 ( uint32_t2 ,
uint32_t2  )

◆ AddUint64() [2/2]

◆ all() [1/32]

bool hlsl::all ( bool )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [2/32]

bool hlsl::all ( bool2 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [3/32]

bool hlsl::all ( bool3 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [4/32]

bool hlsl::all ( bool4 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [5/32]

bool hlsl::all ( double )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [6/32]

bool hlsl::all ( double2 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [7/32]

bool hlsl::all ( double3 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [8/32]

bool hlsl::all ( double4 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [9/32]

bool hlsl::all ( float )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [10/32]

bool hlsl::all ( float2 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [11/32]

bool hlsl::all ( float3 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [12/32]

bool hlsl::all ( float4 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [13/32]

◆ all() [14/32]

bool hlsl::all ( half2 )

◆ all() [15/32]

bool hlsl::all ( half3 )

◆ all() [16/32]

bool hlsl::all ( half4 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [17/32]

bool hlsl::all ( int )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [18/32]

bool hlsl::all ( int2 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [19/32]

bool hlsl::all ( int3 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [20/32]

bool hlsl::all ( int4 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [21/32]

bool hlsl::all ( int64_t )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [22/32]

bool hlsl::all ( int64_t2 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [23/32]

bool hlsl::all ( int64_t3 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [24/32]

bool hlsl::all ( int64_t4 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [25/32]

bool hlsl::all ( uint )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [26/32]

bool hlsl::all ( uint2 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [27/32]

bool hlsl::all ( uint3 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [28/32]

bool hlsl::all ( uint4 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [29/32]

bool hlsl::all ( uint64_t )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [30/32]

bool hlsl::all ( uint64_t2 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [31/32]

bool hlsl::all ( uint64_t3 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ all() [32/32]

bool hlsl::all ( uint64_t4 )

References _HLSL_BUILTIN_ALIAS, and all().

◆ and() [1/4]

bool hlsl::and ( bool x,
bool y )

Logically ands two boolean vectors elementwise and produces a bool vector output.

References _HLSL_BUILTIN_ALIAS, and and().

Referenced by and(), and(), and(), and and().

◆ and() [2/4]

bool2 hlsl::and ( bool2 x,
bool2 y )

References _HLSL_BUILTIN_ALIAS, and and().

◆ and() [3/4]

bool3 hlsl::and ( bool3 x,
bool3 y )

References _HLSL_BUILTIN_ALIAS, and and().

◆ and() [4/4]

bool4 hlsl::and ( bool4 x,
bool4 y )

◆ any() [1/32]

bool hlsl::any ( bool )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [2/32]

bool hlsl::any ( bool2 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [3/32]

bool hlsl::any ( bool3 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [4/32]

bool hlsl::any ( bool4 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [5/32]

bool hlsl::any ( double )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [6/32]

bool hlsl::any ( double2 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [7/32]

bool hlsl::any ( double3 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [8/32]

bool hlsl::any ( double4 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [9/32]

bool hlsl::any ( float )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [10/32]

bool hlsl::any ( float2 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [11/32]

bool hlsl::any ( float3 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [12/32]

bool hlsl::any ( float4 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [13/32]

◆ any() [14/32]

bool hlsl::any ( half2 )

◆ any() [15/32]

bool hlsl::any ( half3 )

◆ any() [16/32]

bool hlsl::any ( half4 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [17/32]

bool hlsl::any ( int )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [18/32]

bool hlsl::any ( int2 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [19/32]

bool hlsl::any ( int3 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [20/32]

bool hlsl::any ( int4 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [21/32]

bool hlsl::any ( int64_t )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [22/32]

bool hlsl::any ( int64_t2 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [23/32]

bool hlsl::any ( int64_t3 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [24/32]

bool hlsl::any ( int64_t4 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [25/32]

bool hlsl::any ( uint )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [26/32]

bool hlsl::any ( uint2 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [27/32]

bool hlsl::any ( uint3 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [28/32]

bool hlsl::any ( uint4 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [29/32]

bool hlsl::any ( uint64_t )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [30/32]

bool hlsl::any ( uint64_t2 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [31/32]

bool hlsl::any ( uint64_t3 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ any() [32/32]

bool hlsl::any ( uint64_t4 )

References _HLSL_BUILTIN_ALIAS, and any().

◆ asdouble() [1/4]

double hlsl::asdouble ( uint LowBits,
uint HighBits )

Reinterprets a cast value (two 32-bit values) into a double.

Parameters
LowBitsThe low 32-bit pattern of the input value.
HighBitsThe high 32-bit pattern of the input value.

References _HLSL_BUILTIN_ALIAS, and asdouble().

Referenced by asdouble(), asdouble(), asdouble(), and asdouble().

◆ asdouble() [2/4]

double2 hlsl::asdouble ( uint2 ,
uint2  )

References _HLSL_BUILTIN_ALIAS, and asdouble().

◆ asdouble() [3/4]

double3 hlsl::asdouble ( uint3 ,
uint3  )

References _HLSL_BUILTIN_ALIAS, and asdouble().

◆ asdouble() [4/4]

double4 hlsl::asdouble ( uint4 ,
uint4  )

◆ asfloat() [1/2]

template<typename T>
float hlsl::asfloat ( T Val)
constexpr

Interprets the bit pattern of x as float point number.

Parameters
ValThe input value.

Definition at line 29 of file hlsl_intrinsics.h.

References hlsl::__detail::bit_cast().

◆ asfloat() [2/2]

template<typename T, int N>
vector< float, N > hlsl::asfloat ( vector< T, N > V)
constexpr

Definition at line 25 of file hlsl_intrinsics.h.

References hlsl::__detail::bit_cast(), and V.

◆ asin() [1/8]

float hlsl::asin ( float )

References _HLSL_BUILTIN_ALIAS, and asin().

◆ asin() [2/8]

float2 hlsl::asin ( float2 )

References _HLSL_BUILTIN_ALIAS, and asin().

◆ asin() [3/8]

float3 hlsl::asin ( float3 )

References _HLSL_BUILTIN_ALIAS, and asin().

◆ asin() [4/8]

◆ asin() [5/8]

half hlsl::asin ( half )

◆ asin() [6/8]

◆ asin() [7/8]

◆ asin() [8/8]

half4 hlsl::asin ( half4 )

References _HLSL_BUILTIN_ALIAS, and asin().

◆ asint() [1/2]

template<typename T>
int hlsl::asint ( T Val)
constexpr

Interprets the bit pattern of x as an integer.

Parameters
ValThe input value.

Definition at line 45 of file hlsl_intrinsics.h.

References hlsl::__detail::bit_cast().

◆ asint() [2/2]

template<typename T, int N>
vector< int, N > hlsl::asint ( vector< T, N > V)
constexpr

Definition at line 41 of file hlsl_intrinsics.h.

References hlsl::__detail::bit_cast(), and V.

◆ asuint() [1/6]

void hlsl::asuint ( double ,
out uint,
out uint )

References _HLSL_BUILTIN_ALIAS, and asuint().

◆ asuint() [2/6]

void hlsl::asuint ( double2 ,
out uint2,
out uint2 )

References _HLSL_BUILTIN_ALIAS, and asuint().

◆ asuint() [3/6]

void hlsl::asuint ( double3 ,
out uint3,
out uint3 )

References _HLSL_BUILTIN_ALIAS, and asuint().

◆ asuint() [4/6]

void hlsl::asuint ( double4 ,
out uint4,
out uint4 )

◆ asuint() [5/6]

template<typename T>
uint hlsl::asuint ( T Val)
constexpr

Interprets the bit pattern of x as an unsigned integer.

Parameters
ValThe input value.

Definition at line 90 of file hlsl_intrinsics.h.

References hlsl::__detail::bit_cast().

◆ asuint() [6/6]

template<typename T, int N>
vector< uint, N > hlsl::asuint ( vector< T, N > V)
constexpr

Definition at line 86 of file hlsl_intrinsics.h.

References hlsl::__detail::bit_cast(), and V.

Referenced by asuint(), asuint(), asuint(), and asuint().

◆ atan() [1/8]

float hlsl::atan ( float )

References _HLSL_BUILTIN_ALIAS, and atan().

◆ atan() [2/8]

float2 hlsl::atan ( float2 )

References _HLSL_BUILTIN_ALIAS, and atan().

◆ atan() [3/8]

float3 hlsl::atan ( float3 )

References _HLSL_BUILTIN_ALIAS, and atan().

◆ atan() [4/8]

◆ atan() [5/8]

half hlsl::atan ( half )

◆ atan() [6/8]

◆ atan() [7/8]

◆ atan() [8/8]

half4 hlsl::atan ( half4 )

References _HLSL_BUILTIN_ALIAS, and atan().

◆ atan2() [1/8]

float hlsl::atan2 ( float y,
float x )

References _HLSL_BUILTIN_ALIAS, and atan2().

◆ atan2() [2/8]

float2 hlsl::atan2 ( float2 y,
float2 x )

References _HLSL_BUILTIN_ALIAS, and atan2().

◆ atan2() [3/8]

float3 hlsl::atan2 ( float3 y,
float3 x )

References _HLSL_BUILTIN_ALIAS, and atan2().

◆ atan2() [4/8]

float4 hlsl::atan2 ( float4 y,
float4 x )

◆ atan2() [5/8]

half hlsl::atan2 ( half y,
half x )

◆ atan2() [6/8]

half2 hlsl::atan2 ( half2 y,
half2 x )

◆ atan2() [7/8]

half3 hlsl::atan2 ( half3 y,
half3 x )

◆ atan2() [8/8]

half4 hlsl::atan2 ( half4 y,
half4 x )

References _HLSL_BUILTIN_ALIAS, and atan2().

◆ ceil() [1/8]

float hlsl::ceil ( float )

References _HLSL_BUILTIN_ALIAS, and ceil().

◆ ceil() [2/8]

float2 hlsl::ceil ( float2 )

References _HLSL_BUILTIN_ALIAS, and ceil().

◆ ceil() [3/8]

float3 hlsl::ceil ( float3 )

References _HLSL_BUILTIN_ALIAS, and ceil().

◆ ceil() [4/8]

◆ ceil() [5/8]

half hlsl::ceil ( half )

◆ ceil() [6/8]

◆ ceil() [7/8]

◆ ceil() [8/8]

half4 hlsl::ceil ( half4 )

References _HLSL_BUILTIN_ALIAS, and ceil().

◆ clamp() [1/31]

double hlsl::clamp ( double ,
double ,
double  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [2/31]

double2 hlsl::clamp ( double2 ,
double2 ,
double2  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [3/31]

double3 hlsl::clamp ( double3 ,
double3 ,
double3  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [4/31]

double4 hlsl::clamp ( double4 ,
double4 ,
double4  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [5/31]

float hlsl::clamp ( float ,
float ,
float  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [6/31]

float2 hlsl::clamp ( float2 ,
float2 ,
float2  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [7/31]

float3 hlsl::clamp ( float3 ,
float3 ,
float3  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [8/31]

float4 hlsl::clamp ( float4 ,
float4 ,
float4  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [9/31]

◆ clamp() [10/31]

half2 hlsl::clamp ( half2 ,
half2 ,
half2  )

◆ clamp() [11/31]

half3 hlsl::clamp ( half3 ,
half3 ,
half3  )

◆ clamp() [12/31]

half4 hlsl::clamp ( half4 ,
half4 ,
half4  )

◆ clamp() [13/31]

int hlsl::clamp ( int ,
int ,
int  )

References _HLSL_BUILTIN_ALIAS, clamp(), and int.

◆ clamp() [14/31]

int2 hlsl::clamp ( int2 ,
int2 ,
int2  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [15/31]

int3 hlsl::clamp ( int3 ,
int3 ,
int3  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [16/31]

int4 hlsl::clamp ( int4 ,
int4 ,
int4  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [17/31]

int64_t hlsl::clamp ( int64_t ,
int64_t ,
int64_t  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [18/31]

int64_t2 hlsl::clamp ( int64_t2 ,
int64_t2 ,
int64_t2  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [19/31]

int64_t3 hlsl::clamp ( int64_t3 ,
int64_t3 ,
int64_t3  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [20/31]

int64_t4 hlsl::clamp ( int64_t4 ,
int64_t4 ,
int64_t4  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [21/31]

uint hlsl::clamp ( uint ,
uint ,
uint  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [22/31]

uint2 hlsl::clamp ( uint2 ,
uint2 ,
uint2  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [23/31]

uint3 hlsl::clamp ( uint3 ,
uint3 ,
uint3  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [24/31]

uint4 hlsl::clamp ( uint4 ,
uint4 ,
uint4  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [25/31]

uint64_t hlsl::clamp ( uint64_t ,
uint64_t ,
uint64_t  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [26/31]

uint64_t2 hlsl::clamp ( uint64_t2 ,
uint64_t2 ,
uint64_t2  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [27/31]

uint64_t3 hlsl::clamp ( uint64_t3 ,
uint64_t3 ,
uint64_t3  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [28/31]

uint64_t4 hlsl::clamp ( uint64_t4 ,
uint64_t4 ,
uint64_t4  )

References _HLSL_BUILTIN_ALIAS, and clamp().

◆ clamp() [29/31]

template<typename T, uint N>
__detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > hlsl::clamp ( vector< T, N > p0,
T p1,
T p2 )
constexpr

Definition at line 214 of file hlsl_compat_overloads.h.

References clamp().

◆ clamp() [30/31]

template<typename T, uint N>
__detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > hlsl::clamp ( vector< T, N > p0,
T p1,
vector< T, N > p2 )
constexpr

Definition at line 208 of file hlsl_compat_overloads.h.

References clamp().

◆ clamp() [31/31]

template<typename T, uint N>
__detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > hlsl::clamp ( vector< T, N > p0,
vector< T, N > p1,
T p2 )
constexpr

Definition at line 202 of file hlsl_compat_overloads.h.

References clamp().

◆ clip() [1/4]

void hlsl::clip ( float )

References _HLSL_BUILTIN_ALIAS, and clip().

Referenced by clip(), clip(), clip(), and clip().

◆ clip() [2/4]

void hlsl::clip ( float2 )

References _HLSL_BUILTIN_ALIAS, and clip().

◆ clip() [3/4]

void hlsl::clip ( float3 )

References _HLSL_BUILTIN_ALIAS, and clip().

◆ clip() [4/4]

void hlsl::clip ( float4 )

◆ cos() [1/8]

float hlsl::cos ( float )

References _HLSL_BUILTIN_ALIAS, and cos().

◆ cos() [2/8]

float2 hlsl::cos ( float2 )

References _HLSL_BUILTIN_ALIAS, and cos().

◆ cos() [3/8]

float3 hlsl::cos ( float3 )

References _HLSL_BUILTIN_ALIAS, and cos().

◆ cos() [4/8]

◆ cos() [5/8]

half hlsl::cos ( half )

◆ cos() [6/8]

◆ cos() [7/8]

◆ cos() [8/8]

half4 hlsl::cos ( half4 )

References _HLSL_BUILTIN_ALIAS, and cos().

◆ cosh() [1/8]

float hlsl::cosh ( float )

References _HLSL_BUILTIN_ALIAS, and cosh().

◆ cosh() [2/8]

float2 hlsl::cosh ( float2 )

References _HLSL_BUILTIN_ALIAS, and cosh().

◆ cosh() [3/8]

float3 hlsl::cosh ( float3 )

References _HLSL_BUILTIN_ALIAS, and cosh().

◆ cosh() [4/8]

float4 hlsl::cosh ( float4 )

References cosh(), and countbits().

◆ cosh() [5/8]

half hlsl::cosh ( half )

◆ cosh() [6/8]

◆ cosh() [7/8]

◆ cosh() [8/8]

half4 hlsl::cosh ( half4 )

References _HLSL_BUILTIN_ALIAS, and cosh().

◆ countbits() [1/16]

const uint hlsl::countbits ( int x)
inline

Definition at line 797 of file hlsl_alias_intrinsics.h.

Referenced by cosh().

◆ countbits() [2/16]

const uint2 hlsl::countbits ( int2 x)
inline

Definition at line 798 of file hlsl_alias_intrinsics.h.

◆ countbits() [3/16]

const uint3 hlsl::countbits ( int3 x)
inline

Definition at line 801 of file hlsl_alias_intrinsics.h.

◆ countbits() [4/16]

const uint4 hlsl::countbits ( int4 x)
inline

Definition at line 804 of file hlsl_alias_intrinsics.h.

◆ countbits() [5/16]

const uint hlsl::countbits ( int64_t x)
inline

Definition at line 821 of file hlsl_alias_intrinsics.h.

◆ countbits() [6/16]

const uint2 hlsl::countbits ( int64_t2 x)
inline

Definition at line 824 of file hlsl_alias_intrinsics.h.

◆ countbits() [7/16]

const uint3 hlsl::countbits ( int64_t3 x)
inline

Definition at line 827 of file hlsl_alias_intrinsics.h.

◆ countbits() [8/16]

const uint4 hlsl::countbits ( int64_t4 x)
inline

Definition at line 830 of file hlsl_alias_intrinsics.h.

◆ countbits() [9/16]

const uint hlsl::countbits ( uint x)
inline

Definition at line 808 of file hlsl_alias_intrinsics.h.

◆ countbits() [10/16]

const uint2 hlsl::countbits ( uint2 x)
inline

Definition at line 811 of file hlsl_alias_intrinsics.h.

◆ countbits() [11/16]

const uint3 hlsl::countbits ( uint3 x)
inline

Definition at line 814 of file hlsl_alias_intrinsics.h.

◆ countbits() [12/16]

const uint4 hlsl::countbits ( uint4 x)
inline

Definition at line 817 of file hlsl_alias_intrinsics.h.

◆ countbits() [13/16]

const uint hlsl::countbits ( uint64_t x)
inline

Definition at line 834 of file hlsl_alias_intrinsics.h.

◆ countbits() [14/16]

const uint2 hlsl::countbits ( uint64_t2 x)
inline

Definition at line 837 of file hlsl_alias_intrinsics.h.

◆ countbits() [15/16]

const uint3 hlsl::countbits ( uint64_t3 x)
inline

Definition at line 840 of file hlsl_alias_intrinsics.h.

◆ countbits() [16/16]

const uint4 hlsl::countbits ( uint64_t4 x)
inline

Definition at line 843 of file hlsl_alias_intrinsics.h.

◆ cross() [1/2]

◆ cross() [2/2]

half3 hlsl::cross ( half3 ,
half3  )

References _HLSL_BUILTIN_ALIAS, and cross().

Referenced by cross(), and cross().

◆ D3DCOLORtoUBYTE4()

int4 hlsl::D3DCOLORtoUBYTE4 ( float4 V)
constexpr

Definition at line 421 of file hlsl_intrinsics.h.

References hlsl::__detail::d3d_color_to_ubyte4_impl(), and V.

◆ degrees() [1/8]

float hlsl::degrees ( float )

References _HLSL_BUILTIN_ALIAS, and degrees().

◆ degrees() [2/8]

float2 hlsl::degrees ( float2 )

References _HLSL_BUILTIN_ALIAS, and degrees().

◆ degrees() [3/8]

float3 hlsl::degrees ( float3 )

References _HLSL_BUILTIN_ALIAS, and degrees().

◆ degrees() [4/8]

◆ degrees() [5/8]

half hlsl::degrees ( half )

◆ degrees() [6/8]

half2 hlsl::degrees ( half2 )

◆ degrees() [7/8]

half3 hlsl::degrees ( half3 )

◆ degrees() [8/8]

half4 hlsl::degrees ( half4 )

References _HLSL_BUILTIN_ALIAS, and degrees().

◆ distance() [1/4]

template<int N>
const float hlsl::distance ( __detail::HLSL_FIXED_VECTOR< float, N > X,
__detail::HLSL_FIXED_VECTOR< float, N > Y )
inline

Definition at line 173 of file hlsl_intrinsics.h.

References hlsl::__detail::distance_vec_impl(), and X.

◆ distance() [2/4]

template<int N>
const half hlsl::distance ( __detail::HLSL_FIXED_VECTOR< half, N > X,
__detail::HLSL_FIXED_VECTOR< half, N > Y )
inline

Definition at line 167 of file hlsl_intrinsics.h.

References distance(), hlsl::__detail::distance_vec_impl(), and X.

◆ distance() [3/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > hlsl::distance ( T X,
T Y )
inline

Returns a distance scalar between X and Y.

Parameters
XThe X input value.
YThe Y input value.

Definition at line 154 of file hlsl_intrinsics.h.

References distance(), hlsl::__detail::distance_impl(), and X.

Referenced by distance(), and distance().

◆ distance() [4/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > hlsl::distance ( T X,
T Y )
inline

Definition at line 161 of file hlsl_intrinsics.h.

References hlsl::__detail::distance_impl(), and X.

◆ dot() [1/25]

double hlsl::dot ( double ,
double  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [2/25]

float hlsl::dot ( float ,
float  )

References _HLSL_BUILTIN_ALIAS, dot(), and float.

◆ dot() [3/25]

float hlsl::dot ( float2 ,
float2  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [4/25]

float hlsl::dot ( float3 ,
float3  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [5/25]

float hlsl::dot ( float4 ,
float4  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [6/25]

◆ dot() [7/25]

half hlsl::dot ( half2 ,
half2  )

◆ dot() [8/25]

half hlsl::dot ( half3 ,
half3  )

◆ dot() [9/25]

half hlsl::dot ( half4 ,
half4  )

◆ dot() [10/25]

int hlsl::dot ( int ,
int  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [11/25]

int hlsl::dot ( int2 ,
int2  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [12/25]

int hlsl::dot ( int3 ,
int3  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [13/25]

int hlsl::dot ( int4 ,
int4  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [14/25]

int64_t hlsl::dot ( int64_t ,
int64_t  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [15/25]

int64_t hlsl::dot ( int64_t2 ,
int64_t2  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [16/25]

int64_t hlsl::dot ( int64_t3 ,
int64_t3  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [17/25]

int64_t hlsl::dot ( int64_t4 ,
int64_t4  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [18/25]

uint hlsl::dot ( uint ,
uint  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [19/25]

uint hlsl::dot ( uint2 ,
uint2  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [20/25]

uint hlsl::dot ( uint3 ,
uint3  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [21/25]

uint hlsl::dot ( uint4 ,
uint4  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [22/25]

uint64_t hlsl::dot ( uint64_t ,
uint64_t  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [23/25]

uint64_t hlsl::dot ( uint64_t2 ,
uint64_t2  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [24/25]

uint64_t hlsl::dot ( uint64_t3 ,
uint64_t3  )

References _HLSL_BUILTIN_ALIAS, and dot().

◆ dot() [25/25]

◆ dot2add()

const float hlsl::dot2add ( half2 A,
half2 B,
float C )
inline

Dot product of 2 vector of type half and add a float scalar value.

Parameters
AThe first input value to dot product.
BThe second input value to dot product.
CThe input value added to the dot product.

Definition at line 189 of file hlsl_intrinsics.h.

References dot2add(), and hlsl::__detail::dot2add_impl().

Referenced by dot2add().

◆ dot4add_i8packed()

int hlsl::dot4add_i8packed ( uint A,
uint B,
int C )

◆ dot4add_u8packed()

uint hlsl::dot4add_u8packed ( uint A,
uint B,
uint C )

◆ dst() [1/3]

const double4 hlsl::dst ( double4 Src0,
double4 Src1 )
inline

Definition at line 213 of file hlsl_intrinsics.h.

References hlsl::__detail::dst_impl().

◆ dst() [2/3]

const float4 hlsl::dst ( float4 Src0,
float4 Src1 )
inline

Definition at line 209 of file hlsl_intrinsics.h.

References hlsl::__detail::dst_impl().

◆ dst() [3/3]

const half4 hlsl::dst ( half4 Src0,
half4 Src1 )
inline

Definition at line 205 of file hlsl_intrinsics.h.

References dst(), and hlsl::__detail::dst_impl().

Referenced by dst().

◆ exp() [1/8]

float hlsl::exp ( float )

References _HLSL_BUILTIN_ALIAS, and exp().

◆ exp() [2/8]

float2 hlsl::exp ( float2 )

References _HLSL_BUILTIN_ALIAS, and exp().

◆ exp() [3/8]

float3 hlsl::exp ( float3 )

References _HLSL_BUILTIN_ALIAS, and exp().

◆ exp() [4/8]

◆ exp() [5/8]

half hlsl::exp ( half )

◆ exp() [6/8]

◆ exp() [7/8]

◆ exp() [8/8]

half4 hlsl::exp ( half4 )

References _HLSL_BUILTIN_ALIAS, and exp().

◆ exp2() [1/8]

float hlsl::exp2 ( float )

References _HLSL_BUILTIN_ALIAS, and exp2().

◆ exp2() [2/8]

float2 hlsl::exp2 ( float2 )

References _HLSL_BUILTIN_ALIAS, and exp2().

◆ exp2() [3/8]

float3 hlsl::exp2 ( float3 )

References _HLSL_BUILTIN_ALIAS, and exp2().

◆ exp2() [4/8]

◆ exp2() [5/8]

half hlsl::exp2 ( half )

◆ exp2() [6/8]

◆ exp2() [7/8]

◆ exp2() [8/8]

half4 hlsl::exp2 ( half4 )

References _HLSL_BUILTIN_ALIAS, and exp2().

◆ faceforward() [1/4]

template<int L>
const __detail::HLSL_FIXED_VECTOR< float, L > hlsl::faceforward ( __detail::HLSL_FIXED_VECTOR< float, L > N,
__detail::HLSL_FIXED_VECTOR< float, L > I,
__detail::HLSL_FIXED_VECTOR< float, L > Ng )
inline

Definition at line 258 of file hlsl_intrinsics.h.

References hlsl::__detail::faceforward_impl().

◆ faceforward() [2/4]

template<int L>
const __detail::HLSL_FIXED_VECTOR< half, L > hlsl::faceforward ( __detail::HLSL_FIXED_VECTOR< half, L > N,
__detail::HLSL_FIXED_VECTOR< half, L > I,
__detail::HLSL_FIXED_VECTOR< half, L > Ng )
inline

Definition at line 249 of file hlsl_intrinsics.h.

References faceforward(), and hlsl::__detail::faceforward_impl().

◆ faceforward() [3/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > hlsl::faceforward ( T N,
T I,
T Ng )
inline

Flips the surface-normal (if needed) to face in a direction opposite to I.

Returns the result in terms of N.

Parameters
NThe resulting floating-point surface-normal vector.
IA floating-point, incident vector that points from the view position to the shading position.
NgA floating-point surface-normal vector.

Return a floating-point, surface normal vector that is facing the view direction.

Definition at line 236 of file hlsl_intrinsics.h.

References faceforward(), and hlsl::__detail::faceforward_impl().

Referenced by faceforward(), and faceforward().

◆ faceforward() [4/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > hlsl::faceforward ( T N,
T I,
T Ng )
inline

Definition at line 243 of file hlsl_intrinsics.h.

References hlsl::__detail::faceforward_impl().

◆ firstbithigh() [1/16]

◆ firstbithigh() [2/16]

uint2 hlsl::firstbithigh ( int2 )

◆ firstbithigh() [3/16]

uint3 hlsl::firstbithigh ( int3 )

◆ firstbithigh() [4/16]

uint4 hlsl::firstbithigh ( int4 )

◆ firstbithigh() [5/16]

uint hlsl::firstbithigh ( int64_t )

◆ firstbithigh() [6/16]

uint2 hlsl::firstbithigh ( int64_t2 )

◆ firstbithigh() [7/16]

uint3 hlsl::firstbithigh ( int64_t3 )

◆ firstbithigh() [8/16]

uint4 hlsl::firstbithigh ( int64_t4 )

◆ firstbithigh() [9/16]

uint hlsl::firstbithigh ( uint )

◆ firstbithigh() [10/16]

uint2 hlsl::firstbithigh ( uint2 )

◆ firstbithigh() [11/16]

uint3 hlsl::firstbithigh ( uint3 )

◆ firstbithigh() [12/16]

uint4 hlsl::firstbithigh ( uint4 )

◆ firstbithigh() [13/16]

uint hlsl::firstbithigh ( uint64_t )

◆ firstbithigh() [14/16]

uint2 hlsl::firstbithigh ( uint64_t2 )

◆ firstbithigh() [15/16]

uint3 hlsl::firstbithigh ( uint64_t3 )

◆ firstbithigh() [16/16]

◆ firstbitlow() [1/16]

◆ firstbitlow() [2/16]

uint2 hlsl::firstbitlow ( int2 )

◆ firstbitlow() [3/16]

uint3 hlsl::firstbitlow ( int3 )

◆ firstbitlow() [4/16]

uint4 hlsl::firstbitlow ( int4 )

◆ firstbitlow() [5/16]

uint hlsl::firstbitlow ( int64_t )

◆ firstbitlow() [6/16]

uint2 hlsl::firstbitlow ( int64_t2 )

◆ firstbitlow() [7/16]

uint3 hlsl::firstbitlow ( int64_t3 )

◆ firstbitlow() [8/16]

uint4 hlsl::firstbitlow ( int64_t4 )

◆ firstbitlow() [9/16]

uint hlsl::firstbitlow ( uint )

◆ firstbitlow() [10/16]

uint2 hlsl::firstbitlow ( uint2 )

◆ firstbitlow() [11/16]

uint3 hlsl::firstbitlow ( uint3 )

◆ firstbitlow() [12/16]

uint4 hlsl::firstbitlow ( uint4 )

◆ firstbitlow() [13/16]

uint hlsl::firstbitlow ( uint64_t )

◆ firstbitlow() [14/16]

uint2 hlsl::firstbitlow ( uint64_t2 )

◆ firstbitlow() [15/16]

uint3 hlsl::firstbitlow ( uint64_t3 )

◆ firstbitlow() [16/16]

◆ floor() [1/8]

float hlsl::floor ( float )

References _HLSL_BUILTIN_ALIAS, and floor().

◆ floor() [2/8]

float2 hlsl::floor ( float2 )

References _HLSL_BUILTIN_ALIAS, and floor().

◆ floor() [3/8]

float3 hlsl::floor ( float3 )

References _HLSL_BUILTIN_ALIAS, and floor().

◆ floor() [4/8]

◆ floor() [5/8]

half hlsl::floor ( half )

◆ floor() [6/8]

half2 hlsl::floor ( half2 )

◆ floor() [7/8]

half3 hlsl::floor ( half3 )

◆ floor() [8/8]

half4 hlsl::floor ( half4 )

References _HLSL_BUILTIN_ALIAS, and floor().

◆ fmod() [1/4]

template<int N>
const __detail::HLSL_FIXED_VECTOR< float, N > hlsl::fmod ( __detail::HLSL_FIXED_VECTOR< float, N > X,
__detail::HLSL_FIXED_VECTOR< float, N > Y )
inline

Definition at line 301 of file hlsl_intrinsics.h.

References hlsl::__detail::fmod_vec_impl(), and X.

◆ fmod() [2/4]

template<int N>
const __detail::HLSL_FIXED_VECTOR< half, N > hlsl::fmod ( __detail::HLSL_FIXED_VECTOR< half, N > X,
__detail::HLSL_FIXED_VECTOR< half, N > Y )
inline

Definition at line 293 of file hlsl_intrinsics.h.

References fmod(), hlsl::__detail::fmod_vec_impl(), and X.

◆ fmod() [3/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > hlsl::fmod ( T x,
T y )
inline

Returns the linear interpolation of x to y.

Parameters
x[in] The dividend.
y[in] The divisor.

Return the floating-point remainder of the x parameter divided by the y parameter.

Definition at line 280 of file hlsl_intrinsics.h.

References fmod(), hlsl::__detail::fmod_impl(), and X.

Referenced by fmod(), and fmod().

◆ fmod() [4/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > hlsl::fmod ( T X,
T Y )
inline

Definition at line 287 of file hlsl_intrinsics.h.

References hlsl::__detail::fmod_impl(), and X.

◆ frac() [1/8]

float hlsl::frac ( float )

References _HLSL_BUILTIN_ALIAS, and frac().

◆ frac() [2/8]

float2 hlsl::frac ( float2 )

References _HLSL_BUILTIN_ALIAS, and frac().

◆ frac() [3/8]

float3 hlsl::frac ( float3 )

References _HLSL_BUILTIN_ALIAS, and frac().

◆ frac() [4/8]

◆ frac() [5/8]

◆ frac() [6/8]

◆ frac() [7/8]

◆ frac() [8/8]

half4 hlsl::frac ( half4 )

References _HLSL_BUILTIN_ALIAS, and frac().

◆ GroupMemoryBarrierWithGroupSync()

void hlsl::GroupMemoryBarrierWithGroupSync ( void )

Blocks execution of all threads in a group until all group shared accesses have been completed and all threads in the group have reached this call.

References GroupMemoryBarrierWithGroupSync().

Referenced by GroupMemoryBarrierWithGroupSync().

◆ isinf() [1/12]

bool hlsl::isinf ( double V)
constexpr

Definition at line 271 of file hlsl_compat_overloads.h.

References isinf(), and V.

◆ isinf() [2/12]

bool2 hlsl::isinf ( double2 V)
constexpr

Definition at line 272 of file hlsl_compat_overloads.h.

References isinf(), and V.

◆ isinf() [3/12]

bool3 hlsl::isinf ( double3 V)
constexpr

Definition at line 273 of file hlsl_compat_overloads.h.

References isinf(), and V.

◆ isinf() [4/12]

bool4 hlsl::isinf ( double4 V)
constexpr

Definition at line 274 of file hlsl_compat_overloads.h.

References isinf(), and V.

◆ isinf() [5/12]

bool hlsl::isinf ( float )

References _HLSL_BUILTIN_ALIAS, and isinf().

◆ isinf() [6/12]

bool2 hlsl::isinf ( float2 )

References _HLSL_BUILTIN_ALIAS, and isinf().

◆ isinf() [7/12]

bool3 hlsl::isinf ( float3 )

References _HLSL_BUILTIN_ALIAS, and isinf().

◆ isinf() [8/12]

◆ isinf() [9/12]

◆ isinf() [10/12]

bool2 hlsl::isinf ( half2 )

◆ isinf() [11/12]

bool3 hlsl::isinf ( half3 )

◆ isinf() [12/12]

bool4 hlsl::isinf ( half4 )

References _HLSL_BUILTIN_ALIAS, and isinf().

◆ ldexp() [1/4]

template<int N>
const __detail::HLSL_FIXED_VECTOR< float, N > hlsl::ldexp ( __detail::HLSL_FIXED_VECTOR< float, N > X,
__detail::HLSL_FIXED_VECTOR< float, N > Exp )
inline

Definition at line 343 of file hlsl_intrinsics.h.

References hlsl::__detail::ldexp_impl(), and X.

◆ ldexp() [2/4]

template<int N>
const __detail::HLSL_FIXED_VECTOR< half, N > hlsl::ldexp ( __detail::HLSL_FIXED_VECTOR< half, N > X,
__detail::HLSL_FIXED_VECTOR< half, N > Exp )
inline

Definition at line 335 of file hlsl_intrinsics.h.

References ldexp(), hlsl::__detail::ldexp_impl(), and X.

◆ ldexp() [3/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > hlsl::ldexp ( T X,
T Exp )
inline

Returns the result of multiplying the specified value by two raised to the power of the specified exponent.

Parameters
X[in] The specified value.
Exp[in] The specified exponent.

This function uses the following formula: X * 2^Exp

Definition at line 322 of file hlsl_intrinsics.h.

References ldexp(), hlsl::__detail::ldexp_impl(), and X.

Referenced by ldexp(), and ldexp().

◆ ldexp() [4/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > hlsl::ldexp ( T X,
T Exp )
inline

Definition at line 329 of file hlsl_intrinsics.h.

References hlsl::__detail::ldexp_impl(), and X.

◆ length() [1/4]

template<int N>
const float hlsl::length ( __detail::HLSL_FIXED_VECTOR< float, N > X)
inline

Definition at line 380 of file hlsl_intrinsics.h.

References hlsl::__detail::length_vec_impl(), and X.

◆ length() [2/4]

template<int N>
const half hlsl::length ( __detail::HLSL_FIXED_VECTOR< half, N > X)
inline

Definition at line 375 of file hlsl_intrinsics.h.

References length(), hlsl::__detail::length_vec_impl(), and X.

◆ length() [3/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > hlsl::length ( T x)
inline

Returns the length of the specified floating-point vector.

Parameters
x[in] The vector of floats, or a scalar float.

Length is based on the following formula: sqrt(x[0]^2 + x[1]^2 + ...).

Definition at line 362 of file hlsl_intrinsics.h.

References length(), hlsl::__detail::length_impl(), and X.

Referenced by length(), and length().

◆ length() [4/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > hlsl::length ( T X)
inline

Definition at line 369 of file hlsl_intrinsics.h.

References hlsl::__detail::length_impl(), and X.

◆ lerp() [1/9]

float hlsl::lerp ( float ,
float ,
float  )

References _HLSL_BUILTIN_ALIAS, and lerp().

◆ lerp() [2/9]

float2 hlsl::lerp ( float2 ,
float2 ,
float2  )

References _HLSL_BUILTIN_ALIAS, and lerp().

◆ lerp() [3/9]

float3 hlsl::lerp ( float3 ,
float3 ,
float3  )

References _HLSL_BUILTIN_ALIAS, and lerp().

◆ lerp() [4/9]

◆ lerp() [5/9]

half hlsl::lerp ( half ,
half ,
half  )

◆ lerp() [6/9]

half2 hlsl::lerp ( half2 ,
half2 ,
half2  )

◆ lerp() [7/9]

half3 hlsl::lerp ( half3 ,
half3 ,
half3  )

◆ lerp() [8/9]

half4 hlsl::lerp ( half4 ,
half4 ,
half4  )

References _HLSL_BUILTIN_ALIAS, and lerp().

◆ lerp() [9/9]

template<typename T, uint N>
__detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > hlsl::lerp ( vector< T, N > x,
vector< T, N > y,
T s )
constexpr

Definition at line 282 of file hlsl_compat_overloads.h.

References lerp(), and s.

◆ lit() [1/2]

const float4 hlsl::lit ( float NDotL,
float NDotH,
float M )
inline

Definition at line 404 of file hlsl_intrinsics.h.

References hlsl::__detail::lit_impl().

◆ lit() [2/2]

const half4 hlsl::lit ( half NDotL,
half NDotH,
half M )
inline

Definition at line 400 of file hlsl_intrinsics.h.

References lit(), and hlsl::__detail::lit_impl().

Referenced by lit().

◆ log() [1/8]

float hlsl::log ( float )

References _HLSL_BUILTIN_ALIAS, and log().

◆ log() [2/8]

float2 hlsl::log ( float2 )

References _HLSL_BUILTIN_ALIAS, and log().

◆ log() [3/8]

float3 hlsl::log ( float3 )

References _HLSL_BUILTIN_ALIAS, and log().

◆ log() [4/8]

◆ log() [5/8]

half hlsl::log ( half )

◆ log() [6/8]

◆ log() [7/8]

◆ log() [8/8]

half4 hlsl::log ( half4 )

References _HLSL_BUILTIN_ALIAS, and log().

◆ log10() [1/8]

float hlsl::log10 ( float )

References _HLSL_BUILTIN_ALIAS, and log10().

◆ log10() [2/8]

float2 hlsl::log10 ( float2 )

References _HLSL_BUILTIN_ALIAS, and log10().

◆ log10() [3/8]

float3 hlsl::log10 ( float3 )

References _HLSL_BUILTIN_ALIAS, and log10().

◆ log10() [4/8]

◆ log10() [5/8]

half hlsl::log10 ( half )

◆ log10() [6/8]

half2 hlsl::log10 ( half2 )

◆ log10() [7/8]

half3 hlsl::log10 ( half3 )

◆ log10() [8/8]

half4 hlsl::log10 ( half4 )

References _HLSL_BUILTIN_ALIAS, and log10().

◆ log2() [1/8]

float hlsl::log2 ( float )

References _HLSL_BUILTIN_ALIAS, and log2().

◆ log2() [2/8]

float2 hlsl::log2 ( float2 )

References _HLSL_BUILTIN_ALIAS, and log2().

◆ log2() [3/8]

float3 hlsl::log2 ( float3 )

References _HLSL_BUILTIN_ALIAS, and log2().

◆ log2() [4/8]

◆ log2() [5/8]

half hlsl::log2 ( half )

◆ log2() [6/8]

◆ log2() [7/8]

◆ log2() [8/8]

half4 hlsl::log2 ( half4 )

References _HLSL_BUILTIN_ALIAS, and log2().

◆ mad() [1/28]

double hlsl::mad ( double ,
double ,
double  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [2/28]

double2 hlsl::mad ( double2 ,
double2 ,
double2  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [3/28]

double3 hlsl::mad ( double3 ,
double3 ,
double3  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [4/28]

◆ mad() [5/28]

float hlsl::mad ( float ,
float ,
float  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [6/28]

float2 hlsl::mad ( float2 ,
float2 ,
float2  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [7/28]

float3 hlsl::mad ( float3 ,
float3 ,
float3  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [8/28]

float4 hlsl::mad ( float4 ,
float4 ,
float4  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [9/28]

half hlsl::mad ( half ,
half ,
half  )

◆ mad() [10/28]

half2 hlsl::mad ( half2 ,
half2 ,
half2  )

◆ mad() [11/28]

half3 hlsl::mad ( half3 ,
half3 ,
half3  )

◆ mad() [12/28]

half4 hlsl::mad ( half4 ,
half4 ,
half4  )

◆ mad() [13/28]

int hlsl::mad ( int ,
int ,
int  )

References _HLSL_BUILTIN_ALIAS, int, and mad().

◆ mad() [14/28]

int2 hlsl::mad ( int2 ,
int2 ,
int2  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [15/28]

int3 hlsl::mad ( int3 ,
int3 ,
int3  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [16/28]

int4 hlsl::mad ( int4 ,
int4 ,
int4  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [17/28]

int64_t hlsl::mad ( int64_t ,
int64_t ,
int64_t  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [18/28]

int64_t2 hlsl::mad ( int64_t2 ,
int64_t2 ,
int64_t2  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [19/28]

int64_t3 hlsl::mad ( int64_t3 ,
int64_t3 ,
int64_t3  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [20/28]

int64_t4 hlsl::mad ( int64_t4 ,
int64_t4 ,
int64_t4  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [21/28]

uint hlsl::mad ( uint ,
uint ,
uint  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [22/28]

uint2 hlsl::mad ( uint2 ,
uint2 ,
uint2  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [23/28]

uint3 hlsl::mad ( uint3 ,
uint3 ,
uint3  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [24/28]

uint4 hlsl::mad ( uint4 ,
uint4 ,
uint4  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [25/28]

uint64_t hlsl::mad ( uint64_t ,
uint64_t ,
uint64_t  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [26/28]

uint64_t2 hlsl::mad ( uint64_t2 ,
uint64_t2 ,
uint64_t2  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [27/28]

uint64_t3 hlsl::mad ( uint64_t3 ,
uint64_t3 ,
uint64_t3  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ mad() [28/28]

uint64_t4 hlsl::mad ( uint64_t4 ,
uint64_t4 ,
uint64_t4  )

References _HLSL_BUILTIN_ALIAS, and mad().

◆ max() [1/30]

double hlsl::max ( double ,
double  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [2/30]

double2 hlsl::max ( double2 ,
double2  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [3/30]

double3 hlsl::max ( double3 ,
double3  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [4/30]

◆ max() [5/30]

float hlsl::max ( float ,
float  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [6/30]

float2 hlsl::max ( float2 ,
float2  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [7/30]

float3 hlsl::max ( float3 ,
float3  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [8/30]

float4 hlsl::max ( float4 ,
float4  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [9/30]

half hlsl::max ( half ,
half  )

◆ max() [10/30]

half2 hlsl::max ( half2 ,
half2  )

◆ max() [11/30]

half3 hlsl::max ( half3 ,
half3  )

◆ max() [12/30]

half4 hlsl::max ( half4 ,
half4  )

◆ max() [13/30]

int hlsl::max ( int ,
int  )

References _HLSL_BUILTIN_ALIAS, int, and max().

◆ max() [14/30]

int2 hlsl::max ( int2 ,
int2  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [15/30]

int3 hlsl::max ( int3 ,
int3  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [16/30]

int4 hlsl::max ( int4 ,
int4  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [17/30]

int64_t hlsl::max ( int64_t ,
int64_t  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [18/30]

int64_t2 hlsl::max ( int64_t2 ,
int64_t2  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [19/30]

int64_t3 hlsl::max ( int64_t3 ,
int64_t3  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [20/30]

int64_t4 hlsl::max ( int64_t4 ,
int64_t4  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [21/30]

template<typename T, uint N>
__detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > hlsl::max ( T p0,
vector< T, N > p1 )
constexpr

Definition at line 322 of file hlsl_compat_overloads.h.

References max().

◆ max() [22/30]

uint hlsl::max ( uint ,
uint  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [23/30]

uint2 hlsl::max ( uint2 ,
uint2  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [24/30]

uint3 hlsl::max ( uint3 ,
uint3  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [25/30]

uint4 hlsl::max ( uint4 ,
uint4  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [26/30]

uint64_t hlsl::max ( uint64_t ,
uint64_t  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [27/30]

uint64_t2 hlsl::max ( uint64_t2 ,
uint64_t2  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [28/30]

uint64_t3 hlsl::max ( uint64_t3 ,
uint64_t3  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [29/30]

uint64_t4 hlsl::max ( uint64_t4 ,
uint64_t4  )

References _HLSL_BUILTIN_ALIAS, and max().

◆ max() [30/30]

template<typename T, uint N>
__detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > hlsl::max ( vector< T, N > p0,
T p1 )
constexpr

Definition at line 316 of file hlsl_compat_overloads.h.

References max().

◆ min() [1/30]

double hlsl::min ( double ,
double  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [2/30]

double2 hlsl::min ( double2 ,
double2  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [3/30]

double3 hlsl::min ( double3 ,
double3  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [4/30]

◆ min() [5/30]

float hlsl::min ( float ,
float  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [6/30]

float2 hlsl::min ( float2 ,
float2  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [7/30]

float3 hlsl::min ( float3 ,
float3  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [8/30]

float4 hlsl::min ( float4 ,
float4  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [9/30]

half hlsl::min ( half ,
half  )

◆ min() [10/30]

half2 hlsl::min ( half2 ,
half2  )

◆ min() [11/30]

half3 hlsl::min ( half3 ,
half3  )

◆ min() [12/30]

half4 hlsl::min ( half4 ,
half4  )

◆ min() [13/30]

int hlsl::min ( int ,
int  )

References _HLSL_BUILTIN_ALIAS, int, and min().

◆ min() [14/30]

int2 hlsl::min ( int2 ,
int2  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [15/30]

int3 hlsl::min ( int3 ,
int3  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [16/30]

int4 hlsl::min ( int4 ,
int4  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [17/30]

int64_t hlsl::min ( int64_t ,
int64_t  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [18/30]

int64_t2 hlsl::min ( int64_t2 ,
int64_t2  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [19/30]

int64_t3 hlsl::min ( int64_t3 ,
int64_t3  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [20/30]

int64_t4 hlsl::min ( int64_t4 ,
int64_t4  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [21/30]

template<typename T, uint N>
__detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > hlsl::min ( T p0,
vector< T, N > p1 )
constexpr

Definition at line 338 of file hlsl_compat_overloads.h.

References min().

◆ min() [22/30]

uint hlsl::min ( uint ,
uint  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [23/30]

uint2 hlsl::min ( uint2 ,
uint2  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [24/30]

uint3 hlsl::min ( uint3 ,
uint3  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [25/30]

uint4 hlsl::min ( uint4 ,
uint4  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [26/30]

uint64_t hlsl::min ( uint64_t ,
uint64_t  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [27/30]

uint64_t2 hlsl::min ( uint64_t2 ,
uint64_t2  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [28/30]

uint64_t3 hlsl::min ( uint64_t3 ,
uint64_t3  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [29/30]

uint64_t4 hlsl::min ( uint64_t4 ,
uint64_t4  )

References _HLSL_BUILTIN_ALIAS, and min().

◆ min() [30/30]

template<typename T, uint N>
__detail::enable_if_t<(N > 1 &&N<=4), vector< T, N > > hlsl::min ( vector< T, N > p0,
T p1 )
constexpr

Definition at line 332 of file hlsl_compat_overloads.h.

References min().

◆ normalize() [1/8]

float hlsl::normalize ( float )

References _HLSL_BUILTIN_ALIAS, and normalize().

◆ normalize() [2/8]

float2 hlsl::normalize ( float2 )

References _HLSL_BUILTIN_ALIAS, and normalize().

◆ normalize() [3/8]

float3 hlsl::normalize ( float3 )

References _HLSL_BUILTIN_ALIAS, and normalize().

◆ normalize() [4/8]

float4 hlsl::normalize ( float4 )

References _HLSL_BUILTIN_ALIAS, and normalize().

◆ normalize() [5/8]

◆ normalize() [6/8]

half2 hlsl::normalize ( half2 )

◆ normalize() [7/8]

half3 hlsl::normalize ( half3 )

◆ normalize() [8/8]

half4 hlsl::normalize ( half4 )

References _HLSL_BUILTIN_ALIAS, and normalize().

◆ or() [1/4]

bool hlsl::or ( bool x,
bool y )

Logically ors two boolean vectors elementwise and produces a bool vector output.

References _HLSL_BUILTIN_ALIAS, and or().

Referenced by or(), or(), or(), and or().

◆ or() [2/4]

bool2 hlsl::or ( bool2 ,
bool2  )

References _HLSL_BUILTIN_ALIAS, and or().

◆ or() [3/4]

bool3 hlsl::or ( bool3 ,
bool3  )

References _HLSL_BUILTIN_ALIAS, and or().

◆ or() [4/4]

bool4 hlsl::or ( bool4 ,
bool4  )

◆ pow() [1/8]

float hlsl::pow ( float ,
float  )

References _HLSL_BUILTIN_ALIAS, and pow().

◆ pow() [2/8]

float2 hlsl::pow ( float2 ,
float2  )

References _HLSL_BUILTIN_ALIAS, and pow().

◆ pow() [3/8]

float3 hlsl::pow ( float3 ,
float3  )

References _HLSL_BUILTIN_ALIAS, and pow().

◆ pow() [4/8]

◆ pow() [5/8]

half hlsl::pow ( half ,
half  )

◆ pow() [6/8]

half2 hlsl::pow ( half2 ,
half2  )

◆ pow() [7/8]

half3 hlsl::pow ( half3 ,
half3  )

◆ pow() [8/8]

half4 hlsl::pow ( half4 ,
half4  )

References _HLSL_BUILTIN_ALIAS, and pow().

◆ radians() [1/8]

float hlsl::radians ( float )

References _HLSL_BUILTIN_ALIAS, and radians().

◆ radians() [2/8]

float2 hlsl::radians ( float2 )

References _HLSL_BUILTIN_ALIAS, and radians().

◆ radians() [3/8]

float3 hlsl::radians ( float3 )

References _HLSL_BUILTIN_ALIAS, and radians().

◆ radians() [4/8]

float4 hlsl::radians ( float4 )

References _HLSL_BUILTIN_ALIAS, and radians().

◆ radians() [5/8]

half hlsl::radians ( half )

◆ radians() [6/8]

half2 hlsl::radians ( half2 )

◆ radians() [7/8]

half3 hlsl::radians ( half3 )

◆ radians() [8/8]

half4 hlsl::radians ( half4 )

References _HLSL_BUILTIN_ALIAS, and radians().

◆ rcp() [1/12]

double hlsl::rcp ( double )

References _HLSL_BUILTIN_ALIAS, and rcp().

◆ rcp() [2/12]

double2 hlsl::rcp ( double2 )

References _HLSL_BUILTIN_ALIAS, and rcp().

◆ rcp() [3/12]

double3 hlsl::rcp ( double3 )

References _HLSL_BUILTIN_ALIAS, and rcp().

◆ rcp() [4/12]

◆ rcp() [5/12]

float hlsl::rcp ( float )

References _HLSL_BUILTIN_ALIAS, and rcp().

◆ rcp() [6/12]

float2 hlsl::rcp ( float2 )

References _HLSL_BUILTIN_ALIAS, and rcp().

◆ rcp() [7/12]

float3 hlsl::rcp ( float3 )

References _HLSL_BUILTIN_ALIAS, and rcp().

◆ rcp() [8/12]

float4 hlsl::rcp ( float4 )

References _HLSL_BUILTIN_ALIAS, and rcp().

◆ rcp() [9/12]

half hlsl::rcp ( half )

◆ rcp() [10/12]

◆ rcp() [11/12]

◆ rcp() [12/12]

half4 hlsl::rcp ( half4 )

References _HLSL_BUILTIN_ALIAS, and rcp().

◆ reflect() [1/4]

template<int L>
const __detail::HLSL_FIXED_VECTOR< float, L > hlsl::reflect ( __detail::HLSL_FIXED_VECTOR< float, L > I,
__detail::HLSL_FIXED_VECTOR< float, L > N )
inline

Definition at line 473 of file hlsl_intrinsics.h.

References hlsl::__detail::reflect_vec_impl().

◆ reflect() [2/4]

template<int L>
const __detail::HLSL_FIXED_VECTOR< half, L > hlsl::reflect ( __detail::HLSL_FIXED_VECTOR< half, L > I,
__detail::HLSL_FIXED_VECTOR< half, L > N )
inline

Definition at line 465 of file hlsl_intrinsics.h.

References reflect(), and hlsl::__detail::reflect_vec_impl().

◆ reflect() [3/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > hlsl::reflect ( T I,
T N )
inline

Returns a reflection using an incident ray, I, and a surface normal, N.

Parameters
IThe incident ray.
NThe surface normal.

The return value is a floating-point vector that represents the reflection of the incident ray, I, off a surface with the normal N.

This function calculates the reflection vector using the following formula: V = I - 2 * N * dot(I N) .

N must already be normalized in order to achieve the desired result.

The operands must all be a scalar or vector whose component type is floating-point.

Result type and the type of all operands must be the same type.

Definition at line 452 of file hlsl_intrinsics.h.

References reflect(), and hlsl::__detail::reflect_impl().

Referenced by reflect(), and reflect().

◆ reflect() [4/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > hlsl::reflect ( T I,
T N )
inline

Definition at line 459 of file hlsl_intrinsics.h.

References hlsl::__detail::reflect_impl().

◆ refract() [1/4]

template<int L>
const __detail::HLSL_FIXED_VECTOR< float, L > hlsl::refract ( __detail::HLSL_FIXED_VECTOR< float, L > I,
__detail::HLSL_FIXED_VECTOR< float, L > N,
float eta )
inline

Definition at line 532 of file hlsl_intrinsics.h.

References hlsl::__detail::refract_impl().

◆ refract() [2/4]

template<int L>
const __detail::HLSL_FIXED_VECTOR< half, L > hlsl::refract ( __detail::HLSL_FIXED_VECTOR< half, L > I,
__detail::HLSL_FIXED_VECTOR< half, L > N,
half eta )
inline

Definition at line 524 of file hlsl_intrinsics.h.

References refract(), and hlsl::__detail::refract_impl().

◆ refract() [3/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > hlsl::refract ( T I,
T N,
T eta )
inline

Returns a refraction using an entering ray, I, a surface normal, N and refraction index eta.

Parameters
IThe entering ray.
NThe surface normal.
etaThe refraction index.

The return value is a floating-point vector that represents the refraction using the refraction index, eta, for the direction of the entering ray, I, off a surface with the normal N.

This function calculates the refraction vector using the following formulas: k = 1.0 - eta * eta * (1.0 - dot(N, I) * dot(N, I)) if k < 0.0 the result is 0.0 otherwise, the result is eta * I - (eta * dot(N, I) + sqrt(k)) * N

I and N must already be normalized in order to achieve the desired result.

I and N must be a scalar or vector whose component type is floating-point.

eta must be a 16-bit or 32-bit floating-point scalar.

Result type, the type of I, and the type of N must all be the same type.

Definition at line 511 of file hlsl_intrinsics.h.

References refract(), and hlsl::__detail::refract_impl().

Referenced by refract(), and refract().

◆ refract() [4/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > hlsl::refract ( T I,
T N,
T eta )
inline

Definition at line 518 of file hlsl_intrinsics.h.

References hlsl::__detail::refract_impl().

◆ reversebits() [1/8]

◆ reversebits() [2/8]

uint2 hlsl::reversebits ( uint2 )

◆ reversebits() [3/8]

uint3 hlsl::reversebits ( uint3 )

◆ reversebits() [4/8]

uint4 hlsl::reversebits ( uint4 )

◆ reversebits() [5/8]

uint64_t hlsl::reversebits ( uint64_t )

◆ reversebits() [6/8]

uint64_t2 hlsl::reversebits ( uint64_t2 )

◆ reversebits() [7/8]

uint64_t3 hlsl::reversebits ( uint64_t3 )

◆ reversebits() [8/8]

◆ round() [1/8]

float hlsl::round ( float )

References _HLSL_BUILTIN_ALIAS, and round().

◆ round() [2/8]

float2 hlsl::round ( float2 )

References _HLSL_BUILTIN_ALIAS, and round().

◆ round() [3/8]

float3 hlsl::round ( float3 )

References _HLSL_BUILTIN_ALIAS, and round().

◆ round() [4/8]

◆ round() [5/8]

half hlsl::round ( half )

◆ round() [6/8]

half2 hlsl::round ( half2 )

◆ round() [7/8]

half3 hlsl::round ( half3 )

◆ round() [8/8]

half4 hlsl::round ( half4 )

References _HLSL_BUILTIN_ALIAS, and round().

◆ rsqrt() [1/8]

float hlsl::rsqrt ( float )

References _HLSL_BUILTIN_ALIAS, and rsqrt().

◆ rsqrt() [2/8]

float2 hlsl::rsqrt ( float2 )

References _HLSL_BUILTIN_ALIAS, and rsqrt().

◆ rsqrt() [3/8]

float3 hlsl::rsqrt ( float3 )

References _HLSL_BUILTIN_ALIAS, and rsqrt().

◆ rsqrt() [4/8]

◆ rsqrt() [5/8]

half hlsl::rsqrt ( half )

◆ rsqrt() [6/8]

half2 hlsl::rsqrt ( half2 )

◆ rsqrt() [7/8]

half3 hlsl::rsqrt ( half3 )

◆ rsqrt() [8/8]

half4 hlsl::rsqrt ( half4 )

References _HLSL_BUILTIN_ALIAS, and rsqrt().

◆ saturate() [1/12]

double hlsl::saturate ( double )

References _HLSL_BUILTIN_ALIAS, and saturate().

◆ saturate() [2/12]

double2 hlsl::saturate ( double2 )

References _HLSL_BUILTIN_ALIAS, and saturate().

◆ saturate() [3/12]

double3 hlsl::saturate ( double3 )

References _HLSL_BUILTIN_ALIAS, and saturate().

◆ saturate() [4/12]

double4 hlsl::saturate ( double4 )

References _HLSL_BUILTIN_ALIAS, and saturate().

◆ saturate() [5/12]

float hlsl::saturate ( float )

References _HLSL_BUILTIN_ALIAS, and saturate().

◆ saturate() [6/12]

float2 hlsl::saturate ( float2 )

References _HLSL_BUILTIN_ALIAS, and saturate().

◆ saturate() [7/12]

float3 hlsl::saturate ( float3 )

References _HLSL_BUILTIN_ALIAS, and saturate().

◆ saturate() [8/12]

float4 hlsl::saturate ( float4 )

References _HLSL_BUILTIN_ALIAS, and saturate().

◆ saturate() [9/12]

◆ saturate() [10/12]

half2 hlsl::saturate ( half2 )

◆ saturate() [11/12]

half3 hlsl::saturate ( half3 )

◆ saturate() [12/12]

half4 hlsl::saturate ( half4 )

References _HLSL_BUILTIN_ALIAS, and saturate().

◆ select() [1/5]

template<typename T>
T hlsl::select ( bool Cond,
T TrueVal,
T FalseVal )

ternary operator.

Parameters
CondThe Condition input value.
TrueValThe Value returned if Cond is true.
FalseValThe Value returned if Cond is false.

References _HLSL_BUILTIN_ALIAS, and select().

Referenced by hlsl::__detail::faceforward_impl(), hlsl::__detail::fmod_impl(), hlsl::__detail::fmod_vec_impl(), hlsl::__detail::lit_impl(), hlsl::__detail::refract_impl(), select(), select(), select(), select(), and select().

◆ select() [2/5]

template<typename T, int Sz>
__detail::enable_if_t< __detail::is_arithmetic< T >::Value, vector< T, Sz > > hlsl::select ( vector< bool, Sz > ,
T ,
T  )

◆ select() [3/5]

template<typename T, int Sz>
vector< T, Sz > hlsl::select ( vector< bool, Sz > Conds,
T TrueVal,
vector< T, Sz > FalseVals )

ternary operator for vectors.

All vectors must be the same size.

Parameters
CondsThe Condition input values.
TrueValThe scalar value to splat from when conditions are true.
FalseValsThe vector values are chosen from when conditions are false.

References _HLSL_BUILTIN_ALIAS, and select().

◆ select() [4/5]

template<typename T, int Sz>
vector< T, Sz > hlsl::select ( vector< bool, Sz > Conds,
vector< T, Sz > TrueVals,
T FalseVal )

ternary operator for vectors.

All vectors must be the same size.

Parameters
CondsThe Condition input values.
TrueValsThe vector values are chosen from when conditions are true.
FalseValThe scalar value to splat from when conditions are false.

All vectors must be the same size.

Parameters
CondsThe Condition input values.
TrueValThe scalar value to splat from when conditions are true.
FalseValThe scalar value to splat from when conditions are false.

References _HLSL_BUILTIN_ALIAS, and select().

◆ select() [5/5]

template<typename T, int Sz>
vector< T, Sz > hlsl::select ( vector< bool, Sz > Conds,
vector< T, Sz > TrueVals,
vector< T, Sz > FalseVals )

ternary operator for vectors.

All vectors must be the same size.

Parameters
CondsThe Condition input values.
TrueValsThe vector values are chosen from when conditions are true.
FalseValsThe vector values are chosen from when conditions are false.

References _HLSL_BUILTIN_ALIAS, and select().

◆ sign() [1/28]

int hlsl::sign ( double )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [2/28]

int2 hlsl::sign ( double2 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [3/28]

int3 hlsl::sign ( double3 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [4/28]

◆ sign() [5/28]

int hlsl::sign ( float )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [6/28]

int2 hlsl::sign ( float2 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [7/28]

int3 hlsl::sign ( float3 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [8/28]

int4 hlsl::sign ( float4 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [9/28]

◆ sign() [10/28]

int2 hlsl::sign ( half2 )

◆ sign() [11/28]

int3 hlsl::sign ( half3 )

◆ sign() [12/28]

int4 hlsl::sign ( half4 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [13/28]

int hlsl::sign ( int )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [14/28]

int2 hlsl::sign ( int2 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [15/28]

int3 hlsl::sign ( int3 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [16/28]

int4 hlsl::sign ( int4 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [17/28]

int hlsl::sign ( int64_t )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [18/28]

int2 hlsl::sign ( int64_t2 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [19/28]

int3 hlsl::sign ( int64_t3 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [20/28]

int4 hlsl::sign ( int64_t4 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [21/28]

int hlsl::sign ( uint )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [22/28]

int2 hlsl::sign ( uint2 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [23/28]

int3 hlsl::sign ( uint3 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [24/28]

int4 hlsl::sign ( uint4 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [25/28]

int hlsl::sign ( uint64_t )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [26/28]

int2 hlsl::sign ( uint64_t2 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [27/28]

int3 hlsl::sign ( uint64_t3 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sign() [28/28]

int4 hlsl::sign ( uint64_t4 )

References _HLSL_BUILTIN_ALIAS, and sign().

◆ sin() [1/8]

float hlsl::sin ( float )

References _HLSL_BUILTIN_ALIAS, and sin().

◆ sin() [2/8]

float2 hlsl::sin ( float2 )

References _HLSL_BUILTIN_ALIAS, and sin().

◆ sin() [3/8]

float3 hlsl::sin ( float3 )

References _HLSL_BUILTIN_ALIAS, and sin().

◆ sin() [4/8]

◆ sin() [5/8]

half hlsl::sin ( half )

◆ sin() [6/8]

◆ sin() [7/8]

◆ sin() [8/8]

half4 hlsl::sin ( half4 )

References _HLSL_BUILTIN_ALIAS, and sin().

◆ sinh() [1/8]

float hlsl::sinh ( float )

References _HLSL_BUILTIN_ALIAS, and sinh().

◆ sinh() [2/8]

float2 hlsl::sinh ( float2 )

References _HLSL_BUILTIN_ALIAS, and sinh().

◆ sinh() [3/8]

float3 hlsl::sinh ( float3 )

References _HLSL_BUILTIN_ALIAS, and sinh().

◆ sinh() [4/8]

◆ sinh() [5/8]

half hlsl::sinh ( half )

◆ sinh() [6/8]

◆ sinh() [7/8]

◆ sinh() [8/8]

half4 hlsl::sinh ( half4 )

References _HLSL_BUILTIN_ALIAS, and sinh().

◆ smoothstep() [1/4]

template<int N>
const __detail::HLSL_FIXED_VECTOR< float, N > hlsl::smoothstep ( __detail::HLSL_FIXED_VECTOR< float, N > Min,
__detail::HLSL_FIXED_VECTOR< float, N > Max,
__detail::HLSL_FIXED_VECTOR< float, N > X )
inline

Definition at line 578 of file hlsl_intrinsics.h.

References hlsl::__detail::smoothstep_vec_impl(), and X.

◆ smoothstep() [2/4]

template<int N>
const __detail::HLSL_FIXED_VECTOR< half, N > hlsl::smoothstep ( __detail::HLSL_FIXED_VECTOR< half, N > Min,
__detail::HLSL_FIXED_VECTOR< half, N > Max,
__detail::HLSL_FIXED_VECTOR< half, N > X )
inline

Definition at line 569 of file hlsl_intrinsics.h.

References smoothstep(), hlsl::__detail::smoothstep_vec_impl(), and X.

◆ smoothstep() [3/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > hlsl::smoothstep ( T Min,
T Max,
T X )
inline

Returns a smooth Hermite interpolation between 0 and 1, if X is in the range [Min, Max].

Parameters
MinThe minimum range of the x parameter.
MaxThe maximum range of the x parameter.
XThe specified value to be interpolated.

The return value is 0.0 if XMin and 1.0 if XMax. When Min < X < Max, the function performs smooth Hermite interpolation between 0 and 1.

Definition at line 556 of file hlsl_intrinsics.h.

References smoothstep(), hlsl::__detail::smoothstep_impl(), and X.

Referenced by smoothstep(), and smoothstep().

◆ smoothstep() [4/4]

template<typename T>
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > hlsl::smoothstep ( T Min,
T Max,
T X )
inline

Definition at line 563 of file hlsl_intrinsics.h.

References hlsl::__detail::smoothstep_impl(), and X.

◆ sqrt() [1/8]

float hlsl::sqrt ( float )

References _HLSL_BUILTIN_ALIAS, and sqrt().

◆ sqrt() [2/8]

float2 hlsl::sqrt ( float2 )

References _HLSL_BUILTIN_ALIAS, and sqrt().

◆ sqrt() [3/8]

float3 hlsl::sqrt ( float3 )

References _HLSL_BUILTIN_ALIAS, and sqrt().

◆ sqrt() [4/8]

◆ sqrt() [5/8]

half hlsl::sqrt ( half )

◆ sqrt() [6/8]

◆ sqrt() [7/8]

◆ sqrt() [8/8]

half4 hlsl::sqrt ( half4 )

References _HLSL_BUILTIN_ALIAS, and sqrt().

◆ step() [1/8]

float hlsl::step ( float ,
float  )

References _HLSL_BUILTIN_ALIAS, and step().

◆ step() [2/8]

float2 hlsl::step ( float2 ,
float2  )

References _HLSL_BUILTIN_ALIAS, and step().

◆ step() [3/8]

float3 hlsl::step ( float3 ,
float3  )

References _HLSL_BUILTIN_ALIAS, and step().

◆ step() [4/8]

◆ step() [5/8]

half hlsl::step ( half ,
half  )

◆ step() [6/8]

half2 hlsl::step ( half2 ,
half2  )

◆ step() [7/8]

half3 hlsl::step ( half3 ,
half3  )

◆ step() [8/8]

half4 hlsl::step ( half4 ,
half4  )

References _HLSL_BUILTIN_ALIAS, and step().

◆ tan() [1/8]

float hlsl::tan ( float )

References _HLSL_BUILTIN_ALIAS, and tan().

◆ tan() [2/8]

float2 hlsl::tan ( float2 )

References _HLSL_BUILTIN_ALIAS, and tan().

◆ tan() [3/8]

float3 hlsl::tan ( float3 )

References _HLSL_BUILTIN_ALIAS, and tan().

◆ tan() [4/8]

◆ tan() [5/8]

half hlsl::tan ( half )

◆ tan() [6/8]

◆ tan() [7/8]

◆ tan() [8/8]

half4 hlsl::tan ( half4 )

References _HLSL_BUILTIN_ALIAS, and tan().

◆ tanh() [1/8]

float hlsl::tanh ( float )

References _HLSL_BUILTIN_ALIAS, and tanh().

◆ tanh() [2/8]

float2 hlsl::tanh ( float2 )

References _HLSL_BUILTIN_ALIAS, and tanh().

◆ tanh() [3/8]

float3 hlsl::tanh ( float3 )

References _HLSL_BUILTIN_ALIAS, and tanh().

◆ tanh() [4/8]

◆ tanh() [5/8]

half hlsl::tanh ( half )

◆ tanh() [6/8]

◆ tanh() [7/8]

◆ tanh() [8/8]

half4 hlsl::tanh ( half4 )

References _HLSL_BUILTIN_ALIAS, and tanh().

◆ trunc() [1/8]

float hlsl::trunc ( float )

References _HLSL_BUILTIN_ALIAS, and trunc().

◆ trunc() [2/8]

float2 hlsl::trunc ( float2 )

References _HLSL_BUILTIN_ALIAS, and trunc().

◆ trunc() [3/8]

float3 hlsl::trunc ( float3 )

References _HLSL_BUILTIN_ALIAS, and trunc().

◆ trunc() [4/8]

float4 hlsl::trunc ( float4 )

◆ trunc() [5/8]

half hlsl::trunc ( half )

◆ trunc() [6/8]

half2 hlsl::trunc ( half2 )

◆ trunc() [7/8]

half3 hlsl::trunc ( half3 )

◆ trunc() [8/8]

half4 hlsl::trunc ( half4 )

References _HLSL_BUILTIN_ALIAS, and trunc().