HLSL Core
Navigation: SDK → GPU → HLSL References
HLSL Core
HLSL core defines and functions.
Defines
FFX_SELECT
#define FFX_SELECT(cond, arg1, arg2) cond ? arg1 : arg2A define for abstracting select functionality for pre/post HLSL 21.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 44, column 9)
FFX_GROUPSHARED
#define FFX_GROUPSHARED groupsharedA define for abstracting shared memory between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 51, column 9)
FFX_GROUP_MEMORY_BARRIER
#define FFX_GROUP_MEMORY_BARRIER GroupMemoryBarrierWithGroupSync()A define for abstracting compute memory barriers between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 56, column 9)
FFX_ATOMIC_ADD
#define FFX_ATOMIC_ADD(x, y) InterlockedAdd(x, y)A define for abstracting compute atomic additions between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 61, column 9)
FFX_ATOMIC_ADD_RETURN
#define FFX_ATOMIC_ADD_RETURN(x, y, r) InterlockedAdd(x, y, r)A define for abstracting compute atomic additions between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 66, column 9)
FFX_ATOMIC_OR
#define FFX_ATOMIC_OR(x, y) InterlockedOr(x, y)A define for abstracting compute atomic OR between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 71, column 9)
FFX_ATOMIC_MIN
#define FFX_ATOMIC_MIN(x, y) InterlockedMin(x, y)A define for abstracting compute atomic min between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 76, column 9)
FFX_ATOMIC_MAX
#define FFX_ATOMIC_MAX(x, y) InterlockedMax(x, y)A define for abstracting compute atomic max between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 81, column 9)
FFX_STATIC
#define FFX_STATIC staticA define added to accept static markup on functions to aid CPU/GPU portability of code.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 86, column 9)
FFX_UNROLL
#define FFX_UNROLL [unroll]A define for abstracting loop unrolling between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 91, column 9)
FFX_GREATER_THAN
#define FFX_GREATER_THAN(x, y) x> yA define for abstracting a ‘greater than’ comparison operator between two types.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 96, column 9)
FFX_GREATER_THAN_EQUAL
#define FFX_GREATER_THAN_EQUAL(x, y) x>= yA define for abstracting a ‘greater than or equal’ comparison operator between two types.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 101, column 9)
FFX_LESS_THAN
#define FFX_LESS_THAN(x, y) x <yA define for abstracting a ‘less than’ comparison operator between two types.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 106, column 9)
FFX_LESS_THAN_EQUAL
#define FFX_LESS_THAN_EQUAL(x, y) x <= yA define for abstracting a ‘less than or equal’ comparison operator between two types.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 111, column 9)
FFX_EQUAL
#define FFX_EQUAL(x, y) x == yA define for abstracting an ‘equal’ comparison operator between two types.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 116, column 9)
FFX_NOT_EQUAL
#define FFX_NOT_EQUAL(x, y) x != yA define for abstracting a ‘not equal’ comparison operator between two types.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 121, column 9)
FFX_MATRIX_MULTIPLY
#define FFX_MATRIX_MULTIPLY(a, b) mul(a, b)A define for abstracting matrix multiply operations between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 126, column 9)
FFX_TRANSFORM_VECTOR
#define FFX_TRANSFORM_VECTOR(a, b) mul(a, b)A define for abstracting vector transformations between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 131, column 9)
FFX_MODULO
#define FFX_MODULO(a, b) (fmod(a, b))A define for abstracting modulo operations between shading languages.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 136, column 9)
FFX_BROADCAST_FLOAT32
#define FFX_BROADCAST_FLOAT32(x) FfxFloat32(x)Broadcast a scalar value to a 1-dimensional floating point vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 141, column 9)
FFX_BROADCAST_FLOAT32X2
#define FFX_BROADCAST_FLOAT32X2(x) FfxFloat32(x)Broadcast a scalar value to a 2-dimensional floating point vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 146, column 9)
FFX_BROADCAST_FLOAT32X3
#define FFX_BROADCAST_FLOAT32X3(x) FfxFloat32(x)Broadcast a scalar value to a 3-dimensional floating point vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 151, column 9)
FFX_BROADCAST_FLOAT32X4
#define FFX_BROADCAST_FLOAT32X4(x) FfxFloat32(x)Broadcast a scalar value to a 4-dimensional floating point vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 156, column 9)
FFX_BROADCAST_UINT32
#define FFX_BROADCAST_UINT32(x) FfxUInt32(x)Broadcast a scalar value to a 1-dimensional unsigned integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 161, column 9)
FFX_BROADCAST_UINT32X2
#define FFX_BROADCAST_UINT32X2(x) FfxUInt32(x)Broadcast a scalar value to a 2-dimensional unsigned integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 166, column 9)
FFX_BROADCAST_UINT32X3
#define FFX_BROADCAST_UINT32X3(x) FfxUInt32(x)Broadcast a scalar value to a 4-dimensional unsigned integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 171, column 9)
FFX_BROADCAST_UINT32X4
#define FFX_BROADCAST_UINT32X4(x) FfxUInt32(x)Broadcast a scalar value to a 4-dimensional unsigned integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 176, column 9)
FFX_BROADCAST_INT32
#define FFX_BROADCAST_INT32(x) FfxInt32(x)Broadcast a scalar value to a 1-dimensional signed integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 181, column 9)
FFX_BROADCAST_INT32X2
#define FFX_BROADCAST_INT32X2(x) FfxInt32(x)Broadcast a scalar value to a 2-dimensional signed integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 186, column 9)
FFX_BROADCAST_INT32X3
#define FFX_BROADCAST_INT32X3(x) FfxInt32(x)Broadcast a scalar value to a 3-dimensional signed integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 191, column 9)
FFX_BROADCAST_INT32X4
#define FFX_BROADCAST_INT32X4(x) FfxInt32(x)Broadcast a scalar value to a 4-dimensional signed integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 196, column 9)
FFX_BROADCAST_MIN_FLOAT16
#define FFX_BROADCAST_MIN_FLOAT16(a) FFX_MIN16_F(a)Broadcast a scalar value to a 1-dimensional half-precision floating point vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 201, column 9)
FFX_BROADCAST_MIN_FLOAT16X2
#define FFX_BROADCAST_MIN_FLOAT16X2(a) FFX_MIN16_F(a)Broadcast a scalar value to a 2-dimensional half-precision floating point vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 206, column 9)
FFX_BROADCAST_MIN_FLOAT16X3
#define FFX_BROADCAST_MIN_FLOAT16X3(a) FFX_MIN16_F(a)Broadcast a scalar value to a 3-dimensional half-precision floating point vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 211, column 9)
FFX_BROADCAST_MIN_FLOAT16X4
#define FFX_BROADCAST_MIN_FLOAT16X4(a) FFX_MIN16_F(a)Broadcast a scalar value to a 4-dimensional half-precision floating point vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 216, column 9)
FFX_BROADCAST_MIN_UINT16
#define FFX_BROADCAST_MIN_UINT16(a) FFX_MIN16_U(a)Broadcast a scalar value to a 1-dimensional half-precision unsigned integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 221, column 9)
FFX_BROADCAST_MIN_UINT16X2
#define FFX_BROADCAST_MIN_UINT16X2(a) FFX_MIN16_U(a)Broadcast a scalar value to a 2-dimensional half-precision unsigned integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 226, column 9)
FFX_BROADCAST_MIN_UINT16X3
#define FFX_BROADCAST_MIN_UINT16X3(a) FFX_MIN16_U(a)Broadcast a scalar value to a 3-dimensional half-precision unsigned integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 231, column 9)
FFX_BROADCAST_MIN_UINT16X4
#define FFX_BROADCAST_MIN_UINT16X4(a) FFX_MIN16_U(a)Broadcast a scalar value to a 4-dimensional half-precision unsigned integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 236, column 9)
FFX_BROADCAST_MIN_INT16
#define FFX_BROADCAST_MIN_INT16(a) FFX_MIN16_I(a)Broadcast a scalar value to a 1-dimensional half-precision signed integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 241, column 9)
FFX_BROADCAST_MIN_INT16X2
#define FFX_BROADCAST_MIN_INT16X2(a) FFX_MIN16_I(a)Broadcast a scalar value to a 2-dimensional half-precision signed integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 246, column 9)
FFX_BROADCAST_MIN_INT16X3
#define FFX_BROADCAST_MIN_INT16X3(a) FFX_MIN16_I(a)Broadcast a scalar value to a 3-dimensional half-precision signed integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 251, column 9)
FFX_BROADCAST_MIN_INT16X4
#define FFX_BROADCAST_MIN_INT16X4(a) FFX_MIN16_I(a)Broadcast a scalar value to a 4-dimensional half-precision signed integer vector.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 256, column 9)
ffxF32ToF16
#define ffxF32ToF16 f32tof16Convert FfxFloat32 to half (in lower 16-bits of output).
This function implements the same fast technique that is documented here: ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf
The function supports denormals.
Some conversion rules are to make computations possibly “safer” on the GPU, -INF & -NaN -> -65504 +INF & +NaN -> +65504
Returns: The closest 16bit floating point value to f.
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 274, column 9)
Functions
ffxPackHalf2x16
FfxUInt32 ffxPackHalf2x16(FfxFloat32x2 value)Pack 2x32-bit floating point values in a single 32bit value.
This function first converts each component of value into their nearest 16-bit floating point representation, and then stores the X and Y components in the lower and upper 16 bits of the 32bit unsigned integer respectively.
Returns: A packed 32bit value containing 2 16bit floating point values.
Parameters:
value(FfxFloat32x2) – [in] A 2-dimensional floating point value to convert and pack.
Returns: FfxUInt32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 288, column 11)
ffxBroadcast2
FfxFloat32x2 ffxBroadcast2(FfxFloat32 value)Broadcast a scalar value to a 2-dimensional floating point vector.
Returns: A 2-dimensional floating point vector with value in each component.
Parameters:
value(FfxFloat32) – [in] The value to to broadcast.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 301, column 14)
ffxBroadcast3
FfxFloat32x3 ffxBroadcast3(FfxFloat32 value)Broadcast a scalar value to a 3-dimensional floating point vector.
Returns: A 3-dimensional floating point vector with value in each component.
Parameters:
value(FfxFloat32) – [in] The value to to broadcast.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 314, column 14)
ffxBroadcast4
FfxFloat32x4 ffxBroadcast4(FfxFloat32 value)Broadcast a scalar value to a 4-dimensional floating point vector.
Returns: A 4-dimensional floating point vector with value in each component.
Parameters:
value(FfxFloat32) – [in] The value to to broadcast.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 327, column 14)
ffxBroadcast2
FfxInt32x2 ffxBroadcast2(FfxInt32 value)Broadcast a scalar value to a 2-dimensional signed integer vector.
Returns: A 2-dimensional signed integer vector with value in each component.
Parameters:
value(FfxInt32) – [in] The value to to broadcast.
Returns: FfxInt32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 340, column 12)
ffxBroadcast3
FfxInt32x3 ffxBroadcast3(FfxInt32 value)Broadcast a scalar value to a 3-dimensional signed integer vector.
Returns: A 3-dimensional signed integer vector with value in each component.
Parameters:
value(FfxInt32) – [in] The value to to broadcast.
Returns: FfxInt32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 353, column 12)
ffxBroadcast4
FfxInt32x4 ffxBroadcast4(FfxInt32 value)Broadcast a scalar value to a 4-dimensional signed integer vector.
Returns: A 4-dimensional signed integer vector with value in each component.
Parameters:
value(FfxInt32) – [in] The value to to broadcast.
Returns: FfxInt32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 366, column 12)
ffxBroadcast2
FfxUInt32x2 ffxBroadcast2(FfxUInt32 value)Broadcast a scalar value to a 2-dimensional unsigned integer vector.
Returns: A 2-dimensional unsigned integer vector with value in each component.
Parameters:
value(FfxUInt32) – [in] The value to to broadcast.
Returns: FfxUInt32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 379, column 13)
ffxBroadcast3
FfxUInt32x3 ffxBroadcast3(FfxUInt32 value)Broadcast a scalar value to a 3-dimensional unsigned integer vector.
Returns: A 3-dimensional unsigned integer vector with value in each component.
Parameters:
value(FfxUInt32) – [in] The value to to broadcast.
Returns: FfxUInt32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 392, column 13)
ffxBroadcast4
FfxUInt32x4 ffxBroadcast4(FfxUInt32 value)Broadcast a scalar value to a 4-dimensional unsigned integer vector.
Returns: A 4-dimensional unsigned integer vector with value in each component.
Parameters:
value(FfxUInt32) – [in] The value to to broadcast.
Returns: FfxUInt32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 405, column 13)
ffxAsUInt32
FfxUInt32 ffxAsUInt32(FfxFloat32 x)Interprets the bit pattern of x as an unsigned integer.
Returns: The input interpreted as an unsigned integer.
Parameters:
x(FfxFloat32) – [in] The input value.
Returns: FfxUInt32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 435, column 11)
ffxAsUInt32
FfxUInt32x2 ffxAsUInt32(FfxFloat32x2 x)Interprets the bit pattern of x as an unsigned integer.
Returns: The input interpreted as an unsigned integer.
Parameters:
x(FfxFloat32x2) – [in] The input value.
Returns: FfxUInt32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 448, column 13)
ffxAsUInt32
FfxUInt32x3 ffxAsUInt32(FfxFloat32x3 x)Interprets the bit pattern of x as an unsigned integer.
Returns: The input interpreted as an unsigned integer.
Parameters:
x(FfxFloat32x3) – [in] The input value.
Returns: FfxUInt32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 461, column 13)
ffxAsUInt32
FfxUInt32x4 ffxAsUInt32(FfxFloat32x4 x)Interprets the bit pattern of x as an unsigned integer.
Returns: The input interpreted as an unsigned integer.
Parameters:
x(FfxFloat32x4) – [in] The input value.
Returns: FfxUInt32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 474, column 13)
ffxAsFloat
FfxFloat32 ffxAsFloat(FfxUInt32 x)Interprets the bit pattern of x as a floating-point number.
Returns: The input interpreted as a floating-point number.
Parameters:
x(FfxUInt32) – [in] The input value.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 487, column 12)
ffxAsFloat
FfxFloat32x2 ffxAsFloat(FfxUInt32x2 x)Interprets the bit pattern of x as a floating-point number.
Returns: The input interpreted as a floating-point number.
Parameters:
x(FfxUInt32x2) – [in] The input value.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 500, column 14)
ffxAsFloat
FfxFloat32x3 ffxAsFloat(FfxUInt32x3 x)Interprets the bit pattern of x as a floating-point number.
Returns: The input interpreted as a floating-point number.
Parameters:
x(FfxUInt32x3) – [in] The input value.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 513, column 14)
ffxAsFloat
FfxFloat32x4 ffxAsFloat(FfxUInt32x4 x)Interprets the bit pattern of x as a floating-point number.
Returns: The input interpreted as a floating-point number.
Parameters:
x(FfxUInt32x4) – [in] The input value.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 526, column 14)
ffxReciprocal
FfxFloat32 ffxReciprocal(FfxFloat32 x)Compute the inverse of a value.
Returns: The inverse of x.
Parameters:
x(FfxFloat32) – [in] The value to calulate the inverse of.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 539, column 12)
ffxReciprocal
FfxFloat32x2 ffxReciprocal(FfxFloat32x2 x)Compute the inverse of a value.
Returns: The inverse of x.
Parameters:
x(FfxFloat32x2) – [in] The value to calulate the inverse of.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 552, column 14)
ffxReciprocal
FfxFloat32x3 ffxReciprocal(FfxFloat32x3 x)Compute the inverse of a value.
Returns: The inverse of x.
Parameters:
x(FfxFloat32x3) – [in] The value to calulate the inverse of.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 565, column 14)
ffxReciprocal
FfxFloat32x4 ffxReciprocal(FfxFloat32x4 x)Compute the inverse of a value.
Returns: The inverse of x.
Parameters:
x(FfxFloat32x4) – [in] The value to calulate the inverse of.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 578, column 14)
ffxRsqrt
FfxFloat32 ffxRsqrt(FfxFloat32 x)Compute the inverse square root of a value.
Returns: The inverse square root of x.
Parameters:
x(FfxFloat32) – [in] The value to calulate the inverse square root of.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 591, column 12)
ffxRsqrt
FfxFloat32x2 ffxRsqrt(FfxFloat32x2 x)Compute the inverse square root of a value.
Returns: The inverse square root of x.
Parameters:
x(FfxFloat32x2) – [in] The value to calulate the inverse square root of.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 604, column 14)
ffxRsqrt
FfxFloat32x3 ffxRsqrt(FfxFloat32x3 x)Compute the inverse square root of a value.
Returns: The inverse square root of x.
Parameters:
x(FfxFloat32x3) – [in] The value to calulate the inverse square root of.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 617, column 14)
ffxRsqrt
FfxFloat32x4 ffxRsqrt(FfxFloat32x4 x)Compute the inverse square root of a value.
Returns: The inverse square root of x.
Parameters:
x(FfxFloat32x4) – [in] The value to calulate the inverse square root of.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 630, column 14)
ffxLerp
FfxFloat32 ffxLerp(FfxFloat32 x, FfxFloat32 y, FfxFloat32 t)Compute the linear interopation between two values.
Implemented by calling the HLSL mix instrinsic function. Implements the following math: (1 - t) * x + t * y
Returns: A linearly interpolated value between x and y according to t.
Parameters:
x(FfxFloat32) – [in] The first value to lerp between.y(FfxFloat32) – [in] The second value to lerp between.t(FfxFloat32) – [in] The value to determine how much of x and how much of y.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 650, column 12)
ffxLerp
FfxFloat32x2 ffxLerp(FfxFloat32x2 x, FfxFloat32x2 y, FfxFloat32 t)Compute the linear interopation between two values.
Implemented by calling the HLSL mix instrinsic function. Implements the following math: (1 - t) * x + t * y
Returns: A linearly interpolated value between x and y according to t.
Parameters:
x(FfxFloat32x2) – [in] The first value to lerp between.y(FfxFloat32x2) – [in] The second value to lerp between.t(FfxFloat32) – [in] The value to determine how much of x and how much of y.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 670, column 14)
ffxLerp
FfxFloat32x2 ffxLerp(FfxFloat32x2 x, FfxFloat32x2 y, FfxFloat32x2 t)Compute the linear interopation between two values.
Implemented by calling the HLSL mix instrinsic function. Implements the following math: (1 - t) * x + t * y
Returns: A linearly interpolated value between x and y according to t.
Parameters:
x(FfxFloat32x2) – [in] The first value to lerp between.y(FfxFloat32x2) – [in] The second value to lerp between.t(FfxFloat32x2) – [in] The value to determine how much of x and how much of y.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 690, column 14)
ffxLerp
FfxFloat32x3 ffxLerp(FfxFloat32x3 x, FfxFloat32x3 y, FfxFloat32 t)Compute the linear interopation between two values.
Implemented by calling the HLSL mix instrinsic function. Implements the following math: (1 - t) * x + t * y
Returns: A linearly interpolated value between x and y according to t.
Parameters:
x(FfxFloat32x3) – [in] The first value to lerp between.y(FfxFloat32x3) – [in] The second value to lerp between.t(FfxFloat32) – [in] The value to determine how much of x and how much of y.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 710, column 14)
ffxLerp
FfxFloat32x3 ffxLerp(FfxFloat32x3 x, FfxFloat32x3 y, FfxFloat32x3 t)Compute the linear interopation between two values.
Implemented by calling the HLSL mix instrinsic function. Implements the following math: (1 - t) * x + t * y
Returns: A linearly interpolated value between x and y according to t.
Parameters:
x(FfxFloat32x3) – [in] The first value to lerp between.y(FfxFloat32x3) – [in] The second value to lerp between.t(FfxFloat32x3) – [in] The value to determine how much of x and how much of y.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 730, column 14)
ffxLerp
FfxFloat32x4 ffxLerp(FfxFloat32x4 x, FfxFloat32x4 y, FfxFloat32 t)Compute the linear interopation between two values.
Implemented by calling the HLSL mix instrinsic function. Implements the following math: (1 - t) * x + t * y
Returns: A linearly interpolated value between x and y according to t.
Parameters:
x(FfxFloat32x4) – [in] The first value to lerp between.y(FfxFloat32x4) – [in] The second value to lerp between.t(FfxFloat32) – [in] The value to determine how much of x and how much of y.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 750, column 14)
ffxLerp
FfxFloat32x4 ffxLerp(FfxFloat32x4 x, FfxFloat32x4 y, FfxFloat32x4 t)Compute the linear interopation between two values.
Implemented by calling the HLSL mix instrinsic function. Implements the following math: (1 - t) * x + t * y
Returns: A linearly interpolated value between x and y according to t.
Parameters:
x(FfxFloat32x4) – [in] The first value to lerp between.y(FfxFloat32x4) – [in] The second value to lerp between.t(FfxFloat32x4) – [in] The value to determine how much of x and how much of y.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 770, column 14)
ffxSaturate
FfxFloat32 ffxSaturate(FfxFloat32 x)Clamp a value to a [0..1] range.
Returns: The clamped version of x.
Parameters:
x(FfxFloat32) – [in] The value to clamp to [0..1] range.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 783, column 12)
ffxSaturate
FfxFloat32x2 ffxSaturate(FfxFloat32x2 x)Clamp a value to a [0..1] range.
Returns: The clamped version of x.
Parameters:
x(FfxFloat32x2) – [in] The value to clamp to [0..1] range.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 796, column 14)
ffxSaturate
FfxFloat32x3 ffxSaturate(FfxFloat32x3 x)Clamp a value to a [0..1] range.
Returns: The clamped version of x.
Parameters:
x(FfxFloat32x3) – [in] The value to clamp to [0..1] range.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 809, column 14)
ffxSaturate
FfxFloat32x4 ffxSaturate(FfxFloat32x4 x)Clamp a value to a [0..1] range.
Returns: The clamped version of x.
Parameters:
x(FfxFloat32x4) – [in] The value to clamp to [0..1] range.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 822, column 14)
ffxFract
FfxFloat32 ffxFract(FfxFloat32 x)Compute the factional part of a decimal value.
This function calculates x - floor(x). Where floor is the intrinsic HLSL function.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware. It is worth further noting that this function is intentionally distinct from the HLSL frac intrinsic function.
Returns: The fractional part of x.
Parameters:
x(FfxFloat32) – [in] The value to compute the fractional part from.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 841, column 12)
ffxFract
FfxFloat32x2 ffxFract(FfxFloat32x2 x)Compute the factional part of a decimal value.
This function calculates x - floor(x). Where floor is the intrinsic HLSL function.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware. It is worth further noting that this function is intentionally distinct from the HLSL frac intrinsic function.
Returns: The fractional part of x.
Parameters:
x(FfxFloat32x2) – [in] The value to compute the fractional part from.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 860, column 14)
ffxFract
FfxFloat32x3 ffxFract(FfxFloat32x3 x)Compute the factional part of a decimal value.
This function calculates x - floor(x). Where floor is the intrinsic HLSL function.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware. It is worth further noting that this function is intentionally distinct from the HLSL frac intrinsic function.
Returns: The fractional part of x.
Parameters:
x(FfxFloat32x3) – [in] The value to compute the fractional part from.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 879, column 14)
ffxFract
FfxFloat32x4 ffxFract(FfxFloat32x4 x)Compute the factional part of a decimal value.
This function calculates x - floor(x). Where floor is the intrinsic HLSL function.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware. It is worth further noting that this function is intentionally distinct from the HLSL frac intrinsic function.
Returns: The fractional part of x.
Parameters:
x(FfxFloat32x4) – [in] The value to compute the fractional part from.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 898, column 14)
ffxRound
FfxFloat32 ffxRound(FfxFloat32 x)Rounds to the nearest integer. In case the fractional part is 0.5, it will round to the nearest even integer.
Returns: The nearest integer from x. The nearest even integer from x if equidistant from 2 integer.
Parameters:
x(FfxFloat32) – [in] The value to be rounded.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 911, column 12)
ffxRound
FfxFloat32x2 ffxRound(FfxFloat32x2 x)Rounds to the nearest integer. In case the fractional part is 0.5, it will round to the nearest even integer.
Returns: The nearest integer from x. The nearest even integer from x if equidistant from 2 integer.
Parameters:
x(FfxFloat32x2) – [in] The value to be rounded.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 924, column 14)
ffxRound
FfxFloat32x3 ffxRound(FfxFloat32x3 x)Rounds to the nearest integer. In case the fractional part is 0.5, it will round to the nearest even integer.
Returns: The nearest integer from x. The nearest even integer from x if equidistant from 2 integer.
Parameters:
x(FfxFloat32x3) – [in] The value to be rounded.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 937, column 14)
ffxRound
FfxFloat32x4 ffxRound(FfxFloat32x4 x)Rounds to the nearest integer. In case the fractional part is 0.5, it will round to the nearest even integer.
Returns: The nearest integer from x. The nearest even integer from x if equidistant from 2 integer.
Parameters:
x(FfxFloat32x4) – [in] The value to be rounded.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 950, column 14)
ffxMax3
FfxFloat32 ffxMax3(FfxFloat32 x, FfxFloat32 y, FfxFloat32 z)Compute the maximum of three values.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware.
Returns: The maximum value of x, y, and z.
Parameters:
x(FfxFloat32) – [in] The first value to include in the max calculation.y(FfxFloat32) – [in] The second value to include in the max calcuation.z(FfxFloat32) – [in] The third value to include in the max calcuation.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 967, column 12)
ffxMax3
FfxFloat32x2 ffxMax3(FfxFloat32x2 x, FfxFloat32x2 y, FfxFloat32x2 z)Compute the maximum of three values.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware.
Returns: The maximum value of x, y, and z.
Parameters:
x(FfxFloat32x2) – [in] The first value to include in the max calculation.y(FfxFloat32x2) – [in] The second value to include in the max calcuation.z(FfxFloat32x2) – [in] The third value to include in the max calcuation.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 984, column 14)
ffxMax3
FfxFloat32x3 ffxMax3(FfxFloat32x3 x, FfxFloat32x3 y, FfxFloat32x3 z)Compute the maximum of three values.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware.
Returns: The maximum value of x, y, and z.
Parameters:
x(FfxFloat32x3) – [in] The first value to include in the max calculation.y(FfxFloat32x3) – [in] The second value to include in the max calcuation.z(FfxFloat32x3) – [in] The third value to include in the max calcuation.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1001, column 14)
ffxMax3
FfxFloat32x4 ffxMax3(FfxFloat32x4 x, FfxFloat32x4 y, FfxFloat32x4 z)Compute the maximum of three values.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware.
Returns: The maximum value of x, y, and z.
Parameters:
x(FfxFloat32x4) – [in] The first value to include in the max calculation.y(FfxFloat32x4) – [in] The second value to include in the max calcuation.z(FfxFloat32x4) – [in] The third value to include in the max calcuation.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1018, column 14)
ffxMax3
FfxUInt32 ffxMax3(FfxUInt32 x, FfxUInt32 y, FfxUInt32 z)Compute the maximum of three values.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware.
Returns: The maximum value of x, y, and z.
Parameters:
x(FfxUInt32) – [in] The first value to include in the max calculation.y(FfxUInt32) – [in] The second value to include in the max calcuation.z(FfxUInt32) – [in] The third value to include in the max calcuation.
Returns: FfxUInt32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1035, column 11)
ffxMax3
FfxUInt32x2 ffxMax3(FfxUInt32x2 x, FfxUInt32x2 y, FfxUInt32x2 z)Compute the maximum of three values.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware.
Returns: The maximum value of x, y, and z.
Parameters:
x(FfxUInt32x2) – [in] The first value to include in the max calculation.y(FfxUInt32x2) – [in] The second value to include in the max calcuation.z(FfxUInt32x2) – [in] The third value to include in the max calcuation.
Returns: FfxUInt32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1052, column 13)
ffxMax3
FfxUInt32x3 ffxMax3(FfxUInt32x3 x, FfxUInt32x3 y, FfxUInt32x3 z)Compute the maximum of three values.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware.
Returns: The maximum value of x, y, and z.
Parameters:
x(FfxUInt32x3) – [in] The first value to include in the max calculation.y(FfxUInt32x3) – [in] The second value to include in the max calcuation.z(FfxUInt32x3) – [in] The third value to include in the max calcuation.
Returns: FfxUInt32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1069, column 13)
ffxMax3
FfxUInt32x4 ffxMax3(FfxUInt32x4 x, FfxUInt32x4 y, FfxUInt32x4 z)Compute the maximum of three values.
NOTE: This function should compile down to a single V_MAX3_F32 operation on GCN/RDNA hardware.
Returns: The maximum value of x, y, and z.
Parameters:
x(FfxUInt32x4) – [in] The first value to include in the max calculation.y(FfxUInt32x4) – [in] The second value to include in the max calcuation.z(FfxUInt32x4) – [in] The third value to include in the max calcuation.
Returns: FfxUInt32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1086, column 13)
ffxMed3
FfxFloat32 ffxMed3(FfxFloat32 x, FfxFloat32 y, FfxFloat32 z)Compute the median of three values.
NOTE: This function should compile down to a single V_MED3_F32 operation on GCN/RDNA hardware.
Returns: The median value of x, y, and z.
Parameters:
x(FfxFloat32) – [in] The first value to include in the median calculation.y(FfxFloat32) – [in] The second value to include in the median calcuation.z(FfxFloat32) – [in] The third value to include in the median calcuation.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1103, column 12)
ffxMed3
FfxFloat32x2 ffxMed3(FfxFloat32x2 x, FfxFloat32x2 y, FfxFloat32x2 z)Compute the median of three values.
NOTE: This function should compile down to a single V_MED3_F32 operation on GCN/RDNA hardware.
Returns: The median value of x, y, and z.
Parameters:
x(FfxFloat32x2) – [in] The first value to include in the median calculation.y(FfxFloat32x2) – [in] The second value to include in the median calcuation.z(FfxFloat32x2) – [in] The third value to include in the median calcuation.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1120, column 14)
ffxMed3
FfxFloat32x3 ffxMed3(FfxFloat32x3 x, FfxFloat32x3 y, FfxFloat32x3 z)Compute the median of three values.
NOTE: This function should compile down to a single V_MED3_F32 operation on GCN/RDNA hardware.
Returns: The median value of x, y, and z.
Parameters:
x(FfxFloat32x3) – [in] The first value to include in the median calculation.y(FfxFloat32x3) – [in] The second value to include in the median calcuation.z(FfxFloat32x3) – [in] The third value to include in the median calcuation.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1137, column 14)
ffxMed3
FfxFloat32x4 ffxMed3(FfxFloat32x4 x, FfxFloat32x4 y, FfxFloat32x4 z)Compute the median of three values.
NOTE: This function should compile down to a single V_MED3_F32 operation on GCN/RDNA hardware.
Returns: The median value of x, y, and z.
Parameters:
x(FfxFloat32x4) – [in] The first value to include in the median calculation.y(FfxFloat32x4) – [in] The second value to include in the median calcuation.z(FfxFloat32x4) – [in] The third value to include in the median calcuation.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1154, column 14)
ffxMin3
FfxFloat32 ffxMin3(FfxFloat32 x, FfxFloat32 y, FfxFloat32 z)Compute the minimum of three values.
NOTE: This function should compile down to a single V_MIN3_F32 operation on GCN/RDNA hardware.
Returns: The minimum value of x, y, and z.
Parameters:
x(FfxFloat32) – [in] The first value to include in the min calculation.y(FfxFloat32) – [in] The second value to include in the min calcuation.z(FfxFloat32) – [in] The third value to include in the min calcuation.
Returns: FfxFloat32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1243, column 12)
ffxMin3
FfxFloat32x2 ffxMin3(FfxFloat32x2 x, FfxFloat32x2 y, FfxFloat32x2 z)Compute the minimum of three values.
NOTE: This function should compile down to a single V_MIN3_F32 operation on GCN/RDNA hardware.
Returns: The minimum value of x, y, and z.
Parameters:
x(FfxFloat32x2) – [in] The first value to include in the min calculation.y(FfxFloat32x2) – [in] The second value to include in the min calcuation.z(FfxFloat32x2) – [in] The third value to include in the min calcuation.
Returns: FfxFloat32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1260, column 14)
ffxMin3
FfxFloat32x3 ffxMin3(FfxFloat32x3 x, FfxFloat32x3 y, FfxFloat32x3 z)Compute the minimum of three values.
NOTE: This function should compile down to a single V_MIN3_F32 operation on GCN/RDNA hardware.
Returns: The minimum value of x, y, and z.
Parameters:
x(FfxFloat32x3) – [in] The first value to include in the min calculation.y(FfxFloat32x3) – [in] The second value to include in the min calcuation.z(FfxFloat32x3) – [in] The third value to include in the min calcuation.
Returns: FfxFloat32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1277, column 14)
ffxMin3
FfxFloat32x4 ffxMin3(FfxFloat32x4 x, FfxFloat32x4 y, FfxFloat32x4 z)Compute the minimum of three values.
NOTE: This function should compile down to a single V_MIN3_F32 operation on GCN/RDNA hardware.
Returns: The minimum value of x, y, and z.
Parameters:
x(FfxFloat32x4) – [in] The first value to include in the min calculation.y(FfxFloat32x4) – [in] The second value to include in the min calcuation.z(FfxFloat32x4) – [in] The third value to include in the min calcuation.
Returns: FfxFloat32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1294, column 14)
ffxMin3
FfxUInt32 ffxMin3(FfxUInt32 x, FfxUInt32 y, FfxUInt32 z)Compute the minimum of three values.
NOTE: This function should compile down to a single V_MIN3_F32 operation on GCN/RDNA hardware.
Returns: The minimum value of x, y, and z.
Parameters:
x(FfxUInt32) – [in] The first value to include in the min calculation.y(FfxUInt32) – [in] The second value to include in the min calcuation.z(FfxUInt32) – [in] The third value to include in the min calcuation.
Returns: FfxUInt32
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1311, column 11)
ffxMin3
FfxUInt32x2 ffxMin3(FfxUInt32x2 x, FfxUInt32x2 y, FfxUInt32x2 z)Compute the minimum of three values.
NOTE: This function should compile down to a single V_MIN3_F32 operation on GCN/RDNA hardware.
Returns: The minimum value of x, y, and z.
Parameters:
x(FfxUInt32x2) – [in] The first value to include in the min calculation.y(FfxUInt32x2) – [in] The second value to include in the min calcuation.z(FfxUInt32x2) – [in] The third value to include in the min calcuation.
Returns: FfxUInt32x2
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1328, column 13)
ffxMin3
FfxUInt32x3 ffxMin3(FfxUInt32x3 x, FfxUInt32x3 y, FfxUInt32x3 z)Compute the minimum of three values.
NOTE: This function should compile down to a single V_MIN3_F32 operation on GCN/RDNA hardware.
Returns: The minimum value of x, y, and z.
Parameters:
x(FfxUInt32x3) – [in] The first value to include in the min calculation.y(FfxUInt32x3) – [in] The second value to include in the min calculation.z(FfxUInt32x3) – [in] The third value to include in the min calculation.
Returns: FfxUInt32x3
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1345, column 13)
ffxMin3
FfxUInt32x4 ffxMin3(FfxUInt32x4 x, FfxUInt32x4 y, FfxUInt32x4 z)Compute the minimum of three values.
NOTE: This function should compile down to a single V_MIN3_F32 operation on GCN/RDNA hardware.
Returns: The minimum value of x, y, and z.
Parameters:
x(FfxUInt32x4) – [in] The first value to include in the min calculation.y(FfxUInt32x4) – [in] The second value to include in the min calcuation.z(FfxUInt32x4) – [in] The third value to include in the min calcuation.
Returns: FfxUInt32x4
Source: sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (line 1362, column 13)