glsl: Reduce processing of expression trees in do_structure_splitting.

Most of the time we don't have a non-uniform struct variable in the
shader, so this cuts the time spent in do_structure_splitting during
glean texCombine by about 2/3.
This commit is contained in:
Eric Anholt
2011-03-11 13:17:03 -08:00
parent 991fa4d3d0
commit 05cf1ad82e
+6
View File
@@ -151,6 +151,12 @@ ir_structure_reference_visitor::visit_enter(ir_dereference_record *ir)
ir_visitor_status
ir_structure_reference_visitor::visit_enter(ir_assignment *ir)
{
/* If there are no structure references yet, no need to bother with
* processing the expression tree.
*/
if (this->variable_list.is_empty())
return visit_continue_with_parent;
if (ir->lhs->as_dereference_variable() &&
ir->rhs->as_dereference_variable() &&
!ir->condition) {