[Mesa-dev] Anonymous structure in uniform question

f.josef at email.cz f.josef at email.cz
Mon Nov 25 14:23:13 PST 2013


Hello Grigori,
indeed the patch cures the error, but when I was testing the newly compiled 
Mesa

with XPlane10, it turns out there is something wrong - there are no shadows 
(without

shadows I can't really tell if the patch didn't visibly break anything).

I'm going to try and find out where exactly the problem happened and will 
report back.

Thank you,

Michal





"On 21.11.2013 21:50, f.josef at email.cz wrote:
> The problem is, that each anonymous structure gets its own unique type,
> without checking if such type already exists. It seems to me, that such
> code is somewhat in the gray area - the rest of OpenGL implementations
> doesn't seem to have a problem with this code (Intel on Win, OSX, Nvidia
> and AMD drivers in Win, OSX and Linux), which of course doesn't mean
> such a behavior is correct.
>

This should be allowed, according to GLSL (3.3) spec and grammar. It's 
just a bug/oversight in the linker, I guess. The GLSL linker already 
includes some special handling to match array types between stages. I 
added something similar for structs, see the attached patch. It's 
probably not the nicest approach (it duplicates some code from 
glsl_types.cpp), but seems to work fine. I don't really know the GLSL 
compiler/linker code, so YMMV. :)

Best regards
Grigori"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131125/8ce60df7/attachment.html>


More information about the mesa-dev mailing list