Bug 95323 - GL33-CTS.CommonBugs.CommonBug_ReservedNames fails
Summary: GL33-CTS.CommonBugs.CommonBug_ReservedNames fails
Status: RESOLVED WORKSFORME
Alias: None
Product: Mesa
Classification: Unclassified
Component: glsl-compiler (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Ian Romanick
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-09 06:37 UTC by Dave Airlie
Modified: 2018-03-06 00:39 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Dave Airlie 2016-05-09 06:37:08 UTC
This test tries to use struct as an interface block name, however we convert the struct into anonymous struct.

so the test expects something like

in struct {
   vec4 test;
} testBlockInstance; to fail to compile
Comment 1 Ian Romanick 2016-05-11 01:13:43 UTC
At least per the GLSL 1.50 specification, this test enforces NON-conformance!  The grammar makes it quite clear that

    in struct { ... } foo;

declares a shader input "foo" that is an anonymous structure.  Here are the relevant bits of the grammar (with some omissions for clarity):

    single_declaration:
        ...
        fully_specified_type IDENTIFIER
        ...

    fully_specified_type:
        type_specifier
        type_qualifier type_specifier

    type_qualifier:
        storage_qualifier
        ...

    storage_qualifier:
        ...
        IN
        ...
    
    type_specifier:
        type_specifier_no_prec
        precision_qualifier type_specifier_no_prec

    type_specifier_no_prec:
        type_specifier_nonarray
        ...

    type_specifier_nonarray:
        VOID
        FLOAT
        INT
        ...
        struct_specifier
        TYPE_NAME

    struct_specifier:
        ...
        STRUCT LEFT_BRACE struct_declaration_list RIGHT_BRACE

Neither section 4.3.4 (Inputs) nor section 4.3.7 (Interface Blocks) add any limitations that I can see.  I'll dig through later specs to see if this changed.
Comment 2 Timothy Arceri 2018-03-06 00:38:43 UTC
The test is now called KHR-GL33.CommonBugs.CommonBug_ReservedNames and seems to pass with git master. This was likely fixed a while ago. Closing bug.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.