[Mesa-dev] [Mesa-stable] [PATCH] nir: copy front interpolation when creating fake back color input

Andres Gomez agomez at igalia.com
Mon Jul 10 17:48:09 UTC 2017


I'll leave it out, then.

Thanks for the feedback! ☺

On Mon, 2017-07-10 at 13:35 -0400, Ilia Mirkin wrote:
> I wouldn't object to it being in stable, but it's also not
> super-important. It does fix some piglits for freedreno though. (I
> don't think vc4 exposes GL 3.0, so the problematic condition can't
> happen there.)
> 
> On Mon, Jul 10, 2017 at 1:30 PM, Andres Gomez <agomez at igalia.com> wrote:
> > Ilia, would we want this patch in -stable ?
> > 
> > On Fri, 2017-07-07 at 20:34 -0400, Ilia Mirkin wrote:
> > > Fixes a bunch of gl_BackColor interpolation tests that had explicit
> > > interpolation specified on the fragment shader gl_Color.
> > > 
> > > Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> > > ---
> > >  src/compiler/nir/nir_lower_two_sided_color.c | 8 ++++++--
> > >  1 file changed, 6 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/src/compiler/nir/nir_lower_two_sided_color.c b/src/compiler/nir/nir_lower_two_sided_color.c
> > > index 7d1a3bd236d..90da1013ec8 100644
> > > --- a/src/compiler/nir/nir_lower_two_sided_color.c
> > > +++ b/src/compiler/nir/nir_lower_two_sided_color.c
> > > @@ -46,7 +46,8 @@ typedef struct {
> > >   */
> > > 
> > >  static nir_variable *
> > > -create_input(nir_shader *shader, unsigned drvloc, gl_varying_slot slot)
> > > +create_input(nir_shader *shader, unsigned drvloc, gl_varying_slot slot,
> > > +             enum glsl_interp_mode interpolation)
> > >  {
> > >     nir_variable *var = rzalloc(shader, nir_variable);
> > > 
> > > @@ -56,6 +57,7 @@ create_input(nir_shader *shader, unsigned drvloc, gl_varying_slot slot)
> > >     var->name = ralloc_asprintf(var, "in_%d", drvloc);
> > >     var->data.index = 0;
> > >     var->data.location = slot;
> > > +   var->data.interpolation = interpolation;
> > > 
> > >     exec_list_push_tail(&shader->inputs, &var->node);
> > > 
> > > @@ -116,7 +118,9 @@ setup_inputs(lower_2side_state *state)
> > >        else
> > >           slot = VARYING_SLOT_BFC1;
> > > 
> > > -      state->colors[i].back = create_input(state->shader, ++maxloc, slot);
> > > +      state->colors[i].back = create_input(
> > > +            state->shader, ++maxloc, slot,
> > > +            state->colors[i].front->data.interpolation);
> > >     }
> > > 
> > >     return 0;
> > 
> > --
> > Br,
> > 
> > Andres
> 
> _______________________________________________
> mesa-stable mailing list
> mesa-stable at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-stable
-- 
Br,

Andres


More information about the mesa-dev mailing list