diff options
author | Francisco Jerez <[email protected]> | 2020-03-26 16:27:32 -0700 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2020-04-28 23:01:27 -0700 |
commit | 6579f562c307d12a2654b511a7ef85f7b4cddeae (patch) | |
tree | 1e4a22ebb2fa40ee9a94e2e1a7f7d8f0dc988174 /src/intel/compiler/brw_fs_generator.cpp | |
parent | 65342be3aefb1f258714064da4273ed9987f7375 (diff) |
intel/ir: Use brw::performance object instead of CFG cycle counts for codegen stats.
These should be more accurate than the current cycle counts, since
among other things they consider the effect of post-scheduling passes
like the software scoreboard on TGL. In addition it will enable us to
clean up some of the now redundant cycle-count estimation
functionality in the instruction scheduler.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_fs_generator.cpp')
-rw-r--r-- | src/intel/compiler/brw_fs_generator.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp index d7464c95297..dc524a61e1d 100644 --- a/src/intel/compiler/brw_fs_generator.cpp +++ b/src/intel/compiler/brw_fs_generator.cpp @@ -1715,6 +1715,7 @@ fs_generator::enable_debug(const char *shader_name) int fs_generator::generate_code(const cfg_t *cfg, int dispatch_width, struct shader_stats shader_stats, + const brw::performance &perf, struct brw_compile_stats *stats) { /* align to 64 byte boundary. */ @@ -2462,7 +2463,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width, "Compacted %d to %d bytes (%.0f%%)\n", shader_name, sha1buf, dispatch_width, before_size / 16, - loop_count, cfg->cycle_count, + loop_count, perf.latency, spill_count, fill_count, send_count, shader_stats.scheduler_mode, shader_stats.promoted_constants, @@ -2487,7 +2488,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width, "compacted %d to %d bytes.", _mesa_shader_stage_to_abbrev(stage), dispatch_width, before_size / 16 - nop_count, - loop_count, cfg->cycle_count, + loop_count, perf.latency, spill_count, fill_count, send_count, shader_stats.scheduler_mode, shader_stats.promoted_constants, @@ -2497,7 +2498,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width, stats->instructions = before_size / 16 - nop_count; stats->sends = send_count; stats->loops = loop_count; - stats->cycles = cfg->cycle_count; + stats->cycles = perf.latency; stats->spills = spill_count; stats->fills = fill_count; } |