summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2013-01-28 13:03:31 +0100
committerdegasus <wickmarkus@web.de>2013-01-28 13:03:31 +0100
commitfd06342a97e6bedfdedac390e89c88454983c815 (patch)
tree3a0f4880cb3e0ffa977ea63dad5cf8862a7e3885 /Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
parent4fadb6525941cc743be395edf5d10dfffa076944 (diff)
set hint GL_STREAM_READ
it's wrong, but so we are guaranteed to get pinned memory. it's slower for rendering, but faster for mapping.
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
index 73a9d5b105..974d839900 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
@@ -197,7 +197,7 @@ void ProgramShaderCache::UploadConstants()
{
if(s_ubo_dirty) {
if(s_ubo_iterator + s_ubo_buffer_size >= UBO_LENGTH) {
- glBufferData(GL_UNIFORM_BUFFER, UBO_LENGTH, NULL, GL_STREAM_DRAW);
+ glBufferData(GL_UNIFORM_BUFFER, UBO_LENGTH, NULL, GL_STREAM_READ);
s_ubo_iterator = 0;
}
void *ubo = glMapBufferRange(GL_UNIFORM_BUFFER, s_ubo_iterator, s_ubo_buffer_size, GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT | GL_MAP_INVALIDATE_RANGE_BIT);
@@ -242,7 +242,7 @@ void ProgramShaderCache::Init(void)
// Then once more to get bytes
glGenBuffers(1, &s_ps_vs_ubo);
glBindBuffer(GL_UNIFORM_BUFFER, s_ps_vs_ubo);
- glBufferData(GL_UNIFORM_BUFFER, UBO_LENGTH, NULL, GL_STREAM_DRAW);
+ glBufferData(GL_UNIFORM_BUFFER, UBO_LENGTH, NULL, GL_STREAM_READ);
s_ubo_iterator = 0;
s_ubo_buffer = new float[s_ubo_buffer_size/sizeof(float)];