Skip to content

Render

Navigation: SamplesCauldron

Render

FidelityFX Cauldron Framework Render reference documentation.

Defines

MAX_PUSH_CONSTANTS_ENTRIES

#define MAX_PUSH_CONSTANTS_ENTRIES 512

Maximum number of supported push-type entries.

Source: framework/cauldron/framework/inc/render/parameterset.h (line 44, column 13)

Functions

GetInterpolant

const void * GetInterpolant(const AnimInterpolants *pInterpolant, int32_t index)

Gets the AnimInterpolants for the given index (frame)

Returns: A pointer to the offsetted interpolant data.

Parameters:

  • pInterpolant (const AnimInterpolants *) – [in] The animation interpolants to read from.
  • index (int32_t) – [in] The index of frame of the data to fetch.

Returns: const void *

Source: framework/cauldron/framework/inc/render/animation.h (line 59, column 16)

FindClosestInterpolant

int32_t FindClosestInterpolant(const AnimInterpolants *pInterpolant, float value)

Gets the closest AnimInterpolants for the given animation value.

Returns: The index of the closest interpolant data to the desired value.

Parameters:

  • pInterpolant (const AnimInterpolants *) – [in] The animation interpolants to read from.
  • value (float) – [in] The value (time) at which to get nearest interpolated data from.

Returns: int32_t

Source: framework/cauldron/framework/inc/render/animation.h (line 69, column 13)

Vertex

inline static BufferDesc Vertex(const wchar_t *name, uint32_t size, uint32_t stride, uint32_t alignment=0, ResourceFlags flags=ResourceFlags::None)

Convenience creation function for vertex buffer descriptions.

Parameters:

NameTypeDefault
nameconst wchar_t *
sizeuint32_t
strideuint32_t
alignmentuint32_t0
flagsResourceFlagsResourceFlags::None

Returns: BufferDesc

Attributes: static, inline

Source: framework/cauldron/framework/inc/render/buffer.h (line 96, column 34)

Index

inline static BufferDesc Index(const wchar_t *name, uint32_t size, ResourceFormat format, uint32_t alignment=0, ResourceFlags flags=ResourceFlags::None)

Convenience creation function for index buffer descriptions.

Parameters:

NameTypeDefault
nameconst wchar_t *
sizeuint32_t
formatResourceFormat
alignmentuint32_t0
flagsResourceFlagsResourceFlags::None

Returns: BufferDesc

Attributes: static, inline

Source: framework/cauldron/framework/inc/render/buffer.h (line 112, column 34)

Constant

inline static BufferDesc Constant(const wchar_t *name, uint32_t size, uint32_t stride, uint32_t alignment=0, ResourceFlags flags=ResourceFlags::None)

Convenience creation function for constant buffer descriptions.

Parameters:

NameTypeDefault
nameconst wchar_t *
sizeuint32_t
strideuint32_t
alignmentuint32_t0
flagsResourceFlagsResourceFlags::None

Returns: BufferDesc

Attributes: static, inline

Source: framework/cauldron/framework/inc/render/buffer.h (line 128, column 34)

Data

inline static BufferDesc Data(const wchar_t *name, uint32_t size, uint32_t stride, uint32_t alignment=0, ResourceFlags flags=ResourceFlags::None)

Convenience creation function for data buffer descriptions.

Parameters:

NameTypeDefault
nameconst wchar_t *
sizeuint32_t
strideuint32_t
alignmentuint32_t0
flagsResourceFlagsResourceFlags::None

Returns: BufferDesc

Attributes: static, inline

Source: framework/cauldron/framework/inc/render/buffer.h (line 144, column 34)

AccelerationStructure

inline static BufferDesc AccelerationStructure(const wchar_t *name, uint32_t size, uint32_t stride, uint32_t alignment=0, ResourceFlags flags=ResourceFlags::None)

Convenience creation function for acceleration structure descriptions.

Parameters:

NameTypeDefault
nameconst wchar_t *
sizeuint32_t
strideuint32_t
alignmentuint32_t0
flagsResourceFlagsResourceFlags::None

Returns: BufferDesc

Attributes: static, inline

Source: framework/cauldron/framework/inc/render/buffer.h (line 160, column 34)

FillDisplaySpecificPrimaries

void FillDisplaySpecificPrimaries(float xw, float yw, float xr, float yr, float xg, float yg, float xb, float yb)

Fills the ColorSpace_Display entry with the provided primaries.

Parameters:

NameTypeDefault
xwfloat
ywfloat
xrfloat
yrfloat
xgfloat
ygfloat
xbfloat
ybfloat

Source: framework/cauldron/framework/inc/render/color_conversion.h (line 65, column 10)

SetupGamutMapperMatrices

void SetupGamutMapperMatrices(ColorSpace gamutIn, ColorSpace gamutOut, Mat4 *inputToOutputRecMatrix)

Calculates conversion matrix to to transform RGB values from one gamut to another. gamutIn is colorspace to convert from and gamutOut is target colourspace to convert to.

Parameters:

NameTypeDefault
gamutInColorSpace
gamutOutColorSpace
inputToOutputRecMatrixMat4 *

Source: framework/cauldron/framework/inc/render/color_conversion.h (line 73, column 10)

SetAllResourceViewHeaps

void SetAllResourceViewHeaps(CommandList *pCmdList, ResourceViewAllocator *pAllocator=nullptr)

Set all resource view heaps to the CommandList.

Parameters:

NameTypeDefault
pCmdListCommandList *
pAllocatorResourceViewAllocator *nullptr

Source: framework/cauldron/framework/inc/render/commandlist.h (line 183, column 10)

CloseCmdList

void CloseCmdList(CommandList *pCmdList)

Closes the CommandList.

Parameters:

NameTypeDefault
pCmdListCommandList *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 188, column 10)

ResourceBarrier

void ResourceBarrier(CommandList *pCmdList, uint32_t barrierCount, const Barrier *pBarriers)

Submits 1 (or more) resource barriers.

Parameters:

NameTypeDefault
pCmdListCommandList *
barrierCountuint32_t
pBarriersconst Barrier *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 193, column 10)

CopyTextureRegion

void CopyTextureRegion(CommandList *pCmdList, const TextureCopyDesc *pCopyDesc)

Copy texture data from one resource to another.

Parameters:

NameTypeDefault
pCmdListCommandList *
pCopyDescconst TextureCopyDesc *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 198, column 10)

