summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2013-01-19 00:12:02 +0100
committerdegasus <wickmarkus@web.de>2013-01-19 00:12:02 +0100
commit6401a18143f9c0e8fbcdf07cbd656e1ae9e833b4 (patch)
tree5667ee0de97f91ae46f99cbdd29e63896bedefa4 /Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
parent2c010f530edca88b0595df2f2aed0ab5d06ad18c (diff)
remove texture sampler from uniform list
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
index 24cdb9c444..ad0173341c 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
@@ -37,8 +37,6 @@ GLuint ProgramShaderCache::PCacheEntry::prog_format = 0;
std::pair<u32, u32> ProgramShaderCache::CurrentShaderProgram;
const char *UniformNames[NUM_UNIFORMS] =
{
- // SAMPLERS
- "samp0","samp1","samp2","samp3","samp4","samp5","samp6","samp7",
// PIXEL SHADER UNIFORMS
I_COLORS,
I_KCOLORS,
@@ -84,16 +82,19 @@ void ProgramShaderCache::SetProgramVariables(PCacheEntry &entry)
//glGetUniformIndices(entry.prog_id, NUM_UNIFORMS, UniformNames, entry.UniformLocations);
// Got to do it this crappy way.
if (!g_ActiveConfig.backend_info.bSupportsGLSLUBO)
- for (int a = 8; a < NUM_UNIFORMS; ++a)
+ for (int a = 0; a < NUM_UNIFORMS; ++a)
entry.UniformLocations[a] = glGetUniformLocation(entry.prog_id, UniformNames[a]);
// Bind Texture Sampler
for (int a = 0; a < 8; ++a)
{
+ char name[8];
+ snprintf(name, 8, "samp%d", a);
+
// Still need to get sampler locations since we aren't binding them statically in the shaders
- entry.UniformLocations[a] = glGetUniformLocation(entry.prog_id, UniformNames[a]);
- if (entry.UniformLocations[a] != -1)
- glUniform1i(entry.UniformLocations[a], a);
+ int loc = glGetUniformLocation(entry.prog_id, name);
+ if (loc != -1)
+ glUniform1i(loc, a);
}
}