i965: Print input/output VUE maps on INTEL_DEBUG=vs, gs.
[mesa.git] / src / glsl / ir_rvalue_visitor.cpp
index 8eb1c62c30ab98600fca470e2a36f5cffdeafc0b..a6966f546bce7097b62f57c7134870c76d5a2e30 100644 (file)
@@ -57,6 +57,8 @@ ir_rvalue_base_visitor::rvalue_visit(ir_texture *ir)
    switch (ir->op) {
    case ir_tex:
    case ir_lod:
+   case ir_query_levels:
+   case ir_texture_samples:
       break;
    case ir_txb:
       handle_rvalue(&ir->lod_info.bias);
@@ -73,6 +75,9 @@ ir_rvalue_base_visitor::rvalue_visit(ir_texture *ir)
       handle_rvalue(&ir->lod_info.grad.dPdx);
       handle_rvalue(&ir->lod_info.grad.dPdy);
       break;
+   case ir_tg4:
+      handle_rvalue(&ir->lod_info.component);
+      break;
    }
 
    return visit_continue;
@@ -119,8 +124,7 @@ ir_rvalue_base_visitor::rvalue_visit(ir_assignment *ir)
 ir_visitor_status
 ir_rvalue_base_visitor::rvalue_visit(ir_call *ir)
 {
-   foreach_iter(exec_list_iterator, iter, *ir) {
-      ir_rvalue *param = (ir_rvalue *)iter.get();
+   foreach_in_list_safe(ir_rvalue, param, &ir->actual_parameters) {
       ir_rvalue *new_param = param;
       handle_rvalue(&new_param);
 
@@ -131,6 +135,13 @@ ir_rvalue_base_visitor::rvalue_visit(ir_call *ir)
    return visit_continue;
 }
 
+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)
 {
@@ -145,6 +156,19 @@ ir_rvalue_base_visitor::rvalue_visit(ir_if *ir)
    return visit_continue;
 }
 
+ir_visitor_status
+ir_rvalue_base_visitor::rvalue_visit(ir_emit_vertex *ir)
+{
+   handle_rvalue(&ir->stream);
+   return visit_continue;
+}
+
+ir_visitor_status
+ir_rvalue_base_visitor::rvalue_visit(ir_end_primitive *ir)
+{
+   handle_rvalue(&ir->stream);
+   return visit_continue;
+}
 
 ir_visitor_status
 ir_rvalue_visitor::visit_leave(ir_expression *ir)
@@ -188,6 +212,12 @@ ir_rvalue_visitor::visit_leave(ir_call *ir)
    return rvalue_visit(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)
 {
@@ -200,6 +230,18 @@ ir_rvalue_visitor::visit_leave(ir_if *ir)
    return rvalue_visit(ir);
 }
 
+ir_visitor_status
+ir_rvalue_visitor::visit_leave(ir_emit_vertex *ir)
+{
+   return rvalue_visit(ir);
+}
+
+ir_visitor_status
+ir_rvalue_visitor::visit_leave(ir_end_primitive *ir)
+{
+   return rvalue_visit(ir);
+}
+
 ir_visitor_status
 ir_rvalue_enter_visitor::visit_enter(ir_expression *ir)
 {
@@ -242,6 +284,12 @@ ir_rvalue_enter_visitor::visit_enter(ir_call *ir)
    return rvalue_visit(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)
 {
@@ -253,3 +301,15 @@ ir_rvalue_enter_visitor::visit_enter(ir_if *ir)
 {
    return rvalue_visit(ir);
 }
+
+ir_visitor_status
+ir_rvalue_enter_visitor::visit_enter(ir_emit_vertex *ir)
+{
+   return rvalue_visit(ir);
+}
+
+ir_visitor_status
+ir_rvalue_enter_visitor::visit_enter(ir_end_primitive *ir)
+{
+   return rvalue_visit(ir);
+}