i965: Make dump_instructions be a virtual method of the visitor.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Eric Anholt
2013-04-29 14:21:14 -07:00
parent 74e670d0a3
commit 63c8155b09
6 changed files with 22 additions and 28 deletions

View File

@@ -2665,8 +2665,10 @@ fs_visitor::lower_uniform_pull_constant_loads()
}
void
fs_visitor::dump_instruction(fs_inst *inst)
fs_visitor::dump_instruction(backend_instruction *be_inst)
{
fs_inst *inst = (fs_inst *)be_inst;
if (inst->predicate) {
printf("(%cf0.%d) ",
inst->predicate_inverse ? '-' : '+',
@@ -2769,17 +2771,6 @@ fs_visitor::dump_instruction(fs_inst *inst)
printf("\n");
}
void
fs_visitor::dump_instructions()
{
int ip = 0;
foreach_list(node, &this->instructions) {
fs_inst *inst = (fs_inst *)node;
printf("%d: ", ip++);
dump_instruction(inst);
}
}
/**
* Possibly returns an instruction that set up @param reg.
*

View File

@@ -422,8 +422,7 @@ public:
void setup_builtin_uniform_values(ir_variable *ir);
int implied_mrf_writes(fs_inst *inst);
void dump_instructions();
void dump_instruction(fs_inst *inst);
void dump_instruction(backend_instruction *inst);
struct gl_fragment_program *fp;
struct brw_wm_compile *c;

View File

@@ -552,3 +552,14 @@ backend_instruction::is_control_flow()
return false;
}
}
void
backend_visitor::dump_instructions()
{
int ip = 0;
foreach_list(node, &this->instructions) {
backend_instruction *inst = (backend_instruction *)node;
printf("%d: ", ip++);
dump_instruction(inst);
}
}

View File

@@ -56,6 +56,9 @@ public:
* backend_instruction)
*/
exec_list instructions;
virtual void dump_instruction(backend_instruction *inst) = 0;
void dump_instructions();
};
int brw_type_for_base_type(const struct glsl_type *type);

View File

@@ -1064,8 +1064,10 @@ vec4_visitor::split_virtual_grfs()
}
void
vec4_visitor::dump_instruction(vec4_instruction *inst)
vec4_visitor::dump_instruction(backend_instruction *be_inst)
{
vec4_instruction *inst = (vec4_instruction *)be_inst;
printf("%s ", brw_instruction_name(inst->opcode));
switch (inst->dst.file) {
@@ -1146,17 +1148,6 @@ vec4_visitor::dump_instruction(vec4_instruction *inst)
printf("\n");
}
void
vec4_visitor::dump_instructions()
{
int ip = 0;
foreach_list_safe(node, &this->instructions) {
vec4_instruction *inst = (vec4_instruction *)node;
printf("%d: ", ip++);
dump_instruction(inst);
}
}
/**
* Replace each register of type ATTR in this->instructions with a reference
* to a fixed HW register.

View File

@@ -477,8 +477,7 @@ public:
bool process_move_condition(ir_rvalue *ir);
void dump_instruction(vec4_instruction *inst);
void dump_instructions();
void dump_instruction(backend_instruction *inst);
protected:
void emit_vertex();