radv: Add support for VK_KHR_get_memory_requirements2.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sat, 15 Jul 2017 00:07:59 +0000 (02:07 +0200)
committerJason Ekstrand <jason.ekstrand@intel.com>
Sat, 15 Jul 2017 15:59:38 +0000 (08:59 -0700)
Fished the SparseImage call out of the headers as the spec missed
the definition.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_entrypoints_gen.py

index 3b3a368d19b039fa8e6bb0f0fb164e262eeaad14..c5d66b8bc6d54bc5162a676049d6fdf786433508 100644 (file)
@@ -137,6 +137,10 @@ static const VkExtensionProperties common_device_extensions[] = {
                .extensionName = VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME,
                .specVersion = 1,
        },
+       {
+               .extensionName = VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME,
+               .specVersion = 1,
+       },
 };
 
 static VkResult
@@ -2206,6 +2210,15 @@ void radv_GetBufferMemoryRequirements(
        pMemoryRequirements->size = align64(buffer->size, pMemoryRequirements->alignment);
 }
 
+void radv_GetBufferMemoryRequirements2KHR(
+       VkDevice                                     device,
+       const VkBufferMemoryRequirementsInfo2KHR*    pInfo,
+       VkMemoryRequirements2KHR*                    pMemoryRequirements)
+{
+       radv_GetBufferMemoryRequirements(device, pInfo->buffer,
+                                        &pMemoryRequirements->memoryRequirements);
+}
+
 void radv_GetImageMemoryRequirements(
        VkDevice                                    device,
        VkImage                                     _image,
@@ -2219,6 +2232,15 @@ void radv_GetImageMemoryRequirements(
        pMemoryRequirements->alignment = image->alignment;
 }
 
+void radv_GetImageMemoryRequirements2KHR(
+       VkDevice                                    device,
+       const VkImageMemoryRequirementsInfo2KHR*    pInfo,
+       VkMemoryRequirements2KHR*                   pMemoryRequirements)
+{
+       radv_GetImageMemoryRequirements(device, pInfo->image,
+                                        &pMemoryRequirements->memoryRequirements);
+}
+
 void radv_GetImageSparseMemoryRequirements(
        VkDevice                                    device,
        VkImage                                     image,
@@ -2228,6 +2250,15 @@ void radv_GetImageSparseMemoryRequirements(
        stub();
 }
 
+void radv_GetImageSparseMemoryRequirements2KHR(
+       VkDevice                                    device,
+       const VkImageSparseMemoryRequirementsInfo2KHR* pInfo,
+       uint32_t*                                   pSparseMemoryRequirementCount,
+       VkSparseImageMemoryRequirements2KHR*            pSparseMemoryRequirements)
+{
+       stub();
+}
+
 void radv_GetDeviceMemoryCommitment(
        VkDevice                                    device,
        VkDeviceMemory                              memory,
index 3474c789ea830abe791cf317e01969ad642e698b..d47a7011197f148724171cbbad6d0efc67b6ac30 100644 (file)
@@ -42,6 +42,7 @@ supported_extensions = [
    'VK_KHR_wayland_surface',
    'VK_KHR_xcb_surface',
    'VK_KHR_xlib_surface',
+   'VK_KHR_get_memory_requirements2',
 ]
 
 # We generate a static hash table for entry point lookup