From 98c411a2a19156f4e9171469122acda4ae536e41 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 8 May 2023 15:14:14 -0400 Subject: [PATCH] zink: add PERSISTENT for db buffer maps Fixes: 13c6ad0038a ("zink: use a single descriptor buffer for all non-bindless types") Part-of: --- src/gallium/drivers/zink/zink_descriptors.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c index 74c2cd97132..bbf033ca99c 100644 --- a/src/gallium/drivers/zink/zink_descriptors.c +++ b/src/gallium/drivers/zink/zink_descriptors.c @@ -1560,7 +1560,7 @@ zink_batch_descriptor_init(struct zink_screen *screen, struct zink_batch_state * if (!pres) return false; bs->dd.db = zink_resource(pres); - bs->dd.db_map = pipe_buffer_map(&bs->ctx->base, pres, PIPE_MAP_READ | PIPE_MAP_WRITE, &bs->dd.db_xfer); + bs->dd.db_map = pipe_buffer_map(&bs->ctx->base, pres, PIPE_MAP_READ | PIPE_MAP_WRITE | PIPE_MAP_PERSISTENT, &bs->dd.db_xfer); } return true; } @@ -1702,7 +1702,7 @@ zink_descriptors_init_bindless(struct zink_context *ctx) VKSCR(GetDescriptorSetLayoutSizeEXT)(screen->dev, screen->bindless_layout, &size); struct pipe_resource *pres = pipe_buffer_create(&screen->base, bind, 0, size); ctx->dd.db.bindless_db = zink_resource(pres); - ctx->dd.db.bindless_db_map = pipe_buffer_map(&ctx->base, pres, PIPE_MAP_READ | PIPE_MAP_WRITE, &ctx->dd.db.bindless_db_xfer); + ctx->dd.db.bindless_db_map = pipe_buffer_map(&ctx->base, pres, PIPE_MAP_READ | PIPE_MAP_WRITE | PIPE_MAP_PERSISTENT, &ctx->dd.db.bindless_db_xfer); zink_batch_bind_db(ctx); for (unsigned i = 0; i < 4; i++) { VkDeviceSize offset;