vulkan: Use typed outarray API
authorJames Park <jpark37@lagfreegames.com>
Wed, 3 Feb 2021 18:29:26 +0000 (10:29 -0800)
committerDave Airlie <airlied@redhat.com>
Tue, 23 Feb 2021 07:18:11 +0000 (17:18 +1000)
MSVC cannot perform GCC __typeof__ for C code. (C++ has decltype.)

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9208>

src/vulkan/util/vk_instance.c
src/vulkan/util/vk_physical_device.c

index 56da90e..4acd867 100644 (file)
@@ -109,7 +109,7 @@ vk_enumerate_instance_extension_properties(
     uint32_t *pPropertyCount,
     VkExtensionProperties *pProperties)
 {
-   VK_OUTARRAY_MAKE(out, pProperties, pPropertyCount);
+   VK_OUTARRAY_MAKE_TYPED(VkExtensionProperties, out, pProperties, pPropertyCount);
 
    for (int i = 0; i < VK_INSTANCE_EXTENSION_COUNT; i++) {
       if (!supported_extensions->extensions[i])
@@ -120,7 +120,7 @@ vk_enumerate_instance_extension_properties(
          continue;
 #endif
 
-      vk_outarray_append(&out, prop) {
+      vk_outarray_append_typed(VkExtensionProperties, &out, prop) {
          *prop = vk_instance_extensions[i];
       }
    }
index 4b9ece5..18cab2e 100644 (file)
@@ -75,7 +75,7 @@ vk_common_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,
                                              VkExtensionProperties *pProperties)
 {
    VK_FROM_HANDLE(vk_physical_device, pdevice, physicalDevice);
-   VK_OUTARRAY_MAKE(out, pProperties, pPropertyCount);
+   VK_OUTARRAY_MAKE_TYPED(VkExtensionProperties, out, pProperties, pPropertyCount);
 
    for (int i = 0; i < VK_DEVICE_EXTENSION_COUNT; i++) {
       if (!pdevice->supported_extensions.extensions[i])
@@ -86,7 +86,7 @@ vk_common_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,
          continue;
 #endif
 
-      vk_outarray_append(&out, prop) {
+      vk_outarray_append_typed(VkExtensionProperties, &out, prop) {
          *prop = vk_device_extensions[i];
       }
    }