CopyBufferRegion

void CopyBufferRegion(CommandList *pCmdList, const BufferCopyDesc *pCopyDesc)

Copy buffer data from one resource to another.

Parameters:

NameTypeDefault
pCmdListCommandList *
pCopyDescconst BufferCopyDesc *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 203, column 10)

ClearRenderTarget

void ClearRenderTarget(CommandList *pCmdList, const ResourceViewInfo *pRendertargetView, const float clearColor[4])

Clears a render target with the specified value.

Parameters:

NameTypeDefault
pCmdListCommandList *
pRendertargetViewconst ResourceViewInfo *
clearColorconst float

Source: framework/cauldron/framework/inc/render/commandlist.h (line 208, column 10)

ClearDepthStencil

void ClearDepthStencil(CommandList *pCmdList, const ResourceViewInfo *pDepthStencilView, uint8_t stencilValue)

Clears a depth(/stencil) target with the specified value.

Parameters:

NameTypeDefault
pCmdListCommandList *
pDepthStencilViewconst ResourceViewInfo *
stencilValueuint8_t

Source: framework/cauldron/framework/inc/render/commandlist.h (line 213, column 10)

ClearUAVFloat

void ClearUAVFloat(CommandList *pCmdList, const GPUResource *pResource, const ResourceViewInfo *pGPUView, const ResourceViewInfo *pCPUView, float clearColor[4])

Clears a resource with the specified value.

Parameters:

NameTypeDefault
pCmdListCommandList *
pResourceconst GPUResource *
pGPUViewconst ResourceViewInfo *
pCPUViewconst ResourceViewInfo *
clearColorfloat

Source: framework/cauldron/framework/inc/render/commandlist.h (line 218, column 10)

ClearUAVUInt

void ClearUAVUInt(CommandList *pCmdList, const GPUResource *pResource, const ResourceViewInfo *pGPUView, const ResourceViewInfo *pCPUView, uint32_t clearColor[4])

Clears a resource with the specified value.

Parameters:

NameTypeDefault
pCmdListCommandList *
pResourceconst GPUResource *
pGPUViewconst ResourceViewInfo *
pCPUViewconst ResourceViewInfo *
clearColoruint32_t

Source: framework/cauldron/framework/inc/render/commandlist.h (line 223, column 10)

BeginRaster

void BeginRaster(CommandList *pCmdList, uint32_t numRasterViews, const RasterView **pRasterViews, const RasterView *pDepthView=nullptr, const VariableShadingRateInfo *pVrsInfo=nullptr)

Begins rasterization workload submission to the CommandList.

Parameters:

NameTypeDefault
pCmdListCommandList *
numRasterViewsuint32_t
pRasterViewsconst RasterView **
pDepthViewconst RasterView *nullptr
pVrsInfoconst VariableShadingRateInfo *nullptr

Source: framework/cauldron/framework/inc/render/commandlist.h (line 228, column 10)

BeginRaster

void BeginRaster(CommandList *pCmdList, uint32_t numColorViews, const ResourceViewInfo *pColorViews, const ResourceViewInfo *pDepthView=nullptr, const VariableShadingRateInfo *pVrsInfo=nullptr)

Begins rasterization workload submission to the CommandList.

Parameters:

NameTypeDefault
pCmdListCommandList *
numColorViewsuint32_t
pColorViewsconst ResourceViewInfo *
pDepthViewconst ResourceViewInfo *nullptr
pVrsInfoconst VariableShadingRateInfo *nullptr

Source: framework/cauldron/framework/inc/render/commandlist.h (line 237, column 10)

SetRenderTargets

void SetRenderTargets(CommandList *pCmdList, uint32_t numRasterViews, const ResourceViewInfo *pRasterViews, const ResourceViewInfo *pDepthView=nullptr)

Binds the rendertarget/depth views to the GPU for rendering.

Parameters:

NameTypeDefault
pCmdListCommandList *
numRasterViewsuint32_t
pRasterViewsconst ResourceViewInfo *
pDepthViewconst ResourceViewInfo *nullptr

Source: framework/cauldron/framework/inc/render/commandlist.h (line 246, column 10)

EndRaster

void EndRaster(CommandList *pCmdList, const VariableShadingRateInfo *pVrsInfo=nullptr)

Ends rasterization workload submissions to the CommandList.

Parameters:

NameTypeDefault
pCmdListCommandList *
pVrsInfoconst VariableShadingRateInfo *nullptr

Source: framework/cauldron/framework/inc/render/commandlist.h (line 251, column 10)

SetViewport

void SetViewport(CommandList *pCmdList, Viewport *pViewport)

Sets a viewport for rasterization work.

Parameters:

NameTypeDefault
pCmdListCommandList *
pViewportViewport *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 256, column 10)

SetScissorRects

void SetScissorRects(CommandList *pCmdList, uint32_t numRects, Rect *pRectList)

Sets the scissor rect for rasterization work.

Parameters:

NameTypeDefault
pCmdListCommandList *
numRectsuint32_t
pRectListRect *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 261, column 10)

SetViewportScissorRect

void SetViewportScissorRect(CommandList *pCmdList, uint32_t left, uint32_t top, uint32_t width, uint32_t height, float nearDist, float farDist)

Convenience function to set both viewport and scissor rect through a single call.

Parameters:

NameTypeDefault
pCmdListCommandList *
leftuint32_t
topuint32_t
widthuint32_t
heightuint32_t
nearDistfloat
farDistfloat

Source: framework/cauldron/framework/inc/render/commandlist.h (line 266, column 10)

SetPipelineState

void SetPipelineState(CommandList *pCmdList, PipelineObject *pPipeline)

Set the pipeline object to use for Draw/Dispatch.

Parameters:

NameTypeDefault
pCmdListCommandList *
pPipelinePipelineObject *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 271, column 10)

SetPrimitiveTopology

void SetPrimitiveTopology(CommandList *pCmdList, PrimitiveTopology topology)

Sets the primitive topology to use on rasterization workloads.

Parameters:

NameTypeDefault
pCmdListCommandList *
topologyPrimitiveTopology

Source: framework/cauldron/framework/inc/render/commandlist.h (line 276, column 10)

SetVertexBuffers

void SetVertexBuffers(CommandList *pCmdList, uint32_t startSlot, uint32_t numBuffers, BufferAddressInfo *pVertexBufferView)

Sets a vertex buffer for rasterization work.

