Add stub visitor support for ir_texture.

This commit is contained in:
Kenneth Graunke
2010-05-26 17:42:03 -07:00
parent be298063b5
commit 26d74cd1d1
8 changed files with 67 additions and 0 deletions

7
ir.h
View File

@@ -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.
*/

View 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 *);
@@ -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)
{

View 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 *);
@@ -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)
{

View 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 *);
@@ -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)
{

View File

@@ -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)
{

View 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 *);

View 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)

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