<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#c41">Comment # 41</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:v10lator@myway.de" title="Thomas Rohloff <v10lator@myway.de>"> <span class="fn">Thomas Rohloff</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=71870#c40">comment #40</a>)
<span class="quote">> I'm not an expert on GLSL, but forbidding identifiers that contain '__'
> *anywhere* seems stupid to me. I'm not aware of any other programming
> language that imposes such a limitation on identifiers. What's the reason
> for this?</span >

    "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."
(source: <a href="show_bug.cgi?id=71870#c33">Comment 33</a>)

In other words: When you have a macro called "MY__SUPER_COOL_MACRO" Khronos
could step up telling "MY__SUPER_COOL_MACRO" is now a predefined macro and as
such your program is incompatible. I just fail to see why this is needed for
already finished specifications.
Anyway in that example Mesa could just disallow "MY__SUPER_COOL_MACRO" (expose
the internal macro instead) and not everything. Also I don't think the
specification says you're not allowed to use "MY__SUPER_COOL_MACRO", it just
tells you that it's a bad idea, so mesa is overstrict here.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>