mock: Fix sparse image format properties 2 queries
authorScott.Marsland <Scott.Marsland@imgtec.com>
Tue, 16 May 2023 13:40:44 +0000 (14:40 +0100)
committerJuan Ramos <114601453+juan-lunarg@users.noreply.github.com>
Fri, 19 May 2023 19:55:58 +0000 (13:55 -0600)
Fix vkGetPhysicalDeviceSparseImageFormatProperties2 and
vkGetPhysicalDeviceSparseImageFormatProperties2KHR queries when
pProperties is null.

icd/generated/mock_icd.cpp
scripts/mock_icd_generator.py

index 8c19318..8457707 100644 (file)
@@ -3226,7 +3226,11 @@ static VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2K
     uint32_t*                                   pPropertyCount,
     VkSparseImageFormatProperties2*             pProperties)
 {
-    GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, pFormatInfo->format, pFormatInfo->type, pFormatInfo->samples, pFormatInfo->usage, pFormatInfo->tiling, pPropertyCount, &pProperties->properties);
+    if (pPropertyCount && pProperties) {
+        GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, pFormatInfo->format, pFormatInfo->type, pFormatInfo->samples, pFormatInfo->usage, pFormatInfo->tiling, pPropertyCount, &pProperties->properties);
+    } else {
+        GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, pFormatInfo->format, pFormatInfo->type, pFormatInfo->samples, pFormatInfo->usage, pFormatInfo->tiling, pPropertyCount, nullptr);
+    }
 }
 
 
index 22b7d1f..363a453 100644 (file)
@@ -892,7 +892,11 @@ CUSTOM_C_INTERCEPTS = {
     }
 ''',
 'vkGetPhysicalDeviceSparseImageFormatProperties2KHR': '''
-    GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, pFormatInfo->format, pFormatInfo->type, pFormatInfo->samples, pFormatInfo->usage, pFormatInfo->tiling, pPropertyCount, &pProperties->properties);
+    if (pPropertyCount && pProperties) {
+        GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, pFormatInfo->format, pFormatInfo->type, pFormatInfo->samples, pFormatInfo->usage, pFormatInfo->tiling, pPropertyCount, &pProperties->properties);
+    } else {
+        GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, pFormatInfo->format, pFormatInfo->type, pFormatInfo->samples, pFormatInfo->usage, pFormatInfo->tiling, pPropertyCount, nullptr);
+    }
 ''',
 'vkGetPhysicalDeviceProperties': '''
     pProperties->apiVersion = VK_HEADER_VERSION_COMPLETE;