summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/context_angle.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-05-11 12:33:49 +0200
committerwm4 <wm4@nowhere>2016-05-11 15:39:29 +0200
commitfde20d10bcacebf61aff42ab1f48ac72023a2aa5 (patch)
tree32208ac416db568fa7286f83a69b7c225df05f04 /video/out/opengl/context_angle.c
parentbea76753078c2602c2fc67dc06ce13141560cf0d (diff)
downloadmpv-fde20d10bcacebf61aff42ab1f48ac72023a2aa5.tar.bz2
mpv-fde20d10bcacebf61aff42ab1f48ac72023a2aa5.tar.xz
vo_opengl: angle: dynamically load ANGLE
ANGLE is _really_ annoying to build. (Requires special toolchain and a recent MSVC version.) This results in various issues with people having trouble to build mpv against ANGLE (apparently linking it against a prebuilt binary doesn't count, or using binaries from potentially untrusted sources is not wanted). Dynamically loading ANGLE is going to be a huge convenience. This commit implements this, with special focus on keeping it source compatible to a normal build with ANGLE linked at build-time.
Diffstat (limited to 'video/out/opengl/context_angle.c')
-rw-r--r--video/out/opengl/context_angle.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/video/out/opengl/context_angle.c b/video/out/opengl/context_angle.c
index fb2fb4b888..ef498f27eb 100644
--- a/video/out/opengl/context_angle.c
+++ b/video/out/opengl/context_angle.c
@@ -19,6 +19,8 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include "angle_dynamic.h"
+
#include "common/common.h"
#include "video/out/w32_common.h"
#include "context.h"
@@ -109,6 +111,11 @@ static int angle_init(struct MPGLContext *ctx, int flags)
struct priv *p = ctx->priv;
struct vo *vo = ctx->vo;
+ if (!angle_load()) {
+ MP_VERBOSE(vo, "Failed to load LIBEGL.DLL\n");
+ goto fail;
+ }
+
if (!vo_w32_init(vo))
goto fail;