<div dir="ltr">On 2 October 2013 16:45, Paul Berry <span dir="ltr"><<a href="mailto:stereotype441@gmail.com" target="_blank">stereotype441@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'm putting the finishing touches on a patch series for Mesa that<br>
allows for redeclaration of the gl_PerVertex interface block.  This<br>
series contains the tests I used to validate my Mesa work.<br>
<br>
The GLSL 1.50 spec doesn't directly address how to redeclare elements<br>
of the gl_PerVertex interface block, but the GLSL 4.10 spec does.  It<br>
seems pretty clear that the rules in the GLSL 4.10 spec were intended<br>
as a clarification, rather than a behavioural change, so I've based my<br>
tests on the GLSL 4.10 spec, but applied them to GLSL 1.50.<br>
<br>
A few patches don't relate directly to redeclaration of gl_PerVertex,<br>
but rather cover Mesa bugs I discovered while working on interface<br>
block redeclaration.  Patches 1 and 2 test some previously untested<br>
uses of identifiers to make sure that they can't begin with the "gl_"<br>
prefix.  Patches 4 and 5 test some things that should be prohibited in<br>
general for interface blocks, such as redeclaring an existing<br>
interface block, or declaring an interface block that conflicts with a<br>
global variable.<br>
<br>
The remaining patches are specific to redeclaration of gl_PerVertex.<br>
<br>
[PATCH 01/14] Test that struct names may not begin with "gl_" prefix.<br>
[PATCH 02/14] Test illegal usages of "gl_" prefix in interface blocks.<br>
[PATCH 03/14] Test that redeclaration of gl_PerVertex must be for a subset.<br>
[PATCH 04/14] Test that interface blocks cannot declare conflicting names.<br>
[PATCH 05/14] Test that in general, interface blocks cannot be redeclared.<br>
[PATCH 06/14] Test that the built-in gl_PerVertex interface block can be redeclared.<br>
[PATCH 07/14] Test that gl_PerVertex can't be redeclared after it's been used.<br>
[PATCH 08/14] Test that gl_PerVertex can't be redeclared multiple times in one shader.<br>
[PATCH 09/14] Test that after redeclaration, absent members of gl_PerVertex can't be used.<br>
[PATCH 10/14] Test that builtins can't be redeclared both inside and outside gl_PerVertex.<br>
[PATCH 11/14] Test inter- and intra-stage gl_PerVertex matching rules.<br>
[PATCH 12/14] Verify array-ness and instance name of gl_PerVertex redeclarations.<br>
[PATCH 13/14] Verify that gl_PerVertex can't be redeclared in certain shader types.<br>
[PATCH 14/14] Test that gl_in may be redeclared with an array size.<br>
</blockquote></div><br></div><div class="gmail_extra">I almost forgot to mention: this series is available at branch "interface-block-redeclaration" of <a href="https://github.com/stereotype441/piglit.git">https://github.com/stereotype441/piglit.git</a>.<br>
</div></div>