Module: Mesa Branch: main Commit: eb1d009a3e6c0486a8e0c3340881360f1f57fdcc URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb1d009a3e6c0486a8e0c3340881360f1f57fdcc
Author: Boris Brezillon <[email protected]> Date: Wed Mar 23 02:36:00 2022 -0700 radv: Don't use VK_OUTARRAY_MAKE()/vk_outarray_append() MSVC doesn't support typeof(). If we want to keep compiling radv on windows we need to use the typed variants of those macros. Fixes: 10d69d5f0bcc ("radv: fix returning empty drmFormatModifierTilingFeatures") Acked-by: Daniel Stone <[email protected]> Acked-by: Erik Faye-Lund <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15518> --- src/amd/vulkan/radv_formats.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c index 4f916b4d328..92e59ba6d94 100644 --- a/src/amd/vulkan/radv_formats.c +++ b/src/amd/vulkan/radv_formats.c @@ -1238,7 +1238,9 @@ radv_list_drm_format_modifiers(struct radv_physical_device *dev, VkFormat format return; } - VK_OUTARRAY_MAKE(out, mod_list->pDrmFormatModifierProperties, &mod_list->drmFormatModifierCount); + VK_OUTARRAY_MAKE_TYPED(VkDrmFormatModifierPropertiesEXT, out, + mod_list->pDrmFormatModifierProperties, + &mod_list->drmFormatModifierCount); ac_get_supported_modifiers(&dev->rad_info, &radv_modifier_options, vk_format_to_pipe_format(format), &mod_count, NULL); @@ -1266,7 +1268,7 @@ radv_list_drm_format_modifiers(struct radv_physical_device *dev, VkFormat format if (!features) continue; - vk_outarray_append(&out, out_props) { + vk_outarray_append_typed(VkDrmFormatModifierPropertiesEXT, &out, out_props) { *out_props = (VkDrmFormatModifierPropertiesEXT) { .drmFormatModifier = mods[i], .drmFormatModifierPlaneCount = planes, @@ -1293,7 +1295,9 @@ radv_list_drm_format_modifiers_2(struct radv_physical_device *dev, VkFormat form return; } - VK_OUTARRAY_MAKE(out, mod_list->pDrmFormatModifierProperties, &mod_list->drmFormatModifierCount); + VK_OUTARRAY_MAKE_TYPED(VkDrmFormatModifierProperties2EXT, out, + mod_list->pDrmFormatModifierProperties, + &mod_list->drmFormatModifierCount); ac_get_supported_modifiers(&dev->rad_info, &radv_modifier_options, vk_format_to_pipe_format(format), &mod_count, NULL); @@ -1321,7 +1325,7 @@ radv_list_drm_format_modifiers_2(struct radv_physical_device *dev, VkFormat form if (!features) continue; - vk_outarray_append(&out, out_props) { + vk_outarray_append_typed(VkDrmFormatModifierProperties2EXT, &out, out_props) { *out_props = (VkDrmFormatModifierProperties2EXT) { .drmFormatModifier = mods[i], .drmFormatModifierPlaneCount = planes,
