i965: Include codegen time in the INTEL_DEBUG=perf stall detection.

In the VS case, we were missing the entire compile time in the stall
detection!

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Eric Anholt 2012-11-30 12:55:50 -08:00
parent 0f06864ba5
commit b126228f12
2 changed files with 18 additions and 12 deletions

View file

@ -2287,6 +2287,11 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c,
c->prog_data.dispatch_width = 8;
fs_generator g(brw, c, prog, fp, v.dual_src_output.file != BAD_FILE);
const unsigned *generated = g.generate_assembly(&v.instructions,
simd16_instructions,
final_assembly_size);
if (unlikely(INTEL_DEBUG & DEBUG_PERF) && shader) {
if (shader->compiled_once)
brw_wm_debug_recompile(brw, prog, &c->key);
@ -2298,9 +2303,7 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c,
}
}
fs_generator g(brw, c, prog, fp, v.dual_src_output.file != BAD_FILE);
return g.generate_assembly(&v.instructions, simd16_instructions,
final_assembly_size);
return generated;
}
bool

View file

@ -1159,6 +1159,17 @@ brw_vs_emit(struct brw_context *brw,
}
}
vec4_visitor v(brw, c, prog, shader, mem_ctx);
if (!v.run()) {
prog->LinkStatus = false;
ralloc_strcat(&prog->InfoLog, v.fail_msg);
return NULL;
}
vec4_generator g(brw, c, prog, mem_ctx);
const unsigned *generated =g.generate_assembly(&v.instructions,
final_assembly_size);
if (unlikely(INTEL_DEBUG & DEBUG_PERF) && shader) {
if (shader->compiled_once) {
brw_vs_debug_recompile(brw, prog, &c->key);
@ -1170,15 +1181,7 @@ brw_vs_emit(struct brw_context *brw,
shader->compiled_once = true;
}
vec4_visitor v(brw, c, prog, shader, mem_ctx);
if (!v.run()) {
prog->LinkStatus = false;
ralloc_strcat(&prog->InfoLog, v.fail_msg);
return NULL;
}
vec4_generator g(brw, c, prog, mem_ctx);
return g.generate_assembly(&v.instructions, final_assembly_size);
return generated;
}
} /* extern "C" */