diff options
author | Aaron Boxer <boxerab@protonmail.com> | 2023-02-07 21:03:35 -0500 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2023-02-11 00:46:46 +0000 |
commit | 49fd6caa432a89b715670ccbabff9c2d14d975b0 (patch) | |
tree | 2990f71f1c8e68ed43bca9b26c70a0865684b28e /video/out/hwdec/hwdec_vaapi.c | |
parent | 8ba7b8f0d2ec838bac10ca011bd0065b2a3b454a (diff) | |
download | mpv-49fd6caa432a89b715670ccbabff9c2d14d975b0.tar.bz2 mpv-49fd6caa432a89b715670ccbabff9c2d14d975b0.tar.xz |
vo_dmabuf_wayland: reject hw formats not supported by compositor
Diffstat (limited to 'video/out/hwdec/hwdec_vaapi.c')
-rw-r--r-- | video/out/hwdec/hwdec_vaapi.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/video/out/hwdec/hwdec_vaapi.c b/video/out/hwdec/hwdec_vaapi.c index df5ad4a832..e5ea3b1289 100644 --- a/video/out/hwdec/hwdec_vaapi.c +++ b/video/out/hwdec/hwdec_vaapi.c @@ -259,10 +259,12 @@ static int mapper_map(struct ra_hwdec_mapper *mapper) VADisplay *display = p_owner->display; VADRMPRIMESurfaceDescriptor desc = {0}; + uint32_t flags = p_owner->dmabuf_interop.composed_layers ? + VA_EXPORT_SURFACE_COMPOSED_LAYERS : VA_EXPORT_SURFACE_SEPARATE_LAYERS; status = vaExportSurfaceHandle(display, va_surface_id(mapper->src), VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2, VA_EXPORT_SURFACE_READ_ONLY | - VA_EXPORT_SURFACE_SEPARATE_LAYERS, + flags, &desc); if (!CHECK_VA_STATUS_LEVEL(mapper, "vaExportSurfaceHandle()", p_owner->probing_formats ? MSGL_DEBUG : MSGL_ERR)) @@ -301,7 +303,7 @@ static int mapper_map(struct ra_hwdec_mapper *mapper) // We can handle composed formats if the total number of planes is still // equal the number of planes we expect. Complex formats with auxilliary // planes cannot be supported. - if (p->num_planes != num_returned_planes) { + if (p->num_planes != 0 && p->num_planes != num_returned_planes) { mp_msg(mapper->log, p_owner->probing_formats ? MSGL_DEBUG : MSGL_ERR, "Mapped surface with format '%s' has unexpected number of planes. " "(%d layers and %d planes, but expected %d planes)\n", |