From 436dacf75410144589abb835c2906e1a149abffb Mon Sep 17 00:00:00 2001 From: antonino Date: Tue, 4 Apr 2023 12:20:37 +0200 Subject: [PATCH] zink: fix pv mode lowring index calculation The provoking vertex mode pass was calculating an offset and then using it directly instead of adding it to the base index. Fixes: 5a4083349f3 ("zink: add provoking vertex mode lowering") Reviewed-by: Erik Faye-Lund Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 8247a507dab..18c5a0707b7 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -470,6 +470,7 @@ lower_pv_mode_emit_rotated_prim(nir_builder *b, else if (state->prim == ZINK_PVE_PRIMITIVE_FAN) rotated_i = nir_imod(b, nir_iadd_imm(b, rotated_i, 2), three); + rotated_i = nir_iadd(b, rotated_i, current_vertex); nir_foreach_variable_with_modes(var, b->shader, nir_var_shader_out) { gl_varying_slot location = var->data.location; if (state->varyings[location]) {