From 35a28e038107410bb6a733c51cbd267aa79a4b20 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Thu, 22 Apr 2021 14:32:48 -0400 Subject: [PATCH] frontends/va: add VASurfaceAttribUsageHint attribute Chrome browser has been calling this attribute to give driver the surface usage hint. The hints include: VA_SURFACE_ATTRIB_USAGE_HINT_GENERIC VA_SURFACE_ATTRIB_USAGE_HINT_DECODER VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER VA_SURFACE_ATTRIB_USAGE_HINT_VPP_READ VA_SURFACE_ATTRIB_USAGE_HINT_VPP_WRITE VA_SURFACE_ATTRIB_USAGE_HINT_DISPLAY VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT The surface allocation are generic for us, and we don't need to specify it. To add the attribute here is because we don't want application which is calling this attribute to end up returning error and getting no surface allocated. Fixes: ebab310987 ("frontends/va: improve surface attribs processing") Signed-off-by: Leo Liu Reviewed-by: James Zhu Part-of: --- src/gallium/frontends/va/surface.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/frontends/va/surface.c b/src/gallium/frontends/va/surface.c index 1110f3eaa9f..574299dc166 100644 --- a/src/gallium/frontends/va/surface.c +++ b/src/gallium/frontends/va/surface.c @@ -772,6 +772,10 @@ vlVaCreateSurfaces2(VADriverContextP ctx, unsigned int format, modifiers_count = modifier_list->num_modifiers; break; #endif + case VASurfaceAttribUsageHint: + if (attrib_list[i].value.type != VAGenericValueTypeInteger) + return VA_STATUS_ERROR_INVALID_PARAMETER; + break; default: return VA_STATUS_ERROR_ATTR_NOT_SUPPORTED; }