From 8544673e96c290bd4d7b7ee8722fdf9705281005 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Sun, 19 Feb 2017 20:36:29 +0700 Subject: [PATCH] Minor optimization in CombinerProgramUniformFactory::buildUniforms --- .../glsl_CombinerProgramUniformFactory.cpp | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/src/Graphics/OpenGLContext/GLSL/glsl_CombinerProgramUniformFactory.cpp b/src/Graphics/OpenGLContext/GLSL/glsl_CombinerProgramUniformFactory.cpp index 29256245..30d7e349 100644 --- a/src/Graphics/OpenGLContext/GLSL/glsl_CombinerProgramUniformFactory.cpp +++ b/src/Graphics/OpenGLContext/GLSL/glsl_CombinerProgramUniformFactory.cpp @@ -778,15 +778,29 @@ void CombinerProgramUniformFactory::buildUniforms(GLuint _program, if (!m_glInfo.isGLES2) _uniforms.emplace_back(new UDepthTex(_program)); - if (_inputs.usesTexture()) + if (_inputs.usesTexture()) { _uniforms.emplace_back(new UTextures(_program)); - if (config.video.multisampling != 0) - _uniforms.emplace_back(new UMSAATextures(_program)); + if (config.video.multisampling != 0) + _uniforms.emplace_back(new UMSAATextures(_program)); - if (_inputs.usesTexture()) _uniforms.emplace_back(new UFrameBufferInfo(_program)); + if (_inputs.usesLOD()) { + _uniforms.emplace_back(new UMipmap1(_program)); + if (config.generalEmulation.enableLOD != 0) + _uniforms.emplace_back(new UMipmap2(_program)); + } + + _uniforms.emplace_back(new UTexturePersp(_program)); + + if (m_glInfo.isGLES2) + _uniforms.emplace_back(new UTextureSize(_program, _inputs.usesTile(0), _inputs.usesTile(1))); + + if (!_key.isRectKey()) + _uniforms.emplace_back(new UTextureParams(_program, _inputs.usesTile(0), _inputs.usesTile(1))); + } + _uniforms.emplace_back(new UFog(_program)); if (config.generalEmulation.enableLegacyBlending == 0) { @@ -804,14 +818,6 @@ void CombinerProgramUniformFactory::buildUniforms(GLuint _program, _uniforms.emplace_back(new UScreenScale(_program)); - if (_inputs.usesLOD()) { - _uniforms.emplace_back(new UMipmap1(_program)); - if (config.generalEmulation.enableLOD != 0) - _uniforms.emplace_back(new UMipmap2(_program)); - } - - _uniforms.emplace_back(new UTexturePersp(_program)); - if (config.texture.bilinearMode == BILINEAR_3POINT) _uniforms.emplace_back(new UTextureFilterMode(_program)); @@ -831,13 +837,6 @@ void CombinerProgramUniformFactory::buildUniforms(GLuint _program, _uniforms.emplace_back(new UColors(_program)); - if (_inputs.usesTexture()) { - if (m_glInfo.isGLES2) - _uniforms.emplace_back(new UTextureSize(_program, _inputs.usesTile(0), _inputs.usesTile(1))); - if (!_key.isRectKey()) - _uniforms.emplace_back(new UTextureParams(_program, _inputs.usesTile(0), _inputs.usesTile(1))); - } - if (_inputs.usesHwLighting()) _uniforms.emplace_back(new ULights(_program)); }