Skip to content

VA_EXPORT_SURFACE_COMPOSED_LAYERS not supported in vaExportSurfaceHandle that required by mpv dmabuf-wayland output #368

Open
@klozher

Description

@klozher

vaExportSurfaceHandle does not support VA_EXPORT_SURFACE_COMPOSED_LAYERS, actually, it returns VA_STATUS_ERROR_INVALID_SURFACE directly if VA_EXPORT_SURFACE_SEPARATE_LAYERS not present in flags

static VAStatus nvExportSurfaceHandle(
VADriverContextP ctx,
VASurfaceID surface_id, /* in */
uint32_t mem_type, /* in */
uint32_t flags, /* in */
void *descriptor /* out */
)
{
NVDriver *drv = (NVDriver*) ctx->pDriverData;
if ((mem_type & VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2) == 0) {
return VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE;
}
if ((flags & VA_EXPORT_SURFACE_SEPARATE_LAYERS) == 0) {
return VA_STATUS_ERROR_INVALID_SURFACE;
}

mpv with dmabuf-wayland output calls vaExportSurfaceHandle with VA_EXPORT_SURFACE_COMPOSED_LAYERS flag, thus failed to make any output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions