@@ -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. | |||
*/ |
@@ -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 *); | |||
@@ -502,6 +503,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) | |||
{ |
@@ -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 *); | |||
@@ -114,6 +115,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) | |||
{ |
@@ -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 *); | |||
@@ -196,6 +198,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) | |||
{ | |||
@@ -436,6 +446,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) | |||
{ |
@@ -108,6 +108,20 @@ ir_hierarchical_visitor::visit_leave(ir_expression *ir) | |||
return visit_continue; | |||
} | |||
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) | |||
{ |
@@ -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 *); |
@@ -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) |
@@ -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; |