UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FD3D11StateCacheBase Class Reference

#include <D3D11StateCachePrivate.h>

Classes

struct  FD3D11ConstantBufferState
 
struct  FD3D11VertexBufferState
 

Public Member Functions

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void ClearConstantBuffers ()
 
template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void SetShaderResourceView (ID3D11ShaderResourceView *SRV, uint32 ResourceIndex)
 
D3D11_STATE_CACHE_INLINE void SetViewport (D3D11_VIEWPORT Viewport)
 
D3D11_STATE_CACHE_INLINE void SetViewports (uint32 Count, D3D11_VIEWPORT *Viewports)
 
D3D11_STATE_CACHE_INLINE void GetViewport (D3D11_VIEWPORT *Viewport)
 
D3D11_STATE_CACHE_INLINE void GetViewports (uint32 *Count, D3D11_VIEWPORT *Viewports)
 
template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void SetSamplerState (ID3D11SamplerState *SamplerState, uint32 SamplerIndex)
 
template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void SetConstantBuffer (ID3D11Buffer *ConstantBuffer, uint32 SlotIndex)
 
D3D11_STATE_CACHE_INLINE void SetRasterizerState (ID3D11RasterizerState *State)
 
D3D11_STATE_CACHE_INLINE void SetBlendState (ID3D11BlendState *State, const float BlendFactor[4], uint32 SampleMask)
 
D3D11_STATE_CACHE_INLINE void SetBlendFactor (const float BlendFactor[4], uint32 SampleMask)
 
D3D11_STATE_CACHE_INLINE void SetDepthStencilState (ID3D11DepthStencilState *State, uint32 RefStencil)
 
D3D11_STATE_CACHE_INLINE void SetStencilRef (uint32 RefStencil)
 
D3D11_STATE_CACHE_INLINE void SetVertexShader (ID3D11VertexShader *Shader)
 
D3D11_STATE_CACHE_INLINE void GetVertexShader (ID3D11VertexShader **VertexShader)
 
D3D11_STATE_CACHE_INLINE void SetGeometryShader (ID3D11GeometryShader *Shader)
 
D3D11_STATE_CACHE_INLINE void GetGeometryShader (ID3D11GeometryShader **GeometryShader)
 
D3D11_STATE_CACHE_INLINE void SetPixelShader (ID3D11PixelShader *Shader)
 
D3D11_STATE_CACHE_INLINE void GetPixelShader (ID3D11PixelShader **PixelShader)
 
D3D11_STATE_CACHE_INLINE void SetComputeShader (ID3D11ComputeShader *Shader)
 
D3D11_STATE_CACHE_INLINE void GetComputeShader (ID3D11ComputeShader **ComputeShader)
 
D3D11_STATE_CACHE_INLINE void SetStreamStrides (const uint16 *InStreamStrides)
 
D3D11_STATE_CACHE_INLINE void SetInputLayout (ID3D11InputLayout *InputLayout)
 
D3D11_STATE_CACHE_INLINE void SetStreamSource (ID3D11Buffer *VertexBuffer, uint32 StreamIndex, uint32 Stride, uint32 Offset)
 
D3D11_STATE_CACHE_INLINE void SetStreamSource (ID3D11Buffer *VertexBuffer, uint32 StreamIndex, uint32 Offset)
 
D3D11_STATE_CACHE_INLINE void SetIndexBuffer (ID3D11Buffer *IndexBuffer, DXGI_FORMAT Format, uint32 Offset)
 
D3D11_STATE_CACHE_INLINE void SetPrimitiveTopology (D3D11_PRIMITIVE_TOPOLOGY PrimitiveTopology)
 
 FD3D11StateCacheBase ()
 
void Init (ID3D11DeviceContext *InDeviceContext, bool bInAlwaysSetIndexBuffers=false)
 
virtual ~FD3D11StateCacheBase ()
 
virtual D3D11_STATE_CACHE_INLINE void SetContext (ID3D11DeviceContext *InDeviceContext)
 
virtual void ClearState ()
 

Public Attributes

