diff options
| author | degasus <wickmarkus@web.de> | 2013-01-19 00:12:02 +0100 |
|---|---|---|
| committer | degasus <wickmarkus@web.de> | 2013-01-19 00:12:02 +0100 |
| commit | 6401a18143f9c0e8fbcdf07cbd656e1ae9e833b4 (patch) | |
| tree | 5667ee0de97f91ae46f99cbdd29e63896bedefa4 /Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp | |
| parent | 2c010f530edca88b0595df2f2aed0ab5d06ad18c (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.cpp | 13 |
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); } } |
