[Mesa-dev] [PATCH 04/11] glsl: interface blocks must be declared at global scope

Ian Romanick idr at freedesktop.org
Mon Jan 19 18:59:13 PST 2015


On 01/19/2015 03:32 AM, Eduardo Lima Mitev wrote:
> From: Iago Toral Quiroga <itoral at igalia.com>
> 
> Fixes the following 2 dEQP tests:
> dEQP-GLES3.functional.shaders.declarations.invalid_declarations.uniform_block_in_main_vertex
> dEQP-GLES3.functional.shaders.declarations.invalid_declarations.uniform_block_in_main_fragment

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

> ---
>  src/glsl/ast_to_hir.cpp | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
> index 2b67e14..678638d 100644
> --- a/src/glsl/ast_to_hir.cpp
> +++ b/src/glsl/ast_to_hir.cpp
> @@ -5391,6 +5391,14 @@ ast_interface_block::hir(exec_list *instructions,
>  {
>     YYLTYPE loc = this->get_location();
>  
> +   /* Interface blocks must be declared at global scope */
> +   if (state->current_function != NULL) {
> +      _mesa_glsl_error(&loc, state,
> +                       "Interface block `%s' must be declared "
> +                       "at global scope",
> +                       this->block_name);
> +   }
> +
>     /* The ast_interface_block has a list of ast_declarator_lists.  We
>      * need to turn those into ir_variables with an association
>      * with this uniform block.
> 



More information about the mesa-dev mailing list