[Mesa-dev] [PATCH 07/11] glsl: error out on empty declarations
Ian Romanick
idr at freedesktop.org
Mon Jan 19 19:03:23 PST 2015
On 01/19/2015 04:52 AM, Erik Faye-Lund wrote:
> On Mon, Jan 19, 2015 at 12:32 PM, Eduardo Lima Mitev <elima at igalia.com> wrote:
>> From: Iago Toral Quiroga <itoral at igalia.com>
>>
>> So far we have only been emitting a warning.
>>
>> Fixes the following 2 dEQP tests:
>> dEQP-GLES3.functional.shaders.arrays.invalid.empty_declaration_without_var_name_vertex
>> dEQP-GLES3.functional.shaders.arrays.invalid.empty_declaration_without_var_name_fragment
>> ---
>> src/glsl/ast_to_hir.cpp | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
>> index c52e4af..5ed8b0e 100644
>> --- a/src/glsl/ast_to_hir.cpp
>> +++ b/src/glsl/ast_to_hir.cpp
>> @@ -3406,7 +3406,7 @@ ast_declarator_list::hir(exec_list *instructions,
>> "lowp"
>> };
>>
>> - _mesa_glsl_warning(&loc, state,
>> + _mesa_glsl_error(&loc, state,
>> "empty declaration with precision qualifier, "
>> "to set the default precision, use "
>> "`precision %s %s;'",
>> @@ -3414,7 +3414,7 @@ ast_declarator_list::hir(exec_list *instructions,
>> type_name);
>> }
>> } else if (this->type->specifier->structure == NULL) {
>> - _mesa_glsl_warning(&loc, state, "empty declaration");
>> + _mesa_glsl_error(&loc, state, "empty declaration");
>> }
>> }
>>
>
> OpenGL ES 3.1 specifies this as allowed, as far as I can tell:
>
> Section 4.11:
> "Empty declarations are allowed. E.g.
>
> int; // No effect
> struct S {int x;}; // Defines a struct S"
>
> OpenGL ES 3.0 seems to not say, which generally should be interpreted
> as "allowed". In fact, no such error is listed in section 10 of the
> spec, which is the list of errors required to detect.
>
> So I think these dEQP-tests are bogus.
I think Erik is right. I seem to recall submitting a Khronos bug about
this (long, long ago), and the decision was that this was silly but valid.
> _______________________________________________
> 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