diff --git a/src/gallium/frontends/va/surface.c b/src/gallium/frontends/va/surface.c index 577dc24c92b..4bc79008ae1 100644 --- a/src/gallium/frontends/va/surface.c +++ b/src/gallium/frontends/va/surface.c @@ -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;