[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