summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2018-12-06 16:49:27 -0600
committerJason Ekstrand <[email protected]>2019-01-22 10:42:56 -0600
commit4f99ac9144abda9b4e7d0891571eb1691b853c25 (patch)
treebcb8dbefaccb1aec4496b94ac0410a97110444c3 /src
parent96fa23bca5ac88e0cd2dd0c45fdef71b2afe888d (diff)
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 <[email protected]> Reviewed-by: Alejandro PiƱeiro <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/compiler/nir/nir_gather_xfb_info.c4
1 files 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;
}
}