diff options
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp')
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp index 143340277e..dfa3293a46 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp @@ -252,6 +252,11 @@ void SetGLSLVSConstant4f(unsigned int const_number, float f1, float f2, float f3 glUniform4fv(const_number, 1, buf); return; } + if (g_ActiveConfig.backend_info.bSupportsGLSLUBO) + { + ProgramShaderCache::SetUniformObjects(1, const_number, buf); + return; + } for( unsigned int a = 0; a < 9; ++a) { if( const_number >= VSVar_Loc[a].reg && const_number < ( VSVar_Loc[a].reg + VSVar_Loc[a].size)) @@ -270,6 +275,11 @@ void SetGLSLVSConstant4fv(unsigned int const_number, const float *f) glUniform4fv(const_number, 1, f); return; } + if (g_ActiveConfig.backend_info.bSupportsGLSLUBO) + { + ProgramShaderCache::SetUniformObjects(1, const_number, f); + return; + } for( unsigned int a = 0; a < 9; ++a) { if( const_number >= VSVar_Loc[a].reg && const_number < ( VSVar_Loc[a].reg + VSVar_Loc[a].size)) @@ -288,6 +298,11 @@ void SetMultiGLSLVSConstant4fv(unsigned int const_number, unsigned int count, co glUniform4fv(const_number, count, f); return; } + if (g_ActiveConfig.backend_info.bSupportsGLSLUBO) + { + ProgramShaderCache::SetUniformObjects(1, const_number, f, count); + return; + } for( unsigned int a = 0; a < 9; ++a) { if( const_number >= VSVar_Loc[a].reg && const_number < ( VSVar_Loc[a].reg + VSVar_Loc[a].size)) @@ -314,6 +329,11 @@ void SetMultiGLSLVSConstant3fv(unsigned int const_number, unsigned int count, co glUniform4fv(const_number, count, buf); return; } + if (g_ActiveConfig.backend_info.bSupportsGLSLUBO) + { + ProgramShaderCache::SetUniformObjects(1, const_number, buf, count); + return; + } for( unsigned int a = 0; a < 9; ++a) { if( const_number >= VSVar_Loc[a].reg && const_number < ( VSVar_Loc[a].reg + VSVar_Loc[a].size)) |
