Module: Mesa
Branch: main
Commit: ef0546152fd1aed1d4175097c6361860c42f459e
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef0546152fd1aed1d4175097c6361860c42f459e

Author: David Rosca <[email protected]>
Date:   Wed Sep 27 14:40:12 2023 +0200

gallium/auxiliary/vl: Fix coordinates clamp in compute shaders

Fixes: a6a43963ed0 ("gallium/auxiliary/vl: Clamp coordinates in compute 
shaders")

Acked-by: Thong Thai <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26123>

---

 src/gallium/auxiliary/vl/vl_compositor_cs.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/gallium/auxiliary/vl/vl_compositor_cs.c 
b/src/gallium/auxiliary/vl/vl_compositor_cs.c
index 3f4f0cee79c..35755081f26 100644
--- a/src/gallium/auxiliary/vl/vl_compositor_cs.c
+++ b/src/gallium/auxiliary/vl/vl_compositor_cs.c
@@ -956,14 +956,10 @@ draw_layers(struct vl_compositor       *c,
          drawn.translate_y = layer->viewport.translate[1];
          drawn.sampler0_w = (float)layer->sampler_views[0]->texture->width0;
          drawn.sampler0_h = (float)layer->sampler_views[0]->texture->height0;
-         drawn.clamp_x = (float)samplers[0]->texture->width0 *
-            (layer->src.br.x - layer->src.tl.x) - 0.5;
-         drawn.clamp_y = (float)samplers[0]->texture->height0 *
-            (layer->src.br.y - layer->src.tl.y) - 0.5;
-         drawn.chroma_clamp_x = (float)sampler1->texture->width0 *
-            (layer->src.br.x - layer->src.tl.x) - 0.5;
-         drawn.chroma_clamp_y = (float)sampler1->texture->height0 *
-            (layer->src.br.y - layer->src.tl.y) - 0.5;
+         drawn.clamp_x = (float)samplers[0]->texture->width0 * layer->src.br.x 
- 0.5;
+         drawn.clamp_y = (float)samplers[0]->texture->height0 * 
layer->src.br.y - 0.5;
+         drawn.chroma_clamp_x = (float)sampler1->texture->width0 * 
layer->src.br.x - 0.5;
+         drawn.chroma_clamp_y = (float)sampler1->texture->height0 * 
layer->src.br.y - 0.5;
          drawn.chroma_offset_x = chroma_offset_x(s->chroma_location);
          drawn.chroma_offset_y = chroma_offset_y(s->chroma_location);
          set_viewport(s, &drawn, samplers);

Reply via email to