[Mesa-dev] [RFC PATCH 05/12] glsl: avoid hitting assert for arrays of arrays
Timothy Arceri
t_arceri at yahoo.com.au
Sat Mar 21 19:48:47 PDT 2015
On Sat, 2015-03-21 at 19:30 -0400, Ilia Mirkin wrote:
> On Sat, Mar 21, 2015 at 5:49 AM, Timothy Arceri <t_arceri at yahoo.com.au> wrote:
> > Also add TODO comment about adding proper support
> >
> > Signed-off-by: Timothy Arceri <t_arceri at yahoo.com.au>
> > ---
> > src/glsl/ir_set_program_inouts.cpp | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/src/glsl/ir_set_program_inouts.cpp b/src/glsl/ir_set_program_inouts.cpp
> > index e877a20..49cf85d 100644
> > --- a/src/glsl/ir_set_program_inouts.cpp
> > +++ b/src/glsl/ir_set_program_inouts.cpp
> > @@ -194,6 +194,12 @@ ir_set_program_inouts_visitor::try_mark_partial_variable(ir_variable *var,
> > type = type->fields.array;
> > }
> >
> > + /* TODO: implement proper arrays of arrays support
> > + * for now let the caller mark whole variable as used.
> > + */
> > + if (type->is_array() && type->fields.array->is_array())
> > + return false;
> > +
>
> Won't this also hit the GS case even without array-of-arrays?
The code just above this takes care of the non arrays-of-arrays GS case.
For reference here is is:
if (this->shader_stage == MESA_SHADER_GEOMETRY &&
var->data.mode == ir_var_shader_in) {
type = type->fields.array;
}
>
> The subject should reflect that this is about in/out variable liveness
> calculation.
Yes it should. Will fix.
>
> > /* The code below only handles:
> > *
> > * - Indexing into matrices
> > --
> > 2.1.0
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list