From 4f99ac9144abda9b4e7d0891571eb1691b853c25 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 6 Dec 2018 16:49:27 -0600 Subject: [PATCH] nir/xfb: Fix offset accounting for dvec3/4 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Before, we were double-counting the component slots when we had a dvec3 or dvec4. Instead, just add them in once and manually offset the recorded output offset. Fixes: 19064b8c "nir: Add a pass for gathering transform feedback info" Reviewed-by: Lionel Landwerlin Reviewed-by: Alejandro Piñeiro --- src/compiler/nir/nir_gather_xfb_info.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_gather_xfb_info.c b/src/compiler/nir/nir_gather_xfb_info.c index e282bba0081..7e441adc07c 100644 --- a/src/compiler/nir/nir_gather_xfb_info.c +++ b/src/compiler/nir/nir_gather_xfb_info.c @@ -76,13 +76,13 @@ add_var_xfb_outputs(nir_xfb_info *xfb, nir_xfb_output_info *output = &xfb->outputs[xfb->output_count++]; output->buffer = var->data.xfb_buffer; - output->offset = *offset; + output->offset = *offset + s * 16; output->location = *location; output->component_mask = (comp_mask >> (s * 4)) & 0xf; (*location)++; - *offset += comp_slots * 4; } + *offset += comp_slots * 4; } } -- 2.30.2