summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/gl_hwdec_vaglx.c7
-rw-r--r--waftools/fragments/gl_x11.c1
2 files changed, 5 insertions, 3 deletions
diff --git a/video/out/gl_hwdec_vaglx.c b/video/out/gl_hwdec_vaglx.c
index 665b800efb..a8b3a3f8ad 100644
--- a/video/out/gl_hwdec_vaglx.c
+++ b/video/out/gl_hwdec_vaglx.c
@@ -64,12 +64,13 @@ static int create(struct gl_hwdec *hw)
{
if (hw->info->vaapi_ctx)
return -1;
- if (!hw->mpgl->vo->x11 || !glXGetCurrentContext())
+ Display *x11disp = glXGetCurrentDisplay();
+ if (!x11disp)
return -1;
struct priv *p = talloc_zero(hw, struct priv);
hw->priv = p;
p->log = hw->log;
- p->display = vaGetDisplayGLX(hw->mpgl->vo->x11->display);
+ p->display = vaGetDisplayGLX(x11disp);
if (!p->display)
return -1;
p->ctx = va_initialize(p->display, p->log);
@@ -85,7 +86,7 @@ static int create(struct gl_hwdec *hw)
static int reinit(struct gl_hwdec *hw, const struct mp_image_params *params)
{
struct priv *p = hw->priv;
- GL *gl = hw->mpgl->gl;
+ GL *gl = hw->gl;
VAStatus status;
destroy_texture(hw);
diff --git a/waftools/fragments/gl_x11.c b/waftools/fragments/gl_x11.c
index 8f6c950f47..36f4ef1f09 100644
--- a/waftools/fragments/gl_x11.c
+++ b/waftools/fragments/gl_x11.c
@@ -7,6 +7,7 @@ int main(int argc, char *argv[]) {
glXCreateContext(NULL, NULL, NULL, True);
glXQueryExtensionsString(NULL, 0);
glXGetProcAddressARB("");
+ glXGetCurrentDisplay();
glFinish();
return 0;
}