From a5fc0689ac41815281e7121275334887179d25c9 Mon Sep 17 00:00:00 2001 From: orbea Date: Mon, 10 Dec 2018 14:26:29 -0800 Subject: [PATCH] Fix performance with radeonsi. This takes Donkey Kong 64 from 12 fps to full speed with framebuffer emulation enabled. --- .../OpenGLContext/opengl_ColorBufferReaderWithBufferStorage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithBufferStorage.cpp b/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithBufferStorage.cpp index 74d113fb..32a02f28 100644 --- a/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithBufferStorage.cpp +++ b/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithBufferStorage.cpp @@ -31,7 +31,7 @@ void ColorBufferReaderWithBufferStorage::_initBuffers() for (u32 index = 0; index < m_numPBO; ++index) { m_bindBuffer->bind(Parameter(GL_PIXEL_PACK_BUFFER), ObjectHandle(m_PBO[index])); m_fence[index] = 0; - glBufferStorage(GL_PIXEL_PACK_BUFFER, m_pTexture->textureBytes, nullptr, GL_MAP_READ_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT); + glBufferStorage(GL_PIXEL_PACK_BUFFER, m_pTexture->textureBytes, nullptr, GL_MAP_READ_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT | GL_CLIENT_STORAGE_BIT); m_PBOData[index] = glMapBufferRange(GL_PIXEL_PACK_BUFFER, 0, m_pTexture->textureBytes, GL_MAP_READ_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_COHERENT_BIT); }