radeonsi: pass the context to query destroy functions
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Thu, 20 Sep 2018 08:19:30 +0000 (10:19 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 3 Jul 2019 19:51:12 +0000 (15:51 -0400)
We'll need this in the future.

Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/gallium/drivers/radeonsi/si_perfcounter.c
src/gallium/drivers/radeonsi/si_query.c
src/gallium/drivers/radeonsi/si_query.h

index 75bd61730dac62e00070e4b586bb59934015dbd3..d073b5821fbfb3414390e4724985377cf9ea2048 100644 (file)
@@ -749,7 +749,7 @@ static void si_pc_emit_read(struct si_context *sctx,
        }
 }
 
-static void si_pc_query_destroy(struct si_screen *sscreen,
+static void si_pc_query_destroy(struct si_context *sctx,
                                struct si_query *squery)
 {
        struct si_query_pc *query = (struct si_query_pc *)squery;
@@ -762,7 +762,7 @@ static void si_pc_query_destroy(struct si_screen *sscreen,
 
        FREE(query->counters);
 
-       si_query_buffer_destroy(sscreen, &query->buffer);
+       si_query_buffer_destroy(sctx->screen, &query->buffer);
        FREE(query);
 }
 
@@ -1100,7 +1100,7 @@ struct pipe_query *si_create_batch_query(struct pipe_context *ctx,
        return (struct pipe_query *)query;
 
 error:
-       si_pc_query_destroy(screen, &query->b);
+       si_pc_query_destroy((struct si_context *)ctx, &query->b);
        return NULL;
 }
 
index fabb75440475bb359bc61712fbe6b3dc99e59980..ae6498e1895cafb7b51ce839cb08d3f502c100bc 100644 (file)
@@ -58,12 +58,12 @@ struct si_query_sw {
        struct pipe_fence_handle *fence;
 };
 
-static void si_query_sw_destroy(struct si_screen *sscreen,
+static void si_query_sw_destroy(struct si_context *sctx,
                                struct si_query *squery)
 {
        struct si_query_sw *query = (struct si_query_sw *)squery;
 
-       sscreen->b.fence_reference(&sscreen->b, &query->fence, NULL);
+       sctx->b.screen->fence_reference(sctx->b.screen, &query->fence, NULL);
        FREE(query);
 }
 
@@ -624,12 +624,11 @@ bool si_query_buffer_alloc(struct si_context *sctx, struct si_query_buffer *buff
 }
 
 
-void si_query_hw_destroy(struct si_screen *sscreen,
-                        struct si_query *squery)
+void si_query_hw_destroy(struct si_context *sctx, struct si_query *squery)
 {
        struct si_query_hw *query = (struct si_query_hw *)squery;
 
-       si_query_buffer_destroy(sscreen, &query->buffer);
+       si_query_buffer_destroy(sctx->screen, &query->buffer);
        si_resource_reference(&query->workaround_buf, NULL);
        FREE(squery);
 }
@@ -1105,7 +1104,7 @@ static void si_destroy_query(struct pipe_context *ctx, struct pipe_query *query)
        struct si_context *sctx = (struct si_context *)ctx;
        struct si_query *squery = (struct si_query *)query;
 
-       squery->ops->destroy(sctx->screen, squery);
+       squery->ops->destroy(sctx, squery);
 }
 
 static boolean si_begin_query(struct pipe_context *ctx,
index c1918f4df2dcbf00de2535a6b56fa3eaba8ca968..82e5e25ed0074285c58ffd355c260f643d47cb9d 100644 (file)
@@ -125,7 +125,7 @@ enum {
 };
 
 struct si_query_ops {
-       void (*destroy)(struct si_screen *, struct si_query *);
+       void (*destroy)(struct si_context *, struct si_query *);
        bool (*begin)(struct si_context *, struct si_query *);
        bool (*end)(struct si_context *, struct si_query *);
        bool (*get_result)(struct si_context *,
@@ -214,7 +214,7 @@ struct si_query_hw {
        unsigned workaround_offset;
 };
 
-void si_query_hw_destroy(struct si_screen *sscreen,
+void si_query_hw_destroy(struct si_context *sctx,
                         struct si_query *squery);
 bool si_query_hw_begin(struct si_context *sctx,
                       struct si_query *squery);