Parameters:

NameTypeDefault
pCmdListCommandList *
startSlotuint32_t
numBuffersuint32_t
pVertexBufferViewBufferAddressInfo *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 281, column 10)

SetIndexBuffer

void SetIndexBuffer(CommandList *pCmdList, BufferAddressInfo *pIndexBufferView)

Sets an index buffer for rasterization work.

Parameters:

NameTypeDefault
pCmdListCommandList *
pIndexBufferViewBufferAddressInfo *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 286, column 10)

DrawInstanced

void DrawInstanced(CommandList *pCmdList, uint32_t vertexCountPerInstance, uint32_t instanceCount=1, uint32_t startVertex=0, uint32_t startInstance=0)

Instanced draw function.

Parameters:

NameTypeDefault
pCmdListCommandList *
vertexCountPerInstanceuint32_t
instanceCountuint32_t1
startVertexuint32_t0
startInstanceuint32_t0

Source: framework/cauldron/framework/inc/render/commandlist.h (line 291, column 10)

DrawIndexedInstanced

void DrawIndexedInstanced(CommandList *pCmdList, uint32_t indexCountPerInstance, uint32_t instanceCount=1, uint32_t startIndex=0, uint32_t baseVertex=0, uint32_t startInstance=0)

Instanced drawindexed function.

Parameters:

NameTypeDefault
pCmdListCommandList *
indexCountPerInstanceuint32_t
instanceCountuint32_t1
startIndexuint32_t0
baseVertexuint32_t0
startInstanceuint32_t0

Source: framework/cauldron/framework/inc/render/commandlist.h (line 296, column 10)

ExecuteIndirect

void ExecuteIndirect(CommandList *pCmdList, IndirectWorkload *pIndirectWorkload, const Buffer *pArgumentBuffer, uint32_t drawCount, uint32_t offset)

Executes indirect workloads.

Parameters:

NameTypeDefault
pCmdListCommandList *
pIndirectWorkloadIndirectWorkload *
pArgumentBufferconst Buffer *
drawCountuint32_t
offsetuint32_t

Source: framework/cauldron/framework/inc/render/commandlist.h (line 301, column 10)

Dispatch

void Dispatch(CommandList *pCmdList, uint32_t numGroupX, uint32_t numGroupY, uint32_t numGroupZ)

Dispatches GPU workloads.

Parameters:

NameTypeDefault
pCmdListCommandList *
numGroupXuint32_t
numGroupYuint32_t
numGroupZuint32_t

Source: framework/cauldron/framework/inc/render/commandlist.h (line 306, column 10)

WriteBufferImmediate

void WriteBufferImmediate(CommandList *pCmdList, const GPUResource *pResource, uint32_t numParams, const uint32_t *offsets, const uint32_t *values)

Does immediate writes to buffer resources.

Parameters:

NameTypeDefault
pCmdListCommandList *
pResourceconst GPUResource *
numParamsuint32_t
offsetsconst uint32_t *
valuesconst uint32_t *

Source: framework/cauldron/framework/inc/render/commandlist.h (line 311, column 10)

WriteBreadcrumbsMarker

void WriteBreadcrumbsMarker(Device *pDevice, CommandList *pCmdList, Buffer *pBuffer, uint64_t gpuAddress, uint32_t value, bool isBegin)

Writes AMD FidelityFX Breadcrumbs Library marker to specified GPU locations.

Parameters:

NameTypeDefault
pDeviceDevice *
pCmdListCommandList *
pBufferBuffer *
gpuAddressuint64_t
valueuint32_t
isBeginbool

Source: framework/cauldron/framework/inc/render/commandlist.h (line 316, column 10)

SetShadingRate

void SetShadingRate(CommandList *pCmdList, const ShadingRate shadingRate, const ShadingRateCombiner *combiners, const GPUResource *pShadingRateImage=nullptr)

Sets the shading rate to use for rasterization workloads.

Parameters:

NameTypeDefault
pCmdListCommandList *
shadingRateconst ShadingRate
combinersconst ShadingRateCombiner *
pShadingRateImageconst GPUResource *nullptr

Source: framework/cauldron/framework/inc/render/commandlist.h (line 321, column 10)

InitShaderCompileSystem

int InitShaderCompileSystem()

Initializes the shader compilation system.

Returns: int

Source: framework/cauldron/framework/inc/render/shaderbuilder.h (line 131, column 9)

TerminateShaderCompileSystem

void TerminateShaderCompileSystem()

Terminates the shader compilation system.

Source: framework/cauldron/framework/inc/render/shaderbuilder.h (line 136, column 10)

CompileShaderToByteCode

void * CompileShaderToByteCode(const ShaderBuildDesc &shaderDesc, std::vector<const wchar_t *> *pAdditionalParameters=nullptr)

Compiles the shader description to byte code.

Parameters:

NameTypeDefault
shaderDescconst ShaderBuildDesc &
pAdditionalParametersstd::vector<const wchar_t *> *nullptr

Returns: void *

Source: framework/cauldron/framework/inc/render/shaderbuilder.h (line 141, column 10)

AddTextureToDefineList

void AddTextureToDefineList(DefineList &defineList, uint32_t &attributes, const uint32_t surfaceAttributes, const Material *pMaterial, const TextureClass textureClass, const wchar_t *pTextureKey, const wchar_t *pTexCoordKey)

Helpers to construct the defines for the shader Adds the texcoord support.

Parameters:

NameTypeDefault
defineListDefineList &
attributesuint32_t &
surfaceAttributesconst uint32_t
pMaterialconst Material *
textureClassconst TextureClass
pTextureKeyconst wchar_t *
pTexCoordKeyconst wchar_t *

Source: framework/cauldron/framework/inc/render/shaderbuilderhelper.h (line 36, column 10)

Hash

size_t Hash(DefineList &defineList, uint32_t usedAttributes, const Surface *pSurface)

Helper function to construct hash from defines and attributes in a geometric shader.

Parameters:

NameTypeDefault
defineListDefineList &
usedAttributesuint32_t
pSurfaceconst Surface *

Returns: size_t

Source: framework/cauldron/framework/inc/render/shaderbuilderhelper.h (line 47, column 12)

Variables

const int g_maxParticles

static const int g_maxParticles = = 400 * 1024

The maximum number of supported GPU particles.

Attributes: static

Source: framework/cauldron/framework/inc/render/particle.h (line 83, column 22)

