vulkan/wsi: Move wsi_swapchain to wsi_common_private.h
The drivers no longer poke at this directly. Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Chad Versace <chadversary@chromium.org>
This commit is contained in:
parent
516dfb34e1
commit
3131fd9dec
|
@ -49,32 +49,7 @@ struct wsi_memory_allocate_info {
|
|||
};
|
||||
|
||||
struct wsi_device;
|
||||
|
||||
struct wsi_swapchain {
|
||||
const struct wsi_device *wsi;
|
||||
|
||||
VkDevice device;
|
||||
VkAllocationCallbacks alloc;
|
||||
VkFence fences[3];
|
||||
VkPresentModeKHR present_mode;
|
||||
uint32_t image_count;
|
||||
|
||||
bool use_prime_blit;
|
||||
|
||||
/* Command pools, one per queue family */
|
||||
VkCommandPool *cmd_pools;
|
||||
|
||||
VkResult (*destroy)(struct wsi_swapchain *swapchain,
|
||||
const VkAllocationCallbacks *pAllocator);
|
||||
struct wsi_image *(*get_wsi_image)(struct wsi_swapchain *swapchain,
|
||||
uint32_t image_index);
|
||||
VkResult (*acquire_next_image)(struct wsi_swapchain *swap_chain,
|
||||
uint64_t timeout, VkSemaphore semaphore,
|
||||
uint32_t *image_index);
|
||||
VkResult (*queue_present)(struct wsi_swapchain *swap_chain,
|
||||
uint32_t image_index,
|
||||
const VkPresentRegionKHR *damage);
|
||||
};
|
||||
struct wsi_swapchain;
|
||||
|
||||
struct wsi_interface {
|
||||
VkResult (*get_support)(VkIcdSurfaceBase *surface,
|
||||
|
@ -166,25 +141,6 @@ struct wsi_callbacks {
|
|||
};
|
||||
#undef WSI_CB
|
||||
|
||||
#define WSI_DEFINE_NONDISP_HANDLE_CASTS(__wsi_type, __VkType) \
|
||||
\
|
||||
static inline struct __wsi_type * \
|
||||
__wsi_type ## _from_handle(__VkType _handle) \
|
||||
{ \
|
||||
return (struct __wsi_type *)(uintptr_t) _handle; \
|
||||
} \
|
||||
\
|
||||
static inline __VkType \
|
||||
__wsi_type ## _to_handle(struct __wsi_type *_obj) \
|
||||
{ \
|
||||
return (__VkType)(uintptr_t) _obj; \
|
||||
}
|
||||
|
||||
#define WSI_FROM_HANDLE(__wsi_type, __name, __handle) \
|
||||
struct __wsi_type *__name = __wsi_type ## _from_handle(__handle)
|
||||
|
||||
WSI_DEFINE_NONDISP_HANDLE_CASTS(wsi_swapchain, VkSwapchainKHR)
|
||||
|
||||
#define ICD_DEFINE_NONDISP_HANDLE_CASTS(__VkIcdType, __VkType) \
|
||||
\
|
||||
static inline __VkIcdType * \
|
||||
|
|
|
@ -41,6 +41,32 @@ struct wsi_image {
|
|||
int fd;
|
||||
};
|
||||
|
||||
struct wsi_swapchain {
|
||||
const struct wsi_device *wsi;
|
||||
|
||||
VkDevice device;
|
||||
VkAllocationCallbacks alloc;
|
||||
VkFence fences[3];
|
||||
VkPresentModeKHR present_mode;
|
||||
uint32_t image_count;
|
||||
|
||||
bool use_prime_blit;
|
||||
|
||||
/* Command pools, one per queue family */
|
||||
VkCommandPool *cmd_pools;
|
||||
|
||||
VkResult (*destroy)(struct wsi_swapchain *swapchain,
|
||||
const VkAllocationCallbacks *pAllocator);
|
||||
struct wsi_image *(*get_wsi_image)(struct wsi_swapchain *swapchain,
|
||||
uint32_t image_index);
|
||||
VkResult (*acquire_next_image)(struct wsi_swapchain *swap_chain,
|
||||
uint64_t timeout, VkSemaphore semaphore,
|
||||
uint32_t *image_index);
|
||||
VkResult (*queue_present)(struct wsi_swapchain *swap_chain,
|
||||
uint32_t image_index,
|
||||
const VkPresentRegionKHR *damage);
|
||||
};
|
||||
|
||||
VkResult
|
||||
wsi_swapchain_init(const struct wsi_device *wsi,
|
||||
struct wsi_swapchain *chain,
|
||||
|
@ -64,4 +90,24 @@ void
|
|||
wsi_destroy_image(const struct wsi_swapchain *chain,
|
||||
struct wsi_image *image);
|
||||
|
||||
|
||||
#define WSI_DEFINE_NONDISP_HANDLE_CASTS(__wsi_type, __VkType) \
|
||||
\
|
||||
static inline struct __wsi_type * \
|
||||
__wsi_type ## _from_handle(__VkType _handle) \
|
||||
{ \
|
||||
return (struct __wsi_type *)(uintptr_t) _handle; \
|
||||
} \
|
||||
\
|
||||
static inline __VkType \
|
||||
__wsi_type ## _to_handle(struct __wsi_type *_obj) \
|
||||
{ \
|
||||
return (__VkType)(uintptr_t) _obj; \
|
||||
}
|
||||
|
||||
#define WSI_FROM_HANDLE(__wsi_type, __name, __handle) \
|
||||
struct __wsi_type *__name = __wsi_type ## _from_handle(__handle)
|
||||
|
||||
WSI_DEFINE_NONDISP_HANDLE_CASTS(wsi_swapchain, VkSwapchainKHR)
|
||||
|
||||
#endif /* WSI_COMMON_PRIVATE_H */
|
||||
|
|
Loading…
Reference in New Issue