frontends/va: Only report surface alignment when non-zero

Otherwise this means the alignment is 1x1 which is wrong.

Fixes: b24748a93a ("frontends/va: add surface alignment attribute")
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32923>
This commit is contained in:
David Rosca
2025-01-07 11:48:42 +01:00
committed by Marge Bot
parent c0ef005bf4
commit c23df7e790

View File

@@ -702,14 +702,17 @@ vlVaQuerySurfaceAttributes(VADriverContextP ctx, VAConfigID config_id,
PIPE_VIDEO_CAP_MAX_HEIGHT);
i++;
#if VA_CHECK_VERSION(1, 21, 0)
attribs[i].type = VASurfaceAttribAlignmentSize;
attribs[i].value.type = VAGenericValueTypeInteger;
attribs[i].flags = VA_SURFACE_ATTRIB_GETTABLE;
attribs[i].value.value.i =
int surface_alignment =
pscreen->get_video_param(pscreen,
config->profile, config->entrypoint,
PIPE_VIDEO_CAP_ENC_SURFACE_ALIGNMENT);
i++;
if (surface_alignment > 0) {
attribs[i].type = VASurfaceAttribAlignmentSize;
attribs[i].value.type = VAGenericValueTypeInteger;
attribs[i].flags = VA_SURFACE_ATTRIB_GETTABLE;
attribs[i].value.value.i = surface_alignment;
i++;
}
#endif
} else {
attribs[i].type = VASurfaceAttribMaxWidth;