frontends/va: Don't use EFC with scaling or filtering enabled

Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24170>
This commit is contained in:
David Rosca 2023-07-15 16:30:04 +02:00 committed by Marge Bot
parent b5fa9f992d
commit 2cb4c6aef0

View File

@ -421,7 +421,13 @@ vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *contex
pscreen = drv->vscreen->pscreen;
if (can_convert_with_efc(src_surface, dst_surface) &&
src_region = vlVaRegionDefault(param->surface_region, src_surface, &def_src_region);
dst_region = vlVaRegionDefault(param->output_region, dst_surface, &def_dst_region);
if (!param->num_filters &&
src_region->width == dst_region->width &&
src_region->height == dst_region->height &&
can_convert_with_efc(src_surface, dst_surface) &&
pscreen->get_video_param(pscreen,
PIPE_VIDEO_PROFILE_UNKNOWN,
PIPE_VIDEO_ENTRYPOINT_ENCODE,
@ -505,9 +511,6 @@ vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *contex
}
}
src_region = vlVaRegionDefault(param->surface_region, src_surface, &def_src_region);
dst_region = vlVaRegionDefault(param->output_region, dst_surface, &def_dst_region);
/* If the driver supports video engine post proc, attempt to do that
* if it fails, fallback to the other existing implementations below
*/