anv: Advertise SEND count through VK_EXT_pipeline_executable_properties

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4578>
This commit is contained in:
Jason Ekstrand 2020-04-03 13:09:41 -05:00 committed by Marge Bot
parent 2c82b13c8f
commit b2e4157143
4 changed files with 13 additions and 0 deletions

View file

@ -1275,6 +1275,7 @@ DEFINE_PROG_DATA_DOWNCAST(sf)
struct brw_compile_stats {
uint32_t dispatch_width; /**< 0 for vec4 */
uint32_t instructions;
uint32_t sends;
uint32_t loops;
uint32_t cycles;
uint32_t spills;

View file

@ -2492,6 +2492,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width,
if (stats) {
stats->dispatch_width = dispatch_width;
stats->instructions = before_size / 16 - nop_count;
stats->sends = send_count;
stats->loops = loop_count;
stats->cycles = cfg->cycle_count;
stats->spills = spill_count;

View file

@ -2242,6 +2242,7 @@ generate_code(struct brw_codegen *p,
if (stats) {
stats->dispatch_width = 0;
stats->instructions = before_size / 16;
stats->sends = send_count;
stats->loops = loop_count;
stats->cycles = cfg->cycle_count;
stats->spills = spill_count;

View file

@ -2188,6 +2188,16 @@ VkResult anv_GetPipelineExecutableStatisticsKHR(
stat->value.u64 = exe->stats.instructions;
}
vk_outarray_append(&out, stat) {
WRITE_STR(stat->name, "SEND Count");
WRITE_STR(stat->description,
"Number of instructions in the final generated shader "
"executable which access external units such as the "
"constant cache or the sampler.");
stat->format = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR;
stat->value.u64 = exe->stats.sends;
}
vk_outarray_append(&out, stat) {
WRITE_STR(stat->name, "Loop Count");
WRITE_STR(stat->description,