<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>