glsl2: When dumping IR for debug, skip all the empty builtin prototypes.

This commit is contained in:
Eric Anholt
2010-07-29 14:20:39 -07:00
parent 62c4763b70
commit 9a8eb684d4

View File

@@ -57,7 +57,9 @@ _mesa_print_ir(exec_list *instructions,
printf("(\n"); printf("(\n");
foreach_iter(exec_list_iterator, iter, *instructions) { foreach_iter(exec_list_iterator, iter, *instructions) {
((ir_instruction *)iter.get())->print(); ir_instruction *ir = (ir_instruction *)iter.get();
ir->print();
if (ir->ir_type != ir_type_function)
printf("\n"); printf("\n");
} }
printf("\n)"); printf("\n)");
@@ -122,6 +124,16 @@ void ir_print_visitor::visit(ir_function_signature *ir)
void ir_print_visitor::visit(ir_function *ir) void ir_print_visitor::visit(ir_function *ir)
{ {
bool found_non_builtin_proto = false;
foreach_iter(exec_list_iterator, iter, *ir) {
ir_function_signature *const sig = (ir_function_signature *) iter.get();
if (sig->is_defined || !sig->is_built_in)
found_non_builtin_proto = true;
}
if (!found_non_builtin_proto)
return;
printf("(function %s\n", ir->name); printf("(function %s\n", ir->name);
foreach_iter(exec_list_iterator, iter, *ir) { foreach_iter(exec_list_iterator, iter, *ir) {
ir_function_signature *const sig = (ir_function_signature *) iter.get(); ir_function_signature *const sig = (ir_function_signature *) iter.get();
@@ -130,7 +142,7 @@ void ir_print_visitor::visit(ir_function *ir)
printf("\n"); printf("\n");
} }
printf(")\n"); printf(")\n\n");
} }