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:
Jason Ekstrand 2017-11-16 10:46:26 -08:00
parent 516dfb34e1
commit 3131fd9dec
2 changed files with 47 additions and 45 deletions

View File

@ -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 * \

View File

@ -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 */