constexpr uint64_t g_NanosecondsPerSecond

constexpr uint64_t g_NanosecondsPerSecond = = 1000000000

Everything in the engine is nanosecond based.

Source: framework/cauldron/framework/inc/render/profiler.h (line 37, column 24)

constexpr uint32_t g_ShadowMapTextureSize

constexpr uint32_t g_ShadowMapTextureSize = = 2048

Two constexpr global variables representing the full shadow map resolution.

Source: framework/cauldron/framework/inc/render/shadowmapresourcepool.h (line 124, column 24)

Typedefs

DeviceRemovedCallback

typedef void(* cauldron::DeviceRemovedCallback) (void *customData)

Callback to be used when detecting device removed error while presenting the frame.

Source: framework/cauldron/framework/inc/render/device.h (line 58, column 13)

DefineList

using cauldron::DefineList = typedef std::map<const std::wstring, std::wstring>

DefineList, holds pairs of key & value that will be used by the compiler as defines.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 439, column 5)

Enumerations

BufferType

enum class BufferType

An enumeration for various types of buffers which can be created through FidelityFX Cauldron Framework

Values:

Vertex

Resource represents a vertex buffer.

Index

Resource represents an index buffer.

Constant

Resource represents a constant buffer.

AccelerationStructure

Resource represents an acceleration structure.

Data

Resource represents a generic data buffer.

Source: framework/cauldron/framework/inc/render/buffer.h (line 67, column 5)

ColorSpace

enum ColorSpace

An enumeration for color space to use for attached monitor display.

Values:

ColorSpace_REC709

Display using Rec. 709 (also known as Rec.709, BT.709, and ITU 709).

ColorSpace_P3

Display using DCI-P3 sRGB color space.

ColorSpace_REC2020

Display using Rec. 2020 (also known as Rec. 2020 or BT.2020).

ColorSpace_Display

Current display color space id.

Source: framework/cauldron/framework/inc/render/color_conversion.h (line 32, column 5)

ColorPrimaries

enum ColorPrimaries

An enumeration representing the red, green, blue and white points for above colour spaces’ gamut triangle.

Values:

ColorPrimaries_WHITE

White.

ColorPrimaries_RED

Red.

ColorPrimaries_GREEN

Green.

ColorPrimaries_BLUE

Blue.

Source: framework/cauldron/framework/inc/render/color_conversion.h (line 43, column 5)

ColorPrimariesCoordinates

enum ColorPrimariesCoordinates

An enumeration for storing xy triangle gamut points for above red, green, blue and white color primairies.

Values:

ColorPrimariesCoordinates_X

The x coordinate.

ColorPrimariesCoordinates_Y

The y coordinate.

Source: framework/cauldron/framework/inc/render/color_conversion.h (line 54, column 5)

GPUResourceType

enum class GPUResourceType

An enumeration of supported GPU resource types.

Values:

Texture

Texture = 0

A texture resource. This is either a loaded texture, rendertarget or depthtarget.

Buffer

A buffer resource.

BufferBreadcrumbs

AMD FidelityFX Breadcrumbs Library markers buffer resource.

Swapchain

A Swapchain resource (special handling is provided).

Source: framework/cauldron/framework/inc/render/gpuresource.h (line 56, column 5)

BarrierType

enum class BarrierType

An enumeration of supported barrier types.

Values:

Transition

Resource transition barrier.

Aliasing

Resource aliasing barrier.

UAV

Resource UAV-sync barrier.

Source: framework/cauldron/framework/inc/render/gpuresource.h (line 204, column 5)

IndirectCommandType

enum class IndirectCommandType

An enumeration of indirect workload types.

Values:

Draw

Draw = 0

Indirect Draw workload.

DrawIndexed

Indirect DrawIndexed workload.

Dispatch

Indirect Dispatch workload.

Source: framework/cauldron/framework/inc/render/indirectworkload.h (line 32, column 5)

TextureClass

enum class TextureClass : int32_t

An enumeration of supported texture class types.

Values:

Albedo

Albedo = 0

Texture represents albedo data.

Normal

Texture represents normal data.

Emissive

Texture represents emissive data.

Occlusion

Texture represents occlusion data.

MetalRough

Texture represents metal-rough data.

SpecGloss

Texture represents spec-gloss data.

Count

Number of texture classes.

Source: framework/cauldron/framework/inc/render/material.h (line 41, column 5)

MaterialBlend

enum class MaterialBlend : int32_t

An enumeration of supported surface blend types.

Values:

Opaque

Opaque = 0

Opaque blend type (no blending).

Mask

Mask blend type (alpha to mask).

AlphaBlend

Alpha blend type (Cb(1 - alpha) + Ca).

Count

Number of blend types.

Source: framework/cauldron/framework/inc/render/material.h (line 56, column 5)

DeviceFeature

enum class DeviceFeature

An enumeration for device features to query.

Values:

None

None = 0

No device features. Used for initialization.

FP16

FP16 = 1 <<0

Does the device support FP16 capabilities.

VRSTier1

VRSTier1 = 1 <<1

Does the device support VRS Tier 1 capabilities.

VRSTier2

VRSTier2 = 1 <<2

Does the device support VRS Tier 2 capabilities.

RT_1_0

RT_1_0 = 1 <<3

Does the device support RT 1.0 capabilities.

RT_1_1

RT_1_1 = 1 <<4

Does the device support RT 1.1 capabilities.

WaveSize

WaveSize = 1 <<5

Does the device support wave size control capabilities.

CoherentMemoryAMD

CoherentMemoryAMD = 1 <<6

Does the device support coherent memory from AMD extension.

DedicatedAllocs

DedicatedAllocs = 1 <<7

Does the device support dedicated allocations for resources.

BufferMarkerAMD

BufferMarkerAMD = 1 <<8

Does the device support buffer markers from AMD extension.

ExtendedSync

ExtendedSync = 1 <<9

Does the device support extended synchronization methods.

ShaderStorageBufferArrayNonUniformIndexing

ShaderStorageBufferArrayNonUniformIndexing = 1 <<10

Does the device support shader storage buffer array non uniform indexing (always supported for DX12, device dependent for Vulkan).

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 40, column 5)

ShaderStage

enum class ShaderStage

An enumeration for shader stage.

Values:

Vertex

Vertex = 0

Shader vertex stage.

Pixel

Shader pixel stage.

Hull

Shader hull stage.

