| /* |
| * Copyright 2019 Google LLC |
| * SPDX-License-Identifier: MIT |
| * |
| * based in part on anv and radv which are: |
| * Copyright © 2015 Intel Corporation |
| * Copyright © 2016 Red Hat. |
| * Copyright © 2016 Bas Nieuwenhuizen |
| */ |
| |
| #ifndef VN_WSI_H |
| #define VN_WSI_H |
| |
| #include "vn_common.h" |
| |
| #include "wsi_common.h" |
| |
| #ifdef VN_USE_WSI_PLATFORM |
| |
| VkResult |
| vn_wsi_init(struct vn_physical_device *physical_dev); |
| |
| void |
| vn_wsi_fini(struct vn_physical_device *physical_dev); |
| |
| static inline const struct wsi_image_create_info * |
| vn_wsi_find_wsi_image_create_info(const VkImageCreateInfo *create_info) |
| { |
| return vk_find_struct_const(create_info->pNext, |
| WSI_IMAGE_CREATE_INFO_MESA); |
| } |
| |
| VkResult |
| vn_wsi_create_image(struct vn_device *dev, |
| const VkImageCreateInfo *create_info, |
| const struct wsi_image_create_info *wsi_info, |
| const VkAllocationCallbacks *alloc, |
| struct vn_image **out_img); |
| |
| VkResult |
| vn_wsi_create_image_from_swapchain( |
| struct vn_device *dev, |
| const VkImageCreateInfo *create_info, |
| const VkImageSwapchainCreateInfoKHR *swapchain_info, |
| const VkAllocationCallbacks *alloc, |
| struct vn_image **out_img); |
| |
| #else |
| |
| static inline VkResult |
| vn_wsi_init(UNUSED struct vn_physical_device *physical_dev) |
| { |
| return VK_SUCCESS; |
| } |
| |
| static inline void |
| vn_wsi_fini(UNUSED struct vn_physical_device *physical_dev) |
| { |
| } |
| |
| static inline const struct wsi_image_create_info * |
| vn_wsi_find_wsi_image_create_info(const VkImageCreateInfo *create_info) |
| { |
| return NULL; |
| } |
| |
| static inline VkResult |
| vn_wsi_create_image(struct vn_device *dev, |
| const VkImageCreateInfo *create_info, |
| const struct wsi_image_create_info *wsi_info, |
| const VkAllocationCallbacks *alloc, |
| struct vn_image **out_img) |
| { |
| return VK_ERROR_OUT_OF_HOST_MEMORY; |
| } |
| |
| static inline VkResult |
| vn_wsi_create_image_from_swapchain( |
| struct vn_device *dev, |
| const VkImageCreateInfo *create_info, |
| const VkImageSwapchainCreateInfoKHR *swapchain_info, |
| const VkAllocationCallbacks *alloc, |
| struct vn_image **out_img) |
| { |
| return VK_ERROR_OUT_OF_HOST_MEMORY; |
| } |
| |
| #endif /* VN_USE_WSI_PLATFORM */ |
| |
| #endif /* VN_WSI_H */ |