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.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'video/out/opengl/common.c') diff --git a/video/out/opengl/common.c b/video/out/opengl/common.c index 5762f44440..271214954a 100644 --- a/video/out/opengl/common.c +++ b/video/out/opengl/common.c @@ -316,6 +316,16 @@ static const struct gl_functions gl_functions[] = { {0} }, }, + { + .ver_core = 410, + .ver_es_core = 300, + .extension = "GL_ARB_get_program_binary", + .functions = (const struct gl_function[]) { + DEF_FN(GetProgramBinary), + DEF_FN(ProgramBinary), + {0} + }, + }, // Swap control, always an OS specific extension // The OSX code loads this manually. { -- cgit v1.2.3