Domain

Shader domain stage.

Geometry

Shader geometry stage.

Compute

Shader compute stage.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 60, column 5)

ShaderModel

enum class ShaderModel

An enumeration for shader stage Note, need to also update the JSON config enums in Framework.cpp when this changes Note2, need to also update defines strings in shaderbuild_win.cpp.

Values:

SM5_1

SM5_1 = 0

default basic hsls support.

SM6_0

wave intrinsics & 64-integers for arithmetic.

SM6_1

SV_ViewID, barycentric semantics, and GetAttributeAtVertex.

SM6_2

float16 support (instead of minfloat16) and denorm mode selection.

SM6_3

DXR support.

SM6_4

low-precision packed dot product, library sub-object support for RT.

SM6_5

DXR 1.1, Sampler Feedback, Mesh and Amplification shaders, and more wave intrinsics.

SM6_6

New Atomic operations, Dynamic Resources, Helper Lane Detection, Compute derivatives, new Pack/Unpack intrinsics, WaveSize, RT payload access qualifiers.

SM6_7

Expanded texture fetching, quad querying, and wave capabilities.

SM6_8

Work Graphs.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 75, column 5)

CommandQueue

enum class CommandQueue : int32_t

An enumeration for command queue types.

Values:

Graphics

Graphics = 0

Graphics command queue (single threaded).

Compute

Compute command queue (single threaded).

Copy

Copy command queue (multi threaded).

Count

CommandQueue type count.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 93, column 5)

PrimitiveTopology

enum class PrimitiveTopology

An enumeration for primitive topology options.

Values:

Undefined

Undefined = 0

Undefined topology.

PointList

Point list primitive topology.

LineList

Line list primitive topology.

TriangleList

Triangle list primitive topology.

TriangleStrip

Triangle strip primitive topology.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 108, column 5)

PrimitiveTopologyType

enum class PrimitiveTopologyType

An enumeration for primitive topology types.

Values:

Undefined

Undefined = 0

Undefined primitive topology.

Point

Point primitive topology.

Line

Line primitive topology.

Triangle

Triangle primitive topology.

Patch

Patch primitive topology.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 121, column 5)

AttributeFormat

enum class AttributeFormat

An enumeration for various attribute formats.

Values:

Unknown

Unknown attribute format.

Scalar

Scalar (float) attribute format.

Vec2

2-Component vector attribute format.

Vec3

3-Component vector attribute format.

Vec4

4-Component vector attribute format.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 157, column 5)

VertexAttributeType

enum class VertexAttributeType : uint32_t

An enumeration for vertex attribute types.

Values:

Position

Position = 0

Position vertex attribute.

Normal

Normal vertex attribute.

Tangent

Tangent vertex attribute.

Texcoord0

Texcoord0 vertex attribute.

Texcoord1

Texcoord1 vertex attribute.

Color0

Color0 vertex attribute.

Color1

Color1 vertex attribute.

Weights0

Weights0 (blend weights) vertex attribute.

Weights1

Weights1 (blend weights) vertex attribute.

Joints0

Joint0 (blend indices) vertex attribute.

Joints1

Joint1 (blend indices) vertex attribute.

PreviousPosition

PreviousPosition vertex attribute.

Count

Vertex attribute count.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 169, column 5)

VertexAttributeFlag

enum VertexAttributeFlag : uint32_t

An enumeration for vertex attribute flags (convenience masks built from VertexAttributeType)

Values:

VertexAttributeFlag_Position

VertexAttributeFlag_Position = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Position)

VertexAttributeFlag_Normal

VertexAttributeFlag_Normal = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Normal)

VertexAttributeFlag_Tangent

VertexAttributeFlag_Tangent = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Tangent)

VertexAttributeFlag_Texcoord0

VertexAttributeFlag_Texcoord0 = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Texcoord0)

VertexAttributeFlag_Texcoord1

VertexAttributeFlag_Texcoord1 = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Texcoord1)

VertexAttributeFlag_Color0

VertexAttributeFlag_Color0 = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Color0)

VertexAttributeFlag_Color1

VertexAttributeFlag_Color1 = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Color1)

VertexAttributeFlag_Weights0

VertexAttributeFlag_Weights0 = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Weights0)

VertexAttributeFlag_Weights1

VertexAttributeFlag_Weights1 = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Weights1)

VertexAttributeFlag_Joints0

VertexAttributeFlag_Joints0 = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Joints0)

VertexAttributeFlag_Joints1

VertexAttributeFlag_Joints1 = 0x1 <<static_cast<uint32_t>(VertexAttributeType::Joints1)

VertexAttributeFlag_PreviousPosition

VertexAttributeFlag_PreviousPosition = 0x1 <<static_cast<uint32_t>(VertexAttributeType::PreviousPosition)

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 189, column 5)

ResourceFormat

enum class ResourceFormat

An enumeration for Resource formats.

Values:

Unknown

Unknown resource format.

R8_SINT

Single-component (R) 8-bit (signed int) type.

R8_UINT

Single-component (R) 8-bit (unsigned int) type.

R8_TYPELESS

Single-component (R) 8-bit (typeless) type.

R8_UNORM

Single-component (R) 8-bit (unsigned normalized) type.

R16_SINT

Single-component (R) 16-bit (signed int) type.

R16_UINT

Single-component (R) 16-bit (unsigned int) type.

R16_TYPELESS

Single-component (R) 16-bit (typeless) type.

R16_FLOAT

Single-component (R) 16-bit (floating point) type.

R16_UNORM

Single-component (R) 16-bit (unsigned normalized) type.

R16_SNORM

Single-component (R) 16-bit (signed normalized) type.

RG8_SINT

2-component (RG) 16-bit (signed int) type.

RG8_UINT

2-component (RG) 16-bit (unsigned int) type.

RG8_TYPELESS

2-component (RG) 16-bit (typeless) type.

RG8_UNORM

2-component (RG) 16-bit (unsigned normalized) type.

R32_SINT

Single-Component (R) 32-bit (signed int) type.

R32_UINT

Single-Component (R) 32-bit (unsigned int) type.

RGBA8_SINT

4-Component (RGBA) 32-bit (signed int) type.

BGRA8_SINT

4-Component (BGRA) 32-bit (signed int) type.

RGBA8_UINT

4-Component (RGBA) 32-bit (unsigned int) type.

BGRA8_UINT

4-Component (BGRA) 32-bit (unsigned int) type.

