summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2013-02-01 12:30:08 +0100
committerdegasus <wickmarkus@web.de>2013-02-01 12:30:08 +0100
commit878bd7f26c229eba4a9e61fe2905e1c3f2d2085b (patch)
tree29e98f64552b6b7d807341be79561aaef6d3f652 /Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
parent30170575c828c5b11dfdaa0ef05e58e0a24c486e (diff)
implement streaming by bufferSubData, split upload and allocation in ringbuffer
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
index e7f2bdf43b..7c828031ab 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
@@ -208,6 +208,7 @@ void ProgramShaderCache::SetMultiVSConstant4fv(unsigned int offset, const float
void ProgramShaderCache::UploadConstants()
{
if(s_ubo_dirty) {
+ s_buffer->Alloc(s_ubo_buffer_size);
size_t offset = s_buffer->Upload(s_ubo_buffer, s_ubo_buffer_size);
glBindBufferRange(GL_UNIFORM_BUFFER, 1, s_buffer->getBuffer(), offset, s_vs_data_offset);
glBindBufferRange(GL_UNIFORM_BUFFER, 2, s_buffer->getBuffer(), offset + s_vs_data_offset, s_ubo_buffer_size - s_vs_data_offset);