On 17 May 2016 at 13:19, Timothy Arceri <timothy.arc...@collabora.com> wrote: > These varyings have a separate location domain from per-vertex varyings > and need to be handled separately.
I hit a crash in here hacking on CTS this morning (I was force enabling enhanced_layouts for lols). This series looks good to me. Reviewed-by: Dave Airlie <airl...@redhat.com> > --- > src/compiler/glsl/link_varyings.cpp | 3 ++- > src/compiler/shader_enums.h | 1 + > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/src/compiler/glsl/link_varyings.cpp > b/src/compiler/glsl/link_varyings.cpp > index 003b9d4..572aba9 100644 > --- a/src/compiler/glsl/link_varyings.cpp > +++ b/src/compiler/glsl/link_varyings.cpp > @@ -350,7 +350,8 @@ cross_validate_outputs_to_inputs(struct gl_shader_program > *prog, > gl_shader *producer, gl_shader *consumer) > { > glsl_symbol_table parameters; > - ir_variable *explicit_locations[MAX_VARYING][4] = { {NULL, NULL} }; > + ir_variable *explicit_locations[MAX_VARYINGS_INCL_PATCH][4] = > + { {NULL, NULL} }; > > /* Find all shader outputs in the "producer" stage. > */ > diff --git a/src/compiler/shader_enums.h b/src/compiler/shader_enums.h > index e93345d..df3124e 100644 > --- a/src/compiler/shader_enums.h > +++ b/src/compiler/shader_enums.h > @@ -255,6 +255,7 @@ typedef enum > #define VARYING_SLOT_MAX (VARYING_SLOT_VAR0 + MAX_VARYING) > #define VARYING_SLOT_PATCH0 (VARYING_SLOT_MAX) > #define VARYING_SLOT_TESS_MAX (VARYING_SLOT_PATCH0 + MAX_VARYING) > +#define MAX_VARYINGS_INCL_PATCH (VARYING_SLOT_TESS_MAX - VARYING_SLOT_VAR0) > > const char *gl_varying_slot_name(gl_varying_slot slot); > > -- > 2.5.5 > > _______________________________________________ > 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