diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2021-03-08 18:27:35 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2021-03-19 00:38:17 +0000 |
| commit | 1dfd5042779a493285c397d46f8d903d67c9f972 (patch) | |
| tree | 4fbb33befdb618afc58a806da4d274596f47261b /Graphics/GraphicsEngineOpenGL | |
| parent | ShaderResourceBinding{D3D12, Vk, GL} - removed the remaining duplicate code (diff) | |
| download | DiligentCore-1dfd5042779a493285c397d46f8d903d67c9f972.tar.gz DiligentCore-1dfd5042779a493285c397d46f8d903d67c9f972.zip | |
Resource singature: moved allocation of static resource cache and var managers to PipelineResourceSignatureBase
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
| -rw-r--r-- | Graphics/GraphicsEngineOpenGL/src/PipelineResourceSignatureGLImpl.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/Graphics/GraphicsEngineOpenGL/src/PipelineResourceSignatureGLImpl.cpp b/Graphics/GraphicsEngineOpenGL/src/PipelineResourceSignatureGLImpl.cpp index 34bb10e5..cd086f20 100644 --- a/Graphics/GraphicsEngineOpenGL/src/PipelineResourceSignatureGLImpl.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/PipelineResourceSignatureGLImpl.cpp @@ -95,27 +95,21 @@ PipelineResourceSignatureGLImpl::PipelineResourceSignatureGLImpl(IReferenceCount try { auto& RawAllocator{GetRawAllocator()}; - auto MemPool = ReserveSpace(RawAllocator, Desc, - [&](FixedLinearAllocator& MemPool) // - { - MemPool.AddSpace<ResourceAttribs>(Desc.NumResources); - MemPool.AddSpace<SamplerPtr>(Desc.NumImmutableSamplers); - }); + auto MemPool = AllocateInternalObjects(RawAllocator, Desc, + [&](FixedLinearAllocator& MemPool) // + { + MemPool.AddSpace<ResourceAttribs>(Desc.NumResources); + MemPool.AddSpace<SamplerPtr>(Desc.NumImmutableSamplers); + }); static_assert(std::is_trivially_destructible<ResourceAttribs>::value, "ResourceAttribs objects must be constructed to be properly destructed in case an excpetion is thrown"); m_pResourceAttribs = MemPool.Allocate<ResourceAttribs>(m_Desc.NumResources); m_ImmutableSamplers = MemPool.ConstructArray<SamplerPtr>(m_Desc.NumImmutableSamplers); - const auto NumStaticResStages = GetNumStaticResStages(); - if (NumStaticResStages > 0) - { - m_pStaticResCache = MemPool.Construct<ShaderResourceCacheGL>(ResourceCacheContentType::Signature); - m_StaticVarsMgrs = MemPool.ConstructArray<ShaderVariableManagerGL>(NumStaticResStages, std::ref(*this), std::ref(*m_pStaticResCache)); - } - CreateLayouts(); + const auto NumStaticResStages = GetNumStaticResStages(); if (NumStaticResStages > 0) { constexpr SHADER_RESOURCE_VARIABLE_TYPE AllowedVarTypes[] = {SHADER_RESOURCE_VARIABLE_TYPE_STATIC}; |
