[Mesa-dev] [PATCH] gallium/radeon: fix crash/regression in performance counters
Marek Olšák
maraeo at gmail.com
Fri Sep 30 10:17:03 UTC 2016
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Fri, Sep 30, 2016 at 12:04 PM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> Cc: Michel Dänzer <michel at daenzer.net>
> ---
> src/gallium/drivers/radeon/r600_perfcounter.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/src/gallium/drivers/radeon/r600_perfcounter.c b/src/gallium/drivers/radeon/r600_perfcounter.c
> index f8dfda0..0c55fc2 100644
> --- a/src/gallium/drivers/radeon/r600_perfcounter.c
> +++ b/src/gallium/drivers/radeon/r600_perfcounter.c
> @@ -108,20 +108,28 @@ static void r600_pc_query_destroy(struct r600_common_context *ctx,
> struct r600_pc_group *group = query->groups;
> query->groups = group->next;
> FREE(group);
> }
>
> FREE(query->counters);
>
> r600_query_hw_destroy(ctx, rquery);
> }
>
> +static bool r600_pc_query_prepare_buffer(struct r600_common_context *ctx,
> + struct r600_query_hw *hwquery,
> + struct r600_resource *buffer)
> +{
> + /* no-op */
> + return true;
> +}
> +
> static void r600_pc_query_emit_start(struct r600_common_context *ctx,
> struct r600_query_hw *hwquery,
> struct r600_resource *buffer, uint64_t va)
> {
> struct r600_perfcounters *pc = ctx->screen->perfcounters;
> struct r600_query_pc *query = (struct r600_query_pc *)hwquery;
> struct r600_pc_group *group;
> int current_se = -1;
> int current_instance = -1;
>
> @@ -208,20 +216,21 @@ static void r600_pc_query_add_result(struct r600_common_context *ctx,
> }
>
> static struct r600_query_ops batch_query_ops = {
> .destroy = r600_pc_query_destroy,
> .begin = r600_query_hw_begin,
> .end = r600_query_hw_end,
> .get_result = r600_query_hw_get_result
> };
>
> static struct r600_query_hw_ops batch_query_hw_ops = {
> + .prepare_buffer = r600_pc_query_prepare_buffer,
> .emit_start = r600_pc_query_emit_start,
> .emit_stop = r600_pc_query_emit_stop,
> .clear_result = r600_pc_query_clear_result,
> .add_result = r600_pc_query_add_result,
> };
>
> static struct r600_pc_group *get_group_state(struct r600_common_screen *screen,
> struct r600_query_pc *query,
> struct r600_perfcounter_block *block,
> unsigned sub_gid)
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list