Module: Mesa Branch: master Commit: 56901c9ea4d419aad68fd75b0e89aff600730587 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=56901c9ea4d419aad68fd75b0e89aff600730587
Author: Jason Ekstrand <[email protected]> Date: Fri Mar 17 14:04:57 2017 -0700 vulkan/wsi/x11: Add support for VK_KHR_get_surface_capabilities2 Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]> --- src/vulkan/wsi/wsi_common_x11.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/vulkan/wsi/wsi_common_x11.c b/src/vulkan/wsi/wsi_common_x11.c index 35801947f8..5be56f1232 100644 --- a/src/vulkan/wsi/wsi_common_x11.c +++ b/src/vulkan/wsi/wsi_common_x11.c @@ -512,6 +512,16 @@ x11_surface_get_capabilities(VkIcdSurfaceBase *icd_surface, } static VkResult +x11_surface_get_capabilities2(VkIcdSurfaceBase *icd_surface, + const void *info_next, + VkSurfaceCapabilities2KHR *caps) +{ + assert(caps->sType == VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR); + + return x11_surface_get_capabilities(icd_surface, &caps->surfaceCapabilities); +} + +static VkResult x11_surface_get_formats(VkIcdSurfaceBase *surface, struct wsi_device *wsi_device, uint32_t *pSurfaceFormatCount, @@ -530,6 +540,26 @@ x11_surface_get_formats(VkIcdSurfaceBase *surface, } static VkResult +x11_surface_get_formats2(VkIcdSurfaceBase *surface, + struct wsi_device *wsi_device, + const void *info_next, + uint32_t *pSurfaceFormatCount, + VkSurfaceFormat2KHR *pSurfaceFormats) +{ + VK_OUTARRAY_MAKE(out, pSurfaceFormats, pSurfaceFormatCount); + + for (unsigned i = 0; i < ARRAY_SIZE(formats); i++) { + vk_outarray_append(&out, f) { + assert(f->sType == VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR); + f->surfaceFormat.format = formats[i]; + f->surfaceFormat.colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR; + } + } + + return vk_outarray_status(&out); +} + +static VkResult x11_surface_get_present_modes(VkIcdSurfaceBase *surface, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes) @@ -1243,7 +1273,9 @@ wsi_x11_init_wsi(struct wsi_device *wsi_device, wsi->base.get_support = x11_surface_get_support; wsi->base.get_capabilities = x11_surface_get_capabilities; + wsi->base.get_capabilities2 = x11_surface_get_capabilities2; wsi->base.get_formats = x11_surface_get_formats; + wsi->base.get_formats2 = x11_surface_get_formats2; wsi->base.get_present_modes = x11_surface_get_present_modes; wsi->base.create_swapchain = x11_surface_create_swapchain; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
