From: Iago Toral Quiroga <ito...@igalia.com> --- src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index 419f940..cf5cdab 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp @@ -103,10 +103,15 @@ fs_visitor::nir_setup_single_output_varying(fs_reg *reg, } } else { assert(type->is_scalar() || type->is_vector()); - this->outputs[*location] = *reg; - this->output_components[*location] = type->vector_elements; - *reg = offset(*reg, bld, 4); - (*location)++; + unsigned num_elements = type->vector_elements; + if (type->is_double()) + num_elements *= 2; + for (unsigned count = 0; count < num_elements; count += 4) { + this->outputs[*location] = *reg; + this->output_components[*location] = MIN2(4, num_elements - count); + *reg = offset(*reg, bld, 4); + (*location)++; + } } } -- 2.5.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev