#define MAP_READ (1 << 0)
#define MAP_WRITE (1 << 1)
+struct gen_perf_query_object *
+gen_perf_new_query(struct gen_perf_context *perf_ctx, unsigned query_index)
+{
+ const struct gen_perf_query_info *query =
+ &perf_ctx->perf->queries[query_index];
+ struct gen_perf_query_object *obj =
+ calloc(1, sizeof(struct gen_perf_query_object));
+
+ if (!obj)
+ return NULL;
+
+ obj->queryinfo = query;
+
+ perf_ctx->n_query_instances++;
+ return obj;
+}
+
static bool
get_sysfs_dev_dir(struct gen_perf_config *perf, int fd)
{
struct gen_perf_config *perf,
struct gen_perf_query_object *obj,
uint32_t offset_in_bytes);
+struct gen_perf_query_object *
+gen_perf_new_query(struct gen_perf_context *, unsigned query_index);
void gen_perf_close(struct gen_perf_context *perfquery,
const struct gen_perf_query_info *query);
{
struct brw_context *brw = brw_context(ctx);
struct gen_perf_context *perf_ctx = &brw->perf_ctx;
- const struct gen_perf_query_info *queryinfo =
- &perf_ctx->perf->queries[query_index];
- struct gen_perf_query_object *obj =
- calloc(1, sizeof(struct gen_perf_query_object));
-
- if (!obj)
+ struct gen_perf_query_object * obj = gen_perf_new_query(perf_ctx, query_index);
+ if (unlikely(!obj))
return NULL;
- obj->queryinfo = queryinfo;
-
- perf_ctx->n_query_instances++;
-
struct brw_perf_query_object *brw_query = calloc(1, sizeof(struct brw_perf_query_object));
if (unlikely(!brw_query))
return NULL;
+
brw_query->query = obj;
return &brw_query->base;
}