Module: Mesa
Branch: main
Commit: cdca0b2ce4d603d4f5914d7a1e37923a6a959541
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cdca0b2ce4d603d4f5914d7a1e37923a6a959541

Author: Lionel Landwerlin <lionel.g.landwer...@intel.com>
Date:   Mon Oct 30 17:57:32 2023 +0200

anv: fix corner case of mutable descriptor pool creation

Signed-off-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>
Fixes: 63e91148b7 ("anv: Enable VK_VALVE_mutable_descriptor_type")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10065
Reviewed-by: Yiwei Zhang <zzyi...@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25958>

---

 src/intel/vulkan/anv_descriptor_set.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/intel/vulkan/anv_descriptor_set.c 
b/src/intel/vulkan/anv_descriptor_set.c
index 62202bec0c8..9b768cce5c6 100644
--- a/src/intel/vulkan/anv_descriptor_set.c
+++ b/src/intel/vulkan/anv_descriptor_set.c
@@ -280,7 +280,9 @@ anv_descriptor_size_for_mutable_type(const struct 
anv_physical_device *device,
 {
    unsigned size = 0;
 
-   if (!mutable_info || mutable_info->mutableDescriptorTypeListCount == 0) {
+   if (!mutable_info ||
+       mutable_info->mutableDescriptorTypeListCount == 0 ||
+       binding >= mutable_info->mutableDescriptorTypeListCount) {
       for(VkDescriptorType i = 0; i <= VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT; 
i++) {
 
          if (i == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC ||

Reply via email to