diff options
| author | Pierre de La Morinerie <kemenaran@gmail.com> | 2015-11-25 11:56:11 +0100 |
|---|---|---|
| committer | Pierre de La Morinerie <kemenaran@gmail.com> | 2015-11-25 11:56:11 +0100 |
| commit | 0735630744f5bcc93d8310d592dab91b94d26652 (patch) | |
| tree | 035af9b541e6de8437a76fa18842aa26f30d4001 /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
| parent | c642dc459bf1ea5b98ee21213ec841b415e90cb1 (diff) | |
Use regular uniform location
The support for GL_ARB_explicit_uniform_location is not that good
(53% according to http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_explicit_uniform_location).
This fix the shader compilation on Intel HD 4000 (#1222).
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 9b4bddabd..2a8949198 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -492,9 +492,10 @@ void RasterizerOpenGL::SetShader() { state.Apply(); // Set the texture samplers to correspond to different texture units - glUniform1i(PicaShader::Uniform::Texture0, 0); - glUniform1i(PicaShader::Uniform::Texture1, 1); - glUniform1i(PicaShader::Uniform::Texture2, 2); + GLuint uniform_tex = glGetUniformLocation(shader->shader.handle, "tex"); + glUniform1i(uniform_tex, 0); + glUniform1i(uniform_tex + 1, 1); + glUniform1i(uniform_tex + 2, 2); current_shader = shader_cache.emplace(config, std::move(shader)).first->second.get(); |
