diff options
author | Philip Langdale <philipl@cloudera.com> | 2019-08-04 09:23:45 +0800 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2019-08-07 10:51:43 +0200 |
commit | 639ee55df7cc1ecf7ea5dcfa7ecc5551b6b7312d (patch) | |
tree | db79cdd2cea354a8b003c66f3635451d61ec0e9f /video/out | |
parent | 69c93b6f0e669780cb1883d21d818ee14a590b8e (diff) | |
download | mpv-639ee55df7cc1ecf7ea5dcfa7ecc5551b6b7312d.tar.bz2 mpv-639ee55df7cc1ecf7ea5dcfa7ecc5551b6b7312d.tar.xz |
vo_gpu: hwdec_vaapi: Synchronise after exporting VA surface
This is documented as required (although we did not do it in
the old GL codepath, with no visible problems) and I have seen
transient artifacts after seeking which _appear_ to have gone
away after introducing this.
Diffstat (limited to 'video/out')
-rw-r--r-- | video/out/hwdec/hwdec_vaapi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/video/out/hwdec/hwdec_vaapi.c b/video/out/hwdec/hwdec_vaapi.c index 5bb5d81614..70fe9731e3 100644 --- a/video/out/hwdec/hwdec_vaapi.c +++ b/video/out/hwdec/hwdec_vaapi.c @@ -423,6 +423,9 @@ static int mapper_map(struct ra_hwdec_mapper *mapper) p->esh_not_implemented = true; goto esh_failed; } + vaSyncSurface(display, va_surface_id(mapper->src)); + // No need to error out if sync fails, but good to know if it did. + CHECK_VA_STATUS(mapper, "vaSyncSurface()"); p->surface_acquired = true; #if HAVE_GL |