summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineD3D12
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2021-02-17 05:55:51 +0000
committerassiduous <assiduous@diligentgraphics.com>2021-03-19 00:34:30 +0000
commit7f14bc0f8fd221a9b2c71341822fc60ffbdf4aff (patch)
treef8720360aa4892ba0bb6c0bd7db1fe9a07e481e3 /Graphics/GraphicsEngineD3D12
parentfixed DXBC & DXIL resource remapping (diff)
downloadDiligentCore-7f14bc0f8fd221a9b2c71341822fc60ffbdf4aff.tar.gz
DiligentCore-7f14bc0f8fd221a9b2c71341822fc60ffbdf4aff.zip
Few minor updates to RootSignatureD3D12
Diffstat (limited to 'Graphics/GraphicsEngineD3D12')
-rw-r--r--Graphics/GraphicsEngineD3D12/include/RootSignature.hpp12
-rw-r--r--Graphics/GraphicsEngineD3D12/src/RootSignature.cpp16
2 files changed, 10 insertions, 18 deletions
diff --git a/Graphics/GraphicsEngineD3D12/include/RootSignature.hpp b/Graphics/GraphicsEngineD3D12/include/RootSignature.hpp
index c7a3e2c4..9bc47265 100644
--- a/Graphics/GraphicsEngineD3D12/include/RootSignature.hpp
+++ b/Graphics/GraphicsEngineD3D12/include/RootSignature.hpp
@@ -93,20 +93,20 @@ public:
using SignatureArrayType = std::array<RefCntAutoPtr<PipelineResourceSignatureD3D12Impl>, MAX_RESOURCE_SIGNATURES>;
private:
- void Finalize(RenderDeviceD3D12Impl* pDeviceD3D12Impl);
-
std::array<Uint16, MAX_RESOURCE_SIGNATURES> m_FirstRootIndex = {};
std::array<Uint16, MAX_RESOURCE_SIGNATURES> m_FirstRegisterSpace = {};
+ // The total number of register spaces used by this root signature
Uint32 m_TotalSpacesUsed = 0;
+ // The number of resource signatures used by this root signature
+ // (Maximum is MAX_RESOURCE_SIGNATURES)
+ const Uint8 m_SignatureCount;
+
const size_t m_Hash;
CComPtr<ID3D12RootSignature> m_pd3d12RootSignature;
- // The number of resource signatures used by this root signature
- // (Maximum is MAX_RESOURCE_SIGNATURES)
- Uint8 m_SignatureCount = 0;
- SignatureArrayType m_Signatures = {};
+ SignatureArrayType m_Signatures = {};
RootSignatureCacheD3D12& m_Cache;
};
diff --git a/Graphics/GraphicsEngineD3D12/src/RootSignature.cpp b/Graphics/GraphicsEngineD3D12/src/RootSignature.cpp
index fd890b83..1f51f4cf 100644
--- a/Graphics/GraphicsEngineD3D12/src/RootSignature.cpp
+++ b/Graphics/GraphicsEngineD3D12/src/RootSignature.cpp
@@ -60,18 +60,6 @@ RootSignatureD3D12::RootSignatureD3D12(IReferenceCounters*
}
}
- Finalize(pDeviceD3D12Impl);
-}
-
-RootSignatureD3D12::~RootSignatureD3D12()
-{
- m_Cache.OnDestroyRootSig(this);
-}
-
-void RootSignatureD3D12::Finalize(RenderDeviceD3D12Impl* pDeviceD3D12Impl)
-{
- VERIFY(m_pd3d12RootSignature == nullptr, "This root signature is already initialized");
-
D3D12_ROOT_SIGNATURE_DESC rootSignatureDesc = {};
rootSignatureDesc.Flags = D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;
@@ -223,6 +211,10 @@ void RootSignatureD3D12::Finalize(RenderDeviceD3D12Impl* pDeviceD3D12Impl)
CHECK_D3D_RESULT_THROW(hr, "Failed to create root signature");
}
+RootSignatureD3D12::~RootSignatureD3D12()
+{
+ m_Cache.OnDestroyRootSig(this);
+}
LocalRootSignatureD3D12::LocalRootSignatureD3D12(const char* pCBName, Uint32 ShaderRecordSize) :
m_pName{pCBName},