<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - piglit glsl-1.50 invariant-qualifier-in-out-block-01 regression"
href="https://bugs.freedesktop.org/show_bug.cgi?id=89330">89330</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>piglit glsl-1.50 invariant-qualifier-in-out-block-01 regression
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Keywords</th>
<td>bisected, regression
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Mesa core
</td>
</tr>
<tr>
<th>Assignee</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>vlee@freedesktop.org
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr>
<tr>
<th>CC</th>
<td>idr@freedesktop.org, mattst88@gmail.com, siglesias@igalia.com
</td>
</tr></table>
<p>
<div>
<pre>mesa: 1a93e7690dc90211164082d6a2d26d93da8127ef (master 10.6.0-devel)
$ ./bin/glslparsertest
tests/spec/glsl-1.50/compiler/invariant-qualifier-in-out-block-01.vert pass
1.50
Failed to compile vertex shader
tests/spec/glsl-1.50/compiler/invariant-qualifier-in-out-block-01.vert:
0:10(1): error: invariant qualifiers cannot be used with interface blocks
members
Shader source:
// [config]
// expect_result: pass
// glsl_version: 1.50
// [end config]
//
// Tests that the invariant qualifier can be applied to a member of an out
block.
#version 150
out block {
invariant vec4 x;
};
void main()
{
}
PIGLIT: {"result": "fail" }
fe1e89a026fb85cc7dffbd3f967687186796631e is the first bad commit
commit fe1e89a026fb85cc7dffbd3f967687186796631e
Author: Samuel Iglesias Gonsalvez <<a href="mailto:siglesias@igalia.com">siglesias@igalia.com</a>>
Date: Tue Nov 25 14:03:05 2014 +0100
glsl: don't allow invariant qualifiers for interface blocks
GLSL 1.50 and GLSL 4.40 specs, they both say the same in
"Interface Blocks" section:
"If optional qualifiers are used, they can include interpolation
qualifiers,
auxiliary storage qualifiers, and storage qualifiers and they must declare
an input, output, or uniform member consistent with the interface qualifier
of the block"
From GLSL ES 3.0, chapter 4.3.7 "Interface Blocks", page 38:
"GLSL ES 3.0 does not support interface blocks for shader inputs or
outputs."
and from GLSL ES 3.0, chapter 4.6.1 "The invariant qualifier", page 52.
"Only variables output from a shader can be candidates for invariance."
This patch fixes the following dEQP tests:
dEQP-GLES3.functional.shaders.declarations.invalid_declarations.invariant_uniform_block_2_vertex
dEQP-GLES3.functional.shaders.declarations.invalid_declarations.invariant_uniform_block_2_fragment
No piglit regressions.
Signed-off-by: Samuel Iglesias Gonsalvez <<a href="mailto:siglesias@igalia.com">siglesias@igalia.com</a>>
v2:
- Enable this check for GLSL.
Signed-off-by: Samuel Iglesias Gonsalvez <<a href="mailto:siglesias@igalia.com">siglesias@igalia.com</a>>
Reviewed-by: Matt Turner <<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>>
Reviewed-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>>
:040000 040000 0cee593d241827bd1c6d887230a9c0a80469d1d4
60a36c9d9729caa6272b959d003de9124e1509e3 M src
bisect run success</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>