winevulkan: Update to VK spec version 1.2.182.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Georg Lehmann 2021-06-21 11:03:22 +02:00 committed by Alexandre Julliard
parent d2354aa04d
commit 95612e297a
7 changed files with 1722 additions and 1470 deletions

View File

@ -388,6 +388,16 @@ void WINAPI vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer, uint32_t taskCou
unix_funcs->p_vkCmdDrawMeshTasksNV(commandBuffer, taskCount, firstTask);
}
void WINAPI vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT *pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride)
{
unix_funcs->p_vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride);
}
void WINAPI vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT *pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t *pVertexOffset)
{
unix_funcs->p_vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset);
}
void WINAPI vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer)
{
unix_funcs->p_vkCmdEndConditionalRenderingEXT(commandBuffer);
@ -2060,6 +2070,8 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkCmdDrawMeshTasksIndirectCountNV", &vkCmdDrawMeshTasksIndirectCountNV},
{"vkCmdDrawMeshTasksIndirectNV", &vkCmdDrawMeshTasksIndirectNV},
{"vkCmdDrawMeshTasksNV", &vkCmdDrawMeshTasksNV},
{"vkCmdDrawMultiEXT", &vkCmdDrawMultiEXT},
{"vkCmdDrawMultiIndexedEXT", &vkCmdDrawMultiIndexedEXT},
{"vkCmdEndConditionalRenderingEXT", &vkCmdEndConditionalRenderingEXT},
{"vkCmdEndDebugUtilsLabelEXT", &vkCmdEndDebugUtilsLabelEXT},
{"vkCmdEndQuery", &vkCmdEndQuery},

View File

@ -89,6 +89,8 @@ struct unix_funcs
void (WINAPI *p_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (WINAPI *p_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (WINAPI *p_vkCmdDrawMeshTasksNV)(VkCommandBuffer, uint32_t, uint32_t);
void (WINAPI *p_vkCmdDrawMultiEXT)(VkCommandBuffer, uint32_t, const VkMultiDrawInfoEXT *, uint32_t, uint32_t, uint32_t);
void (WINAPI *p_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer, uint32_t, const VkMultiDrawIndexedInfoEXT *, uint32_t, uint32_t, uint32_t, const int32_t *);
void (WINAPI *p_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer);
void (WINAPI *p_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer);
void (WINAPI *p_vkCmdEndQuery)(VkCommandBuffer, VkQueryPool, uint32_t);

View File

@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.2.178"
VK_XML_VERSION = "1.2.182"
WINE_VK_VERSION = (1, 2)
# Filenames to create.
@ -108,6 +108,7 @@ UNSUPPORTED_EXTENSIONS = [
# Extensions for other platforms
"VK_EXT_external_memory_dma_buf",
"VK_EXT_image_drm_format_modifier",
"VK_EXT_physical_device_drm",
"VK_KHR_external_fence_fd",
"VK_KHR_external_memory_fd",
"VK_KHR_external_semaphore_fd",
@ -115,6 +116,9 @@ UNSUPPORTED_EXTENSIONS = [
# Extensions which require callback handling
"VK_EXT_device_memory_report",
# Extensions which are broken
"VK_HUAWEI_subpass_shading", # https://github.com/KhronosGroup/Vulkan-Docs/issues/1564
# Deprecated extensions
"VK_NV_external_memory_capabilities",
"VK_NV_external_memory_win32",

View File

@ -2842,6 +2842,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
{
const VkPhysicalDeviceMultiDrawFeaturesEXT *in = (const VkPhysicalDeviceMultiDrawFeaturesEXT *)in_header;
VkPhysicalDeviceMultiDrawFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->multiDraw = in->multiDraw;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT:
{
const VkPhysicalDeviceInlineUniformBlockFeaturesEXT *in = (const VkPhysicalDeviceInlineUniformBlockFeaturesEXT *)in_header;
@ -3962,6 +3978,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR:
{
const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR *in = (const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR *)in_header;
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->shaderSubgroupUniformControlFlow = in->shaderSubgroupUniformControlFlow;
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;
@ -4214,6 +4246,23 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV:
{
const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV *in = (const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV *)in_header;
VkPhysicalDeviceRayTracingMotionBlurFeaturesNV *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->rayTracingMotionBlur = in->rayTracingMotionBlur;
out->rayTracingMotionBlurPipelineTraceRaysIndirect = in->rayTracingMotionBlurPipelineTraceRaysIndirect;
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);
}
@ -5124,6 +5173,18 @@ static void WINAPI wine_vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer, uint
commandBuffer->device->funcs.p_vkCmdDrawMeshTasksNV(commandBuffer->command_buffer, taskCount, firstTask);
}
static void WINAPI wine_vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT *pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride)
{
TRACE("%p, %u, %p, %u, %u, %u\n", commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride);
commandBuffer->device->funcs.p_vkCmdDrawMultiEXT(commandBuffer->command_buffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride);
}
static void WINAPI wine_vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT *pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t *pVertexOffset)
{
TRACE("%p, %u, %p, %u, %u, %u, %p\n", commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset);
commandBuffer->device->funcs.p_vkCmdDrawMultiIndexedEXT(commandBuffer->command_buffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset);
}
static void WINAPI wine_vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer)
{
TRACE("%p\n", commandBuffer);
@ -7799,6 +7860,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_fragment_density_map2",
"VK_EXT_fragment_shader_interlock",
"VK_EXT_global_priority",
"VK_EXT_global_priority_query",
"VK_EXT_host_query_reset",
"VK_EXT_image_robustness",
"VK_EXT_index_type_uint8",
@ -7806,6 +7868,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_line_rasterization",
"VK_EXT_memory_budget",
"VK_EXT_memory_priority",
"VK_EXT_multi_draw",
"VK_EXT_pci_bus_info",
"VK_EXT_pipeline_creation_cache_control",
"VK_EXT_post_depth_coverage",
@ -7884,6 +7947,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_subgroup_uniform_control_flow",
"VK_KHR_shader_terminate_invocation",
"VK_KHR_spirv_1_4",
"VK_KHR_storage_buffer_storage_class",
@ -7918,6 +7982,7 @@ static const char * const vk_device_extensions[] =
"VK_NV_inherited_viewport_scissor",
"VK_NV_mesh_shader",
"VK_NV_ray_tracing",
"VK_NV_ray_tracing_motion_blur",
"VK_NV_representative_fragment_test",
"VK_NV_sample_mask_override_coverage",
"VK_NV_scissor_exclusive",
@ -8091,6 +8156,8 @@ const struct unix_funcs loader_funcs =
&wine_vkCmdDrawMeshTasksIndirectCountNV,
&wine_vkCmdDrawMeshTasksIndirectNV,
&wine_vkCmdDrawMeshTasksNV,
&wine_vkCmdDrawMultiEXT,
&wine_vkCmdDrawMultiIndexedEXT,
&wine_vkCmdEndConditionalRenderingEXT,
&wine_vkCmdEndDebugUtilsLabelEXT,
&wine_vkCmdEndQuery,

View File

@ -1798,6 +1798,8 @@ struct vulkan_device_funcs
void (*p_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (*p_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
void (*p_vkCmdDrawMeshTasksNV)(VkCommandBuffer, uint32_t, uint32_t);
void (*p_vkCmdDrawMultiEXT)(VkCommandBuffer, uint32_t, const VkMultiDrawInfoEXT *, uint32_t, uint32_t, uint32_t);
void (*p_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer, uint32_t, const VkMultiDrawIndexedInfoEXT *, uint32_t, uint32_t, uint32_t, const int32_t *);
void (*p_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer);
void (*p_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer);
void (*p_vkCmdEndQuery)(VkCommandBuffer, VkQueryPool, uint32_t);
@ -2195,6 +2197,8 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectCountNV) \
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectNV) \
USE_VK_FUNC(vkCmdDrawMeshTasksNV) \
USE_VK_FUNC(vkCmdDrawMultiEXT) \
USE_VK_FUNC(vkCmdDrawMultiIndexedEXT) \
USE_VK_FUNC(vkCmdEndConditionalRenderingEXT) \
USE_VK_FUNC(vkCmdEndDebugUtilsLabelEXT) \
USE_VK_FUNC(vkCmdEndQuery) \

View File

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

File diff suppressed because it is too large Load Diff