summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2018-03-02 12:15:03 +0100
committerJan Ekström <jeebjp@gmail.com>2018-03-03 02:38:01 +0200
commitecf4d7a843d55cdd2979f79d36e6f202a82cba5b (patch)
tree20e41d947c75bfe06831297268164dbd3e3e7940
parent1b786a71c1ddcfc4bf519b26bb978d1f4f29c26f (diff)
downloadmpv-ecf4d7a843d55cdd2979f79d36e6f202a82cba5b.tar.bz2
mpv-ecf4d7a843d55cdd2979f79d36e6f202a82cba5b.tar.xz
vo_gpu: error out if there were rendering errors when taking screenshot
-rw-r--r--video/out/gpu/video.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c
index 11c984615d..91a405f25e 100644
--- a/video/out/gpu/video.c
+++ b/video/out/gpu/video.c
@@ -3154,7 +3154,8 @@ done:
debug_check_gl(p, "after OSD rendering");
}
- if (gl_sc_error_state(p->sc) || p->broken_frame) {
+ p->broken_frame |= gl_sc_error_state(p->sc);
+ if (p->broken_frame) {
// Make the screen solid blue to make it visually clear that an
// error has occurred
float color[4] = {0.0, 0.05, 0.5, 1.0};
@@ -3237,6 +3238,9 @@ void gl_video_screenshot(struct gl_video *p, struct vo_frame *frame,
if (!p->ra->fns->tex_download(p->ra, &download_params))
goto done;
+ if (p->broken_frame)
+ goto done;
+
ok = true;
done:
ra_tex_free(p->ra, &target);