From b3b4e2aff6afebf8b6eba80c9a0598b03d09e034 Mon Sep 17 00:00:00 2001 From: "Scott.Marsland" Date: Tue, 16 May 2023 14:40:44 +0100 Subject: mock: Fix sparse image format properties 2 queries Fix vkGetPhysicalDeviceSparseImageFormatProperties2 and vkGetPhysicalDeviceSparseImageFormatProperties2KHR queries when pProperties is null. --- icd/generated/mock_icd.cpp | 6 +++++- scripts/mock_icd_generator.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/icd/generated/mock_icd.cpp b/icd/generated/mock_icd.cpp index 8c193180..8457707d 100644 --- a/icd/generated/mock_icd.cpp +++ b/icd/generated/mock_icd.cpp @@ -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); + } } diff --git a/scripts/mock_icd_generator.py b/scripts/mock_icd_generator.py index 22b7d1ff..363a4533 100644 --- a/scripts/mock_icd_generator.py +++ b/scripts/mock_icd_generator.py @@ -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; -- cgit v1.2.3