Module: wine Branch: master Commit: c4e35b9bce04c1cef0cc1ba2df52168a610da984 URL: https://source.winehq.org/git/wine.git/?a=commit;h=c4e35b9bce04c1cef0cc1ba2d...
Author: Liam Middlebrook lmiddlebrook@nvidia.com Date: Mon Apr 27 08:05:20 2020 -0700
winevulkan: Update to VK spec version spec 1.2.139.
Signed-off-by: Liam Middlebrook lmiddlebrook@nvidia.com Signed-off-by: Daniel Koch dkoch@nvidia.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/winevulkan/make_vulkan | 2 +- dlls/winevulkan/vulkan_thunks.c | 20 ++++++++++++++++++++ dlls/winevulkan/winevulkan.json | 2 +- include/wine/vulkan.h | 27 ++++++++++++++++++++++++++- 4 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 9cc5335c5d..5d9889620e 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -64,7 +64,7 @@ from enum import Enum LOGGER = logging.Logger("vulkan") LOGGER.addHandler(logging.StreamHandler())
-VK_XML_VERSION = "1.2.138" +VK_XML_VERSION = "1.2.139" WINE_VK_VERSION = (1, 2)
# Filenames to create. diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c index c5645f7db8..b36740a28e 100644 --- a/dlls/winevulkan/vulkan_thunks.c +++ b/dlls/winevulkan/vulkan_thunks.c @@ -2674,6 +2674,24 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea break; }
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: + { + const VkPhysicalDeviceRobustness2FeaturesEXT *in = (const VkPhysicalDeviceRobustness2FeaturesEXT *)in_header; + VkPhysicalDeviceRobustness2FeaturesEXT *out; + + if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory; + + out->sType = in->sType; + out->pNext = NULL; + out->robustBufferAccess2 = in->robustBufferAccess2; + out->robustImageAccess2 = in->robustImageAccess2; + out->nullDescriptor = in->nullDescriptor; + + out_header->pNext = (VkBaseOutStructure *)out; + out_header = out_header->pNext; + break; + } + default: FIXME("Application requested a linked structure of type %u.\n", in_header->sType); } @@ -5614,6 +5632,7 @@ static const char * const vk_device_extensions[] = "VK_EXT_pipeline_creation_cache_control", "VK_EXT_post_depth_coverage", "VK_EXT_queue_family_foreign", + "VK_EXT_robustness2", "VK_EXT_sample_locations", "VK_EXT_sampler_filter_minmax", "VK_EXT_scalar_block_layout", @@ -5709,6 +5728,7 @@ static const char * const vk_device_extensions[] = "VK_NV_shading_rate_image", "VK_NV_viewport_array2", "VK_NV_viewport_swizzle", + "VK_QCOM_render_pass_shader_resolve", "VK_QCOM_render_pass_store_ops", "VK_QCOM_render_pass_transform", }; diff --git a/dlls/winevulkan/winevulkan.json b/dlls/winevulkan/winevulkan.json index 5137b2e13c..f6a320d917 100644 --- a/dlls/winevulkan/winevulkan.json +++ b/dlls/winevulkan/winevulkan.json @@ -2,6 +2,6 @@ "file_format_version": "1.0.0", "ICD": { "library_path": ".\winevulkan.dll", - "api_version": "1.2.138" + "api_version": "1.2.139" } } diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h index 40dbc16839..913acf9c80 100644 --- a/include/wine/vulkan.h +++ b/include/wine/vulkan.h @@ -265,6 +265,8 @@ #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" +#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 +#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 @@ -379,6 +381,8 @@ #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 1 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" +#define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 +#define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 @@ -398,7 +402,7 @@ #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0) #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0) #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0) -#define VK_HEADER_VERSION 138 +#define VK_HEADER_VERSION 139 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION) #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; @@ -2844,6 +2848,8 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001, VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, @@ -2987,6 +2993,8 @@ typedef enum VkSubpassContents
typedef enum VkSubpassDescriptionFlagBits { + VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, + VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7fffffff, } VkSubpassDescriptionFlagBits;
@@ -4107,6 +4115,15 @@ typedef struct VkPhysicalDeviceRayTracingPropertiesNV uint32_t maxDescriptorSetAccelerationStructures; } VkPhysicalDeviceRayTracingPropertiesNV;
+typedef struct VkPhysicalDeviceRobustness2FeaturesEXT +{ + VkStructureType sType; + void *pNext; + VkBool32 robustBufferAccess2; + VkBool32 robustImageAccess2; + VkBool32 nullDescriptor; +} VkPhysicalDeviceRobustness2FeaturesEXT; + typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { VkStructureType sType; @@ -5356,6 +5373,14 @@ typedef struct VkPhysicalDeviceProtectedMemoryFeatures VkBool32 protectedMemory; } VkPhysicalDeviceProtectedMemoryFeatures;
+typedef struct VkPhysicalDeviceRobustness2PropertiesEXT +{ + VkStructureType sType; + void *pNext; + VkDeviceSize WINE_VK_ALIGN(8) robustStorageBufferAccessSizeAlignment; + VkDeviceSize WINE_VK_ALIGN(8) robustUniformBufferAccessSizeAlignment; +} VkPhysicalDeviceRobustness2PropertiesEXT; + typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT { VkStructureType sType;