diff options
-rw-r--r-- | video/vaapi.c | 6 | ||||
-rw-r--r-- | video/vaapi.h | 1 | ||||
-rw-r--r-- | wscript | 2 |
3 files changed, 7 insertions, 2 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; }; @@ -772,7 +772,7 @@ hwaccel_features = [ }, { 'name': 'sse4-intrinsics', 'desc': 'GCC SSE4 intrinsics for GPU memcpy', - 'deps_any': [ 'dxva2-hwaccel' ], + 'deps_any': [ 'dxva2-hwaccel', 'vaapi-hwaccel' ], 'func': check_cc(fragment=load_fragment('sse.c')), } ] |