bool bDepthBoundsEnabled = false
 
float DepthBoundsMin = 0.0f
 
float DepthBoundsMax = 1.0f
 

Protected Member Functions

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void InternalSetShaderResourceView (uint32 ResourceIndex, ID3D11ShaderResourceView *&SRV)
 
template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void InternalSetSamplerState (uint32 SamplerIndex, ID3D11SamplerState *&SamplerState)
 
template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void InternalSetSetConstantBuffer (uint32 SlotIndex, ID3D11Buffer *&ConstantBuffer)
 
D3D11_STATE_CACHE_INLINE void InternalSetIndexBuffer (ID3D11Buffer *IndexBuffer, DXGI_FORMAT Format, uint32 Offset)
 
template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void InternalSetShaderResourceView (ID3D11ShaderResourceView *&SRV, uint32 ResourceIndex)
 
D3D11_STATE_CACHE_INLINE void InternalSetStreamSource (ID3D11Buffer *VertexBuffer, uint32 StreamIndex, uint32 Stride, uint32 Offset)
 
template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void InternalSetSamplerState (ID3D11SamplerState *SamplerState, uint32 SamplerIndex)
 

Protected Attributes

ID3D11DeviceContextDirect3DDeviceIMContext
 
ID3D11ShaderResourceViewCurrentShaderResourceViews [SF_NumStandardFrequencies][D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT]
 
ID3D11RasterizerStateCurrentRasterizerState
 
uint32 CurrentReferenceStencil
 
ID3D11DepthStencilStateCurrentDepthStencilState
 
ID3D11VertexShaderCurrentVertexShader
 
ID3D11GeometryShaderCurrentGeometryShader
 
ID3D11PixelShaderCurrentPixelShader
 
ID3D11ComputeShaderCurrentComputeShader
 
float CurrentBlendFactor [4]
 
uint32 CurrentBlendSampleMask
 
ID3D11BlendStateCurrentBlendState
 
uint32 CurrentNumberOfViewports
 
D3D11_VIEWPORT CurrentViewport [D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE]
 
struct FD3D11StateCacheBase::FD3D11VertexBufferState CurrentVertexBuffers [D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT]
 
ID3D11BufferCurrentIndexBuffer
 
DXGI_FORMAT CurrentIndexFormat
 
uint32 CurrentIndexOffset
 
D3D11_PRIMITIVE_TOPOLOGY CurrentPrimitiveTopology
 
ID3D11InputLayoutCurrentInputLayout
 
uint16 StreamStrides [MaxVertexElementCount]
 
ID3D11SamplerStateCurrentSamplerStates [SF_NumStandardFrequencies][D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT]
 
struct FD3D11StateCacheBase::FD3D11ConstantBufferState CurrentConstantBuffers [SF_NumStandardFrequencies][D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT]
 
bool bAlwaysSetIndexBuffers
 

Constructor & Destructor Documentation

◆ FD3D11StateCacheBase()

FD3D11StateCacheBase::FD3D11StateCacheBase ( )
inline

◆ ~FD3D11StateCacheBase()

virtual FD3D11StateCacheBase::~FD3D11StateCacheBase ( )
inlinevirtual

Member Function Documentation

◆ ClearConstantBuffers()

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::ClearConstantBuffers ( )
inline

◆ ClearState()

void FD3D11StateCacheBase::ClearState ( )
virtual

Clears all D3D11 State, setting all input/output resource slots, shaders, input layouts, predications, scissor rectangles, depth-stencil state, rasterizer state, blend state, sampler state, and viewports to NULL

◆ GetComputeShader()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::GetComputeShader ( ID3D11ComputeShader **  ComputeShader)
inline

◆ GetGeometryShader()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::GetGeometryShader ( ID3D11GeometryShader **  GeometryShader)
inline

◆ GetPixelShader()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::GetPixelShader ( ID3D11PixelShader **  PixelShader)
inline

◆ GetVertexShader()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::GetVertexShader ( ID3D11VertexShader **  VertexShader)
inline

