From bbeee415eebf214c1658a86db9b6a48b5ece3056 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 9 Apr 2021 16:41:41 -0400 Subject: [PATCH] zink: Learn about VK_KHR_swapchain We're gonna want it eventually. Reviewed-By: Mike Blumenkrantz Part-of: --- src/gallium/drivers/zink/zink_device_info.py | 1 + src/gallium/drivers/zink/zink_screen.c | 5 +++++ src/gallium/drivers/zink/zink_screen.h | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/gallium/drivers/zink/zink_device_info.py b/src/gallium/drivers/zink/zink_device_info.py index 35db4dfb9b2..8754bc786be 100644 --- a/src/gallium/drivers/zink/zink_device_info.py +++ b/src/gallium/drivers/zink/zink_device_info.py @@ -137,6 +137,7 @@ EXTENSIONS = [ alias="scalar_block_layout", features=True, conditions=["$feats.scalarBlockLayout"]), + Extension("VK_KHR_swapchain"), ] # constructor: Versions(device_version(major, minor, patch), struct_version(major, minor)) diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 78170a4e135..8cd0d804209 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -1203,6 +1203,11 @@ load_device_extensions(struct zink_screen *screen) } #endif // VK_EXTX_PORTABILITY_SUBSET_EXTENSION_NAME + if (screen->info.have_KHR_swapchain) { + GET_PROC_ADDR(CreateSwapchainKHR); + GET_PROC_ADDR(DestroySwapchainKHR); + } + return true; } diff --git a/src/gallium/drivers/zink/zink_screen.h b/src/gallium/drivers/zink/zink_screen.h index 4a2e88d968c..ebfd231a2dd 100644 --- a/src/gallium/drivers/zink/zink_screen.h +++ b/src/gallium/drivers/zink/zink_screen.h @@ -146,6 +146,9 @@ struct zink_screen { PFN_vkGetIOSurfaceMVK vk_GetIOSurfaceMVK; #endif + PFN_vkCreateSwapchainKHR vk_CreateSwapchainKHR; + PFN_vkDestroySwapchainKHR vk_DestroySwapchainKHR; + struct { bool dual_color_blend_by_location; bool inline_uniforms;