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); }