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

Ian Romanick idr at freedesktop.org
Thu Aug 20 11:28:17 PDT 2015


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.

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



More information about the mesa-dev mailing list