From f4a76c48c2eaba00321ed02c06bb486da8dce3f5 Mon Sep 17 00:00:00 2001 From: Johannes Obermayr Date: Sat, 6 Jun 2015 15:33:57 +0200 Subject: [PATCH] Use GLsizeiptr on Mesa >= 20150122. Signed-off-by: Gregory Hainaut --- plugins/GSdx/GLLoader.cpp | 10 +++++----- plugins/GSdx/GLLoader.h | 7 +++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/plugins/GSdx/GLLoader.cpp b/plugins/GSdx/GLLoader.cpp index 06a2118f03..f3d7b5022c 100644 --- a/plugins/GSdx/GLLoader.cpp +++ b/plugins/GSdx/GLLoader.cpp @@ -241,17 +241,17 @@ namespace Emulate_DSA { glGenBuffers(1, buffers); } - void APIENTRY NamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags) { + void APIENTRY NamedBufferStorage(GLuint buffer, buffer_proc_t size, const void *data, GLbitfield flags) { glBindBuffer(buffer_target, buffer); glBufferStorage(buffer_target, size, data, flags); } - void APIENTRY NamedBufferData(GLuint buffer, GLsizei size, const void *data, GLenum usage) { + void APIENTRY NamedBufferData(GLuint buffer, buffer_proc_t size, const void *data, GLenum usage) { glBindBuffer(buffer_target, buffer); glBufferData(buffer_target, size, data, usage); } - void APIENTRY NamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void *data) { + void APIENTRY NamedBufferSubData(GLuint buffer, GLintptr offset, buffer_proc_t size, const void *data) { glBindBuffer(buffer_target, buffer); glBufferSubData(buffer_target, offset, size, data); } @@ -261,7 +261,7 @@ namespace Emulate_DSA { return glMapBuffer(buffer_target, access); } - void *APIENTRY MapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) { + void *APIENTRY MapNamedBufferRange(GLuint buffer, GLintptr offset, buffer_proc_t length, GLbitfield access) { glBindBuffer(buffer_target, buffer); return glMapBufferRange(buffer_target, offset, length, access); } @@ -271,7 +271,7 @@ namespace Emulate_DSA { return glUnmapBuffer(buffer_target); } - void APIENTRY FlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length) { + void APIENTRY FlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, buffer_proc_t length) { glBindBuffer(buffer_target, buffer); glFlushMappedBufferRange(buffer_target, offset, length); } diff --git a/plugins/GSdx/GLLoader.h b/plugins/GSdx/GLLoader.h index c843970739..87250746c5 100644 --- a/plugins/GSdx/GLLoader.h +++ b/plugins/GSdx/GLLoader.h @@ -36,6 +36,13 @@ #define APIENTRYP APIENTRY * #endif +// Mesa glext.h < 20150122 uses GLsizei for BUFFER*PROCs +#if GL_GLEXT_VERSION < 20150122 +typedef GLsizei buffer_proc_t; +#else +typedef GLsizeiptr buffer_proc_t; +#endif + // Allow compilation with older mesa #ifndef GL_VERSION_4_3 #define GL_VERSION_4_3 1