gallium/auxiliary/vl: Include src region in scale_y calculation

Signed-off-by: Thong Thai <thong.thai@amd.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3521
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6736>
This commit is contained in:
Thong Thai 2020-09-15 18:55:45 -04:00 committed by Marge Bot
parent 9a4daac0bb
commit 26a83bef7b

View file

@ -711,10 +711,12 @@ draw_layers(struct vl_compositor *c,
drawn.area = calc_drawn_area(s, layer);
drawn.scale_x = layer->viewport.scale[0] /
(float)layer->sampler_views[0]->texture->width0;
(float)layer->sampler_views[0]->texture->width0 *
(layer->src.br.x - layer->src.tl.x);
drawn.scale_y = layer->viewport.scale[1] /
((float)layer->sampler_views[0]->texture->height0 *
(s->interlaced ? 2.0 : 1.0));
(s->interlaced ? 2.0 : 1.0) *
(layer->src.br.y - layer->src.tl.y));
drawn.translate_x = (int)layer->viewport.translate[0];
drawn.translate_y = (int)layer->viewport.translate[1];