winevulkan: Update to VK spec version 1.2.185.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Georg Lehmann 2021-07-20 15:04:48 +02:00 committed by Alexandre Julliard
parent c2948c96d6
commit bdc02621c1
7 changed files with 1527 additions and 1322 deletions

View File

@ -143,6 +143,11 @@ void WINAPI vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer,
unix_funcs->p_vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
}
void WINAPI vkCmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout)
{
unix_funcs->p_vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout);
}
void WINAPI vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
{
unix_funcs->p_vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
@ -1978,6 +1983,11 @@ VkResult WINAPI vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFe
return unix_funcs->p_vkWaitForFences(device, fenceCount, pFences, waitAll, timeout);
}
VkResult WINAPI vkWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout)
{
return unix_funcs->p_vkWaitForPresentKHR(device, swapchain, presentId, timeout);
}
VkResult WINAPI vkWaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo *pWaitInfo, uint64_t timeout)
{
return unix_funcs->p_vkWaitSemaphores(device, pWaitInfo, timeout);
@ -2021,6 +2031,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkCmdBeginTransformFeedbackEXT", &vkCmdBeginTransformFeedbackEXT},
{"vkCmdBindDescriptorSets", &vkCmdBindDescriptorSets},
{"vkCmdBindIndexBuffer", &vkCmdBindIndexBuffer},
{"vkCmdBindInvocationMaskHUAWEI", &vkCmdBindInvocationMaskHUAWEI},
{"vkCmdBindPipeline", &vkCmdBindPipeline},
{"vkCmdBindPipelineShaderGroupNV", &vkCmdBindPipelineShaderGroupNV},
{"vkCmdBindShadingRateImageNV", &vkCmdBindShadingRateImageNV},
@ -2333,6 +2344,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkUpdateDescriptorSetWithTemplateKHR", &vkUpdateDescriptorSetWithTemplateKHR},
{"vkUpdateDescriptorSets", &vkUpdateDescriptorSets},
{"vkWaitForFences", &vkWaitForFences},
{"vkWaitForPresentKHR", &vkWaitForPresentKHR},
{"vkWaitSemaphores", &vkWaitSemaphores},
{"vkWaitSemaphoresKHR", &vkWaitSemaphoresKHR},
{"vkWriteAccelerationStructuresPropertiesKHR", &vkWriteAccelerationStructuresPropertiesKHR},

View File

@ -40,6 +40,7 @@ struct unix_funcs
void (WINAPI *p_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
void (WINAPI *p_vkCmdBindDescriptorSets)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkDescriptorSet *, uint32_t, const uint32_t *);
void (WINAPI *p_vkCmdBindIndexBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkIndexType);
void (WINAPI *p_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer, VkImageView, VkImageLayout);
void (WINAPI *p_vkCmdBindPipeline)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline);
void (WINAPI *p_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline, uint32_t);
void (WINAPI *p_vkCmdBindShadingRateImageNV)(VkCommandBuffer, VkImageView, VkImageLayout);
@ -412,6 +413,7 @@ struct unix_funcs
void (WINAPI *p_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
void (WINAPI *p_vkUpdateDescriptorSets)(VkDevice, uint32_t, const VkWriteDescriptorSet *, uint32_t, const VkCopyDescriptorSet *);
VkResult (WINAPI *p_vkWaitForFences)(VkDevice, uint32_t, const VkFence *, VkBool32, uint64_t);
VkResult (WINAPI *p_vkWaitForPresentKHR)(VkDevice, VkSwapchainKHR, uint64_t, uint64_t);
VkResult (WINAPI *p_vkWaitSemaphores)(VkDevice, const VkSemaphoreWaitInfo *, uint64_t);
VkResult (WINAPI *p_vkWaitSemaphoresKHR)(VkDevice, const VkSemaphoreWaitInfo *, uint64_t);
VkResult (WINAPI *p_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice, uint32_t, const VkAccelerationStructureKHR *, VkQueryType, size_t, void *, size_t);

View File

@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.2.182"
VK_XML_VERSION = "1.2.185"
WINE_VK_VERSION = (1, 2)
# Filenames to create.
@ -104,6 +104,7 @@ UNSUPPORTED_EXTENSIONS = [
# Relates to external_semaphore and needs type conversions in bitflags.
"VK_KHR_shared_presentable_image", # Needs WSI work.
"VK_KHR_win32_keyed_mutex",
"VK_NV_external_memory_rdma", # Needs shared resources work.
# Extensions for other platforms
"VK_EXT_external_memory_dma_buf",

View File

@ -2781,6 +2781,38 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR:
{
const VkPhysicalDevicePresentIdFeaturesKHR *in = (const VkPhysicalDevicePresentIdFeaturesKHR *)in_header;
VkPhysicalDevicePresentIdFeaturesKHR *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->presentId = in->presentId;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR:
{
const VkPhysicalDevicePresentWaitFeaturesKHR *in = (const VkPhysicalDevicePresentWaitFeaturesKHR *)in_header;
VkPhysicalDevicePresentWaitFeaturesKHR *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->presentWait = in->presentWait;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
{
const VkPhysicalDevice16BitStorageFeatures *in = (const VkPhysicalDevice16BitStorageFeatures *)in_header;
@ -2946,6 +2978,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT:
{
const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT *in = (const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT *)in_header;
VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->globalPriorityQuery = in->globalPriorityQuery;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
{
const VkPhysicalDeviceDescriptorIndexingFeatures *in = (const VkPhysicalDeviceDescriptorIndexingFeatures *)in_header;
@ -3094,6 +3142,33 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT:
{
const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT *in = (const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT *)in_header;
VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->shaderBufferFloat16Atomics = in->shaderBufferFloat16Atomics;
out->shaderBufferFloat16AtomicAdd = in->shaderBufferFloat16AtomicAdd;
out->shaderBufferFloat16AtomicMinMax = in->shaderBufferFloat16AtomicMinMax;
out->shaderBufferFloat32AtomicMinMax = in->shaderBufferFloat32AtomicMinMax;
out->shaderBufferFloat64AtomicMinMax = in->shaderBufferFloat64AtomicMinMax;
out->shaderSharedFloat16Atomics = in->shaderSharedFloat16Atomics;
out->shaderSharedFloat16AtomicAdd = in->shaderSharedFloat16AtomicAdd;
out->shaderSharedFloat16AtomicMinMax = in->shaderSharedFloat16AtomicMinMax;
out->shaderSharedFloat32AtomicMinMax = in->shaderSharedFloat32AtomicMinMax;
out->shaderSharedFloat64AtomicMinMax = in->shaderSharedFloat64AtomicMinMax;
out->shaderImageFloat32AtomicMinMax = in->shaderImageFloat32AtomicMinMax;
out->sparseImageFloat32AtomicMinMax = in->sparseImageFloat32AtomicMinMax;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
{
const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *in = (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)in_header;
@ -3274,6 +3349,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI:
{
const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI *in = (const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI *)in_header;
VkPhysicalDeviceInvocationMaskFeaturesHUAWEI *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->invocationMask = in->invocationMask;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV:
{
const VkPhysicalDeviceMeshShaderFeaturesNV *in = (const VkPhysicalDeviceMeshShaderFeaturesNV *)in_header;
@ -4757,6 +4848,12 @@ static void WINAPI wine_vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBu
commandBuffer->device->funcs.p_vkCmdBindIndexBuffer(commandBuffer->command_buffer, buffer, offset, indexType);
}
static void WINAPI wine_vkCmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout)
{
TRACE("%p, 0x%s, %#x\n", commandBuffer, wine_dbgstr_longlong(imageView), imageLayout);
commandBuffer->device->funcs.p_vkCmdBindInvocationMaskHUAWEI(commandBuffer->command_buffer, imageView, imageLayout);
}
static void WINAPI wine_vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
{
TRACE("%p, %#x, 0x%s\n", commandBuffer, pipelineBindPoint, wine_dbgstr_longlong(pipeline));
@ -7882,6 +7979,12 @@ static VkResult WINAPI wine_vkWaitForFences(VkDevice device, uint32_t fenceCount
return device->funcs.p_vkWaitForFences(device->device, fenceCount, pFences, waitAll, timeout);
}
static VkResult WINAPI wine_vkWaitForPresentKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout)
{
TRACE("%p, 0x%s, 0x%s, 0x%s\n", device, wine_dbgstr_longlong(swapchain), wine_dbgstr_longlong(presentId), wine_dbgstr_longlong(timeout));
return device->funcs.p_vkWaitForPresentKHR(device->device, swapchain, presentId, timeout);
}
static VkResult WINAPI wine_vkWaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo *pWaitInfo, uint64_t timeout)
{
TRACE("%p, %p, 0x%s\n", device, pWaitInfo, wine_dbgstr_longlong(timeout));
@ -7965,6 +8068,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_scalar_block_layout",
"VK_EXT_separate_stencil_usage",
"VK_EXT_shader_atomic_float",
"VK_EXT_shader_atomic_float2",
"VK_EXT_shader_demote_to_helper_invocation",
"VK_EXT_shader_image_atomic_int64",
"VK_EXT_shader_stencil_export",
@ -7984,6 +8088,7 @@ static const char * const vk_device_extensions[] =
"VK_GOOGLE_decorate_string",
"VK_GOOGLE_hlsl_functionality1",
"VK_GOOGLE_user_type",
"VK_HUAWEI_invocation_mask",
"VK_IMG_filter_cubic",
"VK_IMG_format_pvrtc",
"VK_INTEL_performance_query",
@ -8017,6 +8122,8 @@ static const char * const vk_device_extensions[] =
"VK_KHR_performance_query",
"VK_KHR_pipeline_executable_properties",
"VK_KHR_pipeline_library",
"VK_KHR_present_id",
"VK_KHR_present_wait",
"VK_KHR_push_descriptor",
"VK_KHR_ray_query",
"VK_KHR_ray_tracing_pipeline",
@ -8191,6 +8298,7 @@ const struct unix_funcs loader_funcs =
&wine_vkCmdBeginTransformFeedbackEXT,
&wine_vkCmdBindDescriptorSets,
&wine_vkCmdBindIndexBuffer,
&wine_vkCmdBindInvocationMaskHUAWEI,
&wine_vkCmdBindPipeline,
&wine_vkCmdBindPipelineShaderGroupNV,
&wine_vkCmdBindShadingRateImageNV,
@ -8563,6 +8671,7 @@ const struct unix_funcs loader_funcs =
&wine_vkUpdateDescriptorSetWithTemplateKHR,
&wine_vkUpdateDescriptorSets,
&wine_vkWaitForFences,
&wine_vkWaitForPresentKHR,
&wine_vkWaitSemaphores,
&wine_vkWaitSemaphoresKHR,
&wine_vkWriteAccelerationStructuresPropertiesKHR,

View File

@ -1736,6 +1736,7 @@ struct vulkan_device_funcs
void (*p_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
void (*p_vkCmdBindDescriptorSets)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkDescriptorSet *, uint32_t, const uint32_t *);
void (*p_vkCmdBindIndexBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkIndexType);
void (*p_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer, VkImageView, VkImageLayout);
void (*p_vkCmdBindPipeline)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline);
void (*p_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline, uint32_t);
void (*p_vkCmdBindShadingRateImageNV)(VkCommandBuffer, VkImageView, VkImageLayout);
@ -2047,6 +2048,7 @@ struct vulkan_device_funcs
void (*p_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
void (*p_vkUpdateDescriptorSets)(VkDevice, uint32_t, const VkWriteDescriptorSet_host *, uint32_t, const VkCopyDescriptorSet_host *);
VkResult (*p_vkWaitForFences)(VkDevice, uint32_t, const VkFence *, VkBool32, uint64_t);
VkResult (*p_vkWaitForPresentKHR)(VkDevice, VkSwapchainKHR, uint64_t, uint64_t);
VkResult (*p_vkWaitSemaphores)(VkDevice, const VkSemaphoreWaitInfo *, uint64_t);
VkResult (*p_vkWaitSemaphoresKHR)(VkDevice, const VkSemaphoreWaitInfo *, uint64_t);
VkResult (*p_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice, uint32_t, const VkAccelerationStructureKHR *, VkQueryType, size_t, void *, size_t);
@ -2135,6 +2137,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkCmdBeginTransformFeedbackEXT) \
USE_VK_FUNC(vkCmdBindDescriptorSets) \
USE_VK_FUNC(vkCmdBindIndexBuffer) \
USE_VK_FUNC(vkCmdBindInvocationMaskHUAWEI) \
USE_VK_FUNC(vkCmdBindPipeline) \
USE_VK_FUNC(vkCmdBindPipelineShaderGroupNV) \
USE_VK_FUNC(vkCmdBindShadingRateImageNV) \
@ -2446,6 +2449,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkUpdateDescriptorSetWithTemplateKHR) \
USE_VK_FUNC(vkUpdateDescriptorSets) \
USE_VK_FUNC(vkWaitForFences) \
USE_VK_FUNC(vkWaitForPresentKHR) \
USE_VK_FUNC(vkWaitSemaphores) \
USE_VK_FUNC(vkWaitSemaphoresKHR) \
USE_VK_FUNC(vkWriteAccelerationStructuresPropertiesKHR)

View File

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

File diff suppressed because it is too large Load Diff