Liam Middlebrook : winevulkan: Update to VK spec version spec 1.2.139.
Alexandre Julliard
julliard at winehq.org
Mon Apr 27 15:19:31 CDT 2020
Module: wine
Branch: master
Commit: c4e35b9bce04c1cef0cc1ba2df52168a610da984
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c4e35b9bce04c1cef0cc1ba2df52168a610da984
Author: Liam Middlebrook <lmiddlebrook at 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 at nvidia.com>
Signed-off-by: Daniel Koch <dkoch at nvidia.com>
Signed-off-by: Alexandre Julliard <julliard at 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;
More information about the wine-cvs
mailing list