trace_start_compute(&ctx->batch->trace, ring, !!info->indirect, info->work_dim,
info->block[0], info->block[1], info->block[2],
- info->grid[0], info->grid[1], info->grid[2]);
+ info->grid[0], info->grid[1], info->grid[2],
+ cs->v->shader_id);
if (ctx->batch->barrier)
fd6_barrier_flush(ctx->batch);
data->set_name("num_groups_z");
data->set_value(std::to_string(p->num_groups_z));
}
+
+ {
+ auto data = event->add_extra_data();
+
+ data->set_name("shader_id");
+ data->set_value(std::to_string(p->shader_id));
+ }
}
});
}
p->num_groups_x = payload->num_groups_x;
p->num_groups_y = payload->num_groups_y;
p->num_groups_z = payload->num_groups_z;
+ p->shader_id = payload->shader_id;
}
void
uint32_t num_groups_x;
uint32_t num_groups_y;
uint32_t num_groups_z;
+ uint32_t shader_id;
};
void fd_perfetto_init(void);
TracepointArg(type='uint16_t', var='local_size_z', c_format='%u'),
TracepointArg(type='uint32_t', var='num_groups_x', c_format='%u'),
TracepointArg(type='uint32_t', var='num_groups_y', c_format='%u'),
- TracepointArg(type='uint32_t', var='num_groups_z', c_format='%u')]
+ TracepointArg(type='uint32_t', var='num_groups_z', c_format='%u'),
+ TracepointArg(type='uint32_t', var='shader_id', c_format='%u')]
)
utrace_generate(cpath=args.src,