glsl: Skip processing of expression trees in discard simplification.
It only cares about "if", "loop", and "discard".
This commit is contained in:
@@ -95,6 +95,7 @@ public:
|
||||
|
||||
ir_visitor_status visit_enter(ir_if *);
|
||||
ir_visitor_status visit_enter(ir_loop *);
|
||||
ir_visitor_status visit_enter(ir_assignment *);
|
||||
|
||||
bool progress;
|
||||
};
|
||||
@@ -117,6 +118,15 @@ is_only_instruction(ir_discard *discard)
|
||||
discard->next->is_tail_sentinel());
|
||||
}
|
||||
|
||||
/* We only care about the top level instructions, so don't descend
|
||||
* into expressions.
|
||||
*/
|
||||
ir_visitor_status
|
||||
discard_simplifier::visit_enter(ir_assignment *ir)
|
||||
{
|
||||
return visit_continue_with_parent;
|
||||
}
|
||||
|
||||
ir_visitor_status
|
||||
discard_simplifier::visit_enter(ir_if *ir)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user