◆ GetViewport()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::GetViewport ( D3D11_VIEWPORT Viewport)
inline

◆ GetViewports()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::GetViewports ( uint32 Count,
D3D11_VIEWPORT Viewports 
)
inline

◆ Init()

void FD3D11StateCacheBase::Init ( ID3D11DeviceContext InDeviceContext,
bool  bInAlwaysSetIndexBuffers = false 
)
inline

◆ InternalSetIndexBuffer()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::InternalSetIndexBuffer ( ID3D11Buffer IndexBuffer,
DXGI_FORMAT  Format,
uint32  Offset 
)
inlineprotected

◆ InternalSetSamplerState() [1/2]

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::InternalSetSamplerState ( ID3D11SamplerState SamplerState,
uint32  SamplerIndex 
)
inlineprotected

◆ InternalSetSamplerState() [2/2]

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::InternalSetSamplerState ( uint32  SamplerIndex,
ID3D11SamplerState *&  SamplerState 
)
inlineprotected

◆ InternalSetSetConstantBuffer()

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::InternalSetSetConstantBuffer ( uint32  SlotIndex,
ID3D11Buffer *&  ConstantBuffer 
)
inlineprotected

◆ InternalSetShaderResourceView() [1/2]

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::InternalSetShaderResourceView ( ID3D11ShaderResourceView *&  SRV,
uint32  ResourceIndex 
)
inlineprotected

◆ InternalSetShaderResourceView() [2/2]

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::InternalSetShaderResourceView ( uint32  ResourceIndex,
ID3D11ShaderResourceView *&  SRV 
)
inlineprotected

◆ InternalSetStreamSource()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::InternalSetStreamSource ( ID3D11Buffer VertexBuffer,
uint32  StreamIndex,
uint32  Stride,
uint32  Offset 
)
inlineprotected

◆ SetBlendFactor()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetBlendFactor ( const float  BlendFactor[4],
uint32  SampleMask 
)
inline

◆ SetBlendState()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetBlendState ( ID3D11BlendState State,
const float  BlendFactor[4],
uint32  SampleMask 
)
inline

◆ SetComputeShader()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetComputeShader ( ID3D11ComputeShader Shader)
inline

◆ SetConstantBuffer()

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetConstantBuffer ( ID3D11Buffer ConstantBuffer,
uint32  SlotIndex 
)
inline

◆ SetContext()

virtual D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetContext ( ID3D11DeviceContext InDeviceContext)
inlinevirtual

◆ SetDepthStencilState()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetDepthStencilState ( ID3D11DepthStencilState State,
uint32  RefStencil 
)
inline

◆ SetGeometryShader()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetGeometryShader ( ID3D11GeometryShader Shader)
inline

◆ SetIndexBuffer()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetIndexBuffer ( ID3D11Buffer IndexBuffer,
DXGI_FORMAT  Format,
uint32  Offset 
)
inline

◆ SetInputLayout()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetInputLayout ( ID3D11InputLayout InputLayout)
inline

◆ SetPixelShader()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetPixelShader ( ID3D11PixelShader Shader)
inline

◆ SetPrimitiveTopology()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetPrimitiveTopology ( D3D11_PRIMITIVE_TOPOLOGY  PrimitiveTopology)
inline

◆ SetRasterizerState()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetRasterizerState ( ID3D11RasterizerState State)
inline

◆ SetSamplerState()

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetSamplerState ( ID3D11SamplerState SamplerState,
uint32  SamplerIndex 
)
inline

◆ SetShaderResourceView()

template<EShaderFrequency ShaderFrequency>
D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetShaderResourceView ( ID3D11ShaderResourceView SRV,
uint32  ResourceIndex 
)
inline

◆ SetStencilRef()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetStencilRef ( uint32  RefStencil)
inline

◆ SetStreamSource() [1/2]

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetStreamSource ( ID3D11Buffer VertexBuffer,
uint32  StreamIndex,
uint32  Offset 
)
inline

◆ SetStreamSource() [2/2]

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetStreamSource ( ID3D11Buffer VertexBuffer,
uint32  StreamIndex,
uint32  Stride,
uint32  Offset 
)
inline

