From bec60876994b3b85e674085b6e22e40abf010939 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 10 Feb 2023 15:34:45 -0500 Subject: [PATCH] zink: move db_bound to batch descriptor data this is where descriptor stuff goes Part-of: --- src/gallium/drivers/zink/zink_batch.c | 2 +- src/gallium/drivers/zink/zink_descriptors.c | 4 ++-- src/gallium/drivers/zink/zink_types.h | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index 98fb7d6..5311b00 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -424,7 +424,7 @@ zink_batch_bind_db(struct zink_context *ctx) count++; } VKSCR(CmdBindDescriptorBuffersEXT)(batch->state->cmdbuf, count, infos); - batch->state->db_bound = true; + batch->state->dd.db_bound = true; } /* called on context creation and after flushing an old batch */ diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c index aad10cb..65e78d5 100644 --- a/src/gallium/drivers/zink/zink_descriptors.c +++ b/src/gallium/drivers/zink/zink_descriptors.c @@ -1278,7 +1278,7 @@ zink_descriptors_update(struct zink_context *ctx, bool is_compute) */ uint8_t bind_sets = bs->dd.pg[is_compute] && bs->dd.compat_id[is_compute] == pg->compat_id ? 0 : pg->dd.binding_usage; - if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB && !bs->db_bound) + if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB && !bs->dd.db_bound) zink_batch_bind_db(ctx); if (pg->dd.push_usage && (ctx->dd.push_state_changed[is_compute] || bind_sets)) { @@ -1449,7 +1449,7 @@ zink_batch_descriptor_reset(struct zink_screen *screen, struct zink_batch_state { if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) { bs->dd.db_offset = 0; - bs->db_bound = false; + bs->dd.db_bound = false; } else { for (unsigned i = 0; i < ZINK_DESCRIPTOR_BASE_TYPES; i++) { struct zink_descriptor_pool_multi **mpools = bs->dd.pools[i].data; diff --git a/src/gallium/drivers/zink/zink_types.h b/src/gallium/drivers/zink/zink_types.h index 19c8154..0a2a96e 100644 --- a/src/gallium/drivers/zink/zink_types.h +++ b/src/gallium/drivers/zink/zink_types.h @@ -469,6 +469,8 @@ struct zink_descriptor_pool_multi { struct zink_batch_descriptor_data { /* pools have fbfetch initialized */ bool has_fbfetch; + /* are descriptor buffers bound */ + bool db_bound; /* real size of 'pools' */ unsigned pool_size[ZINK_DESCRIPTOR_BASE_TYPES]; /* this array is sized based on the max zink_descriptor_pool_key::id used by the batch; members may be NULL */ @@ -592,7 +594,6 @@ struct zink_batch_state { bool is_device_lost; bool has_barriers; - bool db_bound; }; static inline struct zink_batch_state * -- 2.7.4