gallium/auxiliary/vl: Fix coordinates clamp in compute shaders
authorDavid Rosca <nowrep@gmail.com>
Wed, 27 Sep 2023 12:40:12 +0000 (14:40 +0200)
committerEric Engestrom <eric@engestrom.ch>
Wed, 15 Nov 2023 21:21:24 +0000 (21:21 +0000)
Fixes: a6a43963ed0 ("gallium/auxiliary/vl: Clamp coordinates in compute shaders")

Acked-by: Thong Thai <thong.thai@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26123>
(cherry picked from commit ef0546152fd1aed1d4175097c6361860c42f459e)

.pick_status.json
src/gallium/auxiliary/vl/vl_compositor_cs.c

index 86e4306..c7bd492 100644 (file)
         "description": "gallium/auxiliary/vl: Fix coordinates clamp in compute shaders",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "a6a43963ed0648649d70bfe7998971c1927d9b51",
         "notes": null
index 3f4f0ce..3575508 100644 (file)
@@ -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);