Mesa (master): gallium/auxiliary/vl: Fix compute shader scaling for non-square pixels

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat May 16 03:12:48 UTC 2020


Module: Mesa
Branch: master
Commit: 494b7ef0c1a440c57f5a6a8a301fba4f7e551417
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=494b7ef0c1a440c57f5a6a8a301fba4f7e551417

Author: Thong Thai <thong.thai at amd.com>
Date:   Fri May 15 14:07:05 2020 -0400

gallium/auxiliary/vl: Fix compute shader scaling for non-square pixels

Calculate the scale_y parameter instead of assuming square pixels.

Signed-off-by: Thong Thai <thong.thai at amd.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5057>

---

 src/gallium/auxiliary/vl/vl_compositor_cs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/vl/vl_compositor_cs.c b/src/gallium/auxiliary/vl/vl_compositor_cs.c
index eb19dd7b159..bc2055bd3e1 100644
--- a/src/gallium/auxiliary/vl/vl_compositor_cs.c
+++ b/src/gallium/auxiliary/vl/vl_compositor_cs.c
@@ -712,7 +712,8 @@ 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;
-         drawn.scale_y = drawn.scale_x;
+         drawn.scale_y = layer->viewport.scale[1] /
+                  (float)layer->sampler_views[0]->texture->height0;
          drawn.translate_x = (int)layer->viewport.translate[0];
          drawn.translate_y = (int)layer->viewport.translate[1];
          drawn.sampler0_w = (float)layer->sampler_views[0]->texture->width0;



More information about the mesa-commit mailing list