diff options
| author | degasus <wickmarkus@web.de> | 2014-06-05 12:18:44 +0200 |
|---|---|---|
| committer | degasus <wickmarkus@web.de> | 2014-06-05 12:18:44 +0200 |
| commit | 0688cfdaef8e87969882fe46b46238cecc6f604c (patch) | |
| tree | 49f2de284fbbadc91c4897a226b69f6cbd2c0cc6 /Source/Core/VideoBackends/OGL/StreamBuffer.cpp | |
| parent | 3a06907653ba037e1ca1a7ca6d0342bf2b18476b (diff) | |
OGL-StreamBuffer: don't use coherent mapping
Coherent mapping seems to be much slower on fermi gpus.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/StreamBuffer.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/StreamBuffer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/OGL/StreamBuffer.cpp b/Source/Core/VideoBackends/OGL/StreamBuffer.cpp index f2448ffbf0..4a79c8f6b7 100644 --- a/Source/Core/VideoBackends/OGL/StreamBuffer.cpp +++ b/Source/Core/VideoBackends/OGL/StreamBuffer.cpp @@ -223,9 +223,9 @@ public: // COHERENT_BIT is set so we don't have to use a MemoryBarrier on write // CLIENT_STORAGE_BIT is set since we access the buffer more frequently on the client side then server side glBufferStorage(m_buffertype, m_size, nullptr, - GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT | GL_CLIENT_STORAGE_BIT); + GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT); m_pointer = (u8*)glMapBufferRange(m_buffertype, 0, m_size, - GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT); + GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_FLUSH_EXPLICIT_BIT); } ~BufferStorage() { @@ -241,6 +241,7 @@ public: } void Unmap(size_t used_size) override { + glFlushMappedBufferRange(m_buffertype, m_iterator, used_size); m_iterator += used_size; } |
