From 73b6b7497edb0ec28bf2fb635dab1f76585a1957 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Wed, 27 Sep 2023 14:40:12 +0200 Subject: [PATCH] gallium/auxiliary/vl: Fix coordinates clamp in compute shaders Fixes: a6a43963ed0 ("gallium/auxiliary/vl: Clamp coordinates in compute shaders") Acked-by: Thong Thai Part-of: (cherry picked from commit ef0546152fd1aed1d4175097c6361860c42f459e) --- .pick_status.json | 2 +- src/gallium/auxiliary/vl/vl_compositor_cs.c | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 86e4306..c7bd492 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -424,7 +424,7 @@ "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 diff --git a/src/gallium/auxiliary/vl/vl_compositor_cs.c b/src/gallium/auxiliary/vl/vl_compositor_cs.c index 3f4f0ce..3575508 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); -- 2.7.4