<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Priority</th>
          <td>high
          </td>
        </tr>

        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [SNB/IVB/HSW/BYT Bisected]Piglit spec_glsl-1.30_preprocessor_reserved_double-underscore-01.frag fails"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=75294">75294</a>
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>idr@freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[SNB/IVB/HSW/BYT Bisected]Piglit spec_glsl-1.30_preprocessor_reserved_double-underscore-01.frag fails
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-3d-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>major
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>huax.lu@intel.com
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Drivers/DRI/i965
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr></table>
      <p>
        <div>
        <pre>System Environment:
--------------------------
Platform: Haswell
Libdrm:       
(master)libdrm-2.4.52-4-gc5de5abbd90333fe1359283fb3a5e457b0f389f3
Mesa:        (master)57405605a8c320f9d6ea389afd43ce6f013330a5
Xserver:   
(master)xorg-server-1.15.0-627-gf34dc7fa96457ea6a0703493d74e63cca357712e
Xf86_video_intel:(master)2.99.910-47-gc91af569ee90a832899c9038badd84921e9a87fc
Cairo:        (master)4144307dbfbe7b297135d9ea4b080cae7e06b997
Libva:        (staging)fae9c44816a4c3cfc480d2879d1b4a0c1c3a1527
Libva_intel_driver:(staging)bd630edd844b88ea543a027654db296ff7da16cd
Kernel:    (drm-intel-nightly) 164a4cb4c1431a0689f85507868356fae24da638

Bug detailed description:
-------------------------
It fails on Sandybridge,Ivybridge,Haswell and Baytrail with mesa master branch,
works well on 10.1 branch.
Following piglit cases also fail with same bisect commit:
spec_glsl-1.30_preprocessor_reserved_double-underscore-02.frag    
spec_glsl-1.30_preprocessor_reserved_double-underscore-03.frag    

Bisect shows:0bd78926304e72ef3566e977d0cb5a959d86b809 is the first bad commit
commit 0bd78926304e72ef3566e977d0cb5a959d86b809
Author:     Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>>
AuthorDate: Tue Feb 18 09:10:36 2014 -0800
Commit:     Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>>
CommitDate: Wed Feb 19 15:08:50 2014 -0800

    glcpp: Only warn for macro names containing __

    Section 3.3 (Preprocessor) of the GLSL 1.30 spec (and later) and the
    GLSL ES spec (all versions) say:

        "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 intention is that names containing __ are reserved for internal use
    by the implementation, and names prefixed with GL_ are reserved for use
    by Khronos.  Since every extension adds a name prefixed with GL_ (i.e.,
    the name of the extension), that should be an error.  Names simply
    containing __ are dangerous to use, but should be allowed.  In similar
    cases, the C++ preprocessor specification says, "no diagnostic is
    required."

    Per the Khronos bug mentioned below, a future version of the GLSL
    specification will clarify this.

    Signed-off-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>>
    Cc: "9.2 10.0 10.1" <<a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.freedesktop.org</a>>
    Reviewed-by: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>>
    Tested-by: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>>
    Reviewed-by: Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>>
    Tested-by: Darius Spitznagel <<a href="mailto:d.spitznagel@goodbytez.de">d.spitznagel@goodbytez.de</a>>
    Cc: Tapani Pälli <<a href="mailto:lemody@gmail.com">lemody@gmail.com</a>>
    Bugzilla: <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - Metro: Last Light rendering issues"
   href="show_bug.cgi?id=71870">https://bugs.freedesktop.org/show_bug.cgi?id=71870</a>
    Bugzilla: Khronos #11702


output:
Successfully compiled fragment shader
/GFX/Test/Piglit/piglit/tests/spec/glsl-1.30/preprocessor/reserved/double-underscore-01.frag:
0:13(9): preprocessor warning: Macro names containing "__" are reserved for use
by the implementation.


Shader source:
// [config]
// expect_result: fail
// glsl_version: 1.30
// [end config]
//
// Check that macro names beginning with a doule underscore are reserved.
//
// From page 11 (17 of pdf) of the GLSL 1.30 spec:
//     "All macro names containing two consecutive underscores ( __ ) are
//     reserved for future use as predefined macro names."

#version 130
#define __I_AM_RESERVED 1

int f()
{
        return 0;
}

PIGLIT: {'result': 'fail' }


Reproduce steps:
-------------------------
1. xinit
2. ./bin/glslparsertest
/GFX/Test/Piglit/piglit/tests/spec/glsl-1.30/preprocessor/reserved/double-underscore-01.frag
fail 1.30</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>