Nameless Engine
|
#include <DirectXPso.h>
Public Attributes | |
ComPtr< ID3D12RootSignature > | pRootSignature |
ComPtr< ID3D12PipelineState > | pPso |
std::unordered_map< std::string, UINT > | rootParameterIndices |
std::array< UINT, static_cast< unsigned int >(SpecialRootParameterSlot::SIZE)> | vSpecialRootParameterIndices |
std::unordered_map< UINT, std::array< DirectXResource *, FrameResourceManager::getFrameResourceCount()> > | globalShaderResourceSrvs |
std::unordered_map< UINT, std::unique_ptr< ContinuousDirectXDescriptorRange > > | descriptorTablesToBind |
bool | bIsReadyForUsage = false |
Stores internal resources.
bool ne::DirectXPso::InternalResources::bIsReadyForUsage = false |
Whether fields of this struct are initialized or not.
std::unordered_map<UINT, std::unique_ptr<ContinuousDirectXDescriptorRange> > ne::DirectXPso::InternalResources::descriptorTablesToBind |
Stores pairs of "root parameter index" - "descriptor table (range) to bind".
std::unordered_map< UINT, std::array<DirectXResource*, FrameResourceManager::getFrameResourceCount()> > ne::DirectXPso::InternalResources::globalShaderResourceSrvs |
Global bindings that should be binded as SRVs. Stores pairs of "root parameter index" - "resource to bind".
ComPtr<ID3D12PipelineState> ne::DirectXPso::InternalResources::pPso |
Created PSO.
ComPtr<ID3D12RootSignature> ne::DirectXPso::InternalResources::pRootSignature |
Root signature, used in PSO.
std::unordered_map<std::string, UINT> ne::DirectXPso::InternalResources::rootParameterIndices |
Root parameter indices that was used in creation of pRootSignature.
Stores pairs of shader resource name
- root parameter index
, allows determining which resource is binded to which root parameter index (by using resource name taken from shader file).
std::array<UINT, static_cast<unsigned int>(SpecialRootParameterSlot::SIZE)> ne::DirectXPso::InternalResources::vSpecialRootParameterIndices |
Stores indices of some non-user specified root parameters. Duplicates some root parameters and their indices from rootParameterIndices but only stored some special non-user specified root parameter indices.
find
in the map) to some root parameter indices.iRootParameterIndex = vIndices[Slot::FRAME_DATA]
.