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 : arg2
A 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 groupshared
A 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 static
A 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> y
A 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>= y
A 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 <y
A 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 <= y
A 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 == y
A 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 != y
A 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 f32tof16
Convert 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)