This looks correct to me. Assuming no regressions in Piglit, this is: Reviewed-by: Iago Toral Quiroga <ito...@igalia.com>
On Fri, 2016-07-22 at 23:19 +1000, Timothy Arceri wrote: > Since 7f53fead5c we treat every location as using all > four components so we only need special handling for > doubles when they cross multiple locations. > > This fixes a crash in GL45-CTS.enhanced_layouts.varying_locations > where the outputs array would overflow when a dmat2 was stored at > the max varying location i.e 30. > --- > src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp > b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp > index 50d73eb..b82a64a 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp > @@ -68,7 +68,7 @@ fs_visitor::nir_setup_single_output_varying(fs_reg > *reg, > } else { > assert(type->is_scalar() || type->is_vector()); > unsigned num_iter = 1; > - if (type->is_double()) > + if (type->is_dual_slot()) > num_iter = 2; > for (unsigned count = 0; count < num_iter; count++) { > this->outputs[*location] = *reg; _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev