Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
---
dlls/winevulkan/make_vulkan | 37 +++++++++++++++++++--------------
dlls/winevulkan/vulkan_thunks.c | 4 ++++
include/wine/vulkan.h | 8 +++++++
3 files changed, 33 insertions(+), 16 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index 8b0ed0c13ecb..d54cb0657171 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -85,45 +85,50 @@ EXT_BLOCK_SIZE = 1000
BLACKLISTED_EXTENSIONS = [
# Instance extensions
+ "VK_EXT_debug_report",
+ # Handling of VK_EXT_debug_report requires some consideration. The win32
+ # loader already provides it for us and it is somewhat usable. If we add
+ # plumbing down to the native layer, we will get each message twice as we
+ # use 2 loaders (win32+native), but we may get output from the driver.
+ # In any case callback conversion is required.
"VK_EXT_debug_utils",
"VK_EXT_validation_features",
"VK_EXT_validation_flags",
- "VK_KHR_display",
+ "VK_KHR_display", # Needs WSI work.
"VK_KHR_get_surface_capabilities2",
"VK_KHR_surface_protected_capabilities",
- "VK_NV_external_memory_capabilities",
# Device extensions
"VK_AMD_display_native_hdr",
- "VK_AMD_memory_overallocation_behavior",
- # Handling of VK_EXT_debug_report requires some consideration. The win32
- # loader already provides it for us and it is somewhat usable. If we add
- # plumbing down to the native layer, we will get each message twice as we
- # use 2 loaders (win32+native), but we may get output from the driver.
- # In any case callback conversion is required.
"VK_EXT_calibrated_timestamps",
- "VK_EXT_debug_report",
+ "VK_AMD_memory_overallocation_behavior",
"VK_EXT_display_control", # Requires VK_EXT_display_surface_counter
- "VK_EXT_external_memory_dma_buf", # Linux specific
+ "VK_EXT_external_memory_host",
"VK_EXT_full_screen_exclusive",
"VK_EXT_hdr_metadata", # Needs WSI work.
- "VK_EXT_image_drm_format_modifier",
"VK_EXT_memory_priority",
"VK_EXT_pipeline_creation_feedback",
"VK_EXT_ycbcr_image_arrays",
"VK_GOOGLE_display_timing",
- "VK_KHR_display", # Needs WSI work.
- "VK_KHR_external_fence",
- "VK_KHR_external_fence_fd",
"VK_KHR_external_fence_win32",
- "VK_KHR_external_memory",
- "VK_KHR_external_semaphore",
+ "VK_KHR_external_memory_win32",
+ "VK_KHR_external_semaphore_win32",
"VK_KHR_shader_float16_int8",
# Relates to external_semaphore and needs type conversions in bitflags.
"VK_KHR_shared_presentable_image", # Needs WSI work.
"VK_KHR_win32_keyed_mutex",
"VK_NV_cooperative_matrix",
"VK_NV_dedicated_allocation_image_aliasing",
+
+ # Extensions for other platforms
+ "VK_EXT_external_memory_dma_buf",
+ "VK_EXT_image_drm_format_modifier",
+ "VK_KHR_external_fence_fd",
+ "VK_KHR_external_memory_fd",
+ "VK_KHR_external_semaphore_fd",
+
+ # Deprecated extensions
+ "VK_NV_external_memory_capabilities",
"VK_NV_external_memory_win32",
]
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index ae4bcb206059..e1df2aa72eae 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -3637,6 +3637,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_memory_budget",
"VK_EXT_pci_bus_info",
"VK_EXT_post_depth_coverage",
+ "VK_EXT_queue_family_foreign",
"VK_EXT_sample_locations",
"VK_EXT_sampler_filter_minmax",
"VK_EXT_scalar_block_layout",
@@ -3662,6 +3663,9 @@ static const char * const vk_device_extensions[] =
"VK_KHR_device_group",
"VK_KHR_draw_indirect_count",
"VK_KHR_driver_properties",
+ "VK_KHR_external_fence",
+ "VK_KHR_external_memory",
+ "VK_KHR_external_semaphore",
"VK_KHR_get_memory_requirements2",
"VK_KHR_image_format_list",
"VK_KHR_incremental_present",
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index 0754b03c8395..2a86277fe204 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -148,8 +148,12 @@
#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
+#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
+#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
+#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
+#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 1
@@ -182,10 +186,14 @@
#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
+#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
+#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
#define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
#define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
+#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
+#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1
--
2.19.2