Kenneth Graunke <kenn...@whitecape.org> writes: > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/compiler/nir/nir_lower_io_to_scalar.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/src/compiler/nir/nir_lower_io_to_scalar.c > b/src/compiler/nir/nir_lower_io_to_scalar.c > index f2345d5..8be75e4 100644 > --- a/src/compiler/nir/nir_lower_io_to_scalar.c > +++ b/src/compiler/nir/nir_lower_io_to_scalar.c > @@ -48,8 +48,10 @@ lower_load_input_to_scalar(nir_builder *b, > nir_intrinsic_instr *intr) > > nir_intrinsic_set_base(chan_intr, nir_intrinsic_base(intr)); > nir_intrinsic_set_component(chan_intr, nir_intrinsic_component(intr) + > i); > - /* offset */ > - chan_intr->src[0] = intr->src[0]; > + > + /* offset and possibly barycentric coordinates */ > + for (int i = 0; i < nir_intrinsic_infos[intr->intrinsic].num_srcs; i++) > + chan_intr->src[i] = intr->src[i]; > > nir_builder_instr_insert(b, &chan_intr->instr); > > @@ -112,6 +114,7 @@ nir_lower_io_to_scalar(nir_shader *shader, > nir_variable_mode mask) > > switch (intr->intrinsic) { > case nir_intrinsic_load_input: > + case nir_intrinsic_load_interpolated_input: > if (mask & nir_var_shader_in) > lower_load_input_to_scalar(&b, intr); > break;
Don't you also need: if (intr->intrinsic == nir_intrinsic_load_interpolated_input) nir_intrinsic_set_interp_mode(chan_intr, nir_intrinsic_interp_mode(intr));
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev