summaryrefslogtreecommitdiffstats
path: root/video/out/vo_opengl.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vo_opengl.c')
-rw-r--r--video/out/vo_opengl.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/video/out/vo_opengl.c b/video/out/vo_opengl.c
index 5d59912856..b5cdca7a82 100644
--- a/video/out/vo_opengl.c
+++ b/video/out/vo_opengl.c
@@ -156,6 +156,13 @@ static bool config_window(struct gl_priv *p, uint32_t d_width,
return mpgl_config_window(p->glctx, mpgl_caps, d_width, d_height, flags);
}
+static void video_resize_redraw_callback(struct vo *vo, int w, int h)
+{
+ struct gl_priv *p = vo->priv;
+ gl_video_resize_redraw(p->renderer, w, h);
+
+}
+
static int config(struct vo *vo, uint32_t width, uint32_t height,
uint32_t d_width, uint32_t d_height, uint32_t flags,
uint32_t format)
@@ -169,6 +176,10 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
return -1;
}
+ if (p->glctx->register_resize_callback) {
+ p->glctx->register_resize_callback(vo, video_resize_redraw_callback);
+ }
+
gl_video_config(p->renderer, format, width, height,
p->vo->aspdat.prew, p->vo->aspdat.preh);
@@ -353,6 +364,8 @@ static int preinit(struct vo *vo, const char *arg)
if (!config_window(p, 320, 200, VOFLAG_HIDDEN))
goto err_out;
+ mpgl_set_context(p->glctx);
+
if (p->gl->SwapInterval)
p->gl->SwapInterval(p->swap_interval);