From 695887a994ef9cc00a7aa3f9c00b31a56ea79534 Mon Sep 17 00:00:00 2001 From: "Scott.Marsland" Date: Tue, 16 May 2023 14:55:40 +0100 Subject: mock: Fix image sparse mem requirements 2 queries Fix vkGetImageSparseMemoryRequirements2 and vkGetImageSparseMemoryRequirements2KHR queries when pSparseMemoryRequirements 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 8457707d..ea8e4096 100644 --- a/icd/generated/mock_icd.cpp +++ b/icd/generated/mock_icd.cpp @@ -3693,7 +3693,11 @@ static VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2KHR( uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) { - GetImageSparseMemoryRequirements(device, pInfo->image, pSparseMemoryRequirementCount, &pSparseMemoryRequirements->memoryRequirements); + if (pSparseMemoryRequirementCount && pSparseMemoryRequirements) { + GetImageSparseMemoryRequirements(device, pInfo->image, pSparseMemoryRequirementCount, &pSparseMemoryRequirements->memoryRequirements); + } else { + GetImageSparseMemoryRequirements(device, pInfo->image, pSparseMemoryRequirementCount, nullptr); + } } diff --git a/scripts/mock_icd_generator.py b/scripts/mock_icd_generator.py index 363a4533..0d81561d 100644 --- a/scripts/mock_icd_generator.py +++ b/scripts/mock_icd_generator.py @@ -1281,7 +1281,11 @@ CUSTOM_C_INTERCEPTS = { ''', 'vkGetImageSparseMemoryRequirements2KHR': ''' - GetImageSparseMemoryRequirements(device, pInfo->image, pSparseMemoryRequirementCount, &pSparseMemoryRequirements->memoryRequirements); + if (pSparseMemoryRequirementCount && pSparseMemoryRequirements) { + GetImageSparseMemoryRequirements(device, pInfo->image, pSparseMemoryRequirementCount, &pSparseMemoryRequirements->memoryRequirements); + } else { + GetImageSparseMemoryRequirements(device, pInfo->image, pSparseMemoryRequirementCount, nullptr); + } ''', 'vkGetBufferDeviceAddress': ''' VkDeviceAddress address = 0; -- cgit v1.2.3