Liam Middlebrook : winevulkan: Update to VK spec version 1.2.168.
Alexandre Julliard
julliard at winehq.org
Tue Jan 26 15:54:06 CST 2021
Module: wine
Branch: master
Commit: c681a0732fc3c6466b228417bb5e0d518d26b819
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c681a0732fc3c6466b228417bb5e0d518d26b819
Author: Liam Middlebrook <lmiddlebrook at nvidia.com>
Date: Mon Jan 25 07:16:35 2021 -0800
winevulkan: Update to VK spec version 1.2.168.
Signed-off-by: Liam Middlebrook <lmiddlebrook at nvidia.com>
Signed-off-by: Piers Daniell <pdaniell at nvidia.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winevulkan/make_vulkan | 2 +-
dlls/winevulkan/vulkan_thunks.c | 37 ++++++++++++++++++++++++
dlls/winevulkan/winevulkan.json | 2 +-
include/wine/vulkan.h | 63 ++++++++++++++++++++++++++++-------------
4 files changed, 82 insertions(+), 22 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index f4c5065ccd9..6aa126c7169 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.166"
+VK_XML_VERSION = "1.2.168"
WINE_VK_VERSION = (1, 2)
# Filenames to create.
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index 0ea713be6cf..9aec8b1e856 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -3231,6 +3231,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR:
+ {
+ const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR *in = (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR *)in_header;
+ VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->shaderZeroInitializeWorkgroupMemory = in->shaderZeroInitializeWorkgroupMemory;
+
+ out_header->pNext = (VkBaseOutStructure *)out;
+ out_header = out_header->pNext;
+ break;
+ }
+
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
{
const VkPhysicalDeviceRobustness2FeaturesEXT *in = (const VkPhysicalDeviceRobustness2FeaturesEXT *)in_header;
@@ -3265,6 +3281,25 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR:
+ {
+ const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR *in = (const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR *)in_header;
+ VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->workgroupMemoryExplicitLayout = in->workgroupMemoryExplicitLayout;
+ out->workgroupMemoryExplicitLayoutScalarBlockLayout = in->workgroupMemoryExplicitLayoutScalarBlockLayout;
+ out->workgroupMemoryExplicitLayout8BitAccess = in->workgroupMemoryExplicitLayout8BitAccess;
+ out->workgroupMemoryExplicitLayout16BitAccess = in->workgroupMemoryExplicitLayout16BitAccess;
+
+ out_header->pNext = (VkBaseOutStructure *)out;
+ out_header = out_header->pNext;
+ break;
+ }
+
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
{
const VkPhysicalDevice4444FormatsFeaturesEXT *in = (const VkPhysicalDevice4444FormatsFeaturesEXT *)in_header;
@@ -7177,6 +7212,8 @@ static const char * const vk_device_extensions[] =
"VK_KHR_uniform_buffer_standard_layout",
"VK_KHR_variable_pointers",
"VK_KHR_vulkan_memory_model",
+ "VK_KHR_workgroup_memory_explicit_layout",
+ "VK_KHR_zero_initialize_workgroup_memory",
"VK_NV_clip_space_w_scaling",
"VK_NV_compute_shader_derivatives",
"VK_NV_cooperative_matrix",
diff --git a/dlls/winevulkan/winevulkan.json b/dlls/winevulkan/winevulkan.json
index 3cee1b05713..e502d0139e8 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.166"
+ "api_version": "1.2.168"
}
}
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index baf5a1829d5..dedfb3f2984 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -397,6 +397,8 @@
#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
#define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
#define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
+#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
+#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
#define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
@@ -405,6 +407,8 @@
#define VK_QCOM_rotated_copy_commands_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
#define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
#define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
+#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
+#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
#define VK_EXT_4444_FORMATS_SPEC_VERSION 1
@@ -426,7 +430,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 166
+#define VK_HEADER_VERSION 168
#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;
@@ -3133,6 +3137,7 @@ typedef enum VkStructureType
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,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
@@ -3140,6 +3145,7 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
@@ -4934,12 +4940,22 @@ typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures
} VkPhysicalDeviceVulkanMemoryModelFeatures;
typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
-typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
+typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
{
VkStructureType sType;
void *pNext;
- VkBool32 ycbcrImageArrays;
-} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
+ VkBool32 workgroupMemoryExplicitLayout;
+ VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
+ VkBool32 workgroupMemoryExplicitLayout8BitAccess;
+ VkBool32 workgroupMemoryExplicitLayout16BitAccess;
+} VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
+
+typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 shaderZeroInitializeWorkgroupMemory;
+} VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT
{
@@ -6184,14 +6200,24 @@ typedef struct VkPhysicalDeviceVulkan12Properties
VkSampleCountFlags framebufferIntegerColorSampleCounts;
} VkPhysicalDeviceVulkan12Properties;
-typedef struct VkPipelineCacheCreateInfo
+typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
{
VkStructureType sType;
- const void *pNext;
- VkPipelineCacheCreateFlags flags;
- size_t initialDataSize;
- const void *pInitialData;
-} VkPipelineCacheCreateInfo;
+ void *pNext;
+ VkBool32 ycbcrImageArrays;
+} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
+
+typedef struct VkPipelineColorBlendAttachmentState
+{
+ VkBool32 blendEnable;
+ VkBlendFactor srcColorBlendFactor;
+ VkBlendFactor dstColorBlendFactor;
+ VkBlendOp colorBlendOp;
+ VkBlendFactor srcAlphaBlendFactor;
+ VkBlendFactor dstAlphaBlendFactor;
+ VkBlendOp alphaBlendOp;
+ VkColorComponentFlags colorWriteMask;
+} VkPipelineColorBlendAttachmentState;
typedef struct VkPipelineCoverageModulationStateCreateInfoNV
{
@@ -7046,17 +7072,14 @@ typedef struct VkPhysicalDeviceVulkan11Properties
VkDeviceSize WINE_VK_ALIGN(8) maxMemoryAllocationSize;
} VkPhysicalDeviceVulkan11Properties;
-typedef struct VkPipelineColorBlendAttachmentState
+typedef struct VkPipelineCacheCreateInfo
{
- VkBool32 blendEnable;
- VkBlendFactor srcColorBlendFactor;
- VkBlendFactor dstColorBlendFactor;
- VkBlendOp colorBlendOp;
- VkBlendFactor srcAlphaBlendFactor;
- VkBlendFactor dstAlphaBlendFactor;
- VkBlendOp alphaBlendOp;
- VkColorComponentFlags colorWriteMask;
-} VkPipelineColorBlendAttachmentState;
+ VkStructureType sType;
+ const void *pNext;
+ VkPipelineCacheCreateFlags flags;
+ size_t initialDataSize;
+ const void *pInitialData;
+} VkPipelineCacheCreateInfo;
typedef struct VkPipelineCoverageToColorStateCreateInfoNV
{
More information about the wine-cvs
mailing list