From db7894ff6ba118070c1a41bd8440e4d59add4788 Mon Sep 17 00:00:00 2001 From: vladislavbelov Date: Sun, 6 Mar 2022 21:17:24 +0000 Subject: [PATCH] Removes redundant binding slot retrieving from CShaderProgram. This was SVN commit r26585. --- source/graphics/ShaderDefines.cpp | 8 ++------ source/graphics/ShaderProgram.cpp | 10 +++++----- source/renderer/ModelRenderer.cpp | 9 +++------ 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/source/graphics/ShaderDefines.cpp b/source/graphics/ShaderDefines.cpp index 84dc4085c4..5c5cc88d26 100644 --- a/source/graphics/ShaderDefines.cpp +++ b/source/graphics/ShaderDefines.cpp @@ -230,12 +230,8 @@ void CShaderUniforms::BindUniforms(const CShaderProgramPtr& shader) const const std::vector& items = m_Items->items; for (size_t i = 0; i < items.size(); ++i) { - CShaderProgram::Binding binding = shader->GetUniformBinding(items[i].first); - if (binding.Active()) - { - CVector4D v = items[i].second; - shader->Uniform(binding, v.X, v.Y, v.Z, v.W); - } + const CVector4D& v = items[i].second; + shader->Uniform(items[i].first, v.X, v.Y, v.Z, v.W); } } diff --git a/source/graphics/ShaderProgram.cpp b/source/graphics/ShaderProgram.cpp index 37d96f7cb5..b2bb57b621 100644 --- a/source/graphics/ShaderProgram.cpp +++ b/source/graphics/ShaderProgram.cpp @@ -512,7 +512,7 @@ public: Binding GetTextureBinding(texture_id_t id) override { - std::map >::iterator it = m_Samplers.find(CStrIntern(id)); + std::map>::iterator it = m_Samplers.find(CStrIntern(id)); if (it == m_Samplers.end()) return Binding(); else @@ -521,7 +521,7 @@ public: void BindTexture(texture_id_t id, GLuint tex) override { - std::map >::iterator it = m_Samplers.find(CStrIntern(id)); + std::map>::iterator it = m_Samplers.find(CStrIntern(id)); if (it == m_Samplers.end()) return; @@ -538,7 +538,7 @@ public: Binding GetUniformBinding(uniform_id_t id) override { - std::map >::iterator it = m_Uniforms.find(id); + std::map>::iterator it = m_Uniforms.find(id); if (it == m_Uniforms.end()) return Binding(); else @@ -647,8 +647,8 @@ private: GLhandleARB m_VertexShader; GLhandleARB m_FragmentShader; - std::map > m_Uniforms; - std::map > m_Samplers; // texture target & unit chosen for each uniform sampler + std::map> m_Uniforms; + std::map> m_Samplers; // texture target & unit chosen for each uniform sampler }; ////////////////////////////////////////////////////////////////////////// diff --git a/source/renderer/ModelRenderer.cpp b/source/renderer/ModelRenderer.cpp index b6b36144dc..8890f92b30 100644 --- a/source/renderer/ModelRenderer.cpp +++ b/source/renderer/ModelRenderer.cpp @@ -589,6 +589,8 @@ void ShaderModelRenderer::Render( } } + const double time = g_Renderer.GetTimeManager().GetGlobalTime(); + { PROFILE3("rendering bucketed submissions"); @@ -722,12 +724,7 @@ void ShaderModelRenderer::Render( CShaderRenderQueries::RenderQuery rq = renderQueries.GetItem(q); if (rq.first == RQUERY_TIME) { - CShaderProgram::Binding binding = shader->GetUniformBinding(rq.second); - if (binding.Active()) - { - double time = g_Renderer.GetTimeManager().GetGlobalTime(); - shader->Uniform(binding, time, 0.0f, 0.0f, 0.0f); - } + shader->Uniform(rq.second, time, 0.0f, 0.0f, 0.0f); } else if (rq.first == RQUERY_WATER_TEX) {