RGBA8_UNORM

4-Component (RGBA) 32-bit (unsigned normalized) type.

BGRA8_UNORM

4-Component (BGRA) 32-bit (unsigned normalized) type.

RGBA8_SNORM

4-Component (RGBA) 32-bit (signed normalized) type.

RGBA8_SRGB

4-Component (RGBA) 32-bit (SRGB) type.

BGRA8_SRGB

4-Component (BGRA) 32-bit (SRGB) type.

RGBA8_TYPELESS

4-Component (RGBA) 32-bit (typeless) type.

BGRA8_TYPELESS

4-Component (BGRA) 32-bit (typeless) type.

RGB10A2_TYPELESS

4-Component (RGBA) 32-bit (typeless) type.

RGB10A2_UNORM

4-Component (RGBA) 32-bit (unsigned normalized) type.

RG11B10_FLOAT

3-Component (RGB) 32-bit (floating point) type.

RGB9E5_SHAREDEXP

3-Component (RGB) 32-bit (floating point) type.

RG16_SINT

2-Component (RG) 32-bit (signed int) type.

RG16_UINT

2-Component (RG) 32-bit (unsigned int) type.

RG16_TYPELESS

2-Component (R) 32-bit (typeless) type.

RG16_FLOAT

2-Component (R) 32-bit (floating point) type.

R32_TYPELESS

Single-Component (R) 32-bit (typeless) type.

R32_FLOAT

Single-Component (R) 32-bit (floating point) type.

RGBA16_SINT

4-Component (RGBA) 64-bit (signed int) type.

RGBA16_UINT

4-Component (RGBA) 64-bit (unsigned int) type.

RGBA16_UNORM

4-Component (RGBA) 64-bit (unsigned normalized) type.

RGBA16_SNORM

4-Component (RGBA) 64-bit (signed normalized) type.

RGBA16_TYPELESS

4-Component (RGBA) 64-bit (typeless) type.

RGBA16_FLOAT

4-Component (RGBA) 64-bit (floating point) type.

RG32_SINT

2-Component (RG) 64-bit (signed int) type.

RG32_UINT

2-Component (RG) 64-bit (unsigned int) type.

RG32_TYPELESS

2-Component (RG) 64-bit (typeless) type.

RG32_FLOAT

2-Component (RG) 64-bit (floating point) type.

RGB32_SINT

3-Component (RGB) 96-bit (signed int) type.

RGB32_UINT

3-Component (RGB) 96-bit (unsigned int) type.

RGB32_FLOAT

3-Component (RGB) 96-bit (floating point) type.

RGBA32_SINT

4-Component (RGBA) 128-bit (signed int) type.

RGBA32_UINT

4-Component (RGBA) 128-bit (unsigned int) type.

RGBA32_FLOAT

4-Component (RGBA) 128-bit (floating point) type.

RGBA32_TYPELESS

4-Component (RGBA) 128-bit (typeless) type.

D16_UNORM

16-bit depth (unsigned int) type.

D32_FLOAT

32-bit depth (floating point) type.

BC1_UNORM

BC1 compressed (unsigned int) type.

BC1_SRGB

BC1 compressed (SRGB) type.

BC2_UNORM

BC2 compressed (unsigned normalized) type.

BC2_SRGB

BC2 compressed (SRGB) type.

BC3_UNORM

BC3 compressed (unsigned normalized) type.

BC3_SRGB

BC3 compressed (SRGB) type.

BC4_UNORM

BC4 compressed (unsigned normalized) type.

BC4_SNORM

BC4 compressed (signed normalized) type.

BC5_UNORM

BC5 compressed (unsigned normalized) type.

BC5_SNORM

BC5 compressed (signed normalized) type.

BC6_UNSIGNED

BC6 compressed (unsigned) type.

BC6_SIGNED

BC6 compressed (signed) type.

BC7_UNORM

BC7 compressed (unsigned normalized) type.

BC7_SRGB

BC7 compressed (SRGB) type.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 208, column 5)

ResourceState

enum class ResourceState : uint32_t

An enumeration for resource states.

Values:

CommonResource

CommonResource = 0x0

Common resource state.

VertexBufferResource

VertexBufferResource = 0x1 <<0

Vertex buffer resource state.

ConstantBufferResource

ConstantBufferResource = 0x1 <<1

Constant buffer resource state.

IndexBufferResource

IndexBufferResource = 0x1 <<2

Index buffer resource state.

RenderTargetResource

RenderTargetResource = 0x1 <<3

Render target resource state.

UnorderedAccess

UnorderedAccess = 0x1 <<4

Unordered access resource state.

DepthWrite

DepthWrite = 0x1 <<5

Depth write resource state.

DepthRead

DepthRead = 0x1 <<6

Depth read resource state.

NonPixelShaderResource

NonPixelShaderResource = 0x1 <<7

Non-pixel shader resource state.

PixelShaderResource

PixelShaderResource = 0x1 <<8

Pixel shader resource state.

IndirectArgument

IndirectArgument = 0x1 <<9

Indirect argument resource state.

CopyDest

CopyDest = 0x1 <<10

Copy destination resource state.

CopySource

CopySource = 0x1 <<11

Copy source resource state.

ResolveDest

ResolveDest = 0x1 <<12

Resolve destination resource state.

ResolveSource

ResolveSource = 0x1 <<13

Resolve source resource state.

RTAccelerationStruct

RTAccelerationStruct = 0x1 <<14

Ray tracing acceleration structure resource state.

ShadingRateSource

ShadingRateSource = 0x1 <<15

Shading rate source resource state.

GenericRead

GenericRead = 0x1 <<16

Generic read resource state.

Present

Present = 0x1 <<17

Present resource state.

DepthShaderResource

DepthShaderResource = DepthRead | NonPixelShaderResource | PixelShaderResource

Depth shader resource state.

ShaderResource

ShaderResource = NonPixelShaderResource | PixelShaderResource

Shader resource (general) state.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 302, column 5)

ResourceFlags

enum class ResourceFlags : uint32_t

An enumeration for resource flags.

Values:

None

None = 0x0

No flags.

AllowRenderTarget

AllowRenderTarget = 0x1 <<0

Allow resource to be used as rasterization target.

AllowDepthStencil

AllowDepthStencil = 0x1 <<1

Allow resource to be used as depth/stencil target.

AllowUnorderedAccess

