1*61046927SAndroid Build Coastguard Worker /*
2*61046927SAndroid Build Coastguard Worker * Copyright 2019 Google LLC
3*61046927SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT
4*61046927SAndroid Build Coastguard Worker *
5*61046927SAndroid Build Coastguard Worker * based in part on anv and radv which are:
6*61046927SAndroid Build Coastguard Worker * Copyright © 2015 Intel Corporation
7*61046927SAndroid Build Coastguard Worker * Copyright © 2016 Red Hat.
8*61046927SAndroid Build Coastguard Worker * Copyright © 2016 Bas Nieuwenhuizen
9*61046927SAndroid Build Coastguard Worker */
10*61046927SAndroid Build Coastguard Worker
11*61046927SAndroid Build Coastguard Worker #ifndef VN_WSI_H
12*61046927SAndroid Build Coastguard Worker #define VN_WSI_H
13*61046927SAndroid Build Coastguard Worker
14*61046927SAndroid Build Coastguard Worker #include "vn_common.h"
15*61046927SAndroid Build Coastguard Worker
16*61046927SAndroid Build Coastguard Worker #include "wsi_common.h"
17*61046927SAndroid Build Coastguard Worker
18*61046927SAndroid Build Coastguard Worker #ifdef VN_USE_WSI_PLATFORM
19*61046927SAndroid Build Coastguard Worker
20*61046927SAndroid Build Coastguard Worker VkResult
21*61046927SAndroid Build Coastguard Worker vn_wsi_init(struct vn_physical_device *physical_dev);
22*61046927SAndroid Build Coastguard Worker
23*61046927SAndroid Build Coastguard Worker void
24*61046927SAndroid Build Coastguard Worker vn_wsi_fini(struct vn_physical_device *physical_dev);
25*61046927SAndroid Build Coastguard Worker
26*61046927SAndroid Build Coastguard Worker VkResult
27*61046927SAndroid Build Coastguard Worker vn_wsi_create_image(struct vn_device *dev,
28*61046927SAndroid Build Coastguard Worker const VkImageCreateInfo *create_info,
29*61046927SAndroid Build Coastguard Worker const struct wsi_image_create_info *wsi_info,
30*61046927SAndroid Build Coastguard Worker const VkAllocationCallbacks *alloc,
31*61046927SAndroid Build Coastguard Worker struct vn_image **out_img);
32*61046927SAndroid Build Coastguard Worker
33*61046927SAndroid Build Coastguard Worker VkResult
34*61046927SAndroid Build Coastguard Worker vn_wsi_create_image_from_swapchain(
35*61046927SAndroid Build Coastguard Worker struct vn_device *dev,
36*61046927SAndroid Build Coastguard Worker const VkImageCreateInfo *create_info,
37*61046927SAndroid Build Coastguard Worker const VkImageSwapchainCreateInfoKHR *swapchain_info,
38*61046927SAndroid Build Coastguard Worker const VkAllocationCallbacks *alloc,
39*61046927SAndroid Build Coastguard Worker struct vn_image **out_img);
40*61046927SAndroid Build Coastguard Worker
41*61046927SAndroid Build Coastguard Worker #else
42*61046927SAndroid Build Coastguard Worker
43*61046927SAndroid Build Coastguard Worker static inline VkResult
vn_wsi_init(UNUSED struct vn_physical_device * physical_dev)44*61046927SAndroid Build Coastguard Worker vn_wsi_init(UNUSED struct vn_physical_device *physical_dev)
45*61046927SAndroid Build Coastguard Worker {
46*61046927SAndroid Build Coastguard Worker return VK_SUCCESS;
47*61046927SAndroid Build Coastguard Worker }
48*61046927SAndroid Build Coastguard Worker
49*61046927SAndroid Build Coastguard Worker static inline void
vn_wsi_fini(UNUSED struct vn_physical_device * physical_dev)50*61046927SAndroid Build Coastguard Worker vn_wsi_fini(UNUSED struct vn_physical_device *physical_dev)
51*61046927SAndroid Build Coastguard Worker {
52*61046927SAndroid Build Coastguard Worker }
53*61046927SAndroid Build Coastguard Worker
54*61046927SAndroid Build Coastguard Worker 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)55*61046927SAndroid Build Coastguard Worker vn_wsi_create_image(struct vn_device *dev,
56*61046927SAndroid Build Coastguard Worker const VkImageCreateInfo *create_info,
57*61046927SAndroid Build Coastguard Worker const struct wsi_image_create_info *wsi_info,
58*61046927SAndroid Build Coastguard Worker const VkAllocationCallbacks *alloc,
59*61046927SAndroid Build Coastguard Worker struct vn_image **out_img)
60*61046927SAndroid Build Coastguard Worker {
61*61046927SAndroid Build Coastguard Worker return VK_ERROR_OUT_OF_HOST_MEMORY;
62*61046927SAndroid Build Coastguard Worker }
63*61046927SAndroid Build Coastguard Worker
64*61046927SAndroid Build Coastguard Worker 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)65*61046927SAndroid Build Coastguard Worker vn_wsi_create_image_from_swapchain(
66*61046927SAndroid Build Coastguard Worker struct vn_device *dev,
67*61046927SAndroid Build Coastguard Worker const VkImageCreateInfo *create_info,
68*61046927SAndroid Build Coastguard Worker const VkImageSwapchainCreateInfoKHR *swapchain_info,
69*61046927SAndroid Build Coastguard Worker const VkAllocationCallbacks *alloc,
70*61046927SAndroid Build Coastguard Worker struct vn_image **out_img)
71*61046927SAndroid Build Coastguard Worker {
72*61046927SAndroid Build Coastguard Worker return VK_ERROR_OUT_OF_HOST_MEMORY;
73*61046927SAndroid Build Coastguard Worker }
74*61046927SAndroid Build Coastguard Worker
75*61046927SAndroid Build Coastguard Worker #endif /* VN_USE_WSI_PLATFORM */
76*61046927SAndroid Build Coastguard Worker
77*61046927SAndroid Build Coastguard Worker #endif /* VN_WSI_H */
78