summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineOpenGL
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2020-10-05 06:12:01 +0000
committerassiduous <assiduous@diligentgraphics.com>2020-10-05 06:12:01 +0000
commit70a78823b86f3877fd4bc60c4d3ea1b929267df9 (patch)
tree37c8da0ee238ea06b4ff14b430be468c3ba5c3a5 /Graphics/GraphicsEngineOpenGL
parentRemoved StringView; using unordered_maps in BLAS, TLAS and SBT (diff)
parentAll backends: removed string pool from shader resource objects as it is only ... (diff)
downloadDiligentCore-70a78823b86f3877fd4bc60c4d3ea1b929267df9.tar.gz
DiligentCore-70a78823b86f3877fd4bc60c4d3ea1b929267df9.zip
Merge branch 'master'
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
-rw-r--r--Graphics/GraphicsEngineOpenGL/include/GLProgramResources.hpp2
-rw-r--r--Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp15
2 files changed, 8 insertions, 9 deletions
diff --git a/Graphics/GraphicsEngineOpenGL/include/GLProgramResources.hpp b/Graphics/GraphicsEngineOpenGL/include/GLProgramResources.hpp
index 48189445..a3b13b6d 100644
--- a/Graphics/GraphicsEngineOpenGL/include/GLProgramResources.hpp
+++ b/Graphics/GraphicsEngineOpenGL/include/GLProgramResources.hpp
@@ -500,8 +500,6 @@ private:
ImageInfo* m_Images = nullptr;
StorageBlockInfo* m_StorageBlocks = nullptr;
- StringPool m_StringPool;
-
Uint32 m_NumUniformBuffers = 0;
Uint32 m_NumSamplers = 0;
Uint32 m_NumImages = 0;
diff --git a/Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp b/Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp
index 83f51383..b6772fd7 100644
--- a/Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp
+++ b/Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp
@@ -44,7 +44,6 @@ GLProgramResources::GLProgramResources(GLProgramResources&& Program) noexcept :
m_Samplers {Program.m_Samplers },
m_Images {Program.m_Images },
m_StorageBlocks {Program.m_StorageBlocks },
- m_StringPool {std::move(Program.m_StringPool)},
m_NumUniformBuffers{Program.m_NumUniformBuffers },
m_NumSamplers {Program.m_NumSamplers },
m_NumImages {Program.m_NumImages },
@@ -141,33 +140,35 @@ void GLProgramResources::AllocateResources(std::vector<UniformBufferInfo>& Unifo
Char* StringPoolData = reinterpret_cast<Char*>(EndOfResourceData);
// clang-format on
- m_StringPool.AssignMemory(StringPoolData, StringPoolDataSize);
+ // The pool is only needed to facilitate string allocation.
+ StringPool TmpStringPool;
+ TmpStringPool.AssignMemory(StringPoolData, StringPoolDataSize);
for (Uint32 ub = 0; ub < m_NumUniformBuffers; ++ub)
{
auto& SrcUB = UniformBlocks[ub];
- new (m_UniformBuffers + ub) UniformBufferInfo{SrcUB, m_StringPool};
+ new (m_UniformBuffers + ub) UniformBufferInfo{SrcUB, TmpStringPool};
}
for (Uint32 s = 0; s < m_NumSamplers; ++s)
{
auto& SrcSam = Samplers[s];
- new (m_Samplers + s) SamplerInfo{SrcSam, m_StringPool};
+ new (m_Samplers + s) SamplerInfo{SrcSam, TmpStringPool};
}
for (Uint32 img = 0; img < m_NumImages; ++img)
{
auto& SrcImg = Images[img];
- new (m_Images + img) ImageInfo{SrcImg, m_StringPool};
+ new (m_Images + img) ImageInfo{SrcImg, TmpStringPool};
}
for (Uint32 sb = 0; sb < m_NumStorageBlocks; ++sb)
{
auto& SrcSB = StorageBlocks[sb];
- new (m_StorageBlocks + sb) StorageBlockInfo{SrcSB, m_StringPool};
+ new (m_StorageBlocks + sb) StorageBlockInfo{SrcSB, TmpStringPool};
}
- VERIFY_EXPR(m_StringPool.GetRemainingSize() == 0);
+ VERIFY_EXPR(TmpStringPool.GetRemainingSize() == 0);
}
GLProgramResources::~GLProgramResources()