Browse Source

Add stub visitor support for ir_texture.

tags/mesa-7.9-rc1
Kenneth Graunke 15 years ago
parent
commit
26d74cd1d1

+ 7
- 0
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.
*/

+ 10
- 0
ir_constant_expression.cpp 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)
{

+ 9
- 0
ir_constant_folding.cpp 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)
{

+ 18
- 0
ir_function_inlining.cpp 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)
{

+ 14
- 0
ir_hierarchical_visitor.cpp 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)
{

+ 2
- 0
ir_hierarchical_visitor.h 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 *);

+ 6
- 0
ir_hv_accept.cpp 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)

+ 1
- 0
ir_visitor.h 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;

Loading…
Cancel
Save