diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2011-12-09 17:30:05 -0600 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2011-12-09 17:30:05 -0600 |
| commit | 8e5bb59cb692bae1bf4a94797a7c153e9bbd2d3d (patch) | |
| tree | 4c3f7bce56c03e85d49e97f497f30a7660654296 /Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp | |
| parent | 9119399547b44f9c9068fa52812a9e90ab367d8d (diff) | |
Add in UBOs, doesn't work yet. Still debugging here.
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)) |