◆ SetStreamStrides()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetStreamStrides ( const uint16 InStreamStrides)
inline

◆ SetVertexShader()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetVertexShader ( ID3D11VertexShader Shader)
inline

◆ SetViewport()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetViewport ( D3D11_VIEWPORT  Viewport)
inline

◆ SetViewports()

D3D11_STATE_CACHE_INLINE void FD3D11StateCacheBase::SetViewports ( uint32  Count,
D3D11_VIEWPORT Viewports 
)
inline

Member Data Documentation

◆ bAlwaysSetIndexBuffers

bool FD3D11StateCacheBase::bAlwaysSetIndexBuffers
protected

◆ bDepthBoundsEnabled

bool FD3D11StateCacheBase::bDepthBoundsEnabled = false

◆ CurrentBlendFactor

float FD3D11StateCacheBase::CurrentBlendFactor[4]
protected

◆ CurrentBlendSampleMask

uint32 FD3D11StateCacheBase::CurrentBlendSampleMask
protected

◆ CurrentBlendState

ID3D11BlendState* FD3D11StateCacheBase::CurrentBlendState
protected

◆ CurrentComputeShader

ID3D11ComputeShader* FD3D11StateCacheBase::CurrentComputeShader
protected

◆ CurrentConstantBuffers

◆ CurrentDepthStencilState

ID3D11DepthStencilState* FD3D11StateCacheBase::CurrentDepthStencilState
protected

◆ CurrentGeometryShader

ID3D11GeometryShader* FD3D11StateCacheBase::CurrentGeometryShader
protected

◆ CurrentIndexBuffer

ID3D11Buffer* FD3D11StateCacheBase::CurrentIndexBuffer
protected

◆ CurrentIndexFormat

DXGI_FORMAT FD3D11StateCacheBase::CurrentIndexFormat
protected

◆ CurrentIndexOffset

uint32 FD3D11StateCacheBase::CurrentIndexOffset
protected

◆ CurrentInputLayout

ID3D11InputLayout* FD3D11StateCacheBase::CurrentInputLayout
protected

◆ CurrentNumberOfViewports

uint32 FD3D11StateCacheBase::CurrentNumberOfViewports
protected

◆ CurrentPixelShader

ID3D11PixelShader* FD3D11StateCacheBase::CurrentPixelShader
protected

◆ CurrentPrimitiveTopology

D3D11_PRIMITIVE_TOPOLOGY FD3D11StateCacheBase::CurrentPrimitiveTopology
protected

◆ CurrentRasterizerState

ID3D11RasterizerState* FD3D11StateCacheBase::CurrentRasterizerState
protected

◆ CurrentReferenceStencil

uint32 FD3D11StateCacheBase::CurrentReferenceStencil
protected

◆ CurrentSamplerStates

ID3D11SamplerState* FD3D11StateCacheBase::CurrentSamplerStates[SF_NumStandardFrequencies][D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT]
protected

◆ CurrentShaderResourceViews

ID3D11ShaderResourceView* FD3D11StateCacheBase::CurrentShaderResourceViews[SF_NumStandardFrequencies][D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT]
protected

◆ CurrentVertexBuffers

◆ CurrentVertexShader

ID3D11VertexShader* FD3D11StateCacheBase::CurrentVertexShader
protected

◆ CurrentViewport

D3D11_VIEWPORT FD3D11StateCacheBase::CurrentViewport[D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE]
protected

◆ DepthBoundsMax

float FD3D11StateCacheBase::DepthBoundsMax = 1.0f

◆ DepthBoundsMin

float FD3D11StateCacheBase::DepthBoundsMin = 0.0f

◆ Direct3DDeviceIMContext

ID3D11DeviceContext* FD3D11StateCacheBase::Direct3DDeviceIMContext
protected

◆ StreamStrides

uint16 FD3D11StateCacheBase::StreamStrides[MaxVertexElementCount]
protected

The documentation for this class was generated from the following files: