On Vulkan most of those are already covered by standard queries so
add the ability to skip them.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2775>
iris_perf_init_vtbl(perf_cfg);
iris_perf_init_vtbl(perf_cfg);
- gen_perf_init_metrics(perf_cfg, &screen->devinfo, screen->fd);
+ gen_perf_init_metrics(perf_cfg, &screen->devinfo, screen->fd,
+ true /* pipeline stats*/);
screen->monitor_cfg = monitor_cfg;
/* a gallium "group" is equivalent to a gen "query"
screen->monitor_cfg = monitor_cfg;
/* a gallium "group" is equivalent to a gen "query"
ice->batches[IRIS_BATCH_RENDER].hw_ctx_id,
screen->fd);
ice->batches[IRIS_BATCH_RENDER].hw_ctx_id,
screen->fd);
- gen_perf_init_metrics(perf_cfg, &screen->devinfo, screen->fd);
+ gen_perf_init_metrics(perf_cfg, &screen->devinfo, screen->fd, true /* pipeline_statistics */);
return perf_cfg->n_queries;
}
return perf_cfg->n_queries;
}
void
gen_perf_init_metrics(struct gen_perf_config *perf_cfg,
const struct gen_device_info *devinfo,
void
gen_perf_init_metrics(struct gen_perf_config *perf_cfg,
const struct gen_device_info *devinfo,
+ int drm_fd,
+ bool include_pipeline_statistics)
- load_pipeline_statistic_metrics(perf_cfg, devinfo);
- gen_perf_register_mdapi_statistic_query(perf_cfg, devinfo);
+ if (include_pipeline_statistics) {
+ load_pipeline_statistic_metrics(perf_cfg, devinfo);
+ gen_perf_register_mdapi_statistic_query(perf_cfg, devinfo);
+ }
if (load_oa_metrics(perf_cfg, drm_fd, devinfo))
gen_perf_register_mdapi_oa_query(perf_cfg, devinfo);
}
if (load_oa_metrics(perf_cfg, drm_fd, devinfo))
gen_perf_register_mdapi_oa_query(perf_cfg, devinfo);
}
void gen_perf_init_metrics(struct gen_perf_config *perf_cfg,
const struct gen_device_info *devinfo,
void gen_perf_init_metrics(struct gen_perf_config *perf_cfg,
const struct gen_device_info *devinfo,
+ int drm_fd,
+ bool include_pipeline_statistics);
/** Query i915 for a metric id using guid.
*/
/** Query i915 for a metric id using guid.
*/
{
struct gen_perf_config *perf = gen_perf_new(NULL);
{
struct gen_perf_config *perf = gen_perf_new(NULL);
- gen_perf_init_metrics(perf, devinfo, fd);
+ gen_perf_init_metrics(perf, devinfo, fd, false /* pipeline statistics */);
/* We need DRM_I915_PERF_PROP_HOLD_PREEMPTION support, only available in
* perf revision 2.
/* We need DRM_I915_PERF_PROP_HOLD_PREEMPTION support, only available in
* perf revision 2.
gen_perf_init_context(perf_ctx, perf_cfg, brw, brw->bufmgr, devinfo,
brw->hw_ctx, brw->screen->fd);
gen_perf_init_context(perf_ctx, perf_cfg, brw, brw->bufmgr, devinfo,
brw->hw_ctx, brw->screen->fd);
- gen_perf_init_metrics(perf_cfg, devinfo, brw->screen->fd);
+ gen_perf_init_metrics(perf_cfg, devinfo, brw->screen->fd,
+ true /* pipeline stats */);
return perf_cfg->n_queries;
}
return perf_cfg->n_queries;
}