summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2018-06-28 08:14:10 -0400
committerRob Clark <[email protected]>2018-07-18 10:19:03 -0400
commit37b724ff723e96ebd3397e9d3bc464428afc5f08 (patch)
tree80f2b9b4477fe816b96b12486c87d9e090099bf4 /src/gallium/drivers/freedreno
parent1f464d53010f61ca2ef10e88e4eeefc067f4c8ce (diff)
freedreno: rework accumulated query result vfunc
Take the query object, rather than the ctx. The ctx ptr isn't hugely useful but for back queries we will need the query object to properly get the results. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno')
-rw-r--r--src/gallium/drivers/freedreno/a5xx/fd5_query.c14
-rw-r--r--src/gallium/drivers/freedreno/freedreno_query_acc.c2
-rw-r--r--src/gallium/drivers/freedreno/freedreno_query_acc.h2
3 files changed, 9 insertions, 9 deletions
diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_query.c b/src/gallium/drivers/freedreno/a5xx/fd5_query.c
index 87417f1f96e..946076235bb 100644
--- a/src/gallium/drivers/freedreno/a5xx/fd5_query.c
+++ b/src/gallium/drivers/freedreno/a5xx/fd5_query.c
@@ -111,7 +111,7 @@ occlusion_pause(struct fd_acc_query *aq, struct fd_batch *batch)
}
static void
-occlusion_counter_result(struct fd_context *ctx, void *buf,
+occlusion_counter_result(struct fd_acc_query *aq, void *buf,
union pipe_query_result *result)
{
struct fd5_query_sample *sp = buf;
@@ -119,7 +119,7 @@ occlusion_counter_result(struct fd_context *ctx, void *buf,
}
static void
-occlusion_predicate_result(struct fd_context *ctx, void *buf,
+occlusion_predicate_result(struct fd_acc_query *aq, void *buf,
union pipe_query_result *result)
{
struct fd5_query_sample *sp = buf;
@@ -196,7 +196,7 @@ timestamp_pause(struct fd_acc_query *aq, struct fd_batch *batch)
}
static uint64_t
-ticks_to_ns(struct fd_context *ctx, uint32_t ts)
+ticks_to_ns(uint32_t ts)
{
/* This is based on the 19.2MHz always-on rbbm timer.
*
@@ -206,19 +206,19 @@ ticks_to_ns(struct fd_context *ctx, uint32_t ts)
}
static void
-time_elapsed_accumulate_result(struct fd_context *ctx, void *buf,
+time_elapsed_accumulate_result(struct fd_acc_query *aq, void *buf,
union pipe_query_result *result)
{
struct fd5_query_sample *sp = buf;
- result->u64 = ticks_to_ns(ctx, sp->result);
+ result->u64 = ticks_to_ns(sp->result);
}
static void
-timestamp_accumulate_result(struct fd_context *ctx, void *buf,
+timestamp_accumulate_result(struct fd_acc_query *aq, void *buf,
union pipe_query_result *result)
{
struct fd5_query_sample *sp = buf;
- result->u64 = ticks_to_ns(ctx, sp->result);
+ result->u64 = ticks_to_ns(sp->result);
}
static const struct fd_acc_sample_provider time_elapsed = {
diff --git a/src/gallium/drivers/freedreno/freedreno_query_acc.c b/src/gallium/drivers/freedreno/freedreno_query_acc.c
index 2cb1a4ddbfa..a8e28026a84 100644
--- a/src/gallium/drivers/freedreno/freedreno_query_acc.c
+++ b/src/gallium/drivers/freedreno/freedreno_query_acc.c
@@ -157,7 +157,7 @@ fd_acc_get_query_result(struct fd_context *ctx, struct fd_query *q,
fd_bo_cpu_prep(rsc->bo, ctx->pipe, DRM_FREEDRENO_PREP_READ);
void *ptr = fd_bo_map(rsc->bo);
- p->result(ctx, ptr, result);
+ p->result(aq, ptr, result);
fd_bo_cpu_fini(rsc->bo);
return true;
diff --git a/src/gallium/drivers/freedreno/freedreno_query_acc.h b/src/gallium/drivers/freedreno/freedreno_query_acc.h
index f8dfabc5e8e..8c4415fe736 100644
--- a/src/gallium/drivers/freedreno/freedreno_query_acc.h
+++ b/src/gallium/drivers/freedreno/freedreno_query_acc.h
@@ -67,7 +67,7 @@ struct fd_acc_sample_provider {
void (*resume)(struct fd_acc_query *aq, struct fd_batch *batch);
void (*pause)(struct fd_acc_query *aq, struct fd_batch *batch);
- void (*result)(struct fd_context *ctx, void *buf,
+ void (*result)(struct fd_acc_query *aq, void *buf,
union pipe_query_result *result);
};