41#if PLATFORM_SUPPORTS_MESH_SHADERS
157 bool bUseAPILibaries;
161 template<
typename PipelineStateDescType>
173 if (UseCachedBlobs())
181 Desc.CachedPSO.CachedBlobSizeInBytes = 0;
182 Desc.CachedPSO.pCachedBlob =
nullptr;
186 bool UsePipelineLibrary()
const
188 return bUseAPILibaries && PipelineLibrary !=
nullptr;
191 bool UseCachedBlobs()
const
207#if !D3D12RHI_USE_HIGH_LEVEL_PSO_CACHE
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
void SaveByteCode(D3D12_SHADER_BYTECODE &ByteCode)
Definition WindowsD3D12PipelineState.cpp:107
Definition D3D12Adapter.h:136
Definition D3D12PipelineState.h:459
FD3D12GraphicsPipelineState * FindInLoadedCache(const FGraphicsPipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, FD3D12LowLevelGraphicsPipelineStateDesc &OutLowLevelDesc)
Definition D3D12Pipelinestate.cpp:839
FD3D12GraphicsPipelineState * CreateAndAdd(const FGraphicsPipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, const FD3D12LowLevelGraphicsPipelineStateDesc &LowLevelDesc)
Definition D3D12Pipelinestate.cpp:875
FDiskCacheInterface DiskCaches[NUM_PSO_CACHE_TYPES]
Definition D3D12PipelineState.h:507
PSO_CACHE_TYPE
Definition D3D12PipelineState.h:462
Definition WindowsD3D12PipelineState.h:153
void AddToDiskCache(const FD3D12LowLevelGraphicsPipelineStateDesc &Desc, FD3D12PipelineState *PipelineState)
Definition WindowsD3D12PipelineState.cpp:339
bool IsInErrorState() const
Definition WindowsD3D12PipelineState.cpp:564
void OnPSOCreated(FD3D12PipelineState *PipelineState, const FD3D12LowLevelGraphicsPipelineStateDesc &Desc) final override
Definition WindowsD3D12PipelineState.cpp:131
void Close()
Definition WindowsD3D12PipelineState.cpp:470
virtual ~FD3D12PipelineStateCache()
Definition WindowsD3D12PipelineState.cpp:577
void RebuildFromDiskCache()
Definition WindowsD3D12PipelineState.cpp:177
Definition D3D12RootSignature.h:73
Definition WindowsD3D12DiskCache.h:14
bool SetPointerAndAdvanceFilePosition(void **pDest, size_t size, bool backWithSystemMemory=false)
Definition WindowsD3D12DiskCache.cpp:157
void * GetDataAt(SIZE_T Offset) const
Definition WindowsD3D12DiskCache.cpp:284
Definition RefCounting.h:454
Definition WindowsD3D12PipelineState.h:87
ID3D12PipelineLibrary * Library
Definition WindowsD3D12PipelineState.h:89
void Destroy()
Definition WindowsD3D12PipelineState.cpp:117
FD3D12ComputePipelineStateDesc Desc
Definition WindowsD3D12PipelineState.h:88
void Init(const ComputePipelineCreationArgs_POD &InArgs)
Definition WindowsD3D12PipelineState.h:91
Definition WindowsD3D12PipelineState.h:123
ComputePipelineCreationArgs(const FD3D12ComputePipelineStateDesc *InDesc, ID3D12PipelineLibrary *InLibrary)
Definition WindowsD3D12PipelineState.h:124
ComputePipelineCreationArgs(const ComputePipelineCreationArgs &InArgs)
Definition WindowsD3D12PipelineState.h:130
ComputePipelineCreationArgs_POD Args
Definition WindowsD3D12PipelineState.h:134
Definition D3D12PipelineState.h:146
FD3D12_COMPUTE_PIPELINE_STATE_DESC Desc
Definition D3D12PipelineState.h:148
Definition D3D12PipelineState.h:93
FD3D12_GRAPHICS_PIPELINE_STATE_DESC Desc
Definition D3D12PipelineState.h:95
Definition D3D12PipelineState.h:300
Definition WindowsD3D12PipelineState.h:68
CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature
Definition WindowsD3D12PipelineState.h:74
CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO
Definition WindowsD3D12PipelineState.h:76
CD3DX12_PIPELINE_STATE_STREAM_CS CS
Definition WindowsD3D12PipelineState.h:75
CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask
Definition WindowsD3D12PipelineState.h:73
D3D12_SHADER_BYTECODE PS
Definition D3D12PipelineState.h:66
D3D12_SHADER_BYTECODE GS
Definition D3D12PipelineState.h:67
D3D12_SHADER_BYTECODE MS
Definition D3D12PipelineState.h:64
D3D12_SHADER_BYTECODE AS
Definition D3D12PipelineState.h:65
D3D12_SHADER_BYTECODE VS
Definition D3D12PipelineState.h:63
Definition WindowsD3D12PipelineState.h:15
CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL_FORMAT DSVFormat
Definition WindowsD3D12PipelineState.h:32
CD3DX12_PIPELINE_STATE_STREAM_RENDER_TARGET_FORMATS RTVFormats
Definition WindowsD3D12PipelineState.h:34
CD3DX12_PIPELINE_STATE_STREAM_DEPTH_STENCIL1 DepthStencilState
Definition WindowsD3D12PipelineState.h:31
CD3DX12_PIPELINE_STATE_STREAM_NODE_MASK NodeMask
Definition WindowsD3D12PipelineState.h:20
CD3DX12_PIPELINE_STATE_STREAM_CACHED_PSO CachedPSO
Definition WindowsD3D12PipelineState.h:37
CD3DX12_PIPELINE_STATE_STREAM_IB_STRIP_CUT_VALUE IBStripCutValue
Definition WindowsD3D12PipelineState.h:23
CD3DX12_PIPELINE_STATE_STREAM_DS DS
Definition WindowsD3D12PipelineState.h:28
CD3DX12_PIPELINE_STATE_STREAM_RASTERIZER RasterizerState
Definition WindowsD3D12PipelineState.h:33
CD3DX12_PIPELINE_STATE_STREAM_INPUT_LAYOUT InputLayout
Definition WindowsD3D12PipelineState.h:22
CD3DX12_PIPELINE_STATE_STREAM_PS PS
Definition WindowsD3D12PipelineState.h:29
CD3DX12_PIPELINE_STATE_STREAM_GS GS
Definition WindowsD3D12PipelineState.h:26
CD3DX12_PIPELINE_STATE_STREAM_BLEND_DESC BlendState
Definition WindowsD3D12PipelineState.h:30
CD3DX12_PIPELINE_STATE_STREAM_ROOT_SIGNATURE pRootSignature
Definition WindowsD3D12PipelineState.h:21
CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_MASK SampleMask
Definition WindowsD3D12PipelineState.h:36
CD3DX12_PIPELINE_STATE_STREAM_SAMPLE_DESC SampleDesc
Definition WindowsD3D12PipelineState.h:35
CD3DX12_PIPELINE_STATE_STREAM_VS VS
Definition WindowsD3D12PipelineState.h:25
CD3DX12_PIPELINE_STATE_STREAM_HS HS
Definition WindowsD3D12PipelineState.h:27
CD3DX12_PIPELINE_STATE_STREAM_PRIMITIVE_TOPOLOGY PrimitiveTopologyType
Definition WindowsD3D12PipelineState.h:24
Definition WindowsD3D12PipelineState.h:103
FD3D12LowLevelGraphicsPipelineStateDesc Desc
Definition WindowsD3D12PipelineState.h:104
void Destroy()
Definition WindowsD3D12PipelineState.cpp:122
void Init(const GraphicsPipelineCreationArgs_POD &InArgs)
Definition WindowsD3D12PipelineState.h:107
ID3D12PipelineLibrary * Library
Definition WindowsD3D12PipelineState.h:105
Definition WindowsD3D12PipelineState.h:138
GraphicsPipelineCreationArgs_POD Args
Definition WindowsD3D12PipelineState.h:149
GraphicsPipelineCreationArgs(const GraphicsPipelineCreationArgs &InArgs)
Definition WindowsD3D12PipelineState.h:145
GraphicsPipelineCreationArgs(const FD3D12LowLevelGraphicsPipelineStateDesc *InDesc, ID3D12PipelineLibrary *InLibrary)
Definition WindowsD3D12PipelineState.h:139