diff options
| author | degasus <wickmarkus@web.de> | 2013-01-28 13:03:31 +0100 |
|---|---|---|
| committer | degasus <wickmarkus@web.de> | 2013-01-28 13:03:31 +0100 |
| commit | fd06342a97e6bedfdedac390e89c88454983c815 (patch) | |
| tree | 3a0f4880cb3e0ffa977ea63dad5cf8862a7e3885 /Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp | |
| parent | 4fadb6525941cc743be395edf5d10dfffa076944 (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.cpp | 4 |
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)]; |
