diff options
author | Kenneth Graunke <[email protected]> | 2015-02-23 22:00:34 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2015-02-24 15:24:52 -0800 |
commit | 44b45da994c5d827eb123fb18b501d712822baae (patch) | |
tree | 412de9c43f5dcd8fd352b22944113f3f6aac4cd8 /src | |
parent | 926d8b05107f4f5fecad41ad30833a306a566303 (diff) |
glsl: Make ir_rvalue_visitor visit ir_discard::condition.
This was forgotten.
I omitted the NULL check since we don't check ir_assignment::condition
either.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Connor Abbott <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/ir_rvalue_visitor.cpp | 19 | ||||
-rw-r--r-- | src/glsl/ir_rvalue_visitor.h | 3 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/glsl/ir_rvalue_visitor.cpp b/src/glsl/ir_rvalue_visitor.cpp index 34cdb1c98a0..2eee3da7b22 100644 --- a/src/glsl/ir_rvalue_visitor.cpp +++ b/src/glsl/ir_rvalue_visitor.cpp @@ -135,6 +135,13 @@ ir_rvalue_base_visitor::rvalue_visit(ir_call *ir) } ir_visitor_status +ir_rvalue_base_visitor::rvalue_visit(ir_discard *ir) +{ + handle_rvalue(&ir->condition); + return visit_continue; +} + +ir_visitor_status ir_rvalue_base_visitor::rvalue_visit(ir_return *ir) { handle_rvalue(&ir->value);; @@ -205,6 +212,12 @@ ir_rvalue_visitor::visit_leave(ir_call *ir) } ir_visitor_status +ir_rvalue_visitor::visit_leave(ir_discard *ir) +{ + return rvalue_visit(ir); +} + +ir_visitor_status ir_rvalue_visitor::visit_leave(ir_return *ir) { return rvalue_visit(ir); @@ -271,6 +284,12 @@ ir_rvalue_enter_visitor::visit_enter(ir_call *ir) } ir_visitor_status +ir_rvalue_enter_visitor::visit_enter(ir_discard *ir) +{ + return rvalue_visit(ir); +} + +ir_visitor_status ir_rvalue_enter_visitor::visit_enter(ir_return *ir) { return rvalue_visit(ir); diff --git a/src/glsl/ir_rvalue_visitor.h b/src/glsl/ir_rvalue_visitor.h index 04ec0fa398c..185c72a5ba1 100644 --- a/src/glsl/ir_rvalue_visitor.h +++ b/src/glsl/ir_rvalue_visitor.h @@ -36,6 +36,7 @@ public: ir_visitor_status rvalue_visit(ir_call *); ir_visitor_status rvalue_visit(ir_dereference_array *); ir_visitor_status rvalue_visit(ir_dereference_record *); + ir_visitor_status rvalue_visit(ir_discard *); ir_visitor_status rvalue_visit(ir_expression *); ir_visitor_status rvalue_visit(ir_if *); ir_visitor_status rvalue_visit(ir_return *); @@ -54,6 +55,7 @@ public: virtual ir_visitor_status visit_leave(ir_call *); virtual ir_visitor_status visit_leave(ir_dereference_array *); virtual ir_visitor_status visit_leave(ir_dereference_record *); + virtual ir_visitor_status visit_leave(ir_discard *); virtual ir_visitor_status visit_leave(ir_expression *); virtual ir_visitor_status visit_leave(ir_if *); virtual ir_visitor_status visit_leave(ir_return *); @@ -70,6 +72,7 @@ public: virtual ir_visitor_status visit_enter(ir_call *); virtual ir_visitor_status visit_enter(ir_dereference_array *); virtual ir_visitor_status visit_enter(ir_dereference_record *); + virtual ir_visitor_status visit_enter(ir_discard *); virtual ir_visitor_status visit_enter(ir_expression *); virtual ir_visitor_status visit_enter(ir_if *); virtual ir_visitor_status visit_enter(ir_return *); |