summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/common.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-04-08 16:38:56 +0200
committerwm4 <wm4@nowhere>2017-04-08 16:43:56 +0200
commit759ac6cc93bd1895a8f9233b8e9256889bdef6aa (patch)
tree86f3a5c58a695f936f06e62c754dc29286479851 /video/out/opengl/common.h
parente7940ddbf35cd752bbac793c0896463c2c58e599 (diff)
downloadmpv-759ac6cc93bd1895a8f9233b8e9256889bdef6aa.tar.bz2
mpv-759ac6cc93bd1895a8f9233b8e9256889bdef6aa.tar.xz
vo_opengl: add option for caching shaders on disk
Mostly because of ANGLE (sadly). The implementation became unpleasantly big, but at least it's relatively self-contained. I'm not sure to what degree shaders from different drivers are compatible as in whether a driver would randomly misbehave if it's fed a binary created by another driver. The useless binayFormat parameter won't help it, as they can probably easily clash. As usual, OpenGL is pretty shit here.
Diffstat (limited to 'video/out/opengl/common.h')
-rw-r--r--video/out/opengl/common.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/video/out/opengl/common.h b/video/out/opengl/common.h
index 11cc37ba8a..3eb2a8ecf8 100644
--- a/video/out/opengl/common.h
+++ b/video/out/opengl/common.h
@@ -150,6 +150,10 @@ struct GL {
void (GLAPIENTRY *GetShaderiv)(GLuint, GLenum, GLint *);
void (GLAPIENTRY *GetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
void (GLAPIENTRY *GetProgramiv)(GLenum, GLenum, GLint *);
+ void (GLAPIENTRY *GetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *,
+ void *);
+ void (GLAPIENTRY *ProgramBinary)(GLuint, GLenum, const void *, GLsizei);
+
const GLubyte* (GLAPIENTRY *GetStringi)(GLenum, GLuint);
void (GLAPIENTRY *BindAttribLocation)(GLuint, GLuint, const GLchar *);
void (GLAPIENTRY *BindFramebuffer)(GLenum, GLuint);