<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>