gallium/auxiliary/vl: Scale dst_rect x0/y0 when rendering chroma plane

This fixes incorrect chroma plane position when x0/y0 is not zero.

Fixes: 001358a97c ("vl/compositor: add a new function for YUV deint")

Acked-by: Thong Thai <thong.thai@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26123>
(cherry picked from commit 35b0ccd855)
This commit is contained in:
David Rosca 2023-09-28 17:23:59 +02:00 committed by Eric Engestrom
parent b1833834dd
commit 0680995b18
2 changed files with 5 additions and 1 deletions

View file

@ -404,7 +404,7 @@
"description": "gallium/auxiliary/vl: Scale dst_rect x0/y0 when rendering chroma plane",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "001358a97cce456d948bb57842ca099a73c10b06",
"notes": null

View file

@ -691,6 +691,8 @@ vl_compositor_yuv_deint_full(struct vl_compositor_state *s,
vl_compositor_render(s, c, dst_surfaces[0], NULL, false);
if (dst_rect) {
dst_rect->x0 /= 2;
dst_rect->y0 /= 2;
dst_rect->x1 /= 2;
dst_rect->y1 /= 2;
}
@ -727,6 +729,8 @@ vl_compositor_convert_rgb_to_yuv(struct vl_compositor_state *s,
vl_compositor_render(s, c, dst_surfaces[0], NULL, false);
if (dst_rect) {
dst_rect->x0 /= 2;
dst_rect->y0 /= 2;
dst_rect->x1 /= 2;
dst_rect->y1 /= 2;
}