gsdx-ogl: update flags for buffer storage

Fix issue with Mesa driver
This commit is contained in:
Gregory Hainaut 2015-04-23 21:10:43 +02:00
parent f6652e9a50
commit 258b73409c
2 changed files with 7 additions and 10 deletions

View File

@ -45,9 +45,9 @@ namespace PboPool {
// XXX: actually does I really need coherent and barrier???
// As far as I understand glTexSubImage2D is a client-server transfer so no need to make
// the value visible to the server
const GLbitfield map_flags = GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT /*| GL_MAP_COHERENT_BIT*/;
// FIXME do I need GL_DYNAMIC_STORAGE_BIT to allow write?
const GLbitfield create_flags = map_flags /*| GL_DYNAMIC_STORAGE_BIT*/ | GL_CLIENT_STORAGE_BIT;
const GLbitfield common_flags = GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT;
const GLbitfield map_flags = common_flags | GL_MAP_FLUSH_EXPLICIT_BIT;
const GLbitfield create_flags = common_flags | GL_CLIENT_STORAGE_BIT;
#endif
void Init() {

View File

@ -62,13 +62,10 @@ class GSBufferOGL {
if (m_buffer_storage) {
#ifndef ENABLE_GLES
bind();
// FIXME do I need the dynamic
const GLbitfield map_flags = GL_MAP_WRITE_BIT
| GL_MAP_PERSISTENT_BIT
// | GL_MAP_COHERENT_BIT (see barrier in GSDeviceOGL::BeforeDraw)
| GL_MAP_FLUSH_EXPLICIT_BIT
;
const GLbitfield create_flags = map_flags
// coherency will be done by flushing
const GLbitfield common_flags = GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT;
const GLbitfield map_flags = common_flags | GL_MAP_FLUSH_EXPLICIT_BIT;
const GLbitfield create_flags = common_flags
// | GL_CLIENT_STORAGE_BIT
;