This fix bug #46004
---
src/glsl/lower_output_reads.cpp | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/glsl/lower_output_reads.cpp b/src/glsl/lower_output_reads.cpp
index 415b541..119d45a 100644
--- a/src/glsl/lower_output_reads.cpp
+++ b/src/glsl/lower_output_reads.cpp
@@ -52,6 +52,7 @@ public:
virtual ir_visitor_status visit(class ir_dereference_variable *);
virtual ir_visitor_status visit_leave(class ir_return *);
virtual ir_visitor_status visit_leave(class ir_function_signature *);
+ virtual ir_visitor_status visit_enter(ir_assignment *ir);
};
output_read_remover::output_read_remover()
@@ -68,6 +69,13 @@ output_read_remover::~output_read_remover()
}
ir_visitor_status
+output_read_remover::visit_enter(ir_assignment *ir)
+{
+ ir->rhs->accept(this);
+ return visit_continue_with_parent;
+}
+
+ir_visitor_status
output_read_remover::visit(ir_dereference_variable *ir)
{
if (ir->var->mode != ir_var_out)
--
1.7.7
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev