summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2011-12-18 23:31:00 -0600
committerSonicadvance1 <sonicadvance1@RH-Live.(none)>2012-10-09 23:42:40 -0500
commit6759ee701d3deb3d2966f871b7e44f1038194d74 (patch)
tree042b45d67b794e6e206260278c5efd616c092758 /Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
parentc76593f6a2f23665bfacd09a0ca0bebc37b00304 (diff)
This thing fails when we don't support binding. Not 100% sure why I need to set this multiple times.
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
index 7ae733bcf1..b83e4cf0ac 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
@@ -77,6 +77,13 @@ namespace OGL
{
PCacheEntry &entry = iter->second;
glUseProgram(entry.program.glprogid);
+ if (!g_ActiveConfig.backend_info.bSupportsGLSLBinding)
+ for(int a = 0; a < 8; ++a)
+ {
+ // Why do we need to set this again here when we don't support binding?
+ if(entry.program.UniformLocations[a] != -1)
+ glUniform1i(entry.program.UniformLocations[a], a);
+ }
CurrentShaderProgram = ShaderPair;
CurrentProgram = entry.program.glprogid;
return;