From 42bad7958a11279d30e6cd5edd96ac58d2da8cee Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Mon, 13 Feb 2017 16:24:28 +0700 Subject: [PATCH] Set texture size for TexrectDrawer shader. It is necessary for GLES2. --- src/Graphics/OpenGLContext/GLSL/glsl_SpecialShadersFactory.cpp | 2 ++ src/TexrectDrawer.cpp | 1 + 2 files changed, 3 insertions(+) diff --git a/src/Graphics/OpenGLContext/GLSL/glsl_SpecialShadersFactory.cpp b/src/Graphics/OpenGLContext/GLSL/glsl_SpecialShadersFactory.cpp index cb899bc6..6f4a367c 100644 --- a/src/Graphics/OpenGLContext/GLSL/glsl_SpecialShadersFactory.cpp +++ b/src/Graphics/OpenGLContext/GLSL/glsl_SpecialShadersFactory.cpp @@ -563,6 +563,8 @@ namespace glsl { void setTextureSize(u32 _width, u32 _height) override { + if (m_textureSizeLoc < 0) + return; m_useProgram->useProgram(m_program); glUniform2f(m_textureSizeLoc, (GLfloat)_width, (GLfloat)_height); gDP.changed |= CHANGED_COMBINE; diff --git a/src/TexrectDrawer.cpp b/src/TexrectDrawer.cpp index 1f686abd..644477de 100644 --- a/src/TexrectDrawer.cpp +++ b/src/TexrectDrawer.cpp @@ -79,6 +79,7 @@ void TexrectDrawer::init() m_programTex.reset(gfxContext.createTexrectDrawerDrawShader()); m_programClear.reset(gfxContext.createTexrectDrawerClearShader()); + m_programTex->setTextureSize(m_pTexture->realWidth, m_pTexture->realHeight); m_vecRectCoords.reserve(256); }