diff options
Diffstat (limited to 'src/gallium/frontends/lavapipe/lvp_pipeline.c')
-rw-r--r-- | src/gallium/frontends/lavapipe/lvp_pipeline.c | 2 |
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; |