From 56a2ccf05864bd2f71744febaa1b5b08b52c4cd4 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Wed, 23 Mar 2022 13:28:36 +0100 Subject: [PATCH] v3dv: Stop using VK_OUTARRAY_MAKE() We're trying to replace VK_OUTARRAY_MAKE() by VK_OUTARRAY_MAKE_TYPED() so people don't get tempted to use it and make things incompatible with MSVC (which doesn't support typeof()). Suggested-by: Daniel Stone Reviewed-by: Jason Ekstrand Part-of: --- src/broadcom/vulkan/v3dv_device.c | 17 ++++++++++------- src/broadcom/vulkan/v3dv_formats.c | 11 +++++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index c88634b1b00..b62703bc650 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -965,7 +965,8 @@ v3dv_EnumeratePhysicalDevices(VkInstance _instance, VkPhysicalDevice *pPhysicalDevices) { V3DV_FROM_HANDLE(v3dv_instance, instance, _instance); - VK_OUTARRAY_MAKE(out, pPhysicalDevices, pPhysicalDeviceCount); + VK_OUTARRAY_MAKE_TYPED(VkPhysicalDevice, out, + pPhysicalDevices, pPhysicalDeviceCount); VkResult result = instance_ensure_physical_device(instance); if (result != VK_SUCCESS) @@ -975,7 +976,7 @@ v3dv_EnumeratePhysicalDevices(VkInstance _instance, return VK_SUCCESS; assert(instance->physicalDeviceCount == 1); - vk_outarray_append(&out, i) { + vk_outarray_append_typed(VkPhysicalDevice, &out, i) { *i = v3dv_physical_device_to_handle(&instance->physicalDevice); } @@ -989,8 +990,9 @@ v3dv_EnumeratePhysicalDeviceGroups( VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties) { V3DV_FROM_HANDLE(v3dv_instance, instance, _instance); - VK_OUTARRAY_MAKE(out, pPhysicalDeviceGroupProperties, - pPhysicalDeviceGroupCount); + VK_OUTARRAY_MAKE_TYPED(VkPhysicalDeviceGroupProperties, out, + pPhysicalDeviceGroupProperties, + pPhysicalDeviceGroupCount); VkResult result = instance_ensure_physical_device(instance); if (result != VK_SUCCESS) @@ -998,7 +1000,7 @@ v3dv_EnumeratePhysicalDeviceGroups( assert(instance->physicalDeviceCount == 1); - vk_outarray_append(&out, p) { + vk_outarray_append_typed(VkPhysicalDeviceGroupProperties, &out, p) { p->physicalDeviceCount = 1; memset(p->physicalDevices, 0, sizeof(p->physicalDevices)); p->physicalDevices[0] = @@ -1697,9 +1699,10 @@ v3dv_GetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties2 *pQueueFamilyProperties) { - VK_OUTARRAY_MAKE(out, pQueueFamilyProperties, pQueueFamilyPropertyCount); + VK_OUTARRAY_MAKE_TYPED(VkQueueFamilyProperties2, out, + pQueueFamilyProperties, pQueueFamilyPropertyCount); - vk_outarray_append(&out, p) { + vk_outarray_append_typed(VkQueueFamilyProperties2, &out, p) { p->queueFamilyProperties = v3dv_queue_family_properties; vk_foreach_struct(s, p->pNext) { diff --git a/src/broadcom/vulkan/v3dv_formats.c b/src/broadcom/vulkan/v3dv_formats.c index e6557cbd3a9..6be9969acad 100644 --- a/src/broadcom/vulkan/v3dv_formats.c +++ b/src/broadcom/vulkan/v3dv_formats.c @@ -291,10 +291,12 @@ v3dv_GetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, switch ((unsigned)ext->sType) { case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: { struct VkDrmFormatModifierPropertiesListEXT *list = (void *)ext; - VK_OUTARRAY_MAKE(out, list->pDrmFormatModifierProperties, - &list->drmFormatModifierCount); + VK_OUTARRAY_MAKE_TYPED(VkDrmFormatModifierPropertiesEXT, out, + list->pDrmFormatModifierProperties, + &list->drmFormatModifierCount); if (pFormatProperties->formatProperties.linearTilingFeatures) { - vk_outarray_append(&out, mod_props) { + vk_outarray_append_typed(VkDrmFormatModifierPropertiesEXT, + &out, mod_props) { mod_props->drmFormatModifier = DRM_FORMAT_MOD_LINEAR; mod_props->drmFormatModifierPlaneCount = 1; mod_props->drmFormatModifierTilingFeatures = @@ -302,7 +304,8 @@ v3dv_GetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, } } if (pFormatProperties->formatProperties.optimalTilingFeatures) { - vk_outarray_append(&out, mod_props) { + vk_outarray_append_typed(VkDrmFormatModifierProperties2EXT, + &out, mod_props) { mod_props->drmFormatModifier = DRM_FORMAT_MOD_BROADCOM_UIF; mod_props->drmFormatModifierPlaneCount = 1; mod_props->drmFormatModifierTilingFeatures =