diff options
author | Jason Ekstrand <[email protected]> | 2015-10-07 14:13:55 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-10-08 12:11:18 -0700 |
commit | 89845598921afbef35b0adefee6e2eb9446ef327 (patch) | |
tree | 90d6f5c328208ec4fd6e6ebe9b9aea5c1fbab8f0 /src/vulkan/anv_wsi.h | |
parent | 2228ec0112cbc21f0bac986582ef706476094f0b (diff) |
vk/0.170.2: Update to the new VK_EXT_KHR_swapchain extensions
Diffstat (limited to 'src/vulkan/anv_wsi.h')
-rw-r--r-- | src/vulkan/anv_wsi.h | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/src/vulkan/anv_wsi.h b/src/vulkan/anv_wsi.h index cbff854c2fc..280049b0e86 100644 --- a/src/vulkan/anv_wsi.h +++ b/src/vulkan/anv_wsi.h @@ -25,37 +25,45 @@ #include "anv_private.h" -struct anv_swap_chain { +struct anv_swapchain { struct anv_device * device; - VkResult (*destroy)(struct anv_swap_chain *swap_chain); - VkResult (*get_swap_chain_info)(struct anv_swap_chain *swap_chain, - VkSwapChainInfoTypeWSI infoType, - size_t *pDataSize, void *pData); - VkResult (*acquire_next_image)(struct anv_swap_chain *swap_chain, + VkResult (*destroy)(struct anv_swapchain *swapchain); + VkResult (*get_images)(struct anv_swapchain *swapchain, + uint32_t *pCount, VkImage *pSwapchainImages); + VkResult (*acquire_next_image)(struct anv_swapchain *swap_chain, uint64_t timeout, VkSemaphore semaphore, uint32_t *image_index); - VkResult (*queue_present)(struct anv_swap_chain *swap_chain, + VkResult (*queue_present)(struct anv_swapchain *swap_chain, struct anv_queue *queue, uint32_t image_index); }; -ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_swap_chain, VkSwapChainWSI) +ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_swapchain, VkSwapchainKHR) struct anv_wsi_implementation { VkResult (*get_window_supported)(struct anv_wsi_implementation *impl, struct anv_physical_device *physical_device, - const VkSurfaceDescriptionWindowWSI *window, + const VkSurfaceDescriptionWindowKHR *window, VkBool32 *pSupported); - VkResult (*get_surface_info)(struct anv_wsi_implementation *impl, + VkResult (*get_surface_properties)(struct anv_wsi_implementation *impl, + struct anv_device *device, + const VkSurfaceDescriptionWindowKHR *window, + VkSurfacePropertiesKHR *properties); + VkResult (*get_surface_formats)(struct anv_wsi_implementation *impl, + struct anv_device *device, + const VkSurfaceDescriptionWindowKHR *window, + uint32_t *pCount, + VkSurfaceFormatKHR *pSurfaceFormats); + VkResult (*get_surface_present_modes)(struct anv_wsi_implementation *impl, + struct anv_device *device, + const VkSurfaceDescriptionWindowKHR *window, + uint32_t *pCount, + VkPresentModeKHR *pPresentModes); + VkResult (*create_swapchain)(struct anv_wsi_implementation *impl, struct anv_device *device, - VkSurfaceDescriptionWindowWSI *window, - VkSurfaceInfoTypeWSI infoType, - size_t* pDataSize, void* pData); - VkResult (*create_swap_chain)(struct anv_wsi_implementation *impl, - struct anv_device *device, - const VkSwapChainCreateInfoWSI *pCreateInfo, - struct anv_swap_chain **swap_chain); + const VkSwapchainCreateInfoKHR *pCreateInfo, + struct anv_swapchain **swapchain); }; VkResult anv_x11_init_wsi(struct anv_instance *instance); |