Commit 3e4189e3 authored by Józef Kucia's avatar Józef Kucia Committed by Alexandre Julliard

winevulkan: Update vk.xml to 1.1.104.

parent 04c8a756
......@@ -3,7 +3,7 @@
# This file is generated from Vulkan vk.xml file covered
# by the following copyright and permission notice:
#
# Copyright (c) 2015-2018 The Khronos Group Inc.
# Copyright (c) 2015-2019 The Khronos Group Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
......
......@@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.1.94"
VK_XML_VERSION = "1.1.104"
WINE_VK_VERSION = (1, 0)
# Filenames to create.
......@@ -94,6 +94,7 @@ SUPPORTED_INSTANCE_EXTENSIONS = [
]
BLACKLISTED_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
......@@ -104,8 +105,13 @@ BLACKLISTED_EXTENSIONS = [
"VK_EXT_debug_report",
"VK_EXT_display_control", # Requires VK_EXT_display_surface_counter
"VK_EXT_external_memory_dma_buf", # Linux specific
"VK_EXT_full_screen_exclusive",
"VK_EXT_hdr_metadata", # Needs WSI work.
"VK_EXT_host_query_reset",
"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",
......@@ -113,10 +119,13 @@ BLACKLISTED_EXTENSIONS = [
"VK_KHR_external_fence_win32",
"VK_KHR_external_memory",
"VK_KHR_external_semaphore",
"VK_KHR_shader_float16_int8",
# Relates to external_semaphore and needs type conversions in bitflags.
"VK_KHR_external_semaphore_capabilities",
"VK_KHR_shared_presentable_image", # Needs WSI work.
"VK_KHR_win32_keyed_mutex",
"VK_NV_cooperative_matrix",
"VK_NV_dedicated_allocation_image_aliasing",
"VK_NV_external_memory_win32",
]
......@@ -274,7 +283,7 @@ class VkDefine(object):
# - VK_API_VERSION is a messy, deprecated constant and we don't want generate code for it.
# - AHardwareBuffer/ANativeWindow are forard declarations for Android types, which leaked
# into the define region.
if name in ["VK_API_VERSION", "AHardwareBuffer", "ANativeWindow"]:
if name in ["VK_API_VERSION", "AHardwareBuffer", "ANativeWindow", "CAMetalLayer"]:
return VkDefine(name, None)
# The body of the define is basically unstructured C code. It is not meant for easy parsing.
......@@ -2616,6 +2625,10 @@ class VkRegistry(object):
if feature and not self._is_feature_supported(feature):
continue
required_extension = require.attrib.get("extension")
if required_extension and required_extension in BLACKLISTED_EXTENSIONS:
continue
# Pull in any commands we need. We infer types to pull in from the command
# as well.
for command in require.findall("command"):
......
......@@ -3,7 +3,7 @@
* This file is generated from Vulkan vk.xml file covered
* by the following copyright and permission notice:
*
* Copyright (c) 2015-2018 The Khronos Group Inc.
* Copyright (c) 2015-2019 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -844,6 +844,15 @@ static inline void convert_VkMemoryRequirements2KHR_host_to_win(const VkMemoryRe
convert_VkMemoryRequirements_host_to_win(&in->memoryRequirements, &out->memoryRequirements);
}
static inline void convert_VkBufferDeviceAddressInfoEXT_win_to_host(const VkBufferDeviceAddressInfoEXT *in, VkBufferDeviceAddressInfoEXT_host *out)
{
if (!in) return;
out->sType = in->sType;
out->pNext = in->pNext;
out->buffer = in->buffer;
}
static inline void convert_VkBufferMemoryRequirementsInfo2_win_to_host(const VkBufferMemoryRequirementsInfo2 *in, VkBufferMemoryRequirementsInfo2_host *out)
{
if (!in) return;
......@@ -2614,6 +2623,23 @@ static void WINAPI wine_vkGetAccelerationStructureMemoryRequirementsNV(VkDevice
#endif
}
static VkDeviceAddress WINAPI wine_vkGetBufferDeviceAddressEXT(VkDevice device, const VkBufferDeviceAddressInfoEXT *pInfo)
{
#if defined(USE_STRUCT_CONVERSION)
VkDeviceAddress result;
VkBufferDeviceAddressInfoEXT_host pInfo_host;
TRACE("%p, %p\n", device, pInfo);
convert_VkBufferDeviceAddressInfoEXT_win_to_host(pInfo, &pInfo_host);
result = device->funcs.p_vkGetBufferDeviceAddressEXT(device->device, &pInfo_host);
return result;
#else
TRACE("%p, %p\n", device, pInfo);
return device->funcs.p_vkGetBufferDeviceAddressEXT(device->device, pInfo);
#endif
}
void WINAPI wine_vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements *pMemoryRequirements)
{
#if defined(USE_STRUCT_CONVERSION)
......@@ -3446,6 +3472,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkFreeMemory", &wine_vkFreeMemory},
{"vkGetAccelerationStructureHandleNV", &wine_vkGetAccelerationStructureHandleNV},
{"vkGetAccelerationStructureMemoryRequirementsNV", &wine_vkGetAccelerationStructureMemoryRequirementsNV},
{"vkGetBufferDeviceAddressEXT", &wine_vkGetBufferDeviceAddressEXT},
{"vkGetBufferMemoryRequirements", &wine_vkGetBufferMemoryRequirements},
{"vkGetBufferMemoryRequirements2", &wine_vkGetBufferMemoryRequirements2},
{"vkGetBufferMemoryRequirements2KHR", &wine_vkGetBufferMemoryRequirements2KHR},
......@@ -3588,14 +3615,18 @@ static const char * const vk_device_extensions[] =
"VK_AMD_texture_gather_bias_lod",
"VK_EXT_astc_decode_mode",
"VK_EXT_blend_operation_advanced",
"VK_EXT_buffer_device_address",
"VK_EXT_conditional_rendering",
"VK_EXT_conservative_rasterization",
"VK_EXT_depth_clip_enable",
"VK_EXT_depth_range_unrestricted",
"VK_EXT_descriptor_indexing",
"VK_EXT_discard_rectangles",
"VK_EXT_filter_cubic",
"VK_EXT_fragment_density_map",
"VK_EXT_global_priority",
"VK_EXT_inline_uniform_block",
"VK_EXT_memory_budget",
"VK_EXT_pci_bus_info",
"VK_EXT_post_depth_coverage",
"VK_EXT_sample_locations",
......@@ -3618,6 +3649,7 @@ static const char * const vk_device_extensions[] =
"VK_KHR_bind_memory2",
"VK_KHR_create_renderpass2",
"VK_KHR_dedicated_allocation",
"VK_KHR_depth_stencil_resolve",
"VK_KHR_descriptor_update_template",
"VK_KHR_device_group",
"VK_KHR_draw_indirect_count",
......@@ -3635,6 +3667,7 @@ static const char * const vk_device_extensions[] =
"VK_KHR_sampler_ycbcr_conversion",
"VK_KHR_shader_atomic_int64",
"VK_KHR_shader_draw_parameters",
"VK_KHR_shader_float_controls",
"VK_KHR_storage_buffer_storage_class",
"VK_KHR_swapchain",
"VK_KHR_swapchain_mutable_format",
......
......@@ -3,7 +3,7 @@
* This file is generated from Vulkan vk.xml file covered
* by the following copyright and permission notice:
*
* Copyright (c) 2015-2018 The Khronos Group Inc.
* Copyright (c) 2015-2019 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -472,6 +472,13 @@ typedef struct VkMemoryRequirements2KHR_host
VkMemoryRequirements_host memoryRequirements;
} VkMemoryRequirements2KHR_host;
typedef struct VkBufferDeviceAddressInfoEXT_host
{
VkStructureType sType;
const void *pNext;
VkBuffer buffer;
} VkBufferDeviceAddressInfoEXT_host;
typedef struct VkBufferMemoryRequirementsInfo2_host
{
VkStructureType sType;
......@@ -1039,6 +1046,11 @@ struct vulkan_device_funcs
void (*p_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice, const VkAccelerationStructureMemoryRequirementsInfoNV *, VkMemoryRequirements2KHR *);
#endif
#if defined(USE_STRUCT_CONVERSION)
VkDeviceAddress (*p_vkGetBufferDeviceAddressEXT)(VkDevice, const VkBufferDeviceAddressInfoEXT_host *);
#else
VkDeviceAddress (*p_vkGetBufferDeviceAddressEXT)(VkDevice, const VkBufferDeviceAddressInfoEXT *);
#endif
#if defined(USE_STRUCT_CONVERSION)
void (*p_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements_host *);
#else
void (*p_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements *);
......@@ -1373,6 +1385,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkFreeMemory) \
USE_VK_FUNC(vkGetAccelerationStructureHandleNV) \
USE_VK_FUNC(vkGetAccelerationStructureMemoryRequirementsNV) \
USE_VK_FUNC(vkGetBufferDeviceAddressEXT) \
USE_VK_FUNC(vkGetBufferMemoryRequirements) \
USE_VK_FUNC(vkGetBufferMemoryRequirements2) \
USE_VK_FUNC(vkGetBufferMemoryRequirements2KHR) \
......
......@@ -3,7 +3,7 @@
# This file is generated from Vulkan vk.xml file covered
# by the following copyright and permission notice:
#
# Copyright (c) 2015-2018 The Khronos Group Inc.
# Copyright (c) 2015-2019 The Khronos Group Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
......
......@@ -3,7 +3,7 @@
* This file is generated from Vulkan vk.xml file covered
* by the following copyright and permission notice:
*
* Copyright (c) 2015-2018 The Khronos Group Inc.
* Copyright (c) 2015-2019 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment