Skip to content

SDK Types

Navigation: SDKHost

SDK Types

Structure and enumeration definitions used by the FidelityFX SDK.

Defines

FFX_MUTEX

#define FFX_MUTEX std::mutex

FidelityFX mutex wrapper.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 63, column 9)

POPULATE_SHADER_BLOB_FFX

#define POPULATE_SHADER_BLOB_FFX(info, index)

Macro definition to copy header shader blob information into its SDK structural representation.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 1171, column 9)

Typedefs

FfxDevice

typedef void* FfxDevice

A typedef representing the graphics device.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 570, column 14)

FfxCommandList

typedef void* FfxCommandList

A typedef representing a command list or command buffer.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 579, column 14)

FfxRootSignature

typedef void* FfxRootSignature

A typedef for a root signature.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 584, column 14)

FfxCommandSignature

typedef void* FfxCommandSignature

A typedef for a command signature, used for indirect workloads.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 589, column 14)

FfxPipeline

typedef void* FfxPipeline

A typedef for a pipeline state object.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 594, column 14)

FfxAllocFunc

typedef void *(* FfxAllocFunc) (size_t size)

Allocate block of memory.

The callback function for requesting memory of provided size. size cannot be 0.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 609, column 9)

FfxReallocFunc

typedef void *(* FfxReallocFunc) (void *ptr, size_t size)

Reallocate block of memory.

The callback function for reallocating provided block of memory to new location with specified size. When provided with NULL as ptr then it should behave as FfxBreadcrumbsAllocFunc. If the operation failed then contents of ptr cannot be changed. size cannot be 0.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 629, column 9)

FfxFreeFunc

typedef void(* FfxFreeFunc) (void *ptr)

Free block of memory.

The callback function for freeing provided block of memory. ptr cannot be NULL.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 641, column 9)

FfxConstantBufferAllocator

typedef FfxConstantAllocation(* FfxConstantBufferAllocator) (void *data, const FfxUInt64 dataSize)

A function definition for a constant buffer allocation callback.

Used to provide a constant buffer allocator to the calling backend

Source: sdk/include/FidelityFX/host/ffx_types.h (line 794, column 9)

Enumerations

FfxSurfaceFormat

enum FfxSurfaceFormat

An enumeration of surface formats. Needs to match enum FfxApiSurfaceFormat.

Values:

FFX_SURFACE_FORMAT_UNKNOWN

Unknown format.

FFX_SURFACE_FORMAT_R32G32B32A32_TYPELESS

32 bit per channel, 4 channel typeless format

FFX_SURFACE_FORMAT_R32G32B32A32_UINT

32 bit per channel, 4 channel uint format

FFX_SURFACE_FORMAT_R32G32B32A32_FLOAT

32 bit per channel, 4 channel float format

FFX_SURFACE_FORMAT_R16G16B16A16_FLOAT

16 bit per channel, 4 channel float format

FFX_SURFACE_FORMAT_R32G32B32_FLOAT

32 bit per channel, 3 channel float format

FFX_SURFACE_FORMAT_R32G32_FLOAT

32 bit per channel, 2 channel float format

FFX_SURFACE_FORMAT_R8_UINT

8 bit per channel, 1 channel float format

FFX_SURFACE_FORMAT_R32_UINT

32 bit per channel, 1 channel float format

FFX_SURFACE_FORMAT_R8G8B8A8_TYPELESS

8 bit per channel, 4 channel typeless format

FFX_SURFACE_FORMAT_R8G8B8A8_UNORM

8 bit per channel, 4 channel unsigned normalized format

FFX_SURFACE_FORMAT_R8G8B8A8_SNORM

8 bit per channel, 4 channel signed normalized format

FFX_SURFACE_FORMAT_R8G8B8A8_SRGB

8 bit per channel, 4 channel srgb normalized

FFX_SURFACE_FORMAT_B8G8R8A8_TYPELESS

8 bit per channel, 4 channel typeless format

FFX_SURFACE_FORMAT_B8G8R8A8_UNORM

8 bit per channel, 4 channel unsigned normalized format

FFX_SURFACE_FORMAT_B8G8R8A8_SRGB

8 bit per channel, 4 channel srgb normalized

FFX_SURFACE_FORMAT_R11G11B10_FLOAT

32 bit 3 channel float format

FFX_SURFACE_FORMAT_R10G10B10A2_UNORM

10 bit per 3 channel, 2 bit for 1 channel normalized format

FFX_SURFACE_FORMAT_R16G16_FLOAT

16 bit per channel, 2 channel float format

FFX_SURFACE_FORMAT_R16G16_UINT

16 bit per channel, 2 channel unsigned int format

FFX_SURFACE_FORMAT_R16G16_SINT

16 bit per channel, 2 channel signed int format

FFX_SURFACE_FORMAT_R16_FLOAT

16 bit per channel, 1 channel float format

FFX_SURFACE_FORMAT_R16_UINT

16 bit per channel, 1 channel unsigned int format

FFX_SURFACE_FORMAT_R16_UNORM

16 bit per channel, 1 channel unsigned normalized format

FFX_SURFACE_FORMAT_R16_SNORM

16 bit per channel, 1 channel signed normalized format

FFX_SURFACE_FORMAT_R8_UNORM

8 bit per channel, 1 channel unsigned normalized format

FFX_SURFACE_FORMAT_R8G8_UNORM

8 bit per channel, 2 channel unsigned normalized format

FFX_SURFACE_FORMAT_R8G8_UINT

8 bit per channel, 2 channel unsigned integer format

FFX_SURFACE_FORMAT_R32_FLOAT

32 bit per channel, 1 channel float format

FFX_SURFACE_FORMAT_R9G9B9E5_SHAREDEXP

9 bit per channel, 5 bit exponent format

FFX_SURFACE_FORMAT_R16G16B16A16_TYPELESS

16 bit per channel, 4 channel typeless format

FFX_SURFACE_FORMAT_R32G32_TYPELESS

32 bit per channel, 2 channel typeless format

FFX_SURFACE_FORMAT_R10G10B10A2_TYPELESS

10 bit per 3 channel, 2 bit for 1 channel typeless format

FFX_SURFACE_FORMAT_R16G16_TYPELESS

16 bit per channel, 2 channel typeless format

FFX_SURFACE_FORMAT_R16_TYPELESS

16 bit per channel, 1 channel typeless format

FFX_SURFACE_FORMAT_R8_TYPELESS

8 bit per channel, 1 channel typeless format

FFX_SURFACE_FORMAT_R8G8_TYPELESS

8 bit per channel, 2 channel typeless format

FFX_SURFACE_FORMAT_R32_TYPELESS

32 bit per channel, 1 channel typeless format

Source: sdk/include/FidelityFX/host/ffx_types.h (line 282, column 1)

FfxResourceUsage

enum FfxResourceUsage

An enumeration of resource usage.

Values:

FFX_RESOURCE_USAGE_READ_ONLY

FFX_RESOURCE_USAGE_READ_ONLY = 0

No usage flags indicate a resource is read only.

FFX_RESOURCE_USAGE_RENDERTARGET

FFX_RESOURCE_USAGE_RENDERTARGET = (1<<0)

Indicates a resource will be used as render target.

FFX_RESOURCE_USAGE_UAV

FFX_RESOURCE_USAGE_UAV = (1<<1)

Indicates a resource will be used as UAV.

FFX_RESOURCE_USAGE_DEPTHTARGET

FFX_RESOURCE_USAGE_DEPTHTARGET = (1<<2)

Indicates a resource will be used as depth target.

FFX_RESOURCE_USAGE_INDIRECT

FFX_RESOURCE_USAGE_INDIRECT = (1<<3)

Indicates a resource will be used as indirect argument buffer.

FFX_RESOURCE_USAGE_ARRAYVIEW

FFX_RESOURCE_USAGE_ARRAYVIEW = (1<<4)

Indicates a resource that will generate array views. Works on 2D and cubemap textures.

FFX_RESOURCE_USAGE_STENCILTARGET

FFX_RESOURCE_USAGE_STENCILTARGET = (1<<5)

Indicates a resource will be used as stencil target.

FFX_RESOURCE_USAGE_DCC_RENDERTARGET

FFX_RESOURCE_USAGE_DCC_RENDERTARGET = (1<<15)

Indicates a resource that should specify optimal render target memory access flags (for console use)

Source: sdk/include/FidelityFX/host/ffx_types.h (line 334, column 1)

FfxResourceStates

enum FfxResourceStates

An enumeration of resource states.

Values:

FFX_RESOURCE_STATE_COMMON

FFX_RESOURCE_STATE_COMMON = (1 <<0)

FFX_RESOURCE_STATE_UNORDERED_ACCESS

FFX_RESOURCE_STATE_UNORDERED_ACCESS = (1 <<1)

Indicates a resource is in the state to be used as UAV.

FFX_RESOURCE_STATE_COMPUTE_READ

FFX_RESOURCE_STATE_COMPUTE_READ = (1 <<2)

Indicates a resource is in the state to be read by compute shaders.

FFX_RESOURCE_STATE_PIXEL_READ

FFX_RESOURCE_STATE_PIXEL_READ = (1 <<3)

Indicates a resource is in the state to be read by pixel shaders.

FFX_RESOURCE_STATE_PIXEL_COMPUTE_READ

FFX_RESOURCE_STATE_PIXEL_COMPUTE_READ = (FFX_RESOURCE_STATE_PIXEL_READ | FFX_RESOURCE_STATE_COMPUTE_READ)

Indicates a resource is in the state to be read by pixel or compute shaders.

FFX_RESOURCE_STATE_COPY_SRC

FFX_RESOURCE_STATE_COPY_SRC = (1 <<4)

Indicates a resource is in the state to be used as source in a copy command.

FFX_RESOURCE_STATE_COPY_DEST

FFX_RESOURCE_STATE_COPY_DEST = (1 <<5)

Indicates a resource is in the state to be used as destination in a copy command.

FFX_RESOURCE_STATE_GENERIC_READ

FFX_RESOURCE_STATE_GENERIC_READ = (FFX_RESOURCE_STATE_COPY_SRC | FFX_RESOURCE_STATE_COMPUTE_READ)

Indicates a resource is in generic (slow) read state.

FFX_RESOURCE_STATE_INDIRECT_ARGUMENT

FFX_RESOURCE_STATE_INDIRECT_ARGUMENT = (1 <<6)

Indicates a resource is in the state to be used as an indirect command argument.

FFX_RESOURCE_STATE_PRESENT

FFX_RESOURCE_STATE_PRESENT = (1 <<7)

Indicates a resource is in the state to be used to present to the swap chain.

FFX_RESOURCE_STATE_RENDER_TARGET

FFX_RESOURCE_STATE_RENDER_TARGET = (1 <<8)

Indicates a resource is in the state to be used as render target.

FFX_RESOURCE_STATE_DEPTH_ATTACHEMENT

FFX_RESOURCE_STATE_DEPTH_ATTACHEMENT = (1 <<9)

Indicates a resource is in the state to be used as depth attachment.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 349, column 1)

FfxResourceDimension

enum FfxResourceDimension

An enumeration of surface dimensions.

Values:

FFX_RESOURCE_DIMENSION_TEXTURE_1D

A resource with a single dimension.

FFX_RESOURCE_DIMENSION_TEXTURE_2D

A resource with two dimensions.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 368, column 1)

FfxResourceViewDimension

enum FfxResourceViewDimension

An enumeration of resource view dimensions.

Values:

FFX_RESOURCE_VIEW_DIMENSION_BUFFER

A resource view on a buffer.

FFX_RESOURCE_VIEW_DIMENSION_TEXTURE_1D

A resource view on a single dimension.

FFX_RESOURCE_VIEW_DIMENSION_TEXTURE_1D_ARRAY

A resource view on a single dimensional array.

FFX_RESOURCE_VIEW_DIMENSION_TEXTURE_2D

A resource view on two dimensions.

FFX_RESOURCE_VIEW_DIMENSION_TEXTURE_2D_ARRAY

A resource view on two dimensional array.

FFX_RESOURCE_VIEW_DIMENSION_TEXTURE_3D

A resource view on three dimensions.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 377, column 1)

FfxResourceFlags

enum FfxResourceFlags

An enumeration of surface dimensions.

Values:

FFX_RESOURCE_FLAGS_NONE

FFX_RESOURCE_FLAGS_NONE = 0

No flags.

FFX_RESOURCE_FLAGS_ALIASABLE

FFX_RESOURCE_FLAGS_ALIASABLE = (1 <<0)

A bit indicating a resource does not need to persist across frames.

FFX_RESOURCE_FLAGS_UNDEFINED

FFX_RESOURCE_FLAGS_UNDEFINED = (1 <<1)

Special case flag used internally when importing resources that require additional setup.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 390, column 1)

FfxResourceViewType

enum FfxResourceViewType

An enumeration of all resource view types.

Values:

FFX_RESOURCE_VIEW_UNORDERED_ACCESS

The resource view is an unordered access view (UAV).

FFX_RESOURCE_VIEW_SHADER_READ

The resource view is a shader resource view (SRV).

Source: sdk/include/FidelityFX/host/ffx_types.h (line 400, column 1)

FfxFilterType

enum FfxFilterType

The type of filtering to perform when reading a texture.

Values:

FFX_FILTER_TYPE_MINMAGMIP_POINT

Point sampling.

FFX_FILTER_TYPE_MINMAGMIP_LINEAR

Sampling with interpolation.

FFX_FILTER_TYPE_MINMAGLINEARMIP_POINT

Use linear interpolation for minification and magnification; use point sampling for mip-level sampling.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 409, column 1)

FfxAddressMode

enum FfxAddressMode

The address mode used when reading a texture.

Values:

FFX_ADDRESS_MODE_WRAP

Wrap when reading texture.

FFX_ADDRESS_MODE_MIRROR

Mirror when reading texture.

FFX_ADDRESS_MODE_CLAMP

Clamp when reading texture.

FFX_ADDRESS_MODE_BORDER

Border color when reading texture.

FFX_ADDRESS_MODE_MIRROR_ONCE

Mirror once when reading texture.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 419, column 1)

FfxShaderModel

enum FfxShaderModel

An enumeration of all supported shader models.

Values:

FFX_SHADER_MODEL_5_1

Shader model 5.1.

FFX_SHADER_MODEL_6_0

Shader model 6.0.

FFX_SHADER_MODEL_6_1

Shader model 6.1.

FFX_SHADER_MODEL_6_2

Shader model 6.2.

FFX_SHADER_MODEL_6_3

Shader model 6.3.

FFX_SHADER_MODEL_6_4

Shader model 6.4.

FFX_SHADER_MODEL_6_5

Shader model 6.5.

FFX_SHADER_MODEL_6_6

Shader model 6.6.

FFX_SHADER_MODEL_6_7

Shader model 6.7.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 431, column 1)

FfxResourceType

enum FfxResourceType

Values:

FFX_RESOURCE_TYPE_BUFFER

The resource is a buffer.

FFX_RESOURCE_TYPE_TEXTURE1D

The resource is a 1-dimensional texture.

FFX_RESOURCE_TYPE_TEXTURE2D

The resource is a 2-dimensional texture.

FFX_RESOURCE_TYPE_TEXTURE_CUBE

The resource is a cube map.

FFX_RESOURCE_TYPE_TEXTURE3D

The resource is a 3-dimensional texture.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 447, column 1)

FfxHeapType

enum FfxHeapType

An enumeration for different heap types.

Values:

FFX_HEAP_TYPE_DEFAULT

FFX_HEAP_TYPE_DEFAULT = 0

Local memory.

FFX_HEAP_TYPE_UPLOAD

Heap used for uploading resources.

FFX_HEAP_TYPE_READBACK

Heap used for reading back resources.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 459, column 1)

FfxGpuJobType

enum FfxGpuJobType

An enumeration for different render job types.

Values:

FFX_GPU_JOB_CLEAR_FLOAT

FFX_GPU_JOB_CLEAR_FLOAT = 0

The GPU job is performing a floating-point clear.

FFX_GPU_JOB_COPY

FFX_GPU_JOB_COPY = 1

The GPU job is performing a copy.

FFX_GPU_JOB_COMPUTE

FFX_GPU_JOB_COMPUTE = 2

The GPU job is performing a compute dispatch.

FFX_GPU_JOB_BARRIER

FFX_GPU_JOB_BARRIER = 3

The GPU job is performing a barrier.

FFX_GPU_JOB_DISCARD

FFX_GPU_JOB_DISCARD = 4

The GPU job is performing a floating-point clear.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 469, column 1)

FfxDescriptiorType

enum FfxDescriptiorType

An enumeration for various descriptor types.

Values:

FFX_DESCRIPTOR_TEXTURE_SRV

FFX_DESCRIPTOR_TEXTURE_SRV = 0

FFX_DESCRIPTOR_BUFFER_SRV

FFX_DESCRIPTOR_TEXTURE_UAV

FFX_DESCRIPTOR_BUFFER_UAV

Source: sdk/include/FidelityFX/host/ffx_types.h (line 487, column 1)

FfxBindStage

enum FfxBindStage

An enumeration for view binding stages.

Values:

FFX_BIND_PIXEL_SHADER_STAGE

FFX_BIND_PIXEL_SHADER_STAGE = 1 <<0

FFX_BIND_VERTEX_SHADER_STAGE

FFX_BIND_VERTEX_SHADER_STAGE = 1 <<1

FFX_BIND_COMPUTE_SHADER_STAGE

FFX_BIND_COMPUTE_SHADER_STAGE = 1 <<2

Source: sdk/include/FidelityFX/host/ffx_types.h (line 500, column 1)

FfxBarrierType

enum FfxBarrierType

An enumeration for barrier types.

Values:

FFX_BARRIER_TYPE_TRANSITION

FFX_BARRIER_TYPE_TRANSITION = 0

FFX_BARRIER_TYPE_UAV

Source: sdk/include/FidelityFX/host/ffx_types.h (line 511, column 1)

FfxMsgType

enum FfxMsgType

An enumeration for message types that can be passed.

Values:

FFX_MESSAGE_TYPE_ERROR

FFX_MESSAGE_TYPE_ERROR = 0

FFX_MESSAGE_TYPE_WARNING

FFX_MESSAGE_TYPE_WARNING = 1

FFX_MESSAGE_TYPE_COUNT

Source: sdk/include/FidelityFX/host/ffx_types.h (line 522, column 1)

FfxEffect

enum FfxEffect

An enumeration of all the effects which constitute the FidelityFX SDK.

Dictates what effect shader blobs to fetch for pipeline creation

Values:

FFX_EFFECT_FSR2

FFX_EFFECT_FSR2 = 0

FidelityFX Super Resolution v2.

FFX_EFFECT_FSR1

FidelityFX Super Resolution.

FFX_EFFECT_SPD

FidelityFX Single Pass Downsampler.

FFX_EFFECT_BLUR

FidelityFX Blur.

FFX_EFFECT_BREADCRUMBS

FidelityFX Breadcrumbs.

FFX_EFFECT_BRIXELIZER

FidelityFX Brixelizer.

FFX_EFFECT_BRIXELIZER_GI

FidelityFX Brixelizer GI.

FFX_EFFECT_CACAO

FidelityFX Combined Adaptive Compute Ambient Occlusion.

FFX_EFFECT_CAS

FidelityFX Contrast Adaptive Sharpening.

FFX_EFFECT_DENOISER

FidelityFX Denoiser.

FFX_EFFECT_LENS

FidelityFX Lens.

FFX_EFFECT_PARALLEL_SORT

FidelityFX Parallel Sort.

FFX_EFFECT_SSSR

FidelityFX Stochastic Screen Space Reflections.

FFX_EFFECT_VARIABLE_SHADING

FidelityFX Variable Shading.

FFX_EFFECT_LPM

FidelityFX Luma Preserving Mapper.

FFX_EFFECT_DOF

FidelityFX Depth of Field.

FFX_EFFECT_CLASSIFIER

FidelityFX Classifier.

FFX_EFFECT_FSR3UPSCALER

FidelityFX Super Resolution v3.

FFX_EFFECT_FRAMEINTERPOLATION

FidelityFX Frame Interpolation, part of FidelityFX Super Resolution v3.

FFX_EFFECT_OPTICALFLOW

FidelityFX Optical Flow, part of FidelityFX Super Resolution v3.

FFX_EFFECT_SHAREDRESOURCES

FFX_EFFECT_SHAREDRESOURCES = 127

FidelityFX Shared resources effect ID.

FFX_EFFECT_SHAREDAPIBACKEND

FFX_EFFECT_SHAREDAPIBACKEND = 128

FidelityFX Shared backend context used with DLL API.

Source: sdk/include/FidelityFX/host/ffx_types.h (line 533, column 1)

FfxResourceInitDataType

enum FfxResourceInitDataType

An enumeration for resource init data types that can be passed.

Values:

FFX_RESOURCE_INIT_DATA_TYPE_INVALID

FFX_RESOURCE_INIT_DATA_TYPE_INVALID = 0

FFX_RESOURCE_INIT_DATA_TYPE_UNINITIALIZED

FFX_RESOURCE_INIT_DATA_TYPE_BUFFER

FFX_RESOURCE_INIT_DATA_TYPE_VALUE

Source: sdk/include/FidelityFX/host/ffx_types.h (line 819, column 1)