summaryrefslogtreecommitdiffstats
path: root/video/out/vo_rpi.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-09-14 20:23:46 +0200
committerwm4 <wm4@nowhere>2016-09-14 20:24:06 +0200
commite24ba8fa7f1a0645307ab53e16d9d6d1fe2349b2 (patch)
tree9c238905eecfae57e86b9c5423598aec4aa82a49 /video/out/vo_rpi.c
parentffbc85cde94da81c9ba1db64451ec11400f98497 (diff)
downloadmpv-e24ba8fa7f1a0645307ab53e16d9d6d1fe2349b2.tar.bz2
mpv-e24ba8fa7f1a0645307ab53e16d9d6d1fe2349b2.tar.xz
vo_opengl: require explicit reset on shader cache after rendering
The caller now has to call gl_sc_reset(), and _after_ rendering. This way we can unset OpenGL state that was setup for rendering. This affects the shader program, for example. The next commit uses this to automatically manage texture units via the shader cache. vo_rpi.c changes untested.
Diffstat (limited to 'video/out/vo_rpi.c')
-rw-r--r--video/out/vo_rpi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/video/out/vo_rpi.c b/video/out/vo_rpi.c
index c046928f38..acec865c6b 100644
--- a/video/out/vo_rpi.c
+++ b/video/out/vo_rpi.c
@@ -285,8 +285,9 @@ static void update_osd(struct vo *vo)
abort();
}
gl_sc_set_vao(p->sc, mpgl_osd_get_vao(p->osd));
- gl_sc_gen_shader_and_reset(p->sc);
+ gl_sc_generate(p->sc);
mpgl_osd_draw_part(p->osd, p->osd_res.w, -p->osd_res.h, n);
+ gl_sc_reset(p->sc);
}
MP_STATS(vo, "stop rpi_osd");