AllowUnorderedAccess = 0x1 <<3

Allow unordered access to resource.

DenyShaderResource

DenyShaderResource = 0x1 <<4

Prevents the resource from having an SRV created for it.

AllowSimultaneousAccess

AllowSimultaneousAccess = 0x1 <<6

Allow resource to be accessed from different queues simultaneously.

AllowShadingRate

AllowShadingRate = 0x1 <<7

Allow resource to be a shading rate resource.

AllowIndirect

AllowIndirect = 0x1 <<8

Allow resource to be an indirect argument.

AllowConstantBuffer

AllowConstantBuffer = 0x1 <<9

All resource to be used as a constant buffer.

BreadcrumbsBuffer = 0x1 <<10

Special purpose buffer for holding AMD FidelityFX Breadcrumbs Library markers.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 333, column 5)

Blend

enum class Blend

An enumeration for blend factors.

Values:

Zero

Zero = 0

Blend factor zero.

One

Blend factor one.

SrcColor

Blend factor source color.

DstColor

Blend factor destination color.

InvSrcColor

Blend factor 1 - source color.

InvDstColor

Blend factor 1 - destination color.

SrcAlpha

Blend factor source alpha.

DstAlpha

Blend factor destination alpha.

InvSrcAlpha

Blend factor 1 - source alpha.

InvDstAlpha

Blend factor 1 - destination alpha.

SrcAlphaSat

Blend factor is (f, f, f, 1) where f = min(source alpha, 1 - destination alpha).

BlendFactor

Blend factor is a custom value.

InvBlendFactor

Blend factor is 1 - custom value.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 351, column 5)

BlendOp

enum class BlendOp

An enumeration for blend operations.

Values:

Add

Add = 0

Source + destination blend operation.

Subtract

Source - destination blend operation.

RevSubtract

Destination - source blend operation.

Min

Min(source, destination) blend operation.

Max

Max(source, destination) blend operation.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 375, column 5)

ColorWriteMask

enum class ColorWriteMask : uint32_t

An enumeration for color write mask.

Values:

Red

Red = 0x1

Write red channel.

Green

Green = 0x2

Write green channel.

Blue

Blue = 0x4

Write blue channel.

Alpha

Alpha = 0x8

Write alpha channel.

All

All = (Red | Green | Blue | Alpha)

Write all channels.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 387, column 5)

CullMode

enum class CullMode

An enumeration for culling mode.

Values:

None

None = 0

No culling.

Front

Front face culling.

Back

Backface culling.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 399, column 5)

ComparisonFunc

enum class ComparisonFunc

An enumeration for comparison functions.

Values:

Never

Never = 0

Always fail.

Less

Accept new if less than current.

Equal

Accept new if equal to current.

LessEqual

Accept new if less or equal to current.

Greater

Accept new if greater than current.

NotEqual

Accept new if not equal to current.

GreaterEqual

Accept new if greater or equal to current.

Always

Always accept.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 409, column 5)

StencilOp

enum class StencilOp

An enumeration for stencil operations.

Values:

Zero

Zero = 0

Set stencil buffer entry to 0.

Keep

Do not update the stencil buffer entry.

Replace

Replace the stencil buffer entry with a specified value.

IncrementSat

Increment the stencil buffer entry. Clamp to maximum value.

DecrementSat

Decrement the stencil buffer entry. Clamp to minimum value.

Invert

Invert the stencil buffer entry.

Increment

Increment the stencil buffer entry. Wrap to zero.

Decrement

Decrement the stencil buffer entry. Wrap to maximum value.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 424, column 5)

ShaderBindStage

enum class ShaderBindStage

An enumeration for shader binding stages.

Values:

Unassigned

Unassigned = 0

Unassigned (default).

Vertex

Vertex = 1 <<0

Vertex shader binding.

Pixel

Pixel = 1 <<1

Pixel shader binding.

Compute

Compute = 1 <<2

Compute shader binding.

VertexAndPixel

VertexAndPixel = Vertex | Pixel

Vertex and Pixel shader binding.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 444, column 5)

PipelineType

enum class PipelineType

An enumeration for pipeline types.

Values:

Undefined

Undefined = 0

Undefined (default)

Graphics

Graphics pipeline.

Compute

Compute pipeline.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 457, column 5)

ResourceViewHeapType

enum class ResourceViewHeapType : uint32_t

An enumeration for resource view heap types.

Values:

GPUResourceView

GPUResourceView = 0

GPU resource view type.

CPUResourceView

CPU resource view type.

CPURenderView

CPU render view type (renter targets).

CPUDepthView

CPU depth view type (depth targets).

GPUSamplerView

GPU sampler view types (samplers).

Count

Resource view heap type count.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 467, column 5)

ResourceViewType

enum class ResourceViewType : uint32_t

An enumeration for resource view types.

Values:

CBV

CBV = 0

Constant buffer view type.

TextureSRV

Texture shader resource view type.

BufferSRV

Buffer shader resource view type.

TextureUAV

Texture unordered access view type.

BufferUAV

Buffer unordered access view type.

RTV

Render target view type.

DSV

Depth stencil view type.

Sampler

Sampler view type.

Count

Resource view type count.

Invalid

Invalid = 0xffffffff

Invalid resource view type (used for initializations)

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 480, column 5)

BindingType

enum class BindingType

An enumeration for binding types. Used to bind parameters to root signatures and parameter sets.

Values:

TextureSRV

TextureSRV = 0

Binds as a texture srv.

TextureUAV

Binds as a texture uav.

BufferSRV

Binds as a buffer srv.

BufferUAV

Binds as a buffer uav.

AccelStructRT

Binds as an acceleration structure.

CBV

Binds as a constant buffer.

Sampler

Binds as a sampler.

RootConstant

Binds as a root constant buffer.

Root32BitConstant

Binds as a 32-bit push constant.

Invalid

Invalid binding.

Count

Count = Invalid

Binding type count.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 500, column 5)

ViewDimension

enum class ViewDimension : uint32_t

An enumeration for resource view dimensions.

Values:

Unknown

Unknown = 0

View dimension for unknown resource.

Buffer

View dimension for buffer resource.

Texture1D

View dimension for 1D texture resource.

Texture1DArray

View dimension for 1D texture array resource.

Texture2D

View dimension for 2D texture resource.

Texture2DArray

View dimension for 2D texture array resource.

Texture2DMS

View dimension for 2D multi-sampled texture resource.

