diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2020-10-05 06:12:01 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2020-10-05 06:12:01 +0000 |
| commit | 70a78823b86f3877fd4bc60c4d3ea1b929267df9 (patch) | |
| tree | 37c8da0ee238ea06b4ff14b430be468c3ba5c3a5 /Graphics/GraphicsEngineOpenGL | |
| parent | Removed StringView; using unordered_maps in BLAS, TLAS and SBT (diff) | |
| parent | All backends: removed string pool from shader resource objects as it is only ... (diff) | |
| download | DiligentCore-70a78823b86f3877fd4bc60c4d3ea1b929267df9.tar.gz DiligentCore-70a78823b86f3877fd4bc60c4d3ea1b929267df9.zip | |
Merge branch 'master'
Diffstat (limited to 'Graphics/GraphicsEngineOpenGL')
| -rw-r--r-- | Graphics/GraphicsEngineOpenGL/include/GLProgramResources.hpp | 2 | ||||
| -rw-r--r-- | Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp | 15 |
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() |
