| @@ -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; | |||