From e471b4360d3d7b062b8c3a1f69d9e3750aa37ab5 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 2 Feb 2023 14:06:40 -0500 Subject: [PATCH] zink: skip updating descriptor buffer sets that aren't active this is a no-op and illegal Fixes: 7ab5c5d36d2 ("zink: use EXT_descriptor_buffer with ZINK_DESCRIPTORS=db") Part-of: --- src/gallium/drivers/zink/zink_descriptors.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/drivers/zink/zink_descriptors.c b/src/gallium/drivers/zink/zink_descriptors.c index a6a544f..81087e1 100644 --- a/src/gallium/drivers/zink/zink_descriptors.c +++ b/src/gallium/drivers/zink/zink_descriptors.c @@ -961,6 +961,8 @@ zink_descriptors_update_masked_buffer(struct zink_context *ctx, bool is_compute, return; u_foreach_bit(type, changed_sets | bind_sets) { + if (!pg->dd.pool_key[type]) + continue; assert(type + 1 < pg->num_dsl); assert(type < ZINK_DESCRIPTOR_BASE_TYPES); bool changed = (changed_sets & BITFIELD_BIT(type)) > 0; -- 2.7.4