[Mesa-dev] [PATCH 18/25] glsl: disable interface block AoA

Timothy Arceri t_arceri at yahoo.com.au
Fri Aug 21 00:26:20 PDT 2015


On Thu, 2015-08-20 at 11:28 -0700, Ian Romanick wrote:
> On 08/19/2015 09:37 PM, Timothy Arceri wrote:
> > Desktop GL supports interface block AoA however AMD and Nvidia
> > dont support it in their drivers curently so we can get away
> > with disabling it for now.
> > ---
> >  src/glsl/ast_to_hir.cpp | 10 ++++++----
> >  1 file changed, 6 insertions(+), 4 deletions(-)
> > 
> > diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
> > index af69ffd..c8e695a 100644
> > --- a/src/glsl/ast_to_hir.cpp
> > +++ b/src/glsl/ast_to_hir.cpp
> > @@ -6225,15 +6225,17 @@ ast_interface_block::hir(exec_list *instructions,
> >              }
> >           }
> >  
> > -          /* From section 4.3.9 (Interface Blocks) of the GLSL ES 3.10 
> > spec:
> > +         /* From section 4.3.9 (Interface Blocks) of the GLSL ES 3.10 
> > spec:
> >            *
> >            *     * Arrays of arrays of blocks are not allowed
> >            */
> > -         if (state->es_shader && block_array_type->is_array() &&
> > +         /* FIXME: Desktop GL allows interface AoA */
> > +         if (block_array_type->is_array() &&
> >               block_array_type->fields.array->is_array()) {
> >              _mesa_glsl_error(&loc, state,
> > -                             "arrays of arrays interface blocks are "
> > -                             "not allowed");
> > +                             "arrays of arrays interface blocks are %s",
> > +                             state->es_shader ? "not allowed" :
> > +                             "not currently supported");
> 
> We should probably emit some extra text on desktop noting that this is
> our bug, not an application bug.

Any suggestions?

How about "arrays of arrays interface blocks are valid but not currently
supported in Mesa"

The binary drivers are not this kind.


> 
> >           }
> >  
> >           if (this->layout.flags.q.explicit_binding)
> > 
> 


More information about the mesa-dev mailing list