summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
Diffstat (limited to 'video')
-rw-r--r--video/vaapi.c6
-rw-r--r--video/vaapi.h1
2 files changed, 6 insertions, 1 deletions
diff --git a/video/vaapi.c b/video/vaapi.c
index c2a298f556..16954f7313 100644
--- a/video/vaapi.c
+++ b/video/vaapi.c
@@ -439,7 +439,11 @@ static struct mp_image *try_download(struct mp_image *src,
mp_image_set_size(&tmp, src->w, src->h); // copy only visible part
dst = mp_image_pool_get(pool, tmp.imgfmt, tmp.w, tmp.h);
if (dst) {
- mp_image_copy(dst, &tmp);
+ va_lock(p->ctx);
+ mp_check_gpu_memcpy(p->ctx->log, &p->ctx->gpu_memcpy_message);
+ va_unlock(p->ctx);
+
+ mp_image_copy_gpu(dst, &tmp);
mp_image_copy_attributes(dst, src);
}
va_image_unmap(p->ctx, image);
diff --git a/video/vaapi.h b/video/vaapi.h
index c9692f61e1..5f27e782b4 100644
--- a/video/vaapi.h
+++ b/video/vaapi.h
@@ -48,6 +48,7 @@ struct mp_vaapi_ctx {
struct mp_log *log;
VADisplay display;
struct va_image_formats *image_formats;
+ bool gpu_memcpy_message;
pthread_mutex_t lock;
};