Re: [Mesa-dev] [PATCH] nir: copy front interpolation when creating fake back color input
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 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 >> --- >> 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-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] nir: copy front interpolation when creating fake back color input
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 > --- > 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-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] nir: copy front interpolation when creating fake back color input
On Fri, Jul 7, 2017 at 8:34 PM, 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 (as mentioned on irc, but repeated here for posterity) Reviewed-by: Rob Clark > --- > 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; > -- > 2.13.0 > > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] nir: copy front interpolation when creating fake back color input
Fixes a bunch of gl_BackColor interpolation tests that had explicit interpolation specified on the fragment shader gl_Color. Signed-off-by: Ilia Mirkin --- 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; -- 2.13.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev