diff options
author | wm4 <wm4@nowhere> | 2012-10-13 12:21:05 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-10-14 21:43:15 +0200 |
commit | c176499925a111162de21836ac97b180d79591ad (patch) | |
tree | 0623654e6a322437bd1d5c66533f704f242f466a /libvo | |
parent | 44d1756e33d2196363509aea4ba7a1928f834737 (diff) | |
download | mpv-c176499925a111162de21836ac97b180d79591ad.tar.bz2 mpv-c176499925a111162de21836ac97b180d79591ad.tar.xz |
vo_opengl: fix filter reinitialization
The second scaling filter (cscale) was never reset correctly due to a
fatal oversight. In particular, this could lead to OpenGL errors, if
the new filter needs a 2D texture, but the old texture was 1D (because
init_scaler reuses the texture).
Diffstat (limited to 'libvo')
-rw-r--r-- | libvo/vo_opengl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libvo/vo_opengl.c b/libvo/vo_opengl.c index f5c04c03d8..d720b0088c 100644 --- a/libvo/vo_opengl.c +++ b/libvo/vo_opengl.c @@ -948,10 +948,10 @@ static void uninit_rendering(struct gl_priv *p) delete_shaders(p); for (int n = 0; n < 2; n++) { - gl->DeleteTextures(1, &p->scalers->gl_lut); - p->scalers->gl_lut = 0; - p->scalers->lut_name = NULL; - p->scalers->kernel = NULL; + gl->DeleteTextures(1, &p->scalers[n].gl_lut); + p->scalers[n].gl_lut = 0; + p->scalers[n].lut_name = NULL; + p->scalers[n].kernel = NULL; } gl->DeleteTextures(1, &p->dither_texture); |