[PATCH 2/6] winevulkan: Update to VK spec version 1.1.113
Liam Middlebrook
lmiddlebrook at nvidia.com
Wed Oct 30 15:00:01 CDT 2019
Signed-off-by: Liam Middlebrook <lmiddlebrook at nvidia.com>
Reviewed-by: Daniel Koch <dkoch at nvidia.com>
---
dlls/winevulkan/make_vulkan | 2 +-
dlls/winevulkan/vulkan_thunks.c | 260 ++++-
dlls/winevulkan/vulkan_thunks.h | 46 +
include/wine/vulkan.h | 1631 ++++++++++++++++++-------------
4 files changed, 1252 insertions(+), 687 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index 058c5e41e9..7e59ef0dc7 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.1.104"
+VK_XML_VERSION = "1.1.113"
WINE_VK_VERSION = (1, 1)
# Filenames to create.
diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c
index f48db3da66..9dd9eb93cc 100644
--- a/dlls/winevulkan/vulkan_thunks.c
+++ b/dlls/winevulkan/vulkan_thunks.c
@@ -518,6 +518,26 @@ static inline void free_VkWriteDescriptorSet_array(VkWriteDescriptorSet_host *in
heap_free(in);
}
+static inline void convert_VkPerformanceMarkerInfoINTEL_win_to_host(const VkPerformanceMarkerInfoINTEL *in, VkPerformanceMarkerInfoINTEL_host *out)
+{
+ if (!in) return;
+
+ out->sType = in->sType;
+ out->pNext = in->pNext;
+ out->marker = in->marker;
+}
+
+static inline void convert_VkPerformanceOverrideInfoINTEL_win_to_host(const VkPerformanceOverrideInfoINTEL *in, VkPerformanceOverrideInfoINTEL_host *out)
+{
+ if (!in) return;
+
+ out->sType = in->sType;
+ out->pNext = in->pNext;
+ out->type = in->type;
+ out->enable = in->enable;
+ out->parameter = in->parameter;
+}
+
static inline void convert_VkAccelerationStructureCreateInfoNV_win_to_host(const VkAccelerationStructureCreateInfoNV *in, VkAccelerationStructureCreateInfoNV_host *out)
{
if (!in) return;
@@ -1374,10 +1394,10 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES:
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
{
- const VkPhysicalDeviceVariablePointerFeatures *in = (const VkPhysicalDeviceVariablePointerFeatures *)in_header;
- VkPhysicalDeviceVariablePointerFeatures *out;
+ const VkPhysicalDeviceVariablePointersFeatures *in = (const VkPhysicalDeviceVariablePointersFeatures *)in_header;
+ VkPhysicalDeviceVariablePointersFeatures *out;
if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
@@ -1510,10 +1530,10 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES:
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
{
- const VkPhysicalDeviceShaderDrawParameterFeatures *in = (const VkPhysicalDeviceShaderDrawParameterFeatures *)in_header;
- VkPhysicalDeviceShaderDrawParameterFeatures *out;
+ const VkPhysicalDeviceShaderDrawParametersFeatures *in = (const VkPhysicalDeviceShaderDrawParametersFeatures *)in_header;
+ VkPhysicalDeviceShaderDrawParametersFeatures *out;
if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
@@ -1911,6 +1931,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR:
+ {
+ const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *in = (const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *)in_header;
+ VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->uniformBufferStandardLayout = in->uniformBufferStandardLayout;
+
+ out_header->pNext = (VkBaseOutStructure *)out;
+ out_header = out_header->pNext;
+ break;
+ }
+
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
{
const VkPhysicalDeviceDepthClipEnableFeaturesEXT *in = (const VkPhysicalDeviceDepthClipEnableFeaturesEXT *)in_header;
@@ -1943,10 +1979,10 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT:
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT:
{
- const VkPhysicalDeviceBufferAddressFeaturesEXT *in = (const VkPhysicalDeviceBufferAddressFeaturesEXT *)in_header;
- VkPhysicalDeviceBufferAddressFeaturesEXT *out;
+ const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *in = (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *)in_header;
+ VkPhysicalDeviceBufferDeviceAddressFeaturesEXT *out;
if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
@@ -1994,6 +2030,104 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV:
+ {
+ const VkPhysicalDeviceCoverageReductionModeFeaturesNV *in = (const VkPhysicalDeviceCoverageReductionModeFeaturesNV *)in_header;
+ VkPhysicalDeviceCoverageReductionModeFeaturesNV *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->coverageReductionMode = in->coverageReductionMode;
+
+ out_header->pNext = (VkBaseOutStructure *)out;
+ out_header = out_header->pNext;
+ break;
+ }
+
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL:
+ {
+ const VkPhysicalDeviceShaderIntegerFunctions2INTEL *in = (const VkPhysicalDeviceShaderIntegerFunctions2INTEL *)in_header;
+ VkPhysicalDeviceShaderIntegerFunctions2INTEL *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->shaderIntegerFunctions2 = in->shaderIntegerFunctions2;
+
+ out_header->pNext = (VkBaseOutStructure *)out;
+ out_header = out_header->pNext;
+ break;
+ }
+
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV:
+ {
+ const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *in = (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *)in_header;
+ VkPhysicalDeviceShaderSMBuiltinsFeaturesNV *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->shaderSMBuiltins = in->shaderSMBuiltins;
+
+ out_header->pNext = (VkBaseOutStructure *)out;
+ out_header = out_header->pNext;
+ break;
+ }
+
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT:
+ {
+ const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *in = (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *)in_header;
+ VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->fragmentShaderSampleInterlock = in->fragmentShaderSampleInterlock;
+ out->fragmentShaderPixelInterlock = in->fragmentShaderPixelInterlock;
+ out->fragmentShaderShadingRateInterlock = in->fragmentShaderShadingRateInterlock;
+
+ out_header->pNext = (VkBaseOutStructure *)out;
+ out_header = out_header->pNext;
+ break;
+ }
+
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT:
+ {
+ const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *in = (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *)in_header;
+ VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->shaderDemoteToHelperInvocation = in->shaderDemoteToHelperInvocation;
+
+ out_header->pNext = (VkBaseOutStructure *)out;
+ out_header = out_header->pNext;
+ break;
+ }
+
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
+ {
+ const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *in = (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)in_header;
+ VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *out;
+
+ if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
+
+ out->sType = in->sType;
+ out->pNext = NULL;
+ out->texelBufferAlignment = in->texelBufferAlignment;
+
+ 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);
}
@@ -2080,6 +2214,12 @@ VkResult WINAPI wine_vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapc
return device->funcs.p_vkAcquireNextImageKHR(device->device, swapchain, timeout, semaphore, fence, pImageIndex);
}
+static VkResult WINAPI wine_vkAcquirePerformanceConfigurationINTEL(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL *pAcquireInfo, VkPerformanceConfigurationINTEL *pConfiguration)
+{
+ TRACE("%p, %p, %p\n", device, pAcquireInfo, pConfiguration);
+ return device->funcs.p_vkAcquirePerformanceConfigurationINTEL(device->device, pAcquireInfo, pConfiguration);
+}
+
VkResult WINAPI wine_vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets)
{
#if defined(USE_STRUCT_CONVERSION)
@@ -2720,6 +2860,46 @@ void WINAPI wine_vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidt
commandBuffer->device->funcs.p_vkCmdSetLineWidth(commandBuffer->command_buffer, lineWidth);
}
+static VkResult WINAPI wine_vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL *pMarkerInfo)
+{
+#if defined(USE_STRUCT_CONVERSION)
+ VkResult result;
+ VkPerformanceMarkerInfoINTEL_host pMarkerInfo_host;
+ TRACE("%p, %p\n", commandBuffer, pMarkerInfo);
+
+ convert_VkPerformanceMarkerInfoINTEL_win_to_host(pMarkerInfo, &pMarkerInfo_host);
+ result = commandBuffer->device->funcs.p_vkCmdSetPerformanceMarkerINTEL(commandBuffer->command_buffer, &pMarkerInfo_host);
+
+ return result;
+#else
+ TRACE("%p, %p\n", commandBuffer, pMarkerInfo);
+ return commandBuffer->device->funcs.p_vkCmdSetPerformanceMarkerINTEL(commandBuffer->command_buffer, pMarkerInfo);
+#endif
+}
+
+static VkResult WINAPI wine_vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL *pOverrideInfo)
+{
+#if defined(USE_STRUCT_CONVERSION)
+ VkResult result;
+ VkPerformanceOverrideInfoINTEL_host pOverrideInfo_host;
+ TRACE("%p, %p\n", commandBuffer, pOverrideInfo);
+
+ convert_VkPerformanceOverrideInfoINTEL_win_to_host(pOverrideInfo, &pOverrideInfo_host);
+ result = commandBuffer->device->funcs.p_vkCmdSetPerformanceOverrideINTEL(commandBuffer->command_buffer, &pOverrideInfo_host);
+
+ return result;
+#else
+ TRACE("%p, %p\n", commandBuffer, pOverrideInfo);
+ return commandBuffer->device->funcs.p_vkCmdSetPerformanceOverrideINTEL(commandBuffer->command_buffer, pOverrideInfo);
+#endif
+}
+
+static VkResult WINAPI wine_vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL *pMarkerInfo)
+{
+ TRACE("%p, %p\n", commandBuffer, pMarkerInfo);
+ return commandBuffer->device->funcs.p_vkCmdSetPerformanceStreamMarkerINTEL(commandBuffer->command_buffer, pMarkerInfo);
+}
+
static void WINAPI wine_vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT *pSampleLocationsInfo)
{
TRACE("%p, %p\n", commandBuffer, pSampleLocationsInfo);
@@ -2985,6 +3165,12 @@ VkResult WINAPI wine_vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache
#endif
}
+static VkResult WINAPI wine_vkCreateHeadlessSurfaceEXT(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
+{
+ TRACE("%p, %p, %p, %p\n", instance, pCreateInfo, pAllocator, pSurface);
+ return instance->funcs.p_vkCreateHeadlessSurfaceEXT(instance->instance, pCreateInfo, NULL, pSurface);
+}
+
VkResult WINAPI wine_vkCreateImage(VkDevice device, const VkImageCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImage *pImage)
{
TRACE("%p, %p, %p, %p\n", device, pCreateInfo, pAllocator, pImage);
@@ -3567,6 +3753,12 @@ static VkResult WINAPI wine_vkGetMemoryHostPointerPropertiesEXT(VkDevice device,
return device->funcs.p_vkGetMemoryHostPointerPropertiesEXT(device->device, handleType, pHostPointer, pMemoryHostPointerProperties);
}
+static VkResult WINAPI wine_vkGetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL *pValue)
+{
+ TRACE("%p, %#x, %p\n", device, parameter, pValue);
+ return device->funcs.p_vkGetPerformanceParameterINTEL(device->device, parameter, pValue);
+}
+
static VkResult WINAPI wine_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkCooperativeMatrixPropertiesNV *pProperties)
{
TRACE("%p, %p, %p\n", physicalDevice, pPropertyCount, pProperties);
@@ -3798,6 +3990,12 @@ static void WINAPI wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhy
physicalDevice->instance->funcs.p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice->phys_dev, pFormatInfo, pPropertyCount, pProperties);
}
+static VkResult WINAPI wine_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice, uint32_t *pCombinationCount, VkFramebufferMixedSamplesCombinationNV *pCombinations)
+{
+ TRACE("%p, %p, %p\n", physicalDevice, pCombinationCount, pCombinations);
+ return physicalDevice->instance->funcs.p_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(physicalDevice->phys_dev, pCombinationCount, pCombinations);
+}
+
VkResult WINAPI wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *pSurfaceCapabilities)
{
TRACE("%p, 0x%s, %p\n", physicalDevice, wine_dbgstr_longlong(surface), pSurfaceCapabilities);
@@ -3876,6 +4074,12 @@ static VkResult WINAPI wine_vkGetValidationCacheDataEXT(VkDevice device, VkValid
return device->funcs.p_vkGetValidationCacheDataEXT(device->device, validationCache, pDataSize, pData);
}
+static VkResult WINAPI wine_vkInitializePerformanceApiINTEL(VkDevice device, const VkInitializePerformanceApiInfoINTEL *pInitializeInfo)
+{
+ TRACE("%p, %p\n", device, pInitializeInfo);
+ return device->funcs.p_vkInitializePerformanceApiINTEL(device->device, pInitializeInfo);
+}
+
VkResult WINAPI wine_vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges)
{
#if defined(USE_STRUCT_CONVERSION)
@@ -3936,12 +4140,24 @@ VkResult WINAPI wine_vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pP
return queue->device->funcs.p_vkQueuePresentKHR(queue->queue, pPresentInfo);
}
+static VkResult WINAPI wine_vkQueueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration)
+{
+ TRACE("%p, 0x%s\n", queue, wine_dbgstr_longlong(configuration));
+ return queue->device->funcs.p_vkQueueSetPerformanceConfigurationINTEL(queue->queue, configuration);
+}
+
VkResult WINAPI wine_vkQueueWaitIdle(VkQueue queue)
{
TRACE("%p\n", queue);
return queue->device->funcs.p_vkQueueWaitIdle(queue->queue);
}
+static VkResult WINAPI wine_vkReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration)
+{
+ TRACE("%p, 0x%s\n", device, wine_dbgstr_longlong(configuration));
+ return device->funcs.p_vkReleasePerformanceConfigurationINTEL(device->device, configuration);
+}
+
VkResult WINAPI wine_vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
{
TRACE("%p, %#x\n", commandBuffer, flags);
@@ -3996,6 +4212,12 @@ static void WINAPI wine_vkTrimCommandPoolKHR(VkDevice device, VkCommandPool comm
device->funcs.p_vkTrimCommandPoolKHR(device->device, wine_cmd_pool_from_handle(commandPool)->command_pool, flags);
}
+static void WINAPI wine_vkUninitializePerformanceApiINTEL(VkDevice device)
+{
+ TRACE("%p\n", device);
+ device->funcs.p_vkUninitializePerformanceApiINTEL(device->device);
+}
+
void WINAPI wine_vkUnmapMemory(VkDevice device, VkDeviceMemory memory)
{
TRACE("%p, 0x%s\n", device, wine_dbgstr_longlong(memory));
@@ -4043,6 +4265,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{
{"vkAcquireNextImage2KHR", &wine_vkAcquireNextImage2KHR},
{"vkAcquireNextImageKHR", &wine_vkAcquireNextImageKHR},
+ {"vkAcquirePerformanceConfigurationINTEL", &wine_vkAcquirePerformanceConfigurationINTEL},
{"vkAllocateCommandBuffers", &wine_vkAllocateCommandBuffers},
{"vkAllocateDescriptorSets", &wine_vkAllocateDescriptorSets},
{"vkAllocateMemory", &wine_vkAllocateMemory},
@@ -4121,6 +4344,9 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkCmdSetEvent", &wine_vkCmdSetEvent},
{"vkCmdSetExclusiveScissorNV", &wine_vkCmdSetExclusiveScissorNV},
{"vkCmdSetLineWidth", &wine_vkCmdSetLineWidth},
+ {"vkCmdSetPerformanceMarkerINTEL", &wine_vkCmdSetPerformanceMarkerINTEL},
+ {"vkCmdSetPerformanceOverrideINTEL", &wine_vkCmdSetPerformanceOverrideINTEL},
+ {"vkCmdSetPerformanceStreamMarkerINTEL", &wine_vkCmdSetPerformanceStreamMarkerINTEL},
{"vkCmdSetSampleLocationsEXT", &wine_vkCmdSetSampleLocationsEXT},
{"vkCmdSetScissor", &wine_vkCmdSetScissor},
{"vkCmdSetStencilCompareMask", &wine_vkCmdSetStencilCompareMask},
@@ -4222,6 +4448,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkGetImageSparseMemoryRequirements2KHR", &wine_vkGetImageSparseMemoryRequirements2KHR},
{"vkGetImageSubresourceLayout", &wine_vkGetImageSubresourceLayout},
{"vkGetMemoryHostPointerPropertiesEXT", &wine_vkGetMemoryHostPointerPropertiesEXT},
+ {"vkGetPerformanceParameterINTEL", &wine_vkGetPerformanceParameterINTEL},
{"vkGetPipelineCacheData", &wine_vkGetPipelineCacheData},
{"vkGetQueryPoolResults", &wine_vkGetQueryPoolResults},
{"vkGetQueueCheckpointDataNV", &wine_vkGetQueueCheckpointDataNV},
@@ -4230,14 +4457,17 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkGetShaderInfoAMD", &wine_vkGetShaderInfoAMD},
{"vkGetSwapchainImagesKHR", &wine_vkGetSwapchainImagesKHR},
{"vkGetValidationCacheDataEXT", &wine_vkGetValidationCacheDataEXT},
+ {"vkInitializePerformanceApiINTEL", &wine_vkInitializePerformanceApiINTEL},
{"vkInvalidateMappedMemoryRanges", &wine_vkInvalidateMappedMemoryRanges},
{"vkMapMemory", &wine_vkMapMemory},
{"vkMergePipelineCaches", &wine_vkMergePipelineCaches},
{"vkMergeValidationCachesEXT", &wine_vkMergeValidationCachesEXT},
{"vkQueueBindSparse", &wine_vkQueueBindSparse},
{"vkQueuePresentKHR", &wine_vkQueuePresentKHR},
+ {"vkQueueSetPerformanceConfigurationINTEL", &wine_vkQueueSetPerformanceConfigurationINTEL},
{"vkQueueSubmit", &wine_vkQueueSubmit},
{"vkQueueWaitIdle", &wine_vkQueueWaitIdle},
+ {"vkReleasePerformanceConfigurationINTEL", &wine_vkReleasePerformanceConfigurationINTEL},
{"vkResetCommandBuffer", &wine_vkResetCommandBuffer},
{"vkResetCommandPool", &wine_vkResetCommandPool},
{"vkResetDescriptorPool", &wine_vkResetDescriptorPool},
@@ -4247,6 +4477,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkSetEvent", &wine_vkSetEvent},
{"vkTrimCommandPool", &wine_vkTrimCommandPool},
{"vkTrimCommandPoolKHR", &wine_vkTrimCommandPoolKHR},
+ {"vkUninitializePerformanceApiINTEL", &wine_vkUninitializePerformanceApiINTEL},
{"vkUnmapMemory", &wine_vkUnmapMemory},
{"vkUpdateDescriptorSetWithTemplate", &wine_vkUpdateDescriptorSetWithTemplate},
{"vkUpdateDescriptorSetWithTemplateKHR", &wine_vkUpdateDescriptorSetWithTemplateKHR},
@@ -4257,6 +4488,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
static const struct vulkan_func vk_instance_dispatch_table[] =
{
{"vkCreateDevice", &wine_vkCreateDevice},
+ {"vkCreateHeadlessSurfaceEXT", &wine_vkCreateHeadlessSurfaceEXT},
{"vkCreateWin32SurfaceKHR", &wine_vkCreateWin32SurfaceKHR},
{"vkDestroyInstance", &wine_vkDestroyInstance},
{"vkDestroySurfaceKHR", &wine_vkDestroySurfaceKHR},
@@ -4295,6 +4527,7 @@ static const struct vulkan_func vk_instance_dispatch_table[] =
{"vkGetPhysicalDeviceSparseImageFormatProperties", &wine_vkGetPhysicalDeviceSparseImageFormatProperties},
{"vkGetPhysicalDeviceSparseImageFormatProperties2", &wine_vkGetPhysicalDeviceSparseImageFormatProperties2},
{"vkGetPhysicalDeviceSparseImageFormatProperties2KHR", &wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR},
+ {"vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV", &wine_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV},
{"vkGetPhysicalDeviceSurfaceCapabilitiesKHR", &wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR},
{"vkGetPhysicalDeviceSurfaceFormatsKHR", &wine_vkGetPhysicalDeviceSurfaceFormatsKHR},
{"vkGetPhysicalDeviceSurfacePresentModesKHR", &wine_vkGetPhysicalDeviceSurfacePresentModesKHR},
@@ -4361,6 +4594,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_external_memory_host",
"VK_EXT_filter_cubic",
"VK_EXT_fragment_density_map",
+ "VK_EXT_fragment_shader_interlock",
"VK_EXT_global_priority",
"VK_EXT_host_query_reset",
"VK_EXT_inline_uniform_block",
@@ -4373,10 +4607,12 @@ static const char * const vk_device_extensions[] =
"VK_EXT_sampler_filter_minmax",
"VK_EXT_scalar_block_layout",
"VK_EXT_separate_stencil_usage",
+ "VK_EXT_shader_demote_to_helper_invocation",
"VK_EXT_shader_stencil_export",
"VK_EXT_shader_subgroup_ballot",
"VK_EXT_shader_subgroup_vote",
"VK_EXT_shader_viewport_index_layer",
+ "VK_EXT_texel_buffer_alignment",
"VK_EXT_transform_feedback",
"VK_EXT_validation_cache",
"VK_EXT_vertex_attribute_divisor",
@@ -4385,6 +4621,8 @@ static const char * const vk_device_extensions[] =
"VK_GOOGLE_hlsl_functionality1",
"VK_IMG_filter_cubic",
"VK_IMG_format_pvrtc",
+ "VK_INTEL_performance_query",
+ "VK_INTEL_shader_integer_functions2",
"VK_KHR_16bit_storage",
"VK_KHR_8bit_storage",
"VK_KHR_bind_memory2",
@@ -4416,12 +4654,14 @@ static const char * const vk_device_extensions[] =
"VK_KHR_storage_buffer_storage_class",
"VK_KHR_swapchain",
"VK_KHR_swapchain_mutable_format",
+ "VK_KHR_uniform_buffer_standard_layout",
"VK_KHR_variable_pointers",
"VK_KHR_vulkan_memory_model",
"VK_NV_clip_space_w_scaling",
"VK_NV_compute_shader_derivatives",
"VK_NV_cooperative_matrix",
"VK_NV_corner_sampled_image",
+ "VK_NV_coverage_reduction_mode",
"VK_NV_dedicated_allocation",
"VK_NV_dedicated_allocation_image_aliasing",
"VK_NV_device_diagnostic_checkpoints",
@@ -4437,6 +4677,7 @@ static const char * const vk_device_extensions[] =
"VK_NV_sample_mask_override_coverage",
"VK_NV_scissor_exclusive",
"VK_NV_shader_image_footprint",
+ "VK_NV_shader_sm_builtins",
"VK_NV_shader_subgroup_partitioned",
"VK_NV_shading_rate_image",
"VK_NV_viewport_array2",
@@ -4445,6 +4686,7 @@ static const char * const vk_device_extensions[] =
static const char * const vk_instance_extensions[] =
{
+ "VK_EXT_headless_surface",
"VK_EXT_swapchain_colorspace",
"VK_KHR_device_group_creation",
"VK_KHR_external_fence_capabilities",
diff --git a/dlls/winevulkan/vulkan_thunks.h b/dlls/winevulkan/vulkan_thunks.h
index d39cab76ac..db5ff674e9 100644
--- a/dlls/winevulkan/vulkan_thunks.h
+++ b/dlls/winevulkan/vulkan_thunks.h
@@ -301,6 +301,22 @@ typedef struct VkWriteDescriptorSet_host
const VkBufferView *pTexelBufferView;
} VkWriteDescriptorSet_host;
+typedef struct VkPerformanceMarkerInfoINTEL_host
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint64_t marker;
+} VkPerformanceMarkerInfoINTEL_host;
+
+typedef struct VkPerformanceOverrideInfoINTEL_host
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkPerformanceOverrideTypeINTEL type;
+ VkBool32 enable;
+ uint64_t parameter;
+} VkPerformanceOverrideInfoINTEL_host;
+
typedef struct VkAccelerationStructureCreateInfoNV_host
{
VkStructureType sType;
@@ -779,6 +795,7 @@ struct vulkan_device_funcs
VkResult (*p_vkAcquireNextImage2KHR)(VkDevice, const VkAcquireNextImageInfoKHR *, uint32_t *);
#endif
VkResult (*p_vkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
+ VkResult (*p_vkAcquirePerformanceConfigurationINTEL)(VkDevice, const VkPerformanceConfigurationAcquireInfoINTEL *, VkPerformanceConfigurationINTEL *);
#if defined(USE_STRUCT_CONVERSION)
VkResult (*p_vkAllocateCommandBuffers)(VkDevice, const VkCommandBufferAllocateInfo_host *, VkCommandBuffer *);
#else
@@ -929,6 +946,17 @@ struct vulkan_device_funcs
void (*p_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
void (*p_vkCmdSetExclusiveScissorNV)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
void (*p_vkCmdSetLineWidth)(VkCommandBuffer, float);
+#if defined(USE_STRUCT_CONVERSION)
+ VkResult (*p_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer, const VkPerformanceMarkerInfoINTEL_host *);
+#else
+ VkResult (*p_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer, const VkPerformanceMarkerInfoINTEL *);
+#endif
+#if defined(USE_STRUCT_CONVERSION)
+ VkResult (*p_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer, const VkPerformanceOverrideInfoINTEL_host *);
+#else
+ VkResult (*p_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer, const VkPerformanceOverrideInfoINTEL *);
+#endif
+ VkResult (*p_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer, const VkPerformanceStreamMarkerInfoINTEL *);
void (*p_vkCmdSetSampleLocationsEXT)(VkCommandBuffer, const VkSampleLocationsInfoEXT *);
void (*p_vkCmdSetScissor)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
void (*p_vkCmdSetStencilCompareMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
@@ -1125,6 +1153,7 @@ struct vulkan_device_funcs
void (*p_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout *);
#endif
VkResult (*p_vkGetMemoryHostPointerPropertiesEXT)(VkDevice, VkExternalMemoryHandleTypeFlagBits, const void *, VkMemoryHostPointerPropertiesEXT *);
+ VkResult (*p_vkGetPerformanceParameterINTEL)(VkDevice, VkPerformanceParameterTypeINTEL, VkPerformanceValueINTEL *);
VkResult (*p_vkGetPipelineCacheData)(VkDevice, VkPipelineCache, size_t *, void *);
VkResult (*p_vkGetQueryPoolResults)(VkDevice, VkQueryPool, uint32_t, uint32_t, size_t, void *, VkDeviceSize, VkQueryResultFlags);
void (*p_vkGetQueueCheckpointDataNV)(VkQueue, uint32_t *, VkCheckpointDataNV *);
@@ -1133,6 +1162,7 @@ struct vulkan_device_funcs
VkResult (*p_vkGetShaderInfoAMD)(VkDevice, VkPipeline, VkShaderStageFlagBits, VkShaderInfoTypeAMD, size_t *, void *);
VkResult (*p_vkGetSwapchainImagesKHR)(VkDevice, VkSwapchainKHR, uint32_t *, VkImage *);
VkResult (*p_vkGetValidationCacheDataEXT)(VkDevice, VkValidationCacheEXT, size_t *, void *);
+ VkResult (*p_vkInitializePerformanceApiINTEL)(VkDevice, const VkInitializePerformanceApiInfoINTEL *);
#if defined(USE_STRUCT_CONVERSION)
VkResult (*p_vkInvalidateMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange_host *);
#else
@@ -1147,8 +1177,10 @@ struct vulkan_device_funcs
VkResult (*p_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo *, VkFence);
#endif
VkResult (*p_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
+ VkResult (*p_vkQueueSetPerformanceConfigurationINTEL)(VkQueue, VkPerformanceConfigurationINTEL);
VkResult (*p_vkQueueSubmit)(VkQueue, uint32_t, const VkSubmitInfo *, VkFence);
VkResult (*p_vkQueueWaitIdle)(VkQueue);
+ VkResult (*p_vkReleasePerformanceConfigurationINTEL)(VkDevice, VkPerformanceConfigurationINTEL);
VkResult (*p_vkResetCommandBuffer)(VkCommandBuffer, VkCommandBufferResetFlags);
VkResult (*p_vkResetCommandPool)(VkDevice, VkCommandPool, VkCommandPoolResetFlags);
VkResult (*p_vkResetDescriptorPool)(VkDevice, VkDescriptorPool, VkDescriptorPoolResetFlags);
@@ -1158,6 +1190,7 @@ struct vulkan_device_funcs
VkResult (*p_vkSetEvent)(VkDevice, VkEvent);
void (*p_vkTrimCommandPool)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
void (*p_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
+ void (*p_vkUninitializePerformanceApiINTEL)(VkDevice);
void (*p_vkUnmapMemory)(VkDevice, VkDeviceMemory);
void (*p_vkUpdateDescriptorSetWithTemplate)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
void (*p_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
@@ -1173,6 +1206,7 @@ struct vulkan_device_funcs
struct vulkan_instance_funcs
{
VkResult (*p_vkCreateDevice)(VkPhysicalDevice, const VkDeviceCreateInfo *, const VkAllocationCallbacks *, VkDevice *);
+ VkResult (*p_vkCreateHeadlessSurfaceEXT)(VkInstance, const VkHeadlessSurfaceCreateInfoEXT *, const VkAllocationCallbacks *, VkSurfaceKHR *);
VkResult (*p_vkCreateWin32SurfaceKHR)(VkInstance, const VkWin32SurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *);
void (*p_vkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
VkResult (*p_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice, const char *, uint32_t *, VkExtensionProperties *);
@@ -1240,6 +1274,7 @@ struct vulkan_instance_funcs
void (*p_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkSampleCountFlagBits, VkImageUsageFlags, VkImageTiling, uint32_t *, VkSparseImageFormatProperties *);
void (*p_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *, uint32_t *, VkSparseImageFormatProperties2 *);
void (*p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *, uint32_t *, VkSparseImageFormatProperties2 *);
+ VkResult (*p_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice, uint32_t *, VkFramebufferMixedSamplesCombinationNV *);
VkResult (*p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
VkResult (*p_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
VkResult (*p_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
@@ -1250,6 +1285,7 @@ struct vulkan_instance_funcs
#define ALL_VK_DEVICE_FUNCS() \
USE_VK_FUNC(vkAcquireNextImage2KHR) \
USE_VK_FUNC(vkAcquireNextImageKHR) \
+ USE_VK_FUNC(vkAcquirePerformanceConfigurationINTEL) \
USE_VK_FUNC(vkAllocateCommandBuffers) \
USE_VK_FUNC(vkAllocateDescriptorSets) \
USE_VK_FUNC(vkAllocateMemory) \
@@ -1328,6 +1364,9 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkCmdSetEvent) \
USE_VK_FUNC(vkCmdSetExclusiveScissorNV) \
USE_VK_FUNC(vkCmdSetLineWidth) \
+ USE_VK_FUNC(vkCmdSetPerformanceMarkerINTEL) \
+ USE_VK_FUNC(vkCmdSetPerformanceOverrideINTEL) \
+ USE_VK_FUNC(vkCmdSetPerformanceStreamMarkerINTEL) \
USE_VK_FUNC(vkCmdSetSampleLocationsEXT) \
USE_VK_FUNC(vkCmdSetScissor) \
USE_VK_FUNC(vkCmdSetStencilCompareMask) \
@@ -1428,6 +1467,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkGetImageSparseMemoryRequirements2KHR) \
USE_VK_FUNC(vkGetImageSubresourceLayout) \
USE_VK_FUNC(vkGetMemoryHostPointerPropertiesEXT) \
+ USE_VK_FUNC(vkGetPerformanceParameterINTEL) \
USE_VK_FUNC(vkGetPipelineCacheData) \
USE_VK_FUNC(vkGetQueryPoolResults) \
USE_VK_FUNC(vkGetQueueCheckpointDataNV) \
@@ -1436,14 +1476,17 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkGetShaderInfoAMD) \
USE_VK_FUNC(vkGetSwapchainImagesKHR) \
USE_VK_FUNC(vkGetValidationCacheDataEXT) \
+ USE_VK_FUNC(vkInitializePerformanceApiINTEL) \
USE_VK_FUNC(vkInvalidateMappedMemoryRanges) \
USE_VK_FUNC(vkMapMemory) \
USE_VK_FUNC(vkMergePipelineCaches) \
USE_VK_FUNC(vkMergeValidationCachesEXT) \
USE_VK_FUNC(vkQueueBindSparse) \
USE_VK_FUNC(vkQueuePresentKHR) \
+ USE_VK_FUNC(vkQueueSetPerformanceConfigurationINTEL) \
USE_VK_FUNC(vkQueueSubmit) \
USE_VK_FUNC(vkQueueWaitIdle) \
+ USE_VK_FUNC(vkReleasePerformanceConfigurationINTEL) \
USE_VK_FUNC(vkResetCommandBuffer) \
USE_VK_FUNC(vkResetCommandPool) \
USE_VK_FUNC(vkResetDescriptorPool) \
@@ -1453,6 +1496,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkSetEvent) \
USE_VK_FUNC(vkTrimCommandPool) \
USE_VK_FUNC(vkTrimCommandPoolKHR) \
+ USE_VK_FUNC(vkUninitializePerformanceApiINTEL) \
USE_VK_FUNC(vkUnmapMemory) \
USE_VK_FUNC(vkUpdateDescriptorSetWithTemplate) \
USE_VK_FUNC(vkUpdateDescriptorSetWithTemplateKHR) \
@@ -1461,6 +1505,7 @@ struct vulkan_instance_funcs
#define ALL_VK_INSTANCE_FUNCS() \
USE_VK_FUNC(vkCreateDevice) \
+ USE_VK_FUNC(vkCreateHeadlessSurfaceEXT) \
USE_VK_FUNC(vkCreateWin32SurfaceKHR) \
USE_VK_FUNC(vkDestroySurfaceKHR) \
USE_VK_FUNC(vkEnumerateDeviceExtensionProperties) \
@@ -1492,6 +1537,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkGetPhysicalDeviceSparseImageFormatProperties) \
USE_VK_FUNC(vkGetPhysicalDeviceSparseImageFormatProperties2) \
USE_VK_FUNC(vkGetPhysicalDeviceSparseImageFormatProperties2KHR) \
+ USE_VK_FUNC(vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV) \
USE_VK_FUNC(vkGetPhysicalDeviceSurfaceCapabilitiesKHR) \
USE_VK_FUNC(vkGetPhysicalDeviceSurfaceFormatsKHR) \
USE_VK_FUNC(vkGetPhysicalDeviceSurfacePresentModesKHR) \
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h
index 66cbd99474..6f68913904 100644
--- a/include/wine/vulkan.h
+++ b/include/wine/vulkan.h
@@ -114,7 +114,7 @@
#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
-#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1
+#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
@@ -182,7 +182,7 @@
#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
-#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 3
+#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
@@ -202,7 +202,7 @@
#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
-#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 1
+#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
@@ -228,6 +228,8 @@
#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
+#define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
+#define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 1
@@ -250,7 +252,7 @@
#define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
-#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 1
+#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 2
#define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
@@ -290,6 +292,10 @@
#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
+#define VK_INTEL_SHADER_INTEGER_FUNCTIONS2_SPEC_VERSION 1
+#define VK_INTEL_SHADER_INTEGER_FUNCTIONS2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
+#define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 1
+#define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
@@ -314,10 +320,22 @@
#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
#define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
#define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
+#define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
+#define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
+#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
+#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
#define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
+#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
+#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
+#define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 0
+#define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
#define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
+#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
+#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
+#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
+#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
#define VK_MAKE_VERSION(major, minor, patch) \
(((major) << 22) | ((minor) << 12) | (patch))
@@ -326,7 +344,7 @@
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
#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_HEADER_VERSION 104
+#define VK_HEADER_VERSION 113
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
#define VK_NULL_HANDLE 0
@@ -348,6 +366,7 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
VK_DEFINE_HANDLE(VkInstance)
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
VK_DEFINE_HANDLE(VkPhysicalDevice)
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
@@ -427,6 +446,7 @@ typedef VkFlags VkFormatFeatureFlags;
typedef VkFlags VkFramebufferCreateFlags;
typedef VkFlags VkGeometryFlagsNV;
typedef VkFlags VkGeometryInstanceFlagsNV;
+typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
typedef VkFlags VkImageAspectFlags;
typedef VkFlags VkImageCreateFlags;
@@ -448,6 +468,7 @@ typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
typedef VkFlags VkPipelineCacheCreateFlags;
typedef VkFlags VkPipelineColorBlendStateCreateFlags;
typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
+typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
typedef VkFlags VkPipelineCreateFlags;
typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
@@ -484,6 +505,7 @@ typedef VkFlags VkShaderStageFlags;
typedef VkFlags VkSparseImageFormatFlags;
typedef VkFlags VkSparseMemoryBindFlags;
typedef VkFlags VkStencilFaceFlags;
+typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP;
typedef VkFlags VkSubgroupFeatureFlags;
typedef VkFlags VkSubpassDescriptionFlags;
typedef VkFlags VkSurfaceCounterFlagsEXT;
@@ -732,7 +754,7 @@ typedef enum VkColorSpaceKHR
VK_COLORSPACE_SRGB_NONLINEAR_KHR = 0,
VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
- VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003,
+ VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
@@ -862,6 +884,13 @@ typedef enum VkCoverageModulationModeNV
VK_COVERAGE_MODULATION_MODE_NV_MAX_ENUM = 0x7fffffff,
} VkCoverageModulationModeNV;
+typedef enum VkCoverageReductionModeNV
+{
+ VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
+ VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
+ VK_COVERAGE_REDUCTION_MODE_NV_MAX_ENUM = 0x7fffffff,
+} VkCoverageReductionModeNV;
+
typedef enum VkCullModeFlagBits
{
VK_CULL_MODE_NONE = 0,
@@ -951,7 +980,9 @@ typedef enum VkDriverIdKHR
VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = 7,
VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = 8,
VK_DRIVER_ID_ARM_PROPRIETARY_KHR = 9,
- VK_DRIVER_ID_GOOGLE_PASTEL_KHR = 10,
+ VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = 10,
+ VK_DRIVER_ID_GGP_PROPRIETARY_KHR = 11,
+ VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = 12,
VK_DRIVER_ID_KHR_MAX_ENUM = 0x7fffffff,
} VkDriverIdKHR;
@@ -1542,6 +1573,7 @@ typedef enum VkObjectType
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
+ VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
VK_OBJECT_TYPE_MAX_ENUM = 0x7fffffff,
} VkObjectType;
@@ -1554,6 +1586,36 @@ typedef enum VkPeerMemoryFeatureFlagBits
VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkPeerMemoryFeatureFlagBits;
+typedef enum VkPerformanceConfigurationTypeINTEL
+{
+ VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
+ VK_PERFORMANCE_CONFIGURATION_TYPE_INTEL_MAX_ENUM = 0x7fffffff,
+} VkPerformanceConfigurationTypeINTEL;
+
+typedef enum VkPerformanceOverrideTypeINTEL
+{
+ VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
+ VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
+ VK_PERFORMANCE_OVERRIDE_TYPE_INTEL_MAX_ENUM = 0x7fffffff,
+} VkPerformanceOverrideTypeINTEL;
+
+typedef enum VkPerformanceParameterTypeINTEL
+{
+ VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
+ VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
+ VK_PERFORMANCE_PARAMETER_TYPE_INTEL_MAX_ENUM = 0x7fffffff,
+} VkPerformanceParameterTypeINTEL;
+
+typedef enum VkPerformanceValueTypeINTEL
+{
+ VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
+ VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
+ VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
+ VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
+ VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
+ VK_PERFORMANCE_VALUE_TYPE_INTEL_MAX_ENUM = 0x7fffffff,
+} VkPerformanceValueTypeINTEL;
+
typedef enum VkPhysicalDeviceType
{
VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
@@ -1682,6 +1744,12 @@ typedef enum VkQueryPipelineStatisticFlagBits
VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkQueryPipelineStatisticFlagBits;
+typedef enum VkQueryPoolSamplingModeINTEL
+{
+ VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
+ VK_QUERY_POOL_SAMPLING_MODE_INTEL_MAX_ENUM = 0x7fffffff,
+} VkQueryPoolSamplingModeINTEL;
+
typedef enum VkQueryResultFlagBits
{
VK_QUERY_RESULT_64_BIT = 0x00000001,
@@ -1698,6 +1766,7 @@ typedef enum VkQueryType
VK_QUERY_TYPE_TIMESTAMP = 2,
VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
+ VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
VK_QUERY_TYPE_MAX_ENUM = 0x7fffffff,
} VkQueryType;
@@ -2030,7 +2099,7 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
@@ -2077,7 +2146,7 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000,
@@ -2106,6 +2175,8 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
@@ -2166,6 +2237,13 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL = 1000209000,
+ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000,
+ VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
+ VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
+ VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
+ VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
+ VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
@@ -2176,15 +2254,24 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
- VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001,
VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
+ VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
+ VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000,
+ VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7fffffff,
} VkStructureType;
@@ -2611,15 +2698,15 @@ typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT
VkBool32 filterCubicMinmax;
} VkFilterCubicImageViewImageFormatPropertiesEXT;
-typedef struct VkGeometryAABBNV
+typedef struct VkFramebufferMixedSamplesCombinationNV
{
VkStructureType sType;
- const void *pNext;
- VkBuffer WINE_VK_ALIGN(8) aabbData;
- uint32_t numAABBs;
- uint32_t stride;
- VkDeviceSize WINE_VK_ALIGN(8) offset;
-} VkGeometryAABBNV;
+ void *pNext;
+ VkCoverageReductionModeNV coverageReductionMode;
+ VkSampleCountFlagBits rasterizationSamples;
+ VkSampleCountFlags depthStencilSamples;
+ VkSampleCountFlags colorSamples;
+} VkFramebufferMixedSamplesCombinationNV;
typedef struct VkGeometryTrianglesNV
{
@@ -2701,6 +2788,13 @@ typedef struct VkImageSwapchainCreateInfoKHR
VkSwapchainKHR WINE_VK_ALIGN(8) swapchain;
} VkImageSwapchainCreateInfoKHR;
+typedef struct VkInputAttachmentAspectReference
+{
+ uint32_t subpass;
+ uint32_t inputAttachmentIndex;
+ VkImageAspectFlags aspectMask;
+} VkInputAttachmentAspectReference;
+
typedef struct VkLayerProperties
{
char layerName[VK_MAX_EXTENSION_NAME_SIZE];
@@ -2753,24 +2847,45 @@ typedef struct VkOffset2D
int32_t y;
} VkOffset2D;
-typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT
+typedef struct VkPerformanceMarkerInfoINTEL
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint64_t WINE_VK_ALIGN(8) marker;
+} VkPerformanceMarkerInfoINTEL;
+
+typedef struct VkPerformanceStreamMarkerInfoINTEL
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t marker;
+} VkPerformanceStreamMarkerInfoINTEL;
+
+typedef struct VkPhysicalDevice16BitStorageFeatures
{
VkStructureType sType;
void *pNext;
- VkBool32 decodeModeSharedExponent;
-} VkPhysicalDeviceASTCDecodeFeaturesEXT;
+ VkBool32 storageBuffer16BitAccess;
+ VkBool32 uniformAndStorageBuffer16BitAccess;
+ VkBool32 storagePushConstant16;
+ VkBool32 storageInputOutput16;
+} VkPhysicalDevice16BitStorageFeatures;
-typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
+typedef struct VkPhysicalDevice8BitStorageFeaturesKHR
{
VkStructureType sType;
void *pNext;
- uint32_t advancedBlendMaxColorAttachments;
- VkBool32 advancedBlendIndependentBlend;
- VkBool32 advancedBlendNonPremultipliedSrcColor;
- VkBool32 advancedBlendNonPremultipliedDstColor;
- VkBool32 advancedBlendCorrelatedOverlap;
- VkBool32 advancedBlendAllOperations;
-} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
+ VkBool32 storageBuffer8BitAccess;
+ VkBool32 uniformAndStorageBuffer8BitAccess;
+ VkBool32 storagePushConstant8;
+} VkPhysicalDevice8BitStorageFeaturesKHR;
+
+typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 advancedBlendCoherentOperations;
+} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
{
@@ -2802,51 +2917,52 @@ typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV
VkShaderStageFlags cooperativeMatrixSupportedStages;
} VkPhysicalDeviceCooperativeMatrixPropertiesNV;
-typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
+typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV
{
VkStructureType sType;
void *pNext;
- VkBool32 dedicatedAllocationImageAliasing;
-} VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
+ VkBool32 coverageReductionMode;
+} VkPhysicalDeviceCoverageReductionModeFeaturesNV;
-typedef struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR
+typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkResolveModeFlagsKHR supportedDepthResolveModes;
- VkResolveModeFlagsKHR supportedStencilResolveModes;
- VkBool32 independentResolveNone;
- VkBool32 independentResolve;
-} VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
+ VkBool32 depthClipEnable;
+} VkPhysicalDeviceDepthClipEnableFeaturesEXT;
-typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT
+typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT
{
VkStructureType sType;
void *pNext;
- uint32_t maxUpdateAfterBindDescriptorsInAllPools;
- VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
- VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
- VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
- VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
- VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
- VkBool32 robustBufferAccessUpdateAfterBind;
- VkBool32 quadDivergentImplicitLod;
- uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
- uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
- uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
- uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
- uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
- uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
- uint32_t maxPerStageUpdateAfterBindResources;
- uint32_t maxDescriptorSetUpdateAfterBindSamplers;
- uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
- uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
- uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
- uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
- uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
- uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
- uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
-} VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
+ VkBool32 shaderInputAttachmentArrayDynamicIndexing;
+ VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
+ VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
+ VkBool32 shaderUniformBufferArrayNonUniformIndexing;
+ VkBool32 shaderSampledImageArrayNonUniformIndexing;
+ VkBool32 shaderStorageBufferArrayNonUniformIndexing;
+ VkBool32 shaderStorageImageArrayNonUniformIndexing;
+ VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
+ VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
+ VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
+ VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
+ VkBool32 descriptorBindingSampledImageUpdateAfterBind;
+ VkBool32 descriptorBindingStorageImageUpdateAfterBind;
+ VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
+ VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
+ VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
+ VkBool32 descriptorBindingUpdateUnusedWhilePending;
+ VkBool32 descriptorBindingPartiallyBound;
+ VkBool32 descriptorBindingVariableDescriptorCount;
+ VkBool32 runtimeDescriptorArray;
+} VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
+
+typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ uint32_t maxDiscardRectangles;
+} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV
{
@@ -2951,141 +3067,66 @@ typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
VkBool32 fragmentShaderBarycentric;
} VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
-typedef struct VkPhysicalDeviceIDProperties
+typedef struct VkPhysicalDeviceGroupProperties
{
VkStructureType sType;
void *pNext;
- uint8_t deviceUUID[VK_UUID_SIZE];
- uint8_t driverUUID[VK_UUID_SIZE];
- uint8_t deviceLUID[VK_LUID_SIZE];
- uint32_t deviceNodeMask;
- VkBool32 deviceLUIDValid;
-} VkPhysicalDeviceIDProperties;
+ uint32_t physicalDeviceCount;
+ VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
+ VkBool32 subsetAllocation;
+} VkPhysicalDeviceGroupProperties;
-typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT
+typedef struct VkPhysicalDeviceHostQueryResetFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 inlineUniformBlock;
- VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
-} VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
+ VkBool32 hostQueryReset;
+} VkPhysicalDeviceHostQueryResetFeaturesEXT;
-typedef struct VkPhysicalDeviceLimits
+typedef struct VkPhysicalDeviceImageFormatInfo2
{
- uint32_t maxImageDimension1D;
- uint32_t maxImageDimension2D;
- uint32_t maxImageDimension3D;
- uint32_t maxImageDimensionCube;
- uint32_t maxImageArrayLayers;
- uint32_t maxTexelBufferElements;
- uint32_t maxUniformBufferRange;
- uint32_t maxStorageBufferRange;
- uint32_t maxPushConstantsSize;
- uint32_t maxMemoryAllocationCount;
- uint32_t maxSamplerAllocationCount;
- VkDeviceSize WINE_VK_ALIGN(8) bufferImageGranularity;
- VkDeviceSize WINE_VK_ALIGN(8) sparseAddressSpaceSize;
- uint32_t maxBoundDescriptorSets;
- uint32_t maxPerStageDescriptorSamplers;
- uint32_t maxPerStageDescriptorUniformBuffers;
- uint32_t maxPerStageDescriptorStorageBuffers;
- uint32_t maxPerStageDescriptorSampledImages;
- uint32_t maxPerStageDescriptorStorageImages;
- uint32_t maxPerStageDescriptorInputAttachments;
- uint32_t maxPerStageResources;
- uint32_t maxDescriptorSetSamplers;
- uint32_t maxDescriptorSetUniformBuffers;
- uint32_t maxDescriptorSetUniformBuffersDynamic;
- uint32_t maxDescriptorSetStorageBuffers;
- uint32_t maxDescriptorSetStorageBuffersDynamic;
- uint32_t maxDescriptorSetSampledImages;
- uint32_t maxDescriptorSetStorageImages;
- uint32_t maxDescriptorSetInputAttachments;
- uint32_t maxVertexInputAttributes;
- uint32_t maxVertexInputBindings;
- uint32_t maxVertexInputAttributeOffset;
- uint32_t maxVertexInputBindingStride;
- uint32_t maxVertexOutputComponents;
- uint32_t maxTessellationGenerationLevel;
- uint32_t maxTessellationPatchSize;
- uint32_t maxTessellationControlPerVertexInputComponents;
- uint32_t maxTessellationControlPerVertexOutputComponents;
- uint32_t maxTessellationControlPerPatchOutputComponents;
- uint32_t maxTessellationControlTotalOutputComponents;
- uint32_t maxTessellationEvaluationInputComponents;
- uint32_t maxTessellationEvaluationOutputComponents;
- uint32_t maxGeometryShaderInvocations;
- uint32_t maxGeometryInputComponents;
- uint32_t maxGeometryOutputComponents;
- uint32_t maxGeometryOutputVertices;
- uint32_t maxGeometryTotalOutputComponents;
- uint32_t maxFragmentInputComponents;
- uint32_t maxFragmentOutputAttachments;
- uint32_t maxFragmentDualSrcAttachments;
- uint32_t maxFragmentCombinedOutputResources;
- uint32_t maxComputeSharedMemorySize;
- uint32_t maxComputeWorkGroupCount[3];
- uint32_t maxComputeWorkGroupInvocations;
- uint32_t maxComputeWorkGroupSize[3];
- uint32_t subPixelPrecisionBits;
- uint32_t subTexelPrecisionBits;
- uint32_t mipmapPrecisionBits;
- uint32_t maxDrawIndexedIndexValue;
- uint32_t maxDrawIndirectCount;
- float maxSamplerLodBias;
- float maxSamplerAnisotropy;
- uint32_t maxViewports;
- uint32_t maxViewportDimensions[2];
- float viewportBoundsRange[2];
- uint32_t viewportSubPixelBits;
- size_t minMemoryMapAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) minTexelBufferOffsetAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) minUniformBufferOffsetAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) minStorageBufferOffsetAlignment;
- int32_t minTexelOffset;
- uint32_t maxTexelOffset;
- int32_t minTexelGatherOffset;
- uint32_t maxTexelGatherOffset;
- float minInterpolationOffset;
- float maxInterpolationOffset;
- uint32_t subPixelInterpolationOffsetBits;
- uint32_t maxFramebufferWidth;
- uint32_t maxFramebufferHeight;
- uint32_t maxFramebufferLayers;
- VkSampleCountFlags framebufferColorSampleCounts;
- VkSampleCountFlags framebufferDepthSampleCounts;
- VkSampleCountFlags framebufferStencilSampleCounts;
- VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
- uint32_t maxColorAttachments;
- VkSampleCountFlags sampledImageColorSampleCounts;
- VkSampleCountFlags sampledImageIntegerSampleCounts;
- VkSampleCountFlags sampledImageDepthSampleCounts;
- VkSampleCountFlags sampledImageStencilSampleCounts;
- VkSampleCountFlags storageImageSampleCounts;
- uint32_t maxSampleMaskWords;
- VkBool32 timestampComputeAndGraphics;
- float timestampPeriod;
- uint32_t maxClipDistances;
- uint32_t maxCullDistances;
- uint32_t maxCombinedClipAndCullDistances;
- uint32_t discreteQueuePriorities;
- float pointSizeRange[2];
- float lineWidthRange[2];
- float pointSizeGranularity;
- float lineWidthGranularity;
- VkBool32 strictLines;
- VkBool32 standardSampleLocations;
- VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyOffsetAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyRowPitchAlignment;
- VkDeviceSize WINE_VK_ALIGN(8) nonCoherentAtomSize;
-} VkPhysicalDeviceLimits;
+ VkStructureType sType;
+ const void *pNext;
+ VkFormat format;
+ VkImageType type;
+ VkImageTiling tiling;
+ VkImageUsageFlags usage;
+ VkImageCreateFlags flags;
+} VkPhysicalDeviceImageFormatInfo2;
-typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT
+typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 memoryPriority;
-} VkPhysicalDeviceMemoryPriorityFeaturesEXT;
+ VkImageViewType imageViewType;
+} VkPhysicalDeviceImageViewImageFormatInfoEXT;
+
+typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ uint32_t maxInlineUniformBlockSize;
+ uint32_t maxPerStageDescriptorInlineUniformBlocks;
+ uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
+ uint32_t maxDescriptorSetInlineUniformBlocks;
+ uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
+} VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
+
+typedef struct VkPhysicalDeviceMaintenance3Properties
+{
+ VkStructureType sType;
+ void *pNext;
+ uint32_t maxPerSetDescriptors;
+ VkDeviceSize WINE_VK_ALIGN(8) maxMemoryAllocationSize;
+} VkPhysicalDeviceMaintenance3Properties;
+
+typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkDeviceSize WINE_VK_ALIGN(8) heapBudget[VK_MAX_MEMORY_HEAPS];
+ VkDeviceSize WINE_VK_ALIGN(8) heapUsage[VK_MAX_MEMORY_HEAPS];
+} VkPhysicalDeviceMemoryBudgetPropertiesEXT;
typedef struct VkPhysicalDeviceMeshShaderPropertiesNV
{
@@ -3161,20 +3202,34 @@ typedef struct VkPhysicalDeviceShaderAtomicInt64FeaturesKHR
VkBool32 shaderSharedInt64Atomics;
} VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
-typedef struct VkPhysicalDeviceShaderDrawParameterFeatures
+typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 shaderDemoteToHelperInvocation;
+} VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
+
+typedef struct VkPhysicalDeviceShaderDrawParametersFeatures
{
VkStructureType sType;
void *pNext;
VkBool32 shaderDrawParameters;
-} VkPhysicalDeviceShaderDrawParameterFeatures;
+} VkPhysicalDeviceShaderDrawParametersFeatures;
-typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV
+typedef struct VkPhysicalDeviceShaderIntegerFunctions2INTEL
{
VkStructureType sType;
void *pNext;
- VkBool32 shadingRateImage;
- VkBool32 shadingRateCoarseSampleOrder;
-} VkPhysicalDeviceShadingRateImageFeaturesNV;
+ VkBool32 shaderIntegerFunctions2;
+} VkPhysicalDeviceShaderIntegerFunctions2INTEL;
+
+typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
+{
+ VkStructureType sType;
+ void *pNext;
+ uint32_t shaderSMCount;
+ uint32_t shaderWarpsPerSM;
+} VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
typedef struct VkPhysicalDeviceSparseImageFormatInfo2
{
@@ -3196,6 +3251,16 @@ typedef struct VkPhysicalDeviceSparseProperties
VkBool32 residencyNonResidentStrict;
} VkPhysicalDeviceSparseProperties;
+typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkDeviceSize WINE_VK_ALIGN(8) storageTexelBufferOffsetAlignmentBytes;
+ VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) uniformTexelBufferOffsetAlignmentBytes;
+ VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
+} VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
+
typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT
{
VkStructureType sType;
@@ -3212,28 +3277,59 @@ typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT
VkBool32 transformFeedbackDraw;
} VkPhysicalDeviceTransformFeedbackPropertiesEXT;
-typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
+typedef struct VkPhysicalDeviceVariablePointerFeatures
{
VkStructureType sType;
void *pNext;
- uint32_t maxVertexAttribDivisor;
-} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
+ VkBool32 variablePointersStorageBuffer;
+ VkBool32 variablePointers;
+} VkPhysicalDeviceVariablePointerFeatures;
-typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
+typedef struct VkPhysicalDeviceVariablePointersFeatures
{
VkStructureType sType;
void *pNext;
- VkBool32 ycbcrImageArrays;
-} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
+ VkBool32 variablePointersStorageBuffer;
+ VkBool32 variablePointers;
+} VkPhysicalDeviceVariablePointersFeatures;
-typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT
+typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 vertexAttributeInstanceRateDivisor;
+ VkBool32 vertexAttributeInstanceRateZeroDivisor;
+} VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
+
+typedef struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 vulkanMemoryModel;
+ VkBool32 vulkanMemoryModelDeviceScope;
+ VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
+} VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
+
+typedef struct VkPipelineCacheCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkBool32 srcPremultiplied;
- VkBool32 dstPremultiplied;
- VkBlendOverlapEXT blendOverlap;
-} VkPipelineColorBlendAdvancedStateCreateInfoEXT;
+ VkPipelineCacheCreateFlags flags;
+ size_t initialDataSize;
+ const void *pInitialData;
+} VkPipelineCacheCreateInfo;
+
+typedef struct VkPipelineColorBlendAttachmentState
+{
+ VkBool32 blendEnable;
+ VkBlendFactor srcColorBlendFactor;
+ VkBlendFactor dstColorBlendFactor;
+ VkBlendOp colorBlendOp;
+ VkBlendFactor srcAlphaBlendFactor;
+ VkBlendFactor dstAlphaBlendFactor;
+ VkBlendOp alphaBlendOp;
+ VkColorComponentFlags colorWriteMask;
+} VkPipelineColorBlendAttachmentState;
typedef struct VkPipelineCoverageModulationStateCreateInfoNV
{
@@ -3246,6 +3342,15 @@ typedef struct VkPipelineCoverageModulationStateCreateInfoNV
const float *pCoverageModulationTable;
} VkPipelineCoverageModulationStateCreateInfoNV;
+typedef struct VkPipelineCoverageToColorStateCreateInfoNV
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkPipelineCoverageToColorStateCreateFlagsNV flags;
+ VkBool32 coverageToColorEnable;
+ uint32_t coverageToColorLocation;
+} VkPipelineCoverageToColorStateCreateInfoNV;
+
typedef struct VkPipelineDynamicStateCreateInfo
{
VkStructureType sType;
@@ -3305,18 +3410,6 @@ typedef struct VkPipelineTessellationStateCreateInfo
uint32_t patchControlPoints;
} VkPipelineTessellationStateCreateInfo;
-typedef struct VkPresentInfoKHR
-{
- VkStructureType sType;
- const void *pNext;
- uint32_t waitSemaphoreCount;
- const VkSemaphore *pWaitSemaphores;
- uint32_t swapchainCount;
- const VkSwapchainKHR *pSwapchains;
- const uint32_t *pImageIndices;
- VkResult *pResults;
-} VkPresentInfoKHR;
-
typedef struct VkProtectedSubmitInfo
{
VkStructureType sType;
@@ -3334,13 +3427,12 @@ typedef struct VkQueryPoolCreateInfo
VkQueryPipelineStatisticFlags pipelineStatistics;
} VkQueryPoolCreateInfo;
-typedef struct VkQueueFamilyProperties
+typedef struct VkQueueFamilyCheckpointPropertiesNV
{
- VkQueueFlags queueFlags;
- uint32_t queueCount;
- uint32_t timestampValidBits;
- VkExtent3D minImageTransferGranularity;
-} VkQueueFamilyProperties;
+ VkStructureType sType;
+ void *pNext;
+ VkPipelineStageFlags checkpointExecutionStageMask;
+} VkQueueFamilyCheckpointPropertiesNV;
typedef struct VkRayTracingShaderGroupCreateInfoNV
{
@@ -3444,21 +3536,17 @@ typedef struct VkSpecializationMapEntry
size_t size;
} VkSpecializationMapEntry;
-typedef struct VkSubmitInfo
+typedef struct VkSubpassBeginInfoKHR
{
VkStructureType sType;
const void *pNext;
- uint32_t waitSemaphoreCount;
- const VkSemaphore *pWaitSemaphores;
- const VkPipelineStageFlags *pWaitDstStageMask;
- uint32_t commandBufferCount;
- const VkCommandBuffer *pCommandBuffers;
- uint32_t signalSemaphoreCount;
- const VkSemaphore *pSignalSemaphores;
-} VkSubmitInfo;
+ VkSubpassContents contents;
+} VkSubpassBeginInfoKHR;
-typedef struct VkSubpassDependency
+typedef struct VkSubpassDependency2KHR
{
+ VkStructureType sType;
+ const void *pNext;
uint32_t srcSubpass;
uint32_t dstSubpass;
VkPipelineStageFlags srcStageMask;
@@ -3466,21 +3554,8 @@ typedef struct VkSubpassDependency
VkAccessFlags srcAccessMask;
VkAccessFlags dstAccessMask;
VkDependencyFlags dependencyFlags;
-} VkSubpassDependency;
-
-typedef struct VkSubpassDescription
-{
- VkSubpassDescriptionFlags flags;
- VkPipelineBindPoint pipelineBindPoint;
- uint32_t inputAttachmentCount;
- const VkAttachmentReference *pInputAttachments;
- uint32_t colorAttachmentCount;
- const VkAttachmentReference *pColorAttachments;
- const VkAttachmentReference *pResolveAttachments;
- const VkAttachmentReference *pDepthStencilAttachment;
- uint32_t preserveAttachmentCount;
- const uint32_t *pPreserveAttachments;
-} VkSubpassDescription;
+ int32_t viewOffset;
+} VkSubpassDependency2KHR;
typedef struct VkSubpassEndInfoKHR
{
@@ -3746,6 +3821,13 @@ typedef struct VkFramebufferCreateInfo
uint32_t layers;
} VkFramebufferCreateInfo;
+typedef struct VkHeadlessSurfaceCreateInfoEXT
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkHeadlessSurfaceCreateFlagsEXT flags;
+} VkHeadlessSurfaceCreateInfoEXT;
+
typedef struct VkImageFormatProperties
{
VkExtent3D maxExtent;
@@ -3807,93 +3889,228 @@ typedef struct VkOffset3D
int32_t z;
} VkOffset3D;
-typedef struct VkPhysicalDevice8BitStorageFeaturesKHR
+typedef struct VkPerformanceOverrideInfoINTEL
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkPerformanceOverrideTypeINTEL type;
+ VkBool32 enable;
+ uint64_t WINE_VK_ALIGN(8) parameter;
+} VkPerformanceOverrideInfoINTEL;
+
+typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 storageBuffer8BitAccess;
- VkBool32 uniformAndStorageBuffer8BitAccess;
- VkBool32 storagePushConstant8;
-} VkPhysicalDevice8BitStorageFeaturesKHR;
+ uint32_t advancedBlendMaxColorAttachments;
+ VkBool32 advancedBlendIndependentBlend;
+ VkBool32 advancedBlendNonPremultipliedSrcColor;
+ VkBool32 advancedBlendNonPremultipliedDstColor;
+ VkBool32 advancedBlendCorrelatedOverlap;
+ VkBool32 advancedBlendAllOperations;
+} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
-typedef struct VkPhysicalDeviceBufferAddressFeaturesEXT
+typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 bufferDeviceAddress;
- VkBool32 bufferDeviceAddressCaptureReplay;
- VkBool32 bufferDeviceAddressMultiDevice;
-} VkPhysicalDeviceBufferAddressFeaturesEXT;
+ VkBool32 conditionalRendering;
+ VkBool32 inheritedConditionalRendering;
+} VkPhysicalDeviceConditionalRenderingFeaturesEXT;
-typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV
+typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV
{
VkStructureType sType;
void *pNext;
- VkBool32 cooperativeMatrix;
- VkBool32 cooperativeMatrixRobustBufferAccess;
-} VkPhysicalDeviceCooperativeMatrixFeaturesNV;
+ VkBool32 cornerSampledImage;
+} VkPhysicalDeviceCornerSampledImageFeaturesNV;
-typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT
+typedef struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR
{
VkStructureType sType;
void *pNext;
- VkBool32 depthClipEnable;
-} VkPhysicalDeviceDepthClipEnableFeaturesEXT;
+ VkResolveModeFlagsKHR supportedDepthResolveModes;
+ VkResolveModeFlagsKHR supportedStencilResolveModes;
+ VkBool32 independentResolveNone;
+ VkBool32 independentResolve;
+} VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
-typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT
+typedef struct VkPhysicalDeviceDriverPropertiesKHR
{
VkStructureType sType;
void *pNext;
- uint32_t maxDiscardRectangles;
-} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
+ VkDriverIdKHR driverID;
+ char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR];
+ char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR];
+ VkConformanceVersionKHR conformanceVersion;
+} VkPhysicalDeviceDriverPropertiesKHR;
-typedef struct VkPhysicalDeviceExternalBufferInfo
+typedef struct VkPhysicalDeviceExternalFenceInfo
{
VkStructureType sType;
const void *pNext;
- VkBufferCreateFlags flags;
- VkBufferUsageFlags usage;
- VkExternalMemoryHandleTypeFlagBits handleType;
-} VkPhysicalDeviceExternalBufferInfo;
+ VkExternalFenceHandleTypeFlagBits handleType;
+} VkPhysicalDeviceExternalFenceInfo;
-typedef struct VkPhysicalDeviceExternalImageFormatInfo
+typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT
{
VkStructureType sType;
- const void *pNext;
- VkExternalMemoryHandleTypeFlagBits handleType;
-} VkPhysicalDeviceExternalImageFormatInfo;
+ void *pNext;
+ VkDeviceSize WINE_VK_ALIGN(8) minImportedHostPointerAlignment;
+} VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
-typedef struct VkPhysicalDeviceFloat16Int8FeaturesKHR
+typedef struct VkPhysicalDeviceFeatures2
{
VkStructureType sType;
void *pNext;
- VkBool32 shaderFloat16;
- VkBool32 shaderInt8;
-} VkPhysicalDeviceFloat16Int8FeaturesKHR;
+ VkPhysicalDeviceFeatures features;
+} VkPhysicalDeviceFeatures2;
-typedef struct VkPhysicalDeviceGroupProperties
+typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT
{
VkStructureType sType;
void *pNext;
- uint32_t physicalDeviceCount;
- VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
- VkBool32 subsetAllocation;
-} VkPhysicalDeviceGroupProperties;
+ VkBool32 fragmentDensityMap;
+ VkBool32 fragmentDensityMapDynamic;
+ VkBool32 fragmentDensityMapNonSubsampledImages;
+} VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
-typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT
+typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkImageViewType imageViewType;
-} VkPhysicalDeviceImageViewImageFormatInfoEXT;
+ VkBool32 fragmentShaderSampleInterlock;
+ VkBool32 fragmentShaderPixelInterlock;
+ VkBool32 fragmentShaderShadingRateInterlock;
+} VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
-typedef struct VkPhysicalDeviceMaintenance3Properties
+typedef struct VkPhysicalDeviceIDProperties
{
VkStructureType sType;
void *pNext;
- uint32_t maxPerSetDescriptors;
- VkDeviceSize WINE_VK_ALIGN(8) maxMemoryAllocationSize;
-} VkPhysicalDeviceMaintenance3Properties;
+ uint8_t deviceUUID[VK_UUID_SIZE];
+ uint8_t driverUUID[VK_UUID_SIZE];
+ uint8_t deviceLUID[VK_LUID_SIZE];
+ uint32_t deviceNodeMask;
+ VkBool32 deviceLUIDValid;
+} VkPhysicalDeviceIDProperties;
+
+typedef struct VkPhysicalDeviceLimits
+{
+ uint32_t maxImageDimension1D;
+ uint32_t maxImageDimension2D;
+ uint32_t maxImageDimension3D;
+ uint32_t maxImageDimensionCube;
+ uint32_t maxImageArrayLayers;
+ uint32_t maxTexelBufferElements;
+ uint32_t maxUniformBufferRange;
+ uint32_t maxStorageBufferRange;
+ uint32_t maxPushConstantsSize;
+ uint32_t maxMemoryAllocationCount;
+ uint32_t maxSamplerAllocationCount;
+ VkDeviceSize WINE_VK_ALIGN(8) bufferImageGranularity;
+ VkDeviceSize WINE_VK_ALIGN(8) sparseAddressSpaceSize;
+ uint32_t maxBoundDescriptorSets;
+ uint32_t maxPerStageDescriptorSamplers;
+ uint32_t maxPerStageDescriptorUniformBuffers;
+ uint32_t maxPerStageDescriptorStorageBuffers;
+ uint32_t maxPerStageDescriptorSampledImages;
+ uint32_t maxPerStageDescriptorStorageImages;
+ uint32_t maxPerStageDescriptorInputAttachments;
+ uint32_t maxPerStageResources;
+ uint32_t maxDescriptorSetSamplers;
+ uint32_t maxDescriptorSetUniformBuffers;
+ uint32_t maxDescriptorSetUniformBuffersDynamic;
+ uint32_t maxDescriptorSetStorageBuffers;
+ uint32_t maxDescriptorSetStorageBuffersDynamic;
+ uint32_t maxDescriptorSetSampledImages;
+ uint32_t maxDescriptorSetStorageImages;
+ uint32_t maxDescriptorSetInputAttachments;
+ uint32_t maxVertexInputAttributes;
+ uint32_t maxVertexInputBindings;
+ uint32_t maxVertexInputAttributeOffset;
+ uint32_t maxVertexInputBindingStride;
+ uint32_t maxVertexOutputComponents;
+ uint32_t maxTessellationGenerationLevel;
+ uint32_t maxTessellationPatchSize;
+ uint32_t maxTessellationControlPerVertexInputComponents;
+ uint32_t maxTessellationControlPerVertexOutputComponents;
+ uint32_t maxTessellationControlPerPatchOutputComponents;
+ uint32_t maxTessellationControlTotalOutputComponents;
+ uint32_t maxTessellationEvaluationInputComponents;
+ uint32_t maxTessellationEvaluationOutputComponents;
+ uint32_t maxGeometryShaderInvocations;
+ uint32_t maxGeometryInputComponents;
+ uint32_t maxGeometryOutputComponents;
+ uint32_t maxGeometryOutputVertices;
+ uint32_t maxGeometryTotalOutputComponents;
+ uint32_t maxFragmentInputComponents;
+ uint32_t maxFragmentOutputAttachments;
+ uint32_t maxFragmentDualSrcAttachments;
+ uint32_t maxFragmentCombinedOutputResources;
+ uint32_t maxComputeSharedMemorySize;
+ uint32_t maxComputeWorkGroupCount[3];
+ uint32_t maxComputeWorkGroupInvocations;
+ uint32_t maxComputeWorkGroupSize[3];
+ uint32_t subPixelPrecisionBits;
+ uint32_t subTexelPrecisionBits;
+ uint32_t mipmapPrecisionBits;
+ uint32_t maxDrawIndexedIndexValue;
+ uint32_t maxDrawIndirectCount;
+ float maxSamplerLodBias;
+ float maxSamplerAnisotropy;
+ uint32_t maxViewports;
+ uint32_t maxViewportDimensions[2];
+ float viewportBoundsRange[2];
+ uint32_t viewportSubPixelBits;
+ size_t minMemoryMapAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) minTexelBufferOffsetAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) minUniformBufferOffsetAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) minStorageBufferOffsetAlignment;
+ int32_t minTexelOffset;
+ uint32_t maxTexelOffset;
+ int32_t minTexelGatherOffset;
+ uint32_t maxTexelGatherOffset;
+ float minInterpolationOffset;
+ float maxInterpolationOffset;
+ uint32_t subPixelInterpolationOffsetBits;
+ uint32_t maxFramebufferWidth;
+ uint32_t maxFramebufferHeight;
+ uint32_t maxFramebufferLayers;
+ VkSampleCountFlags framebufferColorSampleCounts;
+ VkSampleCountFlags framebufferDepthSampleCounts;
+ VkSampleCountFlags framebufferStencilSampleCounts;
+ VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
+ uint32_t maxColorAttachments;
+ VkSampleCountFlags sampledImageColorSampleCounts;
+ VkSampleCountFlags sampledImageIntegerSampleCounts;
+ VkSampleCountFlags sampledImageDepthSampleCounts;
+ VkSampleCountFlags sampledImageStencilSampleCounts;
+ VkSampleCountFlags storageImageSampleCounts;
+ uint32_t maxSampleMaskWords;
+ VkBool32 timestampComputeAndGraphics;
+ float timestampPeriod;
+ uint32_t maxClipDistances;
+ uint32_t maxCullDistances;
+ uint32_t maxCombinedClipAndCullDistances;
+ uint32_t discreteQueuePriorities;
+ float pointSizeRange[2];
+ float lineWidthRange[2];
+ float pointSizeGranularity;
+ float lineWidthGranularity;
+ VkBool32 strictLines;
+ VkBool32 standardSampleLocations;
+ VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyOffsetAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) optimalBufferCopyRowPitchAlignment;
+ VkDeviceSize WINE_VK_ALIGN(8) nonCoherentAtomSize;
+} VkPhysicalDeviceLimits;
+
+typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 memoryPriority;
+} VkPhysicalDeviceMemoryPriorityFeaturesEXT;
typedef struct VkPhysicalDeviceMeshShaderFeaturesNV
{
@@ -3951,39 +4168,53 @@ typedef struct VkPhysicalDeviceShaderCorePropertiesAMD
uint32_t vgprAllocationGranularity;
} VkPhysicalDeviceShaderCorePropertiesAMD;
-typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT
+typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
{
VkStructureType sType;
void *pNext;
- VkBool32 transformFeedback;
- VkBool32 geometryStreams;
-} VkPhysicalDeviceTransformFeedbackFeaturesEXT;
+ VkBool32 imageFootprint;
+} VkPhysicalDeviceShaderImageFootprintFeaturesNV;
-typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
+typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV
{
VkStructureType sType;
void *pNext;
- VkBool32 vertexAttributeInstanceRateDivisor;
- VkBool32 vertexAttributeInstanceRateZeroDivisor;
-} VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
+ VkBool32 shadingRateImage;
+ VkBool32 shadingRateCoarseSampleOrder;
+} VkPhysicalDeviceShadingRateImageFeaturesNV;
-typedef struct VkPipelineCacheCreateInfo
+typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
{
VkStructureType sType;
- const void *pNext;
- VkPipelineCacheCreateFlags flags;
- size_t initialDataSize;
- const void *pInitialData;
-} VkPipelineCacheCreateInfo;
+ void *pNext;
+ VkBool32 texelBufferAlignment;
+} VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
-typedef struct VkPipelineCoverageToColorStateCreateInfoNV
+typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 uniformBufferStandardLayout;
+} VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
+
+typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
+{
+ VkStructureType sType;
+ void *pNext;
+ VkBool32 ycbcrImageArrays;
+} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
+
+typedef struct VkPipelineColorBlendStateCreateInfo
{
VkStructureType sType;
const void *pNext;
- VkPipelineCoverageToColorStateCreateFlagsNV flags;
- VkBool32 coverageToColorEnable;
- uint32_t coverageToColorLocation;
-} VkPipelineCoverageToColorStateCreateInfoNV;
+ VkPipelineColorBlendStateCreateFlags flags;
+ VkBool32 logicOpEnable;
+ VkLogicOp logicOp;
+ uint32_t attachmentCount;
+ const VkPipelineColorBlendAttachmentState *pAttachments;
+ float blendConstants[4];
+} VkPipelineColorBlendStateCreateInfo;
typedef struct VkPipelineInputAssemblyStateCreateInfo
{
@@ -4038,37 +4269,32 @@ typedef struct VkPipelineViewportSwizzleStateCreateInfoNV
const VkViewportSwizzleNV *pViewportSwizzles;
} VkPipelineViewportSwizzleStateCreateInfoNV;
-typedef struct VkQueueFamilyCheckpointPropertiesNV
+typedef struct VkPresentInfoKHR
{
VkStructureType sType;
- void *pNext;
- VkPipelineStageFlags checkpointExecutionStageMask;
-} VkQueueFamilyCheckpointPropertiesNV;
+ const void *pNext;
+ uint32_t waitSemaphoreCount;
+ const VkSemaphore *pWaitSemaphores;
+ uint32_t swapchainCount;
+ const VkSwapchainKHR *pSwapchains;
+ const uint32_t *pImageIndices;
+ VkResult *pResults;
+} VkPresentInfoKHR;
-typedef struct VkRenderPassCreateInfo
+typedef struct VkQueryPoolCreateInfoINTEL
{
VkStructureType sType;
const void *pNext;
- VkRenderPassCreateFlags flags;
- uint32_t attachmentCount;
- const VkAttachmentDescription *pAttachments;
- uint32_t subpassCount;
- const VkSubpassDescription *pSubpasses;
- uint32_t dependencyCount;
- const VkSubpassDependency *pDependencies;
-} VkRenderPassCreateInfo;
+ VkQueryPoolSamplingModeINTEL performanceCountersSampling;
+} VkQueryPoolCreateInfoINTEL;
-typedef struct VkRenderPassMultiviewCreateInfo
+typedef struct VkRenderPassInputAttachmentAspectCreateInfo
{
VkStructureType sType;
const void *pNext;
- uint32_t subpassCount;
- const uint32_t *pViewMasks;
- uint32_t dependencyCount;
- const int32_t *pViewOffsets;
- uint32_t correlationMaskCount;
- const uint32_t *pCorrelationMasks;
-} VkRenderPassMultiviewCreateInfo;
+ uint32_t aspectReferenceCount;
+ const VkInputAttachmentAspectReference *pAspectReferences;
+} VkRenderPassInputAttachmentAspectCreateInfo;
typedef struct VkSamplerReductionModeCreateInfoEXT
{
@@ -4120,12 +4346,32 @@ typedef struct VkSpecializationInfo
const void *pData;
} VkSpecializationInfo;
-typedef struct VkSubpassBeginInfoKHR
+typedef struct VkSubmitInfo
{
VkStructureType sType;
const void *pNext;
- VkSubpassContents contents;
-} VkSubpassBeginInfoKHR;
+ uint32_t waitSemaphoreCount;
+ const VkSemaphore *pWaitSemaphores;
+ const VkPipelineStageFlags *pWaitDstStageMask;
+ uint32_t commandBufferCount;
+ const VkCommandBuffer *pCommandBuffers;
+ uint32_t signalSemaphoreCount;
+ const VkSemaphore *pSignalSemaphores;
+} VkSubmitInfo;
+
+typedef struct VkSubpassDescription
+{
+ VkSubpassDescriptionFlags flags;
+ VkPipelineBindPoint pipelineBindPoint;
+ uint32_t inputAttachmentCount;
+ const VkAttachmentReference *pInputAttachments;
+ uint32_t colorAttachmentCount;
+ const VkAttachmentReference *pColorAttachments;
+ const VkAttachmentReference *pResolveAttachments;
+ const VkAttachmentReference *pDepthStencilAttachment;
+ uint32_t preserveAttachmentCount;
+ const uint32_t *pPreserveAttachments;
+} VkSubpassDescription;
typedef struct VkSurfaceFormatKHR
{
@@ -4301,17 +4547,21 @@ typedef struct VkFenceCreateInfo
VkFenceCreateFlags flags;
} VkFenceCreateInfo;
-typedef struct VkGeometryDataNV
-{
- VkGeometryTrianglesNV WINE_VK_ALIGN(8) triangles;
- VkGeometryAABBNV WINE_VK_ALIGN(8) aabbs;
-} VkGeometryDataNV;
-
-typedef struct VkImageBlit
+typedef struct VkGeometryAABBNV
{
- VkImageSubresourceLayers srcSubresource;
- VkOffset3D srcOffsets[2];
- VkImageSubresourceLayers dstSubresource;
+ VkStructureType sType;
+ const void *pNext;
+ VkBuffer WINE_VK_ALIGN(8) aabbData;
+ uint32_t numAABBs;
+ uint32_t stride;
+ VkDeviceSize WINE_VK_ALIGN(8) offset;
+} VkGeometryAABBNV;
+
+typedef struct VkImageBlit
+{
+ VkImageSubresourceLayers srcSubresource;
+ VkOffset3D srcOffsets[2];
+ VkImageSubresourceLayers dstSubresource;
VkOffset3D dstOffsets[2];
} VkImageBlit;
@@ -4367,63 +4617,81 @@ typedef struct VkMultisamplePropertiesEXT
VkExtent2D maxSampleLocationGridSize;
} VkMultisamplePropertiesEXT;
-typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
+typedef union VkPerformanceValueDataINTEL
{
- VkStructureType sType;
- void *pNext;
- VkBool32 advancedBlendCoherentOperations;
-} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
+ uint32_t value32;
+ uint64_t WINE_VK_ALIGN(8) value64;
+ float valueFloat;
+ VkBool32 valueBool;
+ const char *valueString;
+} VkPerformanceValueDataINTEL;
-typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV
+typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 cornerSampledImage;
-} VkPhysicalDeviceCornerSampledImageFeaturesNV;
+ VkBool32 decodeModeSharedExponent;
+} VkPhysicalDeviceASTCDecodeFeaturesEXT;
-typedef struct VkPhysicalDeviceDriverPropertiesKHR
+typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV
{
VkStructureType sType;
void *pNext;
- VkDriverIdKHR driverID;
- char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR];
- char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR];
- VkConformanceVersionKHR conformanceVersion;
-} VkPhysicalDeviceDriverPropertiesKHR;
+ VkBool32 cooperativeMatrix;
+ VkBool32 cooperativeMatrixRobustBufferAccess;
+} VkPhysicalDeviceCooperativeMatrixFeaturesNV;
-typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT
+typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT
{
VkStructureType sType;
void *pNext;
- VkDeviceSize WINE_VK_ALIGN(8) minImportedHostPointerAlignment;
-} VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
+ uint32_t maxUpdateAfterBindDescriptorsInAllPools;
+ VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
+ VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
+ VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
+ VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
+ VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
+ VkBool32 robustBufferAccessUpdateAfterBind;
+ VkBool32 quadDivergentImplicitLod;
+ uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
+ uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
+ uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
+ uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
+ uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
+ uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
+ uint32_t maxPerStageUpdateAfterBindResources;
+ uint32_t maxDescriptorSetUpdateAfterBindSamplers;
+ uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
+ uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
+ uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
+ uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
+ uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
+ uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
+ uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
+} VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
-typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT
+typedef struct VkPhysicalDeviceExternalImageFormatInfo
{
VkStructureType sType;
- void *pNext;
- VkBool32 fragmentDensityMap;
- VkBool32 fragmentDensityMapDynamic;
- VkBool32 fragmentDensityMapNonSubsampledImages;
-} VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
+ const void *pNext;
+ VkExternalMemoryHandleTypeFlagBits handleType;
+} VkPhysicalDeviceExternalImageFormatInfo;
-typedef struct VkPhysicalDeviceHostQueryResetFeaturesEXT
+typedef struct VkPhysicalDeviceFloat16Int8FeaturesKHR
{
VkStructureType sType;
void *pNext;
- VkBool32 hostQueryReset;
-} VkPhysicalDeviceHostQueryResetFeaturesEXT;
+ VkBool32 shaderFloat16;
+ VkBool32 shaderInt8;
+} VkPhysicalDeviceFloat16Int8FeaturesKHR;
-typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT
+typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT
{
VkStructureType sType;
void *pNext;
- uint32_t maxInlineUniformBlockSize;
- uint32_t maxPerStageDescriptorInlineUniformBlocks;
- uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
- uint32_t maxDescriptorSetInlineUniformBlocks;
- uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
-} VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
+ VkBool32 inlineUniformBlock;
+ VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
+} VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
typedef struct VkPhysicalDeviceMultiviewFeatures
{
@@ -4461,34 +4729,31 @@ typedef struct VkPhysicalDeviceScalarBlockLayoutFeaturesEXT
VkBool32 scalarBlockLayout;
} VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
-typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV
+typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
{
VkStructureType sType;
void *pNext;
- VkExtent2D shadingRateTexelSize;
- uint32_t shadingRatePaletteSize;
- uint32_t shadingRateMaxCoarseSamples;
-} VkPhysicalDeviceShadingRateImagePropertiesNV;
+ VkBool32 shaderSMBuiltins;
+} VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
-typedef struct VkPhysicalDeviceVariablePointerFeatures
+typedef struct VkPhysicalDeviceSubgroupProperties
{
VkStructureType sType;
void *pNext;
- VkBool32 variablePointersStorageBuffer;
- VkBool32 variablePointers;
-} VkPhysicalDeviceVariablePointerFeatures;
+ uint32_t subgroupSize;
+ VkShaderStageFlags supportedStages;
+ VkSubgroupFeatureFlags supportedOperations;
+ VkBool32 quadOperationsInAllStages;
+} VkPhysicalDeviceSubgroupProperties;
-typedef struct VkPipelineColorBlendAttachmentState
+typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT
{
- VkBool32 blendEnable;
- VkBlendFactor srcColorBlendFactor;
- VkBlendFactor dstColorBlendFactor;
- VkBlendOp colorBlendOp;
- VkBlendFactor srcAlphaBlendFactor;
- VkBlendFactor dstAlphaBlendFactor;
- VkBlendOp alphaBlendOp;
- VkColorComponentFlags colorWriteMask;
-} VkPipelineColorBlendAttachmentState;
+ VkStructureType sType;
+ const void *pNext;
+ VkBool32 srcPremultiplied;
+ VkBool32 dstPremultiplied;
+ VkBlendOverlapEXT blendOverlap;
+} VkPipelineColorBlendAdvancedStateCreateInfoEXT;
typedef struct VkPipelineRasterizationStateCreateInfo
{
@@ -4558,6 +4823,18 @@ typedef struct VkRectLayerKHR
uint32_t layer;
} VkRectLayerKHR;
+typedef struct VkRenderPassMultiviewCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t subpassCount;
+ const uint32_t *pViewMasks;
+ uint32_t dependencyCount;
+ const int32_t *pViewOffsets;
+ uint32_t correlationMaskCount;
+ const uint32_t *pCorrelationMasks;
+} VkRenderPassMultiviewCreateInfo;
+
typedef struct VkSampleLocationsInfoEXT
{
VkStructureType sType;
@@ -4593,10 +4870,8 @@ typedef struct VkSparseImageOpaqueMemoryBindInfo
const VkSparseMemoryBind *pBinds;
} VkSparseImageOpaqueMemoryBindInfo;
-typedef struct VkSubpassDependency2KHR
+typedef struct VkSubpassDependency
{
- VkStructureType sType;
- const void *pNext;
uint32_t srcSubpass;
uint32_t dstSubpass;
VkPipelineStageFlags srcStageMask;
@@ -4604,8 +4879,7 @@ typedef struct VkSubpassDependency2KHR
VkAccessFlags srcAccessMask;
VkAccessFlags dstAccessMask;
VkDependencyFlags dependencyFlags;
- int32_t viewOffset;
-} VkSubpassDependency2KHR;
+} VkSubpassDependency;
typedef struct VkSubpassDescriptionDepthStencilResolveKHR
{
@@ -4705,14 +4979,11 @@ typedef struct VkExternalMemoryProperties
VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
} VkExternalMemoryProperties;
-typedef struct VkGeometryNV
+typedef struct VkGeometryDataNV
{
- VkStructureType sType;
- const void *pNext;
- VkGeometryTypeNV geometryType;
- VkGeometryDataNV WINE_VK_ALIGN(8) geometry;
- VkGeometryFlagsNV flags;
-} VkGeometryNV;
+ VkGeometryTrianglesNV WINE_VK_ALIGN(8) triangles;
+ VkGeometryAABBNV WINE_VK_ALIGN(8) aabbs;
+} VkGeometryDataNV;
typedef struct VkImageCopy
{
@@ -4742,12 +5013,12 @@ typedef struct VkImageViewCreateInfo
VkImageSubresourceRange subresourceRange;
} VkImageViewCreateInfo;
-typedef struct VkInputAttachmentAspectReference
+typedef struct VkInitializePerformanceApiInfoINTEL
{
- uint32_t subpass;
- uint32_t inputAttachmentIndex;
- VkImageAspectFlags aspectMask;
-} VkInputAttachmentAspectReference;
+ VkStructureType sType;
+ const void *pNext;
+ void *pUserData;
+} VkInitializePerformanceApiInfoINTEL;
typedef struct VkMemoryDedicatedAllocateInfo
{
@@ -4757,59 +5028,39 @@ typedef struct VkMemoryDedicatedAllocateInfo
VkBuffer WINE_VK_ALIGN(8) buffer;
} VkMemoryDedicatedAllocateInfo;
-typedef struct VkPhysicalDevice16BitStorageFeatures
+typedef struct VkPerformanceConfigurationAcquireInfoINTEL
{
VkStructureType sType;
- void *pNext;
- VkBool32 storageBuffer16BitAccess;
- VkBool32 uniformAndStorageBuffer16BitAccess;
- VkBool32 storagePushConstant16;
- VkBool32 storageInputOutput16;
-} VkPhysicalDevice16BitStorageFeatures;
+ const void *pNext;
+ VkPerformanceConfigurationTypeINTEL type;
+} VkPerformanceConfigurationAcquireInfoINTEL;
-typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT
+typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 shaderInputAttachmentArrayDynamicIndexing;
- VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
- VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
- VkBool32 shaderUniformBufferArrayNonUniformIndexing;
- VkBool32 shaderSampledImageArrayNonUniformIndexing;
- VkBool32 shaderStorageBufferArrayNonUniformIndexing;
- VkBool32 shaderStorageImageArrayNonUniformIndexing;
- VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
- VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
- VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
- VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
- VkBool32 descriptorBindingSampledImageUpdateAfterBind;
- VkBool32 descriptorBindingStorageImageUpdateAfterBind;
- VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
- VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
- VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
- VkBool32 descriptorBindingUpdateUnusedWhilePending;
- VkBool32 descriptorBindingPartiallyBound;
- VkBool32 descriptorBindingVariableDescriptorCount;
- VkBool32 runtimeDescriptorArray;
-} VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
+ VkBool32 bufferDeviceAddress;
+ VkBool32 bufferDeviceAddressCaptureReplay;
+ VkBool32 bufferDeviceAddressMultiDevice;
+} VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
-typedef struct VkPhysicalDeviceFeatures2
+typedef struct VkPhysicalDeviceExternalBufferInfo
{
VkStructureType sType;
- void *pNext;
- VkPhysicalDeviceFeatures features;
-} VkPhysicalDeviceFeatures2;
+ const void *pNext;
+ VkBufferCreateFlags flags;
+ VkBufferUsageFlags usage;
+ VkExternalMemoryHandleTypeFlagBits handleType;
+} VkPhysicalDeviceExternalBufferInfo;
-typedef struct VkPhysicalDeviceImageFormatInfo2
+typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT
{
VkStructureType sType;
- const void *pNext;
- VkFormat format;
- VkImageType type;
- VkImageTiling tiling;
- VkImageUsageFlags usage;
- VkImageCreateFlags flags;
-} VkPhysicalDeviceImageFormatInfo2;
+ void *pNext;
+ VkExtent2D minFragmentDensityTexelSize;
+ VkExtent2D maxFragmentDensityTexelSize;
+ VkBool32 fragmentDensityInvocations;
+} VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT
{
@@ -4822,27 +5073,21 @@ typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT
VkBool32 variableSampleLocations;
} VkPhysicalDeviceSampleLocationsPropertiesEXT;
-typedef struct VkPhysicalDeviceSubgroupProperties
+typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV
{
VkStructureType sType;
void *pNext;
- uint32_t subgroupSize;
- VkShaderStageFlags supportedStages;
- VkSubgroupFeatureFlags supportedOperations;
- VkBool32 quadOperationsInAllStages;
-} VkPhysicalDeviceSubgroupProperties;
+ VkExtent2D shadingRateTexelSize;
+ uint32_t shadingRatePaletteSize;
+ uint32_t shadingRateMaxCoarseSamples;
+} VkPhysicalDeviceShadingRateImagePropertiesNV;
-typedef struct VkPipelineColorBlendStateCreateInfo
+typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
{
VkStructureType sType;
- const void *pNext;
- VkPipelineColorBlendStateCreateFlags flags;
- VkBool32 logicOpEnable;
- VkLogicOp logicOp;
- uint32_t attachmentCount;
- const VkPipelineColorBlendAttachmentState *pAttachments;
- float blendConstants[4];
-} VkPipelineColorBlendStateCreateInfo;
+ void *pNext;
+ uint32_t maxVertexAttribDivisor;
+} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
typedef struct VkPipelineLayoutCreateInfo
{
@@ -4864,20 +5109,32 @@ typedef struct VkPipelineViewportWScalingStateCreateInfoNV
const VkViewportWScalingNV *pViewportWScalings;
} VkPipelineViewportWScalingStateCreateInfoNV;
-typedef struct VkQueueFamilyProperties2
+typedef struct VkQueueFamilyProperties
{
- VkStructureType sType;
- void *pNext;
- VkQueueFamilyProperties queueFamilyProperties;
-} VkQueueFamilyProperties2;
+ VkQueueFlags queueFlags;
+ uint32_t queueCount;
+ uint32_t timestampValidBits;
+ VkExtent3D minImageTransferGranularity;
+} VkQueueFamilyProperties;
-typedef struct VkRenderPassInputAttachmentAspectCreateInfo
+typedef struct VkRect2D
{
- VkStructureType sType;
- const void *pNext;
- uint32_t aspectReferenceCount;
- const VkInputAttachmentAspectReference *pAspectReferences;
-} VkRenderPassInputAttachmentAspectCreateInfo;
+ VkOffset2D offset;
+ VkExtent2D extent;
+} VkRect2D;
+
+typedef struct VkRenderPassCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkRenderPassCreateFlags flags;
+ uint32_t attachmentCount;
+ const VkAttachmentDescription *pAttachments;
+ uint32_t subpassCount;
+ const VkSubpassDescription *pSubpasses;
+ uint32_t dependencyCount;
+ const VkSubpassDependency *pDependencies;
+} VkRenderPassCreateInfo;
typedef struct VkSamplerYcbcrConversionCreateInfo
{
@@ -4948,16 +5205,11 @@ typedef struct VkWin32SurfaceCreateInfoKHR
HWND hwnd;
} VkWin32SurfaceCreateInfoKHR;
-typedef struct VkAccelerationStructureInfoNV
+typedef struct VkAttachmentSampleLocationsEXT
{
- VkStructureType sType;
- const void *pNext;
- VkAccelerationStructureTypeNV type;
- VkBuildAccelerationStructureFlagsNV flags;
- uint32_t instanceCount;
- uint32_t geometryCount;
- const VkGeometryNV *pGeometries;
-} VkAccelerationStructureInfoNV;
+ uint32_t attachmentIndex;
+ VkSampleLocationsInfoEXT sampleLocationsInfo;
+} VkAttachmentSampleLocationsEXT;
typedef struct VkClearAttachment
{
@@ -4986,19 +5238,37 @@ typedef struct VkDescriptorSetLayoutCreateInfo
const VkDescriptorSetLayoutBinding *pBindings;
} VkDescriptorSetLayoutCreateInfo;
-typedef struct VkExternalBufferProperties
+typedef struct VkDeviceGroupRenderPassBeginInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t deviceMask;
+ uint32_t deviceRenderAreaCount;
+ const VkRect2D *pDeviceRenderAreas;
+} VkDeviceGroupRenderPassBeginInfo;
+
+typedef struct VkExportFenceCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkExternalFenceHandleTypeFlags handleTypes;
+} VkExportFenceCreateInfo;
+
+typedef struct VkExternalImageFormatProperties
{
VkStructureType sType;
void *pNext;
VkExternalMemoryProperties externalMemoryProperties;
-} VkExternalBufferProperties;
+} VkExternalImageFormatProperties;
-typedef struct VkFormatProperties
+typedef struct VkGeometryNV
{
- VkFormatFeatureFlags linearTilingFeatures;
- VkFormatFeatureFlags optimalTilingFeatures;
- VkFormatFeatureFlags bufferFeatures;
-} VkFormatProperties;
+ VkStructureType sType;
+ const void *pNext;
+ VkGeometryTypeNV geometryType;
+ VkGeometryDataNV WINE_VK_ALIGN(8) geometry;
+ VkGeometryFlagsNV flags;
+} VkGeometryNV;
typedef struct VkImageFormatProperties2
{
@@ -5021,22 +5291,11 @@ typedef struct VkMemoryHeap
VkMemoryHeapFlags flags;
} VkMemoryHeap;
-typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT
+typedef struct VkPerformanceValueINTEL
{
- VkStructureType sType;
- void *pNext;
- VkBool32 conditionalRendering;
- VkBool32 inheritedConditionalRendering;
-} VkPhysicalDeviceConditionalRenderingFeaturesEXT;
-
-typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT
-{
- VkStructureType sType;
- void *pNext;
- VkExtent2D minFragmentDensityTexelSize;
- VkExtent2D maxFragmentDensityTexelSize;
- VkBool32 fragmentDensityInvocations;
-} VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
+ VkPerformanceValueTypeINTEL type;
+ VkPerformanceValueDataINTEL data;
+} VkPerformanceValueINTEL;
typedef struct VkPhysicalDeviceMemoryProperties
{
@@ -5053,14 +5312,29 @@ typedef struct VkPhysicalDeviceProperties2
VkPhysicalDeviceProperties WINE_VK_ALIGN(8) properties;
} VkPhysicalDeviceProperties2;
-typedef struct VkPhysicalDeviceVulkanMemoryModelFeaturesKHR
+typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT
{
VkStructureType sType;
void *pNext;
- VkBool32 vulkanMemoryModel;
- VkBool32 vulkanMemoryModelDeviceScope;
- VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
-} VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
+ VkBool32 transformFeedback;
+ VkBool32 geometryStreams;
+} VkPhysicalDeviceTransformFeedbackFeaturesEXT;
+
+typedef struct VkPipelineDepthStencilStateCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkPipelineDepthStencilStateCreateFlags flags;
+ VkBool32 depthTestEnable;
+ VkBool32 depthWriteEnable;
+ VkCompareOp depthCompareOp;
+ VkBool32 depthBoundsTestEnable;
+ VkBool32 stencilTestEnable;
+ VkStencilOpState front;
+ VkStencilOpState back;
+ float minDepthBounds;
+ float maxDepthBounds;
+} VkPipelineDepthStencilStateCreateInfo;
typedef struct VkPipelineSampleLocationsStateCreateInfoEXT
{
@@ -5070,17 +5344,36 @@ typedef struct VkPipelineSampleLocationsStateCreateInfoEXT
VkSampleLocationsInfoEXT sampleLocationsInfo;
} VkPipelineSampleLocationsStateCreateInfoEXT;
+typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t exclusiveScissorCount;
+ const VkRect2D *pExclusiveScissors;
+} VkPipelineViewportExclusiveScissorStateCreateInfoNV;
+
typedef struct VkPresentRegionKHR
{
uint32_t rectangleCount;
const VkRectLayerKHR *pRectangles;
} VkPresentRegionKHR;
-typedef struct VkRect2D
+typedef struct VkQueueFamilyProperties2
{
- VkOffset2D offset;
- VkExtent2D extent;
-} VkRect2D;
+ VkStructureType sType;
+ void *pNext;
+ VkQueueFamilyProperties queueFamilyProperties;
+} VkQueueFamilyProperties2;
+
+typedef struct VkRenderPassSampleLocationsBeginInfoEXT
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t attachmentInitialSampleLocationsCount;
+ const VkAttachmentSampleLocationsEXT *pAttachmentInitialSampleLocations;
+ uint32_t postSubpassSampleLocationsCount;
+ const VkSubpassSampleLocationsEXT *pPostSubpassSampleLocations;
+} VkRenderPassSampleLocationsBeginInfoEXT;
typedef struct VkSubpassDescription2KHR
{
@@ -5105,23 +5398,16 @@ typedef struct VkVertexInputBindingDivisorDescriptionEXT
uint32_t divisor;
} VkVertexInputBindingDivisorDescriptionEXT;
-typedef struct VkAccelerationStructureCreateInfoNV
-{
- VkStructureType sType;
- const void *pNext;
- VkDeviceSize WINE_VK_ALIGN(8) compactedSize;
- VkAccelerationStructureInfoNV info;
-} VkAccelerationStructureCreateInfoNV;
-
-typedef struct VkBindImageMemoryDeviceGroupInfo
+typedef struct VkAccelerationStructureInfoNV
{
VkStructureType sType;
const void *pNext;
- uint32_t deviceIndexCount;
- const uint32_t *pDeviceIndices;
- uint32_t splitInstanceBindRegionCount;
- const VkRect2D *pSplitInstanceBindRegions;
-} VkBindImageMemoryDeviceGroupInfo;
+ VkAccelerationStructureTypeNV type;
+ VkBuildAccelerationStructureFlagsNV flags;
+ uint32_t instanceCount;
+ uint32_t geometryCount;
+ const VkGeometryNV *pGeometries;
+} VkAccelerationStructureInfoNV;
typedef struct VkClearRect
{
@@ -5138,19 +5424,12 @@ typedef struct VkDeviceGroupBindSparseInfo
uint32_t memoryDeviceIndex;
} VkDeviceGroupBindSparseInfo;
-typedef struct VkExportFenceCreateInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkExternalFenceHandleTypeFlags handleTypes;
-} VkExportFenceCreateInfo;
-
-typedef struct VkFormatProperties2
+typedef struct VkExternalBufferProperties
{
VkStructureType sType;
void *pNext;
- VkFormatProperties formatProperties;
-} VkFormatProperties2;
+ VkExternalMemoryProperties externalMemoryProperties;
+} VkExternalBufferProperties;
typedef struct VkImageSubresource
{
@@ -5159,20 +5438,12 @@ typedef struct VkImageSubresource
uint32_t arrayLayer;
} VkImageSubresource;
-typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT
-{
- VkStructureType sType;
- void *pNext;
- VkDeviceSize WINE_VK_ALIGN(8) heapBudget[VK_MAX_MEMORY_HEAPS];
- VkDeviceSize WINE_VK_ALIGN(8) heapUsage[VK_MAX_MEMORY_HEAPS];
-} VkPhysicalDeviceMemoryBudgetPropertiesEXT;
-
-typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
+typedef struct VkPhysicalDeviceShaderDrawParameterFeatures
{
VkStructureType sType;
void *pNext;
- VkBool32 imageFootprint;
-} VkPhysicalDeviceShaderImageFootprintFeaturesNV;
+ VkBool32 shaderDrawParameters;
+} VkPhysicalDeviceShaderDrawParameterFeatures;
typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT
{
@@ -5184,46 +5455,27 @@ typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT
const VkRect2D *pDiscardRectangles;
} VkPipelineDiscardRectangleStateCreateInfoEXT;
-typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV
-{
- VkStructureType sType;
- const void *pNext;
- uint32_t exclusiveScissorCount;
- const VkRect2D *pExclusiveScissors;
-} VkPipelineViewportExclusiveScissorStateCreateInfoNV;
-
-typedef struct VkPresentRegionsKHR
+typedef struct VkPipelineViewportStateCreateInfo
{
VkStructureType sType;
const void *pNext;
- uint32_t swapchainCount;
- const VkPresentRegionKHR *pRegions;
-} VkPresentRegionsKHR;
+ VkPipelineViewportStateCreateFlags flags;
+ uint32_t viewportCount;
+ const VkViewport *pViewports;
+ uint32_t scissorCount;
+ const VkRect2D *pScissors;
+} VkPipelineViewportStateCreateInfo;
-typedef struct VkRenderPassCreateInfo2KHR
+typedef struct VkRenderPassBeginInfo
{
VkStructureType sType;
const void *pNext;
- VkRenderPassCreateFlags flags;
- uint32_t attachmentCount;
- const VkAttachmentDescription2KHR *pAttachments;
- uint32_t subpassCount;
- const VkSubpassDescription2KHR *pSubpasses;
- uint32_t dependencyCount;
- const VkSubpassDependency2KHR *pDependencies;
- uint32_t correlatedViewMaskCount;
- const uint32_t *pCorrelatedViewMasks;
-} VkRenderPassCreateInfo2KHR;
-
-typedef struct VkSparseImageMemoryBind
-{
- VkImageSubresource subresource;
- VkOffset3D offset;
- VkExtent3D extent;
- VkDeviceMemory WINE_VK_ALIGN(8) memory;
- VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
- VkSparseMemoryBindFlags flags;
-} VkSparseImageMemoryBind;
+ VkRenderPass WINE_VK_ALIGN(8) renderPass;
+ VkFramebuffer WINE_VK_ALIGN(8) framebuffer;
+ VkRect2D renderArea;
+ uint32_t clearValueCount;
+ const VkClearValue *pClearValues;
+} VkRenderPassBeginInfo;
typedef struct VkSurfaceCapabilitiesKHR
{
@@ -5239,11 +5491,13 @@ typedef struct VkSurfaceCapabilitiesKHR
VkImageUsageFlags supportedUsageFlags;
} VkSurfaceCapabilitiesKHR;
-typedef struct VkAttachmentSampleLocationsEXT
+typedef struct VkAccelerationStructureCreateInfoNV
{
- uint32_t attachmentIndex;
- VkSampleLocationsInfoEXT sampleLocationsInfo;
-} VkAttachmentSampleLocationsEXT;
+ VkStructureType sType;
+ const void *pNext;
+ VkDeviceSize WINE_VK_ALIGN(8) compactedSize;
+ VkAccelerationStructureInfoNV info;
+} VkAccelerationStructureCreateInfoNV;
typedef struct VkDedicatedAllocationImageCreateInfoNV
{
@@ -5252,12 +5506,78 @@ typedef struct VkDedicatedAllocationImageCreateInfoNV
VkBool32 dedicatedAllocation;
} VkDedicatedAllocationImageCreateInfoNV;
-typedef struct VkExternalImageFormatProperties
+typedef struct VkFormatProperties
+{
+ VkFormatFeatureFlags linearTilingFeatures;
+ VkFormatFeatureFlags optimalTilingFeatures;
+ VkFormatFeatureFlags bufferFeatures;
+} VkFormatProperties;
+
+typedef struct VkGraphicsPipelineCreateInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkPipelineCreateFlags flags;
+ uint32_t stageCount;
+ const VkPipelineShaderStageCreateInfo *pStages;
+ const VkPipelineVertexInputStateCreateInfo *pVertexInputState;
+ const VkPipelineInputAssemblyStateCreateInfo *pInputAssemblyState;
+ const VkPipelineTessellationStateCreateInfo *pTessellationState;
+ const VkPipelineViewportStateCreateInfo *pViewportState;
+ const VkPipelineRasterizationStateCreateInfo *pRasterizationState;
+ const VkPipelineMultisampleStateCreateInfo *pMultisampleState;
+ const VkPipelineDepthStencilStateCreateInfo *pDepthStencilState;
+ const VkPipelineColorBlendStateCreateInfo *pColorBlendState;
+ const VkPipelineDynamicStateCreateInfo *pDynamicState;
+ VkPipelineLayout WINE_VK_ALIGN(8) layout;
+ VkRenderPass WINE_VK_ALIGN(8) renderPass;
+ uint32_t subpass;
+ VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
+ int32_t basePipelineIndex;
+} VkGraphicsPipelineCreateInfo;
+
+typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
{
VkStructureType sType;
void *pNext;
- VkExternalMemoryProperties externalMemoryProperties;
-} VkExternalImageFormatProperties;
+ VkBool32 dedicatedAllocationImageAliasing;
+} VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
+
+typedef struct VkPipelineCoverageReductionStateCreateInfoNV
+{
+ VkStructureType sType;
+ const void *pNext;
+ VkPipelineCoverageReductionStateCreateFlagsNV flags;
+ VkCoverageReductionModeNV coverageReductionMode;
+} VkPipelineCoverageReductionStateCreateInfoNV;
+
+typedef struct VkPresentRegionsKHR
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t swapchainCount;
+ const VkPresentRegionKHR *pRegions;
+} VkPresentRegionsKHR;
+
+typedef struct VkSparseImageMemoryBind
+{
+ VkImageSubresource subresource;
+ VkOffset3D offset;
+ VkExtent3D extent;
+ VkDeviceMemory WINE_VK_ALIGN(8) memory;
+ VkDeviceSize WINE_VK_ALIGN(8) memoryOffset;
+ VkSparseMemoryBindFlags flags;
+} VkSparseImageMemoryBind;
+
+typedef struct VkBindImageMemoryDeviceGroupInfo
+{
+ VkStructureType sType;
+ const void *pNext;
+ uint32_t deviceIndexCount;
+ const uint32_t *pDeviceIndices;
+ uint32_t splitInstanceBindRegionCount;
+ const VkRect2D *pSplitInstanceBindRegions;
+} VkBindImageMemoryDeviceGroupInfo;
typedef struct VkInstanceCreateInfo
{
@@ -5271,13 +5591,6 @@ typedef struct VkInstanceCreateInfo
const char * const*ppEnabledExtensionNames;
} VkInstanceCreateInfo;
-typedef struct VkPhysicalDeviceMemoryProperties2
-{
- VkStructureType sType;
- void *pNext;
- VkPhysicalDeviceMemoryProperties WINE_VK_ALIGN(8) memoryProperties;
-} VkPhysicalDeviceMemoryProperties2;
-
typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT
{
VkStructureType sType;
@@ -5286,17 +5599,6 @@ typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT
const VkVertexInputBindingDivisorDescriptionEXT *pVertexBindingDivisors;
} VkPipelineVertexInputDivisorStateCreateInfoEXT;
-typedef struct VkRenderPassBeginInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkRenderPass WINE_VK_ALIGN(8) renderPass;
- VkFramebuffer WINE_VK_ALIGN(8) framebuffer;
- VkRect2D renderArea;
- uint32_t clearValueCount;
- const VkClearValue *pClearValues;
-} VkRenderPassBeginInfo;
-
typedef struct VkSparseImageMemoryBindInfo
{
VkImage WINE_VK_ALIGN(8) image;
@@ -5320,84 +5622,38 @@ typedef struct VkBindSparseInfo
const VkSemaphore *pSignalSemaphores;
} VkBindSparseInfo;
-typedef struct VkPhysicalDeviceExternalFenceInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkExternalFenceHandleTypeFlagBits handleType;
-} VkPhysicalDeviceExternalFenceInfo;
-
-typedef struct VkPipelineViewportStateCreateInfo
-{
- VkStructureType sType;
- const void *pNext;
- VkPipelineViewportStateCreateFlags flags;
- uint32_t viewportCount;
- const VkViewport *pViewports;
- uint32_t scissorCount;
- const VkRect2D *pScissors;
-} VkPipelineViewportStateCreateInfo;
-
-typedef struct VkDeviceGroupRenderPassBeginInfo
-{
- VkStructureType sType;
- const void *pNext;
- uint32_t deviceMask;
- uint32_t deviceRenderAreaCount;
- const VkRect2D *pDeviceRenderAreas;
-} VkDeviceGroupRenderPassBeginInfo;
-
-typedef struct VkPipelineDepthStencilStateCreateInfo
+typedef struct VkPhysicalDeviceMemoryProperties2
{
VkStructureType sType;
- const void *pNext;
- VkPipelineDepthStencilStateCreateFlags flags;
- VkBool32 depthTestEnable;
- VkBool32 depthWriteEnable;
- VkCompareOp depthCompareOp;
- VkBool32 depthBoundsTestEnable;
- VkBool32 stencilTestEnable;
- VkStencilOpState front;
- VkStencilOpState back;
- float minDepthBounds;
- float maxDepthBounds;
-} VkPipelineDepthStencilStateCreateInfo;
+ void *pNext;
+ VkPhysicalDeviceMemoryProperties WINE_VK_ALIGN(8) memoryProperties;
+} VkPhysicalDeviceMemoryProperties2;
-typedef struct VkGraphicsPipelineCreateInfo
+typedef struct VkFormatProperties2
{
VkStructureType sType;
- const void *pNext;
- VkPipelineCreateFlags flags;
- uint32_t stageCount;
- const VkPipelineShaderStageCreateInfo *pStages;
- const VkPipelineVertexInputStateCreateInfo *pVertexInputState;
- const VkPipelineInputAssemblyStateCreateInfo *pInputAssemblyState;
- const VkPipelineTessellationStateCreateInfo *pTessellationState;
- const VkPipelineViewportStateCreateInfo *pViewportState;
- const VkPipelineRasterizationStateCreateInfo *pRasterizationState;
- const VkPipelineMultisampleStateCreateInfo *pMultisampleState;
- const VkPipelineDepthStencilStateCreateInfo *pDepthStencilState;
- const VkPipelineColorBlendStateCreateInfo *pColorBlendState;
- const VkPipelineDynamicStateCreateInfo *pDynamicState;
- VkPipelineLayout WINE_VK_ALIGN(8) layout;
- VkRenderPass WINE_VK_ALIGN(8) renderPass;
- uint32_t subpass;
- VkPipeline WINE_VK_ALIGN(8) basePipelineHandle;
- int32_t basePipelineIndex;
-} VkGraphicsPipelineCreateInfo;
+ void *pNext;
+ VkFormatProperties formatProperties;
+} VkFormatProperties2;
-typedef struct VkRenderPassSampleLocationsBeginInfoEXT
+typedef struct VkRenderPassCreateInfo2KHR
{
VkStructureType sType;
const void *pNext;
- uint32_t attachmentInitialSampleLocationsCount;
- const VkAttachmentSampleLocationsEXT *pAttachmentInitialSampleLocations;
- uint32_t postSubpassSampleLocationsCount;
- const VkSubpassSampleLocationsEXT *pPostSubpassSampleLocations;
-} VkRenderPassSampleLocationsBeginInfoEXT;
+ VkRenderPassCreateFlags flags;
+ uint32_t attachmentCount;
+ const VkAttachmentDescription2KHR *pAttachments;
+ uint32_t subpassCount;
+ const VkSubpassDescription2KHR *pSubpasses;
+ uint32_t dependencyCount;
+ const VkSubpassDependency2KHR *pDependencies;
+ uint32_t correlatedViewMaskCount;
+ const uint32_t *pCorrelatedViewMasks;
+} VkRenderPassCreateInfo2KHR;
typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice, const VkAcquireNextImageInfoKHR *, uint32_t *);
typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
+typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice, const VkPerformanceConfigurationAcquireInfoINTEL *, VkPerformanceConfigurationINTEL *);
typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice, const VkCommandBufferAllocateInfo *, VkCommandBuffer *);
typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice, const VkDescriptorSetAllocateInfo *, VkDescriptorSet *);
typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice, const VkMemoryAllocateInfo *, const VkAllocationCallbacks *, VkDeviceMemory *);
@@ -5476,6 +5732,9 @@ typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer, uint3
typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer, float);
+typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer, const VkPerformanceMarkerInfoINTEL *);
+typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer, const VkPerformanceOverrideInfoINTEL *);
+typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer, const VkPerformanceStreamMarkerInfoINTEL *);
typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer, const VkSampleLocationsInfoEXT *);
typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
@@ -5505,6 +5764,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice, const VkEventCreateInf
typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice, const VkFenceCreateInfo *, const VkAllocationCallbacks *, VkFence *);
typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice, const VkFramebufferCreateInfo *, const VkAllocationCallbacks *, VkFramebuffer *);
typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice, VkPipelineCache, uint32_t, const VkGraphicsPipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
+typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance, const VkHeadlessSurfaceCreateInfoEXT *, const VkAllocationCallbacks *, VkSurfaceKHR *);
typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice, const VkImageCreateInfo *, const VkAllocationCallbacks *, VkImage *);
typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice, const VkImageViewCreateInfo *, const VkAllocationCallbacks *, VkImageView *);
typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo *, const VkAllocationCallbacks *, VkInstance *);
@@ -5591,6 +5851,7 @@ typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice, c
typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout *);
typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance, const char *);
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice, VkExternalMemoryHandleTypeFlagBits, const void *, VkMemoryHostPointerPropertiesEXT *);
+typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice, VkPerformanceParameterTypeINTEL, VkPerformanceValueINTEL *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice, uint32_t *, VkCooperativeMatrixPropertiesNV *);
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice, const VkPhysicalDeviceExternalBufferInfo *, VkExternalBufferProperties *);
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice, const VkPhysicalDeviceExternalBufferInfo *, VkExternalBufferProperties *);
@@ -5621,6 +5882,7 @@ typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhy
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkSampleCountFlagBits, VkImageUsageFlags, VkImageTiling, uint32_t *, VkSparseImageFormatProperties *);
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *, uint32_t *, VkSparseImageFormatProperties2 *);
typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *, uint32_t *, VkSparseImageFormatProperties2 *);
+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice, uint32_t *, VkFramebufferMixedSamplesCombinationNV *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
@@ -5634,14 +5896,17 @@ typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice, VkRenderPass,
typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice, VkPipeline, VkShaderStageFlagBits, VkShaderInfoTypeAMD, size_t *, void *);
typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice, VkSwapchainKHR, uint32_t *, VkImage *);
typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice, VkValidationCacheEXT, size_t *, void *);
+typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice, const VkInitializePerformanceApiInfoINTEL *);
typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange *);
typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice, VkDeviceMemory, VkDeviceSize, VkDeviceSize, VkMemoryMapFlags, void **);
typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice, VkPipelineCache, uint32_t, const VkPipelineCache *);
typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice, VkValidationCacheEXT, uint32_t, const VkValidationCacheEXT *);
typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo *, VkFence);
typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
+typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue, VkPerformanceConfigurationINTEL);
typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue, uint32_t, const VkSubmitInfo *, VkFence);
typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue);
+typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice, VkPerformanceConfigurationINTEL);
typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer, VkCommandBufferResetFlags);
typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice, VkCommandPool, VkCommandPoolResetFlags);
typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice, VkDescriptorPool, VkDescriptorPoolResetFlags);
@@ -5651,6 +5916,7 @@ typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice, VkQueryPool, uint32_
typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice, VkEvent);
typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
+typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice);
typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice, VkDeviceMemory);
typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
@@ -5660,6 +5926,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice, uint32_t, const VkFe
#ifndef VK_NO_PROTOTYPES
VkResult VKAPI_CALL vkAcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR *pAcquireInfo, uint32_t *pImageIndex);
VkResult VKAPI_CALL vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t *pImageIndex);
+VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL *pAcquireInfo, VkPerformanceConfigurationINTEL *pConfiguration);
VkResult VKAPI_CALL vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers);
VkResult VKAPI_CALL vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo *pAllocateInfo, VkDescriptorSet *pDescriptorSets);
VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo *pAllocateInfo, const VkAllocationCallbacks *pAllocator, VkDeviceMemory *pMemory);
@@ -5738,6 +6005,9 @@ void VKAPI_CALL vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer, uint3
void VKAPI_CALL vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
void VKAPI_CALL vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D *pExclusiveScissors);
void VKAPI_CALL vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth);
+VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL *pMarkerInfo);
+VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL *pOverrideInfo);
+VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL *pMarkerInfo);
void VKAPI_CALL vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT *pSampleLocationsInfo);
void VKAPI_CALL vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D *pScissors);
void VKAPI_CALL vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
@@ -5767,6 +6037,7 @@ VkResult VKAPI_CALL vkCreateEvent(VkDevice device, const VkEventCreateInfo *pCre
VkResult VKAPI_CALL vkCreateFence(VkDevice device, const VkFenceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFence *pFence);
VkResult VKAPI_CALL vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkFramebuffer *pFramebuffer);
VkResult VKAPI_CALL vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines);
+VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface);
VkResult VKAPI_CALL vkCreateImage(VkDevice device, const VkImageCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImage *pImage);
VkResult VKAPI_CALL vkCreateImageView(VkDevice device, const VkImageViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkImageView *pView);
VkResult VKAPI_CALL vkCreateInstance(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkInstance *pInstance);
@@ -5853,6 +6124,7 @@ void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(VkDevice device, const Vk
void VKAPI_CALL vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource *pSubresource, VkSubresourceLayout *pLayout);
PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char *pName);
VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void *pHostPointer, VkMemoryHostPointerPropertiesEXT *pMemoryHostPointerProperties);
+VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL *pValue);
VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkCooperativeMatrixPropertiesNV *pProperties);
void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties);
void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties);
@@ -5883,6 +6155,7 @@ void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice ph
void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t *pPropertyCount, VkSparseImageFormatProperties *pProperties);
void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties);
void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *pFormatInfo, uint32_t *pPropertyCount, VkSparseImageFormatProperties2 *pProperties);
+VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice, uint32_t *pCombinationCount, VkFramebufferMixedSamplesCombinationNV *pCombinations);
VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *pSurfaceCapabilities);
VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pSurfaceFormatCount, VkSurfaceFormatKHR *pSurfaceFormats);
VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes);
@@ -5896,14 +6169,17 @@ void VKAPI_CALL vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderP
VkResult VKAPI_CALL vkGetShaderInfoAMD(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t *pInfoSize, void *pInfo);
VkResult VKAPI_CALL vkGetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t *pSwapchainImageCount, VkImage *pSwapchainImages);
VkResult VKAPI_CALL vkGetValidationCacheDataEXT(VkDevice device, VkValidationCacheEXT validationCache, size_t *pDataSize, void *pData);
+VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(VkDevice device, const VkInitializePerformanceApiInfoINTEL *pInitializeInfo);
VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange *pMemoryRanges);
VkResult VKAPI_CALL vkMapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void **ppData);
VkResult VKAPI_CALL vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache *pSrcCaches);
VkResult VKAPI_CALL vkMergeValidationCachesEXT(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT *pSrcCaches);
VkResult VKAPI_CALL vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence);
VkResult VKAPI_CALL vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pPresentInfo);
+VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
VkResult VKAPI_CALL vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits, VkFence fence);
VkResult VKAPI_CALL vkQueueWaitIdle(VkQueue queue);
+VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration);
VkResult VKAPI_CALL vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
VkResult VKAPI_CALL vkResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
VkResult VKAPI_CALL vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
@@ -5913,6 +6189,7 @@ void VKAPI_CALL vkResetQueryPoolEXT(VkDevice device, VkQueryPool queryPool, uint
VkResult VKAPI_CALL vkSetEvent(VkDevice device, VkEvent event);
void VKAPI_CALL vkTrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
void VKAPI_CALL vkTrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
+void VKAPI_CALL vkUninitializePerformanceApiINTEL(VkDevice device);
void VKAPI_CALL vkUnmapMemory(VkDevice device, VkDeviceMemory memory);
void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData);
void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void *pData);
--
2.17.1
More information about the wine-devel
mailing list