In CorrectFull.frag, the following structure causes an assertion failure:
This variable is never dereferenced in the program. The assertion failure is:
ir_validate.cpp:382: void check_node_type(ir_instruction*, void*): Assertion `ir->type != glsl_type::error_type' failed.
This was first triggered after the commit listed below, but I believe that is spurious. The actual assertion is that the declaration of a variable lightVar_light2 has an error type. My guess is that rearranging optimization passes have caused ir_validate to be called before this unused declaration could be removed.
Author: Eric Anholt <firstname.lastname@example.org>
Date: Tue Aug 10 13:06:49 2010 -0700
glsl2: Move the common optimization passes to a helper function.
These are passes that we expect all codegen to be happy with. The
other lowering passes for Mesa IR are moved to the Mesa IR generator.
*** Bug 29688 has been marked as a duplicate of this bug. ***
Any progress on this?
Should be fixed in master:
Author: Kenneth Graunke <email@example.com>
Date: Sat Sep 18 11:11:09 2010 +0200
glsl: Properly handle nested structure types.
Fixes piglit test CorrectFull.frag.
verified with mesa: