aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-11-25 22:33:24 -0500
committerbunnei <bunneidev@gmail.com>2015-11-25 22:33:24 -0500
commitf008dfbaca376c7b52b4c79edd0e5b8a302cfa3f (patch)
tree79ae175c9c92eb477f34cbe1c1e72ee6ad6085e5 /src/video_core/renderer_opengl/gl_rasterizer.cpp
parentff502a51c58f9cad98a67cc86f2cfec2a5c1988a (diff)
renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location.
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 2a8949198..822739088 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -492,10 +492,12 @@ void RasterizerOpenGL::SetShader() {
state.Apply();
// Set the texture samplers to correspond to different texture units
- GLuint uniform_tex = glGetUniformLocation(shader->shader.handle, "tex");
- glUniform1i(uniform_tex, 0);
- glUniform1i(uniform_tex + 1, 1);
- glUniform1i(uniform_tex + 2, 2);
+ GLuint uniform_tex = glGetUniformLocation(shader->shader.handle, "tex[0]");
+ if (uniform_tex != -1) { glUniform1i(uniform_tex, 0); }
+ uniform_tex = glGetUniformLocation(shader->shader.handle, "tex[1]");
+ if (uniform_tex != -1) { glUniform1i(uniform_tex, 1); }
+ uniform_tex = glGetUniformLocation(shader->shader.handle, "tex[2]");
+ if (uniform_tex != -1) { glUniform1i(uniform_tex, 2); }
current_shader = shader_cache.emplace(config, std::move(shader)).first->second.get();