winevulkan: Update to VK spec version 1.2.158.

Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Daniel Koch <dkoch@nvidia.com>
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Liam Middlebrook 2020-10-19 10:10:16 -07:00 committed by Alexandre Julliard
parent 5fcc377168
commit 02458faa43
5 changed files with 1447 additions and 1296 deletions

View File

@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.2.155"
VK_XML_VERSION = "1.2.158"
WINE_VK_VERSION = (1, 2)
# Filenames to create.
@ -118,6 +118,9 @@ UNSUPPORTED_EXTENSIONS = [
"VK_KHR_external_memory_fd",
"VK_KHR_external_semaphore_fd",
# Extensions which require callback handling
"VK_EXT_device_memory_report",
# Deprecated extensions
"VK_NV_external_memory_capabilities",
"VK_NV_external_memory_win32",

View File

@ -3051,6 +3051,40 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR:
{
const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *in = (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR *)in_header;
VkPhysicalDeviceFragmentShadingRateFeaturesKHR *out;
if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->pipelineFragmentShadingRate = in->pipelineFragmentShadingRate;
out->primitiveFragmentShadingRate = in->primitiveFragmentShadingRate;
out->attachmentFragmentShadingRate = in->attachmentFragmentShadingRate;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR:
{
const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *in = (const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *)in_header;
VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR *out;
if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->shaderTerminateInvocation = in->shaderTerminateInvocation;
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);
}
@ -4042,6 +4076,12 @@ static void WINAPI wine_vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer
commandBuffer->device->funcs.p_vkCmdSetExclusiveScissorNV(commandBuffer->command_buffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors);
}
static void WINAPI wine_vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer, const VkExtent2D *pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2])
{
TRACE("%p, %p, %p\n", commandBuffer, pFragmentSize, combinerOps);
commandBuffer->device->funcs.p_vkCmdSetFragmentShadingRateKHR(commandBuffer->command_buffer, pFragmentSize, combinerOps);
}
static void WINAPI wine_vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace)
{
TRACE("%p, %#x\n", commandBuffer, frontFace);
@ -5199,6 +5239,12 @@ static void WINAPI wine_vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice->phys_dev, format, pFormatProperties);
}
static VkResult WINAPI wine_vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice, uint32_t *pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR *pFragmentShadingRates)
{
TRACE("%p, %p, %p\n", physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates);
return physicalDevice->instance->funcs.p_vkGetPhysicalDeviceFragmentShadingRatesKHR(physicalDevice->phys_dev, pFragmentShadingRateCount, pFragmentShadingRates);
}
VkResult WINAPI wine_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties *pImageFormatProperties)
{
#if defined(USE_STRUCT_CONVERSION)
@ -5981,6 +6027,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkCmdSetDiscardRectangleEXT", &wine_vkCmdSetDiscardRectangleEXT},
{"vkCmdSetEvent", &wine_vkCmdSetEvent},
{"vkCmdSetExclusiveScissorNV", &wine_vkCmdSetExclusiveScissorNV},
{"vkCmdSetFragmentShadingRateKHR", &wine_vkCmdSetFragmentShadingRateKHR},
{"vkCmdSetFrontFaceEXT", &wine_vkCmdSetFrontFaceEXT},
{"vkCmdSetLineStippleEXT", &wine_vkCmdSetLineStippleEXT},
{"vkCmdSetLineWidth", &wine_vkCmdSetLineWidth},
@ -6190,6 +6237,7 @@ static const struct vulkan_func vk_instance_dispatch_table[] =
{"vkGetPhysicalDeviceFormatProperties", &wine_vkGetPhysicalDeviceFormatProperties},
{"vkGetPhysicalDeviceFormatProperties2", &wine_vkGetPhysicalDeviceFormatProperties2},
{"vkGetPhysicalDeviceFormatProperties2KHR", &wine_vkGetPhysicalDeviceFormatProperties2KHR},
{"vkGetPhysicalDeviceFragmentShadingRatesKHR", &wine_vkGetPhysicalDeviceFragmentShadingRatesKHR},
{"vkGetPhysicalDeviceImageFormatProperties", &wine_vkGetPhysicalDeviceImageFormatProperties},
{"vkGetPhysicalDeviceImageFormatProperties2", &wine_vkGetPhysicalDeviceImageFormatProperties2},
{"vkGetPhysicalDeviceImageFormatProperties2KHR", &wine_vkGetPhysicalDeviceImageFormatProperties2KHR},
@ -6343,6 +6391,7 @@ static const char * const vk_device_extensions[] =
"VK_KHR_external_fence",
"VK_KHR_external_memory",
"VK_KHR_external_semaphore",
"VK_KHR_fragment_shading_rate",
"VK_KHR_get_memory_requirements2",
"VK_KHR_image_format_list",
"VK_KHR_imageless_framebuffer",
@ -6365,6 +6414,7 @@ static const char * const vk_device_extensions[] =
"VK_KHR_shader_float_controls",
"VK_KHR_shader_non_semantic_info",
"VK_KHR_shader_subgroup_extended_types",
"VK_KHR_shader_terminate_invocation",
"VK_KHR_spirv_1_4",
"VK_KHR_storage_buffer_storage_class",
"VK_KHR_swapchain",

View File

@ -1338,6 +1338,7 @@ struct vulkan_device_funcs
void (*p_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
void (*p_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
void (*p_vkCmdSetExclusiveScissorNV)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
void (*p_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer, const VkExtent2D *, const VkFragmentShadingRateCombinerOpKHR[2]);
void (*p_vkCmdSetFrontFaceEXT)(VkCommandBuffer, VkFrontFace);
void (*p_vkCmdSetLineStippleEXT)(VkCommandBuffer, uint32_t, uint16_t);
void (*p_vkCmdSetLineWidth)(VkCommandBuffer, float);
@ -1716,6 +1717,7 @@ struct vulkan_instance_funcs
void (*p_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice, VkFormat, VkFormatProperties *);
void (*p_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice, VkFormat, VkFormatProperties2 *);
void (*p_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice, VkFormat, VkFormatProperties2 *);
VkResult (*p_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice, uint32_t *, VkPhysicalDeviceFragmentShadingRateKHR *);
#if defined(USE_STRUCT_CONVERSION)
VkResult (*p_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkImageTiling, VkImageUsageFlags, VkImageCreateFlags, VkImageFormatProperties_host *);
#else
@ -1899,6 +1901,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkCmdSetDiscardRectangleEXT) \
USE_VK_FUNC(vkCmdSetEvent) \
USE_VK_FUNC(vkCmdSetExclusiveScissorNV) \
USE_VK_FUNC(vkCmdSetFragmentShadingRateKHR) \
USE_VK_FUNC(vkCmdSetFrontFaceEXT) \
USE_VK_FUNC(vkCmdSetLineStippleEXT) \
USE_VK_FUNC(vkCmdSetLineWidth) \
@ -2098,6 +2101,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkGetPhysicalDeviceFormatProperties) \
USE_VK_FUNC(vkGetPhysicalDeviceFormatProperties2) \
USE_VK_FUNC(vkGetPhysicalDeviceFormatProperties2KHR) \
USE_VK_FUNC(vkGetPhysicalDeviceFragmentShadingRatesKHR) \
USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties) \
USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties2) \
USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties2KHR) \

View File

@ -2,6 +2,6 @@
"file_format_version": "1.0.0",
"ICD": {
"library_path": ".\\winevulkan.dll",
"api_version": "1.2.155"
"api_version": "1.2.158"
}
}

File diff suppressed because it is too large Load Diff