On 04/22/2013 08:15 AM, Jordan Justen wrote:
On Sun, Apr 21, 2013 at 12:30 PM, Kenneth Graunke <kenn...@whitecape.org> wrote:
On 04/19/2013 12:35 PM, Jordan Justen wrote:
For interface blocks, there are three separate namespaces for
uniform, input and output blocks.
http://knowyourmeme.com/photos/2109
There are?
Similarly, for your next patch:
"Uniform/interface blocks are a separate namespace from types."
They are?
I should definitely add some spec references to this commit.
Anyway, this is tested by my proposed piglit test:
glsl-1.50: allow the same name for uniform and varying interface
And, I actually properly referenced the spec there. :)
GLSLangSpec.1.50.11, 4.3.7 Interface Blocks:
"A block name is allowed to have different definitions in different
interfaces."
Which kind of confused me until I read:
GLSLangSpec.4.30.8, 4.3.9 Interface Blocks:
"A block name is allowed to have different definitions in different
interfaces within the same shader, allowing, for example, an input
block and output block to have the same name."
Did I misinterpreted this text?
Thanks,
-Jordan
I had only been looking in 1.50. The 4.30 text does indeed clarify that
input/output blocks should be able to have the same name.
It does seem to me that block names should conflict with
variables/functions/structure types, though, due to this text:
"it is a compile-time error to use a block name at global scope for
anything other than as a block name (e.g. use of a block name for a
global variable name or function name is currently reserved)." (4.30,
page 50 aka 56 in the PDF).
As long as es3conform's uniform_buffer_object_block_name_conflict test,
and piglit block-name-clashes-with-{variable,function,struct}.vert pass,
I'm OK with it.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev