Commit 95612e29 authored by Georg Lehmann's avatar Georg Lehmann Committed by Alexandre Julliard

winevulkan: Update to VK spec version 1.2.182.

parent d2354aa0
......@@ -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},
......
......@@ -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);
......
......@@ -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",
......
......@@ -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,
......
......@@ -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) \
......
......@@ -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"
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment