diff options
author | Eric Anholt <[email protected]> | 2020-03-27 10:54:19 -0700 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-30 21:35:21 +0000 |
commit | 7ef61c1f1008f26a53db5fdfdb39ea1968c40284 (patch) | |
tree | ab44e1aced0c8714ae0874d4bee6435061557939 /src/gallium | |
parent | 4a0783994810fd00e0a6727e902796dc2abe2b41 (diff) |
freedreno: Count blits in GL_TIME_ELAPSED and perf counter queries.
Fixes 0 gpu time reported for glBlitFramebuffer in apitrace replay --pgpu.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4356>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/freedreno/a2xx/fd2_query.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a4xx/fd4_query.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a5xx/fd5_query.c | 4 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_blitter.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_query.c | 4 |
5 files changed, 8 insertions, 6 deletions
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_query.c b/src/gallium/drivers/freedreno/a2xx/fd2_query.c index dc6f88ba788..b51903fcf97 100644 --- a/src/gallium/drivers/freedreno/a2xx/fd2_query.c +++ b/src/gallium/drivers/freedreno/a2xx/fd2_query.c @@ -151,7 +151,7 @@ perfcntr_accumulate_result(struct fd_acc_query *aq, void *buf, static const struct fd_acc_sample_provider perfcntr = { .query_type = FD_QUERY_FIRST_PERFCNTR, - .active = FD_STAGE_DRAW | FD_STAGE_CLEAR, + .active = FD_STAGE_ALL, .resume = perfcntr_resume, .pause = perfcntr_pause, .result = perfcntr_accumulate_result, diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_query.c b/src/gallium/drivers/freedreno/a4xx/fd4_query.c index 1f1ce8e8771..ba225af82fc 100644 --- a/src/gallium/drivers/freedreno/a4xx/fd4_query.c +++ b/src/gallium/drivers/freedreno/a4xx/fd4_query.c @@ -259,7 +259,7 @@ static const struct fd_hw_sample_provider occlusion_predicate_conservative = { static const struct fd_hw_sample_provider time_elapsed = { .query_type = PIPE_QUERY_TIME_ELAPSED, - .active = FD_STAGE_DRAW | FD_STAGE_CLEAR, + .active = FD_STAGE_ALL, .enable = time_elapsed_enable, .get_sample = time_elapsed_get_sample, .accumulate_result = time_elapsed_accumulate_result, diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_query.c b/src/gallium/drivers/freedreno/a5xx/fd5_query.c index 28f296d57cf..6cf9e2d6140 100644 --- a/src/gallium/drivers/freedreno/a5xx/fd5_query.c +++ b/src/gallium/drivers/freedreno/a5xx/fd5_query.c @@ -229,7 +229,7 @@ timestamp_accumulate_result(struct fd_acc_query *aq, void *buf, static const struct fd_acc_sample_provider time_elapsed = { .query_type = PIPE_QUERY_TIME_ELAPSED, - .active = FD_STAGE_DRAW | FD_STAGE_CLEAR, + .active = FD_STAGE_ALL, .size = sizeof(struct fd5_query_sample), .resume = timestamp_resume, .pause = timestamp_pause, @@ -366,7 +366,7 @@ perfcntr_accumulate_result(struct fd_acc_query *aq, void *buf, static const struct fd_acc_sample_provider perfcntr = { .query_type = FD_QUERY_FIRST_PERFCNTR, - .active = FD_STAGE_DRAW | FD_STAGE_CLEAR, + .active = FD_STAGE_ALL, .resume = perfcntr_resume, .pause = perfcntr_pause, .result = perfcntr_accumulate_result, diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.c b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.c index 24f4e46b89d..757e7117f75 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.c @@ -646,6 +646,8 @@ handle_rgba_blit(struct fd_context *ctx, const struct pipe_blit_info *info) mtx_unlock(&ctx->screen->lock); + fd_batch_set_stage(batch, FD_STAGE_BLIT); + emit_setup(batch); if ((info->src.resource->target == PIPE_BUFFER) && diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_query.c b/src/gallium/drivers/freedreno/a6xx/fd6_query.c index f58fff7b4ba..374b6f06054 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_query.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_query.c @@ -229,7 +229,7 @@ timestamp_accumulate_result(struct fd_acc_query *aq, void *buf, static const struct fd_acc_sample_provider time_elapsed = { .query_type = PIPE_QUERY_TIME_ELAPSED, - .active = FD_STAGE_DRAW | FD_STAGE_CLEAR, + .active = FD_STAGE_ALL, .size = sizeof(struct fd6_query_sample), .resume = timestamp_resume, .pause = timestamp_pause, @@ -547,7 +547,7 @@ perfcntr_accumulate_result(struct fd_acc_query *aq, void *buf, static const struct fd_acc_sample_provider perfcntr = { .query_type = FD_QUERY_FIRST_PERFCNTR, - .active = FD_STAGE_DRAW | FD_STAGE_CLEAR, + .active = FD_STAGE_ALL, .resume = perfcntr_resume, .pause = perfcntr_pause, .result = perfcntr_accumulate_result, |