From 8f52e726866a8e7c8ac5649970b67a1de486878b Mon Sep 17 00:00:00 2001 From: i509VCB Date: Sat, 30 Dec 2023 20:56:38 -0600 Subject: [PATCH] asahi: create queue for screen Signed-off-by: i509VCB Part-of: --- src/gallium/drivers/asahi/agx_batch.c | 1 + src/gallium/drivers/asahi/agx_pipe.c | 2 ++ src/gallium/drivers/asahi/agx_state.h | 2 ++ 3 files changed, 5 insertions(+) diff --git a/src/gallium/drivers/asahi/agx_batch.c b/src/gallium/drivers/asahi/agx_batch.c index 7ea5bfec046..186cc353de4 100644 --- a/src/gallium/drivers/asahi/agx_batch.c +++ b/src/gallium/drivers/asahi/agx_batch.c @@ -553,6 +553,7 @@ agx_batch_submit(struct agx_context *ctx, struct agx_batch *batch, void *cmdbuf) { struct agx_device *dev = agx_device(ctx->base.screen); + struct agx_screen *screen = agx_screen(ctx->base.screen); bool feedback = dev->debug & (AGX_DBG_TRACE | AGX_DBG_SYNC | AGX_DBG_STATS); diff --git a/src/gallium/drivers/asahi/agx_pipe.c b/src/gallium/drivers/asahi/agx_pipe.c index 15d5786a4fd..6be04e13d2b 100644 --- a/src/gallium/drivers/asahi/agx_pipe.c +++ b/src/gallium/drivers/asahi/agx_pipe.c @@ -2188,6 +2188,8 @@ agx_screen_create(int fd, struct renderonly *ro, return NULL; } + agx_screen->queue_id = agx_create_command_queue(&agx_screen->dev, 0); + screen->destroy = agx_destroy_screen; screen->get_screen_fd = agx_screen_get_fd; screen->get_name = agx_get_name; diff --git a/src/gallium/drivers/asahi/agx_state.h b/src/gallium/drivers/asahi/agx_state.h index 19af68f9ad0..822d57c9adc 100644 --- a/src/gallium/drivers/asahi/agx_state.h +++ b/src/gallium/drivers/asahi/agx_state.h @@ -725,6 +725,8 @@ struct agx_screen { struct pipe_screen pscreen; struct agx_device dev; struct disk_cache *disk_cache; + /* Queue handle */ + uint32_t queue_id; }; static inline struct agx_screen *