From 197452ea1b688d33667b50036cac3e6a314a513d Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 5 May 2026 12:43:38 -0400 Subject: [PATCH] llvmpipe: always set view_index for linear rasterizer if this is unset, the view index is garbage and any shader accessing it will read garbage this is the source of all lavapipe flakes. cc: mesa-stable Reviewed-by: Konstantin Seurer (cherry picked from commit 099933f00415707e948cae858d5c0dfcbb336536) Part-of: --- .pick_status.json | 2 +- src/gallium/drivers/llvmpipe/lp_rast_linear_fallback.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index e3884fad7b7..9c51df2e958 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -564,7 +564,7 @@ "description": "llvmpipe: always set view_index for linear rasterizer", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/llvmpipe/lp_rast_linear_fallback.c b/src/gallium/drivers/llvmpipe/lp_rast_linear_fallback.c index 189668a9c2f..6b4e062979a 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast_linear_fallback.c +++ b/src/gallium/drivers/llvmpipe/lp_rast_linear_fallback.c @@ -103,6 +103,7 @@ shade_quads(struct lp_rasterizer_task *task, assert(!variant->key.depth.enabled); /* Propagate non-interpolated raster state */ + task->thread_data.raster_state.view_index = inputs->view_index; task->thread_data.raster_state.viewport_index = inputs->viewport_index; /* run shader on 4x4 block */