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??? // 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 // As far as I understand glTexSubImage2D is a client-server transfer so no need to make
// the value visible to the server // the value visible to the server
const GLbitfield map_flags = GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT /*| GL_MAP_COHERENT_BIT*/; const GLbitfield common_flags = GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT;
// FIXME do I need GL_DYNAMIC_STORAGE_BIT to allow write? const GLbitfield map_flags = common_flags | GL_MAP_FLUSH_EXPLICIT_BIT;
const GLbitfield create_flags = map_flags /*| GL_DYNAMIC_STORAGE_BIT*/ | GL_CLIENT_STORAGE_BIT; const GLbitfield create_flags = common_flags | GL_CLIENT_STORAGE_BIT;
#endif #endif
void Init() { void Init() {

View File

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