From be1319dd854481d75d51b2bfe85414fe3a3387ab Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Thu, 7 Mar 2019 18:14:02 -0800 Subject: A bunch of minor code improvements --- .../include/GLProgramResources.h | 27 +++++++++++----------- .../src/GLProgramResources.cpp | 26 ++++++++++----------- .../src/ShaderResourceBindingGLImpl.cpp | 1 - 3 files changed, 26 insertions(+), 28 deletions(-) (limited to 'Graphics/GraphicsEngineOpenGL') diff --git a/Graphics/GraphicsEngineOpenGL/include/GLProgramResources.h b/Graphics/GraphicsEngineOpenGL/include/GLProgramResources.h index 95659276..d629d64a 100644 --- a/Graphics/GraphicsEngineOpenGL/include/GLProgramResources.h +++ b/Graphics/GraphicsEngineOpenGL/include/GLProgramResources.h @@ -50,10 +50,10 @@ namespace Diligent GLProgramResources& operator = (const GLProgramResources&) = delete; GLProgramResources& operator = ( GLProgramResources&&) = delete; - void LoadUniforms(IObject& Owner, - class RenderDeviceGLImpl* pDeviceGLImpl, - SHADER_TYPE ShaderStages, - GLuint GLProgram); + void LoadUniforms(IObject& Owner, + class RenderDeviceGLImpl* pDeviceGLImpl, + SHADER_TYPE ShaderStages, + GLuint GLProgram); void Clone(class RenderDeviceGLImpl* pDeviceGLImpl, @@ -66,12 +66,12 @@ namespace Diligent struct GLProgramVariableBase : ShaderVariableBase { /* 0 */ // ShaderVariableBase -/* 16 */ const Char* Name; -/* 24 */ const SHADER_RESOURCE_VARIABLE_TYPE VariableType; -/* 25 */ const SHADER_RESOURCE_TYPE ResourceType; -/* 26 */ const Uint16 VariableIndex; -/* 28 */ Uint32 ArraySize; -/* 32 */ RefCntAutoPtr* const pResources; +/* 16 */ const Char* Name; +/* 24 */ const SHADER_RESOURCE_VARIABLE_TYPE VariableType; +/* 25 */ const SHADER_RESOURCE_TYPE ResourceType; +/* 26 */ const Uint16 VariableIndex; +/* 28 */ Uint32 ArraySize; +/* 32 */ RefCntAutoPtr* const pResources; /* 40 */ //End of data GLProgramVariableBase(IObject& _Owner, @@ -87,7 +87,7 @@ namespace Diligent ResourceType (_ResourceType), VariableIndex (_VariableIndex), ArraySize (_ArraySize), - pResources (_pResources) + pResources (_pResources) { VERIFY_EXPR(_ArraySize >= 1); } @@ -428,14 +428,13 @@ namespace Diligent HandleSB(GetStorageBlock(sb)); } - // There could be more than one stage is using non-separable programs + // There could be more than one stage if using non-separable programs SHADER_TYPE m_ShaderStages = SHADER_TYPE_UNKNOWN; // Memory layout: // // | Uniform buffers | Samplers | Images | Storage Blocks | Resource Cache | String Pool Data | - // | - // end of string pool data may not be aligned + // UniformBufferInfo* m_UniformBuffers = nullptr; SamplerInfo* m_Samplers = nullptr; diff --git a/Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp b/Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp index ff21c609..710dc9fa 100644 --- a/Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/GLProgramResources.cpp @@ -31,13 +31,13 @@ namespace Diligent { GLProgramResources::GLProgramResources(GLProgramResources&& Program)noexcept : - m_ShaderStages (Program.m_ShaderStages), - m_UniformBuffers (Program.m_UniformBuffers), - m_Samplers (Program.m_Samplers), - m_Images (Program.m_Images), - m_StorageBlocks (Program.m_StorageBlocks), - m_ResourceCache (Program.m_ResourceCache), - m_StringPool (std::move(Program.m_StringPool)), + m_ShaderStages (Program.m_ShaderStages), + m_UniformBuffers (Program.m_UniformBuffers), + m_Samplers (Program.m_Samplers), + m_Images (Program.m_Images), + m_StorageBlocks (Program.m_StorageBlocks), + m_ResourceCache (Program.m_ResourceCache), + m_StringPool (std::move(Program.m_StringPool)), m_NumUniformBuffers(Program.m_NumUniformBuffers), m_NumSamplers (Program.m_NumSamplers), m_NumImages (Program.m_NumImages), @@ -58,7 +58,7 @@ namespace Diligent inline void RemoveArrayBrackets(char *Str) { auto* OpenBacketPtr = strchr(Str, '['); - if ( OpenBacketPtr != nullptr ) + if (OpenBacketPtr != nullptr) *OpenBacketPtr = 0; } @@ -794,11 +794,11 @@ namespace Diligent return; auto& Name = res.Name; - for(Uint32 ArrInd = 0; ArrInd < res.ArraySize; ++ArrInd) + for (Uint32 ArrInd = 0; ArrInd < res.ArraySize; ++ArrInd) { auto& CurrResource = res.pResources[ArrInd]; - if( (Flags & BIND_SHADER_RESOURCES_KEEP_EXISTING) != 0 && CurrResource ) + if ( (Flags & BIND_SHADER_RESOURCES_KEEP_EXISTING) != 0 && CurrResource ) continue; // Skip already resolved resources RefCntAutoPtr pNewRes; @@ -860,7 +860,7 @@ namespace Diligent { const auto& UB0 = GetUniformBuffer(ub); const auto& UB1 = Res.GetUniformBuffer(ub); - if(!UB0.IsCompatibleWith(UB1)) + if (!UB0.IsCompatibleWith(UB1)) return false; } @@ -921,9 +921,9 @@ namespace Diligent #ifdef VERIFY_RESOURCE_BINDINGS static void dbgVerifyResourceBindingsHelper(const GLProgramResources::GLProgramVariableBase& res, const Char* VarTypeName) { - for(Uint32 ArrInd = 0; ArrInd < res.ArraySize; ++ArrInd) + for (Uint32 ArrInd = 0; ArrInd < res.ArraySize; ++ArrInd) { - if( !res.pResources[ArrInd] ) + if (!res.pResources[ArrInd]) { if( res.ArraySize > 1) LOG_ERROR_MESSAGE( "No resource is bound to ", VarTypeName, " variable \"", res.Name, "[", ArrInd, "]\"" ); diff --git a/Graphics/GraphicsEngineOpenGL/src/ShaderResourceBindingGLImpl.cpp b/Graphics/GraphicsEngineOpenGL/src/ShaderResourceBindingGLImpl.cpp index b1099e09..3ddb2704 100644 --- a/Graphics/GraphicsEngineOpenGL/src/ShaderResourceBindingGLImpl.cpp +++ b/Graphics/GraphicsEngineOpenGL/src/ShaderResourceBindingGLImpl.cpp @@ -37,7 +37,6 @@ ShaderResourceBindingGLImpl::ShaderResourceBindingGLImpl(IReferenceCounters* pRe const SHADER_RESOURCE_VARIABLE_TYPE SRBVarTypes[] = {SHADER_RESOURCE_VARIABLE_TYPE_MUTABLE, SHADER_RESOURCE_VARIABLE_TYPE_DYNAMIC}; if (IsUsingSeparatePrograms()) { - for (Uint32 s = 0; s < pPSO->GetNumShaders(); ++s) { auto* pShaderGL = pPSO->GetShader(s); -- cgit v1.2.3