vulkan/wsi: 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 <daniels@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522>
This commit is contained in:
Boris Brezillon 2022-03-23 14:06:00 +01:00 committed by Marge Bot
parent 52a2aa44f3
commit 5f309da5e4
3 changed files with 44 additions and 32 deletions

View File

@ -526,11 +526,12 @@ wsi_GetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice,
if (result != VK_SUCCESS)
goto bail;
VK_OUTARRAY_MAKE(conn, pProperties, pPropertyCount);
VK_OUTARRAY_MAKE_TYPED(VkDisplayProperties2KHR, conn,
pProperties, pPropertyCount);
wsi_for_each_connector(connector, wsi) {
if (connector->connected) {
vk_outarray_append(&conn, prop) {
vk_outarray_append_typed(VkDisplayProperties2KHR, &conn, prop) {
wsi_display_fill_in_display_properties(wsi_device,
connector,
prop);
@ -580,10 +581,11 @@ wsi_GetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice,
if (result != VK_SUCCESS)
goto bail;
VK_OUTARRAY_MAKE(conn, pProperties, pPropertyCount);
VK_OUTARRAY_MAKE_TYPED(VkDisplayPlanePropertiesKHR, conn,
pProperties, pPropertyCount);
wsi_for_each_connector(connector, wsi) {
vk_outarray_append(&conn, prop) {
vk_outarray_append_typed(VkDisplayPlanePropertiesKHR, &conn, prop) {
VkDisplayPlaneProperties2KHR prop2 = {
.sType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
};
@ -614,10 +616,11 @@ wsi_GetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice,
if (result != VK_SUCCESS)
goto bail;
VK_OUTARRAY_MAKE(conn, pProperties, pPropertyCount);
VK_OUTARRAY_MAKE_TYPED(VkDisplayPlaneProperties2KHR, conn,
pProperties, pPropertyCount);
wsi_for_each_connector(connector, wsi) {
vk_outarray_append(&conn, prop) {
vk_outarray_append_typed(VkDisplayPlaneProperties2KHR, &conn, prop) {
wsi_display_fill_in_display_plane_properties(wsi_device, connector,
prop);
}
@ -644,13 +647,13 @@ wsi_GetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice,
struct wsi_display *wsi =
(struct wsi_display *) wsi_device->wsi[VK_ICD_WSI_PLATFORM_DISPLAY];
VK_OUTARRAY_MAKE(conn, pDisplays, pDisplayCount);
VK_OUTARRAY_MAKE_TYPED(VkDisplayKHR, conn, pDisplays, pDisplayCount);
int c = 0;
wsi_for_each_connector(connector, wsi) {
if (c == planeIndex && connector->connected) {
vk_outarray_append(&conn, display) {
vk_outarray_append_typed(VkDisplayKHR, &conn, display) {
*display = wsi_display_connector_to_handle(connector);
}
}
@ -690,13 +693,14 @@ wsi_GetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice,
struct wsi_display_connector *connector =
wsi_display_connector_from_handle(display);
VK_OUTARRAY_MAKE(conn, pProperties, pPropertyCount);
VK_OUTARRAY_MAKE_TYPED(VkDisplayModePropertiesKHR, conn,
pProperties, pPropertyCount);
wsi_for_each_display_mode(display_mode, connector) {
if (!display_mode->valid)
continue;
vk_outarray_append(&conn, prop) {
vk_outarray_append_typed(VkDisplayModePropertiesKHR, &conn, prop) {
VkDisplayModeProperties2KHR prop2 = {
.sType = VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
};
@ -719,13 +723,14 @@ wsi_GetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice,
struct wsi_display_connector *connector =
wsi_display_connector_from_handle(display);
VK_OUTARRAY_MAKE(conn, pProperties, pPropertyCount);
VK_OUTARRAY_MAKE_TYPED(VkDisplayModeProperties2KHR, conn,
pProperties, pPropertyCount);
wsi_for_each_display_mode(display_mode, connector) {
if (!display_mode->valid)
continue;
vk_outarray_append(&conn, prop) {
vk_outarray_append_typed(VkDisplayModeProperties2KHR, &conn, prop) {
wsi_display_fill_in_display_mode_properties(wsi_device,
display_mode, prop);
}
@ -983,13 +988,14 @@ wsi_display_surface_get_formats(VkIcdSurfaceBase *icd_surface,
uint32_t *surface_format_count,
VkSurfaceFormatKHR *surface_formats)
{
VK_OUTARRAY_MAKE(out, surface_formats, surface_format_count);
VK_OUTARRAY_MAKE_TYPED(VkSurfaceFormatKHR, out,
surface_formats, surface_format_count);
VkFormat sorted_formats[ARRAY_SIZE(available_surface_formats)];
get_sorted_vk_formats(wsi_device, sorted_formats);
for (unsigned i = 0; i < ARRAY_SIZE(sorted_formats); i++) {
vk_outarray_append(&out, f) {
vk_outarray_append_typed(VkSurfaceFormatKHR, &out, f) {
f->format = sorted_formats[i];
f->colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
}
@ -1005,13 +1011,14 @@ wsi_display_surface_get_formats2(VkIcdSurfaceBase *surface,
uint32_t *surface_format_count,
VkSurfaceFormat2KHR *surface_formats)
{
VK_OUTARRAY_MAKE(out, surface_formats, surface_format_count);
VK_OUTARRAY_MAKE_TYPED(VkSurfaceFormat2KHR, out,
surface_formats, surface_format_count);
VkFormat sorted_formats[ARRAY_SIZE(available_surface_formats)];
get_sorted_vk_formats(wsi_device, sorted_formats);
for (unsigned i = 0; i < ARRAY_SIZE(sorted_formats); i++) {
vk_outarray_append(&out, f) {
vk_outarray_append_typed(VkSurfaceFormat2KHR, &out, f) {
assert(f->sType == VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR);
f->surfaceFormat.format = sorted_formats[i];
f->surfaceFormat.colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
@ -1026,9 +1033,10 @@ wsi_display_surface_get_present_modes(VkIcdSurfaceBase *surface,
uint32_t *present_mode_count,
VkPresentModeKHR *present_modes)
{
VK_OUTARRAY_MAKE(conn, present_modes, present_mode_count);
VK_OUTARRAY_MAKE_TYPED(VkPresentModeKHR, conn,
present_modes, present_mode_count);
vk_outarray_append(&conn, present) {
vk_outarray_append_typed(VkPresentModeKHR, &conn, present) {
*present = VK_PRESENT_MODE_FIFO_KHR;
}
@ -1043,10 +1051,10 @@ wsi_display_surface_get_present_rectangles(VkIcdSurfaceBase *surface_base,
{
VkIcdSurfaceDisplay *surface = (VkIcdSurfaceDisplay *) surface_base;
wsi_display_mode *mode = wsi_display_mode_from_handle(surface->displayMode);
VK_OUTARRAY_MAKE(out, pRects, pRectCount);
VK_OUTARRAY_MAKE_TYPED(VkRect2D, out, pRects, pRectCount);
if (wsi_device_matches_drm_fd(wsi_device, mode->connector->wsi->fd)) {
vk_outarray_append(&out, rect) {
vk_outarray_append_typed(VkRect2D, &out, rect) {
*rect = (VkRect2D) {
.offset = { 0, 0 },
.extent = { mode->hdisplay, mode->vdisplay },

View File

@ -780,7 +780,8 @@ wsi_wl_surface_get_formats(VkIcdSurfaceBase *icd_surface,
wsi_device->sw))
return VK_ERROR_SURFACE_LOST_KHR;
VK_OUTARRAY_MAKE(out, pSurfaceFormats, pSurfaceFormatCount);
VK_OUTARRAY_MAKE_TYPED(VkSurfaceFormatKHR, out,
pSurfaceFormats, pSurfaceFormatCount);
struct wsi_wl_format *disp_fmt;
u_vector_foreach(disp_fmt, &display.formats) {
@ -791,7 +792,7 @@ wsi_wl_surface_get_formats(VkIcdSurfaceBase *icd_surface,
!(disp_fmt->flags & WSI_WL_FMT_OPAQUE))
continue;
vk_outarray_append(&out, out_fmt) {
vk_outarray_append_typed(VkSurfaceFormatKHR, &out, out_fmt) {
out_fmt->format = disp_fmt->vk_format;
out_fmt->colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
}
@ -818,7 +819,8 @@ wsi_wl_surface_get_formats2(VkIcdSurfaceBase *icd_surface,
wsi_device->sw))
return VK_ERROR_SURFACE_LOST_KHR;
VK_OUTARRAY_MAKE(out, pSurfaceFormats, pSurfaceFormatCount);
VK_OUTARRAY_MAKE_TYPED(VkSurfaceFormat2KHR, out,
pSurfaceFormats, pSurfaceFormatCount);
struct wsi_wl_format *disp_fmt;
u_vector_foreach(disp_fmt, &display.formats) {
@ -829,7 +831,7 @@ wsi_wl_surface_get_formats2(VkIcdSurfaceBase *icd_surface,
!(disp_fmt->flags & WSI_WL_FMT_OPAQUE))
continue;
vk_outarray_append(&out, out_fmt) {
vk_outarray_append_typed(VkSurfaceFormat2KHR, &out, out_fmt) {
out_fmt->surfaceFormat.format = disp_fmt->vk_format;
out_fmt->surfaceFormat.colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
}
@ -865,9 +867,9 @@ wsi_wl_surface_get_present_rectangles(VkIcdSurfaceBase *surface,
uint32_t* pRectCount,
VkRect2D* pRects)
{
VK_OUTARRAY_MAKE(out, pRects, pRectCount);
VK_OUTARRAY_MAKE_TYPED(VkRect2D, out, pRects, pRectCount);
vk_outarray_append(&out, rect) {
vk_outarray_append_typed(VkRect2D, &out, rect) {
/* We don't know a size so just return the usual "I don't know." */
*rect = (VkRect2D) {
.offset = { 0, 0 },

View File

@ -745,7 +745,8 @@ x11_surface_get_formats(VkIcdSurfaceBase *surface,
uint32_t *pSurfaceFormatCount,
VkSurfaceFormatKHR *pSurfaceFormats)
{
VK_OUTARRAY_MAKE(out, pSurfaceFormats, pSurfaceFormatCount);
VK_OUTARRAY_MAKE_TYPED(VkSurfaceFormatKHR, out,
pSurfaceFormats, pSurfaceFormatCount);
unsigned count;
VkFormat sorted_formats[ARRAY_SIZE(formats)];
@ -753,7 +754,7 @@ x11_surface_get_formats(VkIcdSurfaceBase *surface,
return VK_ERROR_SURFACE_LOST_KHR;
for (unsigned i = 0; i < count; i++) {
vk_outarray_append(&out, f) {
vk_outarray_append_typed(VkSurfaceFormatKHR, &out, f) {
f->format = sorted_formats[i];
f->colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
}
@ -769,7 +770,8 @@ x11_surface_get_formats2(VkIcdSurfaceBase *surface,
uint32_t *pSurfaceFormatCount,
VkSurfaceFormat2KHR *pSurfaceFormats)
{
VK_OUTARRAY_MAKE(out, pSurfaceFormats, pSurfaceFormatCount);
VK_OUTARRAY_MAKE_TYPED(VkSurfaceFormat2KHR, out,
pSurfaceFormats, pSurfaceFormatCount);
unsigned count;
VkFormat sorted_formats[ARRAY_SIZE(formats)];
@ -777,7 +779,7 @@ x11_surface_get_formats2(VkIcdSurfaceBase *surface,
return VK_ERROR_SURFACE_LOST_KHR;
for (unsigned i = 0; i < count; i++) {
vk_outarray_append(&out, f) {
vk_outarray_append_typed(VkSurfaceFormat2KHR, &out, f) {
assert(f->sType == VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR);
f->surfaceFormat.format = sorted_formats[i];
f->surfaceFormat.colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
@ -812,9 +814,9 @@ x11_surface_get_present_rectangles(VkIcdSurfaceBase *icd_surface,
{
xcb_connection_t *conn = x11_surface_get_connection(icd_surface);
xcb_window_t window = x11_surface_get_window(icd_surface);
VK_OUTARRAY_MAKE(out, pRects, pRectCount);
VK_OUTARRAY_MAKE_TYPED(VkRect2D, out, pRects, pRectCount);
vk_outarray_append(&out, rect) {
vk_outarray_append_typed(VkRect2D, &out, rect) {
xcb_generic_error_t *err = NULL;
xcb_get_geometry_cookie_t geom_cookie = xcb_get_geometry(conn, window);
xcb_get_geometry_reply_t *geom =