[Mesa-dev] [Bug 101336] glcpp-test.sh regression

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Jun 7 21:48:00 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=101336

Vinson Lee <vlee at freedesktop.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |bisected
                 CC|                            |itoral at igalia.com,
                   |                            |samuel.pitoiset at gmail.com

--- Comment #1 from Vinson Lee <vlee at freedesktop.org> ---
f7741985be0234c3fe71e1f97740579e35726b92 is the first bad commit
commit f7741985be0234c3fe71e1f97740579e35726b92
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Tue May 30 13:25:35 2017 +0200

    glcpp: fix #undef to match latest spec update and GLSLang implementation

    GLSL ES spec includes the following:

       "It is an error to undefine or to redefine a built-in
        (pre-defined) macro name."

    But desktop GLSL doesn't. This has sparked some discussion
    in Khronos, and the final conclusion was to update the
    GLSL 4.50 spec to include the following:

       "By convention, all macro names containing two consecutive
        underscores ( __ ) are reserved for use by underlying
        software layers.  Defining or undefining such a name in a
        shader does not itself result in an error, but may result
        in unintended behaviors that stem from having multiple
        definitions of the same name.  All macro names prefixed
        with “GL_” (“GL” followed by a single underscore) are also
        reserved, and defining or undefining such a name results in
        a compile-time error."

    In other words, undefining GL_* names should be an error, but
    undefining other names with a double underscore in them is
    not strictly prohibited in desktop GLSL.

    This patch fixes the preprocessor to apply these rules,
    following exactly the implementation already present
    in GLSLang. This fixes some tests in CTS.

    Khronos bug:
    https://cvs.khronos.org/bugzilla/show_bug.cgi?id=16003

    Fixes:
    KHR-GL45.shaders.preprocessor.definitions.undefine_core_profile_vertex
    KHR-GL45.shaders.preprocessor.definitions.undefine_core_profile_fragment

    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

:040000 040000 fc6e2499a69db492e708bba90dfb2958a2653f81
525845c2b0a66996639043ef0bb88b5945db2964 M      src
bisect run success

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170607/8da7b9fc/attachment-0001.html>


More information about the mesa-dev mailing list