summaryrefslogtreecommitdiffstats
path: root/src/vulkan/anv_wsi.h
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2015-10-07 14:13:55 -0700
committerJason Ekstrand <[email protected]>2015-10-08 12:11:18 -0700
commit89845598921afbef35b0adefee6e2eb9446ef327 (patch)
tree90d6f5c328208ec4fd6e6ebe9b9aea5c1fbab8f0 /src/vulkan/anv_wsi.h
parent2228ec0112cbc21f0bac986582ef706476094f0b (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.h42
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);