From: Jason Ekstrand Date: Thu, 6 Dec 2018 22:49:27 +0000 (-0600) Subject: nir/xfb: Fix offset accounting for dvec3/4 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4f99ac9144abda9b4e7d0891571eb1691b853c25;p=mesa.git nir/xfb: Fix offset accounting for dvec3/4 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 --- 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; } }