Texture2DMSArray

View dimension for 2D texture multi-sampled array resource.

Texture3D

View dimension for 3D texture resource.

TextureCube

View dimension for cube map resource.

TextureCubeArray

View dimension for cube map array resource.

RTAccelerationStruct

View dimension for rt acceleration structure resource.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 518, column 5)

TextureDimension

enum class TextureDimension : uint32_t

An enumeration for texture dimension.

Values:

Unknown

Unknown = 0

Unknown texture dimension.

Texture1D

1D texture dimension.

Texture2D

2D texture dimension.

Texture3D

3D texture dimension.

CubeMap

Cubed texture dimension.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 537, column 5)

FilterFunc

enum class FilterFunc

An enumeration for filter functions.

Values:

MinMagMipPoint

MinMagPointMipLinear

MinPointMagLinearMipPoint

MinPointMagMipLinear

MintMagPointMipLinear

MinLinearMagMipPoint

MinLinearMagPointMipLinear

MinMagLinearMipPoint

MinMagMipLinear

Anisotropic

ComparisonMinMagMipPoint

ComparisonMinMagPointMipLinear

ComparisonMinPointMagLinearMipPoint

ComparisonMinPointMagMipLinear

ComparisonMintMagPointMipLinear

ComparisonMinLinearMagMipPoint

ComparisonMinLinearMagPointMipLinear

ComparisonMinMagLinearMipPoint

ComparisonMinMagMipLinear

ComparisonAnisotropic

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 549, column 5)

AddressMode

enum class AddressMode

An enumeration for uv addressing mode.

Values:

Wrap

Tiles the texture.

Mirror

Mirrors the texture when tiling.

Clamp

Clamps accesses to 0.0 or 1.0.

Border

Texture coordinates outside 0.0 or 1.0 return border color.

MirrorOnce

Takes the absolute value of the coordinate and clamps to the maximum value.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 576, column 5)

UpscalerState

enum class UpscalerState : uint32_t

An enumeration for upscaler state.

Values:

None

None = 0

No upscaling.

PreUpscale

Currently in pre-upscale state.

PostUpscale

Currently in post-upscale state.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 659, column 5)

ShadingRate1D

enum class ShadingRate1D : uint32_t

An enumeration for 1 dimensional shading rates.

Values:

ShadingRate1D_1X

ShadingRate1D_1X = 1 <<0

1x1 shading rate.

ShadingRate1D_2X

ShadingRate1D_2X = 1 <<1

1x2 shading rate.

ShadingRate1D_4X

ShadingRate1D_4X = 1 <<2

1x4 shading rate.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 669, column 5)

VariableShadingMode

enum class VariableShadingMode : uint32_t

An enumeration for variable shading mode.

Values:

VariableShadingMode_None

VariableShadingMode_None = 0

No variable rate shading.

VariableShadingMode_Per_Draw

Per-draw variable rate shading.

VariableShadingMode_Image

Image-based variable rate shading.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 684, column 5)

ShadingRate

enum class ShadingRate : uint32_t

An enumeration for shading rate modes.

Values:

ShadingRate_1X1

ShadingRate_1X1 = ((uint32_t)ShadingRate1D::ShadingRate1D_1X <<3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_1X

1x1 shading rate.

ShadingRate_1X2

ShadingRate_1X2 = ((uint32_t)ShadingRate1D::ShadingRate1D_1X <<3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_2X

1x2 shading rate.

ShadingRate_1X4

ShadingRate_1X4 = ((uint32_t)ShadingRate1D::ShadingRate1D_1X <<3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_4X

1x4 shading rate.

ShadingRate_2X1

ShadingRate_2X1 = ((uint32_t)ShadingRate1D::ShadingRate1D_2X <<3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_1X

2x1 shading rate.

ShadingRate_2X2

ShadingRate_2X2 = ((uint32_t)ShadingRate1D::ShadingRate1D_2X <<3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_2X

2x2 shading rate.

ShadingRate_2X4

ShadingRate_2X4 = ((uint32_t)ShadingRate1D::ShadingRate1D_2X <<3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_4X

2x4 shading rate.

ShadingRate_4X1

ShadingRate_4X1 = ((uint32_t)ShadingRate1D::ShadingRate1D_4X <<3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_1X

4x1 shading rate.

ShadingRate_4X2

ShadingRate_4X2 = ((uint32_t)ShadingRate1D::ShadingRate1D_4X <<3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_2X

4x2 shading rate.

ShadingRate_4X4

ShadingRate_4X4 = ((uint32_t)ShadingRate1D::ShadingRate1D_4X <<3 ) | (uint32_t)ShadingRate1D::ShadingRate1D_4X

4x4 shading rate.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 694, column 5)

ShadingRateCombiner

enum class ShadingRateCombiner : uint32_t

An enumeration for shading rate combiners.

Values:

ShadingRateCombiner_Passthrough

ShadingRateCombiner_Passthrough = 1 <<0

Pass through.

ShadingRateCombiner_Override

ShadingRateCombiner_Override = 1 <<1

Override.

ShadingRateCombiner_Min

ShadingRateCombiner_Min = 1 <<2

Minimum.

ShadingRateCombiner_Max

ShadingRateCombiner_Max = 1 <<3

Maximum.

ShadingRateCombiner_Sum

ShadingRateCombiner_Sum = 1 <<4

Sum.

ShadingRateCombiner_Mul

ShadingRateCombiner_Mul = 1 <<5

Multiply.

Source: framework/cauldron/framework/inc/render/renderdefines.h (line 710, column 5)

CellStatus

enum class CellStatus

An enumeration for shadow cell status.

Values:

Empty

The cell is empty.

Allocated

The cell has been allocated.

Subdivided

The cell was subdivided into 4 cells.

Source: framework/cauldron/framework/inc/render/shadowmapresourcepool.h (line 37, column 5)

ShadowMapResolution

enum class ShadowMapResolution

An enumeration for shadow map resolution occupancy.

Values:

Full

Full = 1

Shadow map entry occupies full shadow map resolution.

Half

Half = 2

Shadow map entry occupies half the shadow map resolution.

Quarter

Quarter = 4

Shadow map entry occupies a quarter of the shadow map resolution.

Eighth

Eighth = 8

Shadow map entry occupies an eighth of the shadow map resolution.

Source: framework/cauldron/framework/inc/render/shadowmapresourcepool.h (line 113, column 5)