summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/common.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-05-23 18:02:37 +0200
committerwm4 <wm4@nowhere>2016-05-23 21:27:18 +0200
commit80d702dce8469928012b9a709805a76274cd0256 (patch)
treeff0be1fb603572b41fe5bd74a672ae72ac004ecc /video/out/opengl/common.h
parentafcef4c25b8dabff92716c3995e26068362bc3aa (diff)
downloadmpv-80d702dce8469928012b9a709805a76274cd0256.tar.bz2
mpv-80d702dce8469928012b9a709805a76274cd0256.tar.xz
vo_opengl: make PBOs work on GLES 3.x
For some reason, GLES has no glMapBuffer, only glMapBufferRange. GLES 2 has no buffer mapping at all, and GL 2.1 does not always have glMapBufferRange. On those PBOs remain unsupported (there's no reason to care about GL 2.1 without the extension). This doesn't actually work on ANGLE, and I have no idea why. (There are artifacts on OSD, as if parts of the OSD data weren't copied.) It works on desktop OpenGL and at least 1 other ES 3 implementation. Don't enable it on ANGLE, I guess.
Diffstat (limited to 'video/out/opengl/common.h')
-rw-r--r--video/out/opengl/common.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/video/out/opengl/common.h b/video/out/opengl/common.h
index c55f1654fc..84c27dfea0 100644
--- a/video/out/opengl/common.h
+++ b/video/out/opengl/common.h
@@ -126,7 +126,8 @@ struct GL {
void (GLAPIENTRY *DeleteBuffers)(GLsizei, const GLuint *);
void (GLAPIENTRY *BindBuffer)(GLenum, GLuint);
void (GLAPIENTRY *BindBufferBase)(GLenum, GLuint, GLuint);
- GLvoid * (GLAPIENTRY * MapBuffer)(GLenum, GLenum);
+ GLvoid * (GLAPIENTRY *MapBufferRange)(GLenum, GLintptr, GLsizeiptr,
+ GLbitfield);
GLboolean (GLAPIENTRY *UnmapBuffer)(GLenum);
void (GLAPIENTRY *BufferData)(GLenum, intptr_t, const GLvoid *, GLenum);
void (GLAPIENTRY *ActiveTexture)(GLenum);