[Mesa-dev] [PATCH v2 13/82] glsl: buffer variables cannot be defined outside interface blocks

Samuel Iglesias Gonsálvez siglesias at igalia.com
Thu Jun 11 22:13:06 PDT 2015



On 11/06/15 20:38, Jordan Justen wrote:
> On 2015-06-03 00:01:03, Iago Toral Quiroga wrote:
>> From: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
>>
>> Section 4.3.7 "Buffer Variables", GLSL 4.30 spec:
>>
>> "Buffer variables may only be declared inside interface blocks
>> (section 4.3.9 “Interface Blocks”), which are then referred to as
>> shader storage blocks. It is a compile-time error to declare buffer
>> variables at global scope (outside a block)."
>>
>> Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
>> ---
>>  src/glsl/ast_to_hir.cpp | 12 ++++++++++++
>>  1 file changed, 12 insertions(+)
>>
>> diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
>> index d246c00..99b6eeb 100644
>> --- a/src/glsl/ast_to_hir.cpp
>> +++ b/src/glsl/ast_to_hir.cpp
>> @@ -3378,6 +3378,18 @@ ast_declarator_list::hir(exec_list *instructions,
>>  
>>     decl_type = this->type->glsl_type(& type_name, state);
>>  
>> +   /* Section 4.3.7 "Buffer Variables" of the GLSL 4.30 spec:
>> +    *    "Buffer variables may only be declared inside interface blocks
>> +    *    (section 4.3.9 “Interface Blocks”), which are then referred to as
>> +    *    shader storage blocks. It is a compile-time error to declare buffer
>> +    *    variables at global scope (outside a block)."
>> +    */
>> +   if (type->qualifier.flags.q.buffer && !decl_type->is_interface()) {
>> +      _mesa_glsl_error(&loc, state,
>> +                       "buffer variables cannot be declared outside"
>> +                       " interface blocks");
> 
> I think we usually put the space at the end of the previous line.
> 
> Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
> 

OK, I will check it and modify the patch accordingly.

Thanks!

Sam

>> +   }
>> +
>>     /* An offset-qualified atomic counter declaration sets the default
>>      * offset for the next declaration within the same atomic counter
>>      * buffer.
>> -- 
>> 1.9.1
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> 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