From 759ac6cc93bd1895a8f9233b8e9256889bdef6aa Mon Sep 17 00:00:00 2001 From: wm4 Date: Sat, 8 Apr 2017 16:38:56 +0200 Subject: 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. --- video/out/opengl/common.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'video/out/opengl/common.h') 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); -- cgit v1.2.3