<html><body>Hello Grigori,<div>indeed the patch cures the error, but when I
was testing the newly compiled Mesa</div><div>with XPlane10, it turns out
there is something wrong - there are no shadows (without</div><div>shadows I
can't really tell if the patch didn't visibly break anything).</div><div>I'm
going to try and find out where exactly the problem happened and will report
back.</div><div>Thank you,</div><div><span style="line-height:
1.3;">Michal</span><br></div><div><span style="line-height:
1.3;"><br></span></div><div><blockquote>On 21.11.2013 21:50, f.josef@email.cz
wrote:<br>> The problem is, that each anonymous structure gets its own
unique type,<br>> without checking if such type already exists. It seems to
me, that such<br>> code is somewhat in the gray area - the rest of OpenGL
implementations<br>> doesn't seem to have a problem with this code (Intel
on Win, OSX, Nvidia<br>> and AMD drivers in Win, OSX and Linux), which of
course doesn't mean<br>> such a behavior is correct.<br>><br><br>This
should be allowed, according to GLSL (3.3) spec and grammar. It's <br>just a
bug/oversight in the linker, I guess. The GLSL linker already <br>includes
some special handling to match array types between stages. I <br>added
something similar for structs, see the attached patch. It's <br>probably not
the nicest approach (it duplicates some code from <br>glsl_types.cpp), but
seems to work fine. I don't really know the GLSL <br>compiler/linker code, so
YMMV. :)<br><br>Best regards<br>Grigori</blockquote></div></body></html>