summaryrefslogtreecommitdiff
path: root/src/gallium/frontends/lavapipe/lvp_pipeline.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/frontends/lavapipe/lvp_pipeline.c')
-rw-r--r--src/gallium/frontends/lavapipe/lvp_pipeline.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/frontends/lavapipe/lvp_pipeline.c b/src/gallium/frontends/lavapipe/lvp_pipeline.c
index 2b474db714d..ea01cb605c6 100644
--- a/src/gallium/frontends/lavapipe/lvp_pipeline.c
+++ b/src/gallium/frontends/lavapipe/lvp_pipeline.c
@@ -614,7 +614,7 @@ lvp_shader_xfb_init(struct lvp_shader *shader)
memset(output_mapping, 0, sizeof(output_mapping));
nir_foreach_shader_out_variable(var, shader->pipeline_nir->nir) {
- unsigned slots = var->data.compact ? DIV_ROUND_UP(glsl_get_length(var->type), 4)
+ unsigned slots = var->data.compact ? DIV_ROUND_UP(var->data.location_frac + glsl_get_length(var->type), 4)
: glsl_count_attribute_slots(var->type, false);
for (unsigned i = 0; i < slots; i++)
output_mapping[var->data.location + i] = var->data.driver_location + i;