summaryrefslogtreecommitdiff
path: root/src/intel/vulkan/anv_wsi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel/vulkan/anv_wsi.h')
-rw-r--r--src/intel/vulkan/anv_wsi.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/intel/vulkan/anv_wsi.h b/src/intel/vulkan/anv_wsi.h
index 1b7147dd417..2548e412c12 100644
--- a/src/intel/vulkan/anv_wsi.h
+++ b/src/intel/vulkan/anv_wsi.h
@@ -28,6 +28,22 @@
struct anv_swapchain;
+struct anv_wsi_image_fns {
+ VkResult (*create_wsi_image)(VkDevice device_h,
+ const VkSwapchainCreateInfoKHR *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkImage *image_p,
+ VkDeviceMemory *memory_p,
+ uint32_t *size_p,
+ uint32_t *offset_p,
+ uint32_t *row_pitch_p,
+ int *fd_p);
+ void (*free_wsi_image)(VkDevice device,
+ const VkAllocationCallbacks *pAllocator,
+ VkImage image_h,
+ VkDeviceMemory memory_h);
+};
+
struct anv_wsi_interface {
VkResult (*get_support)(VkIcdSurfaceBase *surface,
struct anv_wsi_device *wsi_device,
@@ -47,6 +63,7 @@ struct anv_wsi_interface {
struct anv_device *device,
const VkSwapchainCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
+ const struct anv_wsi_image_fns *image_fns,
struct anv_swapchain **swapchain);
};
@@ -54,7 +71,7 @@ struct anv_swapchain {
VkDevice device;
VkAllocationCallbacks alloc;
-
+ const struct anv_wsi_image_fns *image_fns;
VkFence fences[3];
VkResult (*destroy)(struct anv_swapchain *swapchain,