<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:dang@valvesoftware.com" title="Dan Ginsburg <dang@valvesoftware.com>"> <span class="fn">Dan Ginsburg</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - interface blocks not working with #version 140 with #extension : GL_ARB_separate_shader_objects : enable"
href="https://bugs.freedesktop.org/show_bug.cgi?id=74852">bug 74852</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>RESOLVED
</td>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>INVALID
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - interface blocks not working with #version 140 with #extension : GL_ARB_separate_shader_objects : enable"
href="https://bugs.freedesktop.org/show_bug.cgi?id=74852#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - interface blocks not working with #version 140 with #extension : GL_ARB_separate_shader_objects : enable"
href="https://bugs.freedesktop.org/show_bug.cgi?id=74852">bug 74852</a>
from <span class="vcard"><a class="email" href="mailto:dang@valvesoftware.com" title="Dan Ginsburg <dang@valvesoftware.com>"> <span class="fn">Dan Ginsburg</span></a>
</span></b>
<pre>I am completely wrong about this bug. #version 140 and
GL_ARB_separate_shader_objects do not support redeclaration of interface
blocks. I will fix this on our side.
The relevant language from the GL_ARB_separate_shader_objects spec:
When using vertex or fragment shaders with version 140 or lower in
separable programs, the language doesn't support input and output blocks
or redeclaration of gl_PerVertex or gl_PerFragment. In such cases, an
implicit block redeclaration is formed from the set of vertex shader
outputs or fragment shader inputs redeclared according to Section 7.7 of
the OpenGL Shading Language Specification. The order of individual
variable redeclarations does not affect the resulting implicit block
redeclaration. The block matching rules described above are then
applied to such implicit block redeclarations. Note that an implicit
block redeclaration is never considered to match with an explicit block
redeclaration.
Certain other implementations require the interface block definition in
#version 140, but mesa has it right and the other implementations are
incorrect.</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>