Add stub visitor support for ir_texture.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 27 May 2010 00:42:03 +0000 (17:42 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 9 Jun 2010 18:14:57 +0000 (11:14 -0700)
ir.h
ir_constant_expression.cpp
ir_constant_folding.cpp
ir_function_inlining.cpp
ir_hierarchical_visitor.cpp
ir_hierarchical_visitor.h
ir_hv_accept.cpp
ir_visitor.h

diff --git a/ir.h b/ir.h
index 44ffdc5..a286e7b 100644 (file)
--- a/ir.h
+++ b/ir.h
@@ -775,6 +775,13 @@ public:
       /* empty */
    }
 
+   virtual void accept(ir_visitor *v)
+   {
+      v->visit(this);
+   }
+
+   virtual ir_visitor_status accept(ir_hierarchical_visitor *);
+
    /**
     * Return a string representing the ir_texture_opcode.
     */
index 361a7a1..e89b5bc 100644 (file)
@@ -67,6 +67,7 @@ public:
    virtual void visit(ir_function_signature *);
    virtual void visit(ir_function *);
    virtual void visit(ir_expression *);
+   virtual void visit(ir_texture *);
    virtual void visit(ir_swizzle *);
    virtual void visit(ir_dereference_variable *);
    virtual void visit(ir_dereference_array *);
@@ -503,6 +504,15 @@ ir_constant_visitor::visit(ir_expression *ir)
 
 
 void
+ir_constant_visitor::visit(ir_texture *ir)
+{
+   // FINISHME: Do stuff with texture lookups
+   (void) ir;
+   value = NULL;
+}
+
+
+void
 ir_constant_visitor::visit(ir_swizzle *ir)
 {
    (void) ir;
index b3f27c8..5dc4a7d 100644 (file)
@@ -60,6 +60,7 @@ public:
    virtual void visit(ir_function_signature *);
    virtual void visit(ir_function *);
    virtual void visit(ir_expression *);
+   virtual void visit(ir_texture *);
    virtual void visit(ir_swizzle *);
    virtual void visit(ir_dereference_variable *);
    virtual void visit(ir_dereference_array *);
@@ -115,6 +116,14 @@ ir_constant_folding_visitor::visit(ir_expression *ir)
 
 
 void
+ir_constant_folding_visitor::visit(ir_texture *ir)
+{
+   // FINISHME: Do stuff with texture lookups
+   (void) ir;
+}
+
+
+void
 ir_constant_folding_visitor::visit(ir_swizzle *ir)
 {
    ir->val->accept(this);
index 7cc8a32..d66ecee 100644 (file)
@@ -50,6 +50,7 @@ public:
    virtual ir_visitor_status visit_enter(ir_call *);
    virtual ir_visitor_status visit_enter(ir_assignment *);
    virtual ir_visitor_status visit_enter(ir_return *);
+   virtual ir_visitor_status visit_enter(ir_texture *);
    virtual ir_visitor_status visit_enter(ir_swizzle *);
 
    bool progress;
@@ -118,6 +119,7 @@ public:
    virtual void visit(ir_function_signature *);
    virtual void visit(ir_function *);
    virtual void visit(ir_expression *);
+   virtual void visit(ir_texture *);
    virtual void visit(ir_swizzle *);
    virtual void visit(ir_dereference_variable *);
    virtual void visit(ir_dereference_array *);
@@ -197,6 +199,14 @@ ir_function_cloning_visitor::visit(ir_expression *ir)
 
 
 void
+ir_function_cloning_visitor::visit(ir_texture *ir)
+{
+   // FINISHME: Do stuff with texture lookups
+   (void) ir;
+}
+
+
+void
 ir_function_cloning_visitor::visit(ir_swizzle *ir)
 {
    ir->val->accept(this);
@@ -437,6 +447,14 @@ ir_function_inlining_visitor::visit_enter(ir_return *ir)
 
 
 ir_visitor_status
+ir_function_inlining_visitor::visit_enter(ir_texture *ir)
+{
+   (void) ir;
+   return visit_continue_with_parent;
+}
+
+
+ir_visitor_status
 ir_function_inlining_visitor::visit_enter(ir_swizzle *ir)
 {
    (void) ir;
index ad47487..fd77391 100644 (file)
@@ -109,6 +109,20 @@ ir_hierarchical_visitor::visit_leave(ir_expression *ir)
 }
 
 ir_visitor_status
+ir_hierarchical_visitor::visit_enter(ir_texture *ir)
+{
+   (void) ir;
+   return visit_continue;
+}
+
+ir_visitor_status
+ir_hierarchical_visitor::visit_leave(ir_texture *ir)
+{
+   (void) ir;
+   return visit_continue;
+}
+
+ir_visitor_status
 ir_hierarchical_visitor::visit_enter(ir_swizzle *ir)
 {
    (void) ir;
index d3ba508..85bc5bb 100644 (file)
@@ -113,6 +113,8 @@ public:
    virtual ir_visitor_status visit_leave(class ir_function *);
    virtual ir_visitor_status visit_enter(class ir_expression *);
    virtual ir_visitor_status visit_leave(class ir_expression *);
+   virtual ir_visitor_status visit_enter(class ir_texture *);
+   virtual ir_visitor_status visit_leave(class ir_texture *);
    virtual ir_visitor_status visit_enter(class ir_swizzle *);
    virtual ir_visitor_status visit_leave(class ir_swizzle *);
    virtual ir_visitor_status visit_enter(class ir_dereference_array *);
index 8d535e2..7c1798a 100644 (file)
@@ -156,6 +156,12 @@ done:
    return v->visit_leave(this);
 }
 
+ir_visitor_status
+ir_texture::accept(ir_hierarchical_visitor *v)
+{
+   return visit_continue_with_parent;
+}
+
 
 ir_visitor_status
 ir_swizzle::accept(ir_hierarchical_visitor *v)
index ba30858..a6f9d2b 100644 (file)
@@ -48,6 +48,7 @@ public:
    virtual void visit(class ir_function_signature *) = 0;
    virtual void visit(class ir_function *) = 0;
    virtual void visit(class ir_expression *) = 0;
+   virtual void visit(class ir_texture *) = 0;
    virtual void visit(class ir_swizzle *) = 0;
    virtual void visit(class ir_dereference_variable *) = 0;
    virtual void visit(class ir_dereference_array *) = 0;