<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Metro: Last Light rendering issues"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=71870#c33">Comment # 33</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Metro: Last Light rendering issues"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=71870">bug 71870</a>
              from <span class="vcard"><a class="email" href="mailto:idr@freedesktop.org" title="Ian Romanick <idr@freedesktop.org>"> <span class="fn">Ian Romanick</span></a>
</span></b>
        <pre>I think it's pretty clear in the GLSL spec that using __ in a name is an error.
 Section 3.6 (Keywords) says:

    "The following are the language's keywords and (after preprocessing)
    can only be used as described in this specification, or a compile-
    time error results:"

Later the same section also says:

    "In addition, all identifiers containing two consecutive underscores
    (__) are reserved as possible future keywords."

This language has existed since GLSL 1.10.

Section 3.3 (Preprocessor) says:

    "All macro names containing two consecutive underscores ( __ ) are
    reserved for future use as predefined macro names.   All macro
    names prefixed with “GL_” (“GL” followed by a single underscore)
    are also reserved."

The preprocessor restriction was added in GLSL 1.30, and it has always existed
in GLSL ES.

There isn't any justification for a GLSL 1.50 shader using __, in any capacity,
to compile.  This is an application bug, so we'll follow up with the
application vendor.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>