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:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user