winevulkan: Update to VK spec version 1.3.237.

This commit is contained in:
Georg Lehmann 2022-12-08 18:48:48 +01:00 committed by Alexandre Julliard
parent 894b28085c
commit 07761336d6
7 changed files with 523 additions and 11 deletions

View file

@ -5738,6 +5738,17 @@ void WINAPI vkReleaseProfilingLockKHR(VkDevice device)
assert(!status);
}
VkResult WINAPI vkReleaseSwapchainImagesEXT(VkDevice device, const VkReleaseSwapchainImagesInfoEXT *pReleaseInfo)
{
struct vkReleaseSwapchainImagesEXT_params params;
NTSTATUS status;
params.device = device;
params.pReleaseInfo = pReleaseInfo;
status = UNIX_CALL(vkReleaseSwapchainImagesEXT, &params);
assert(!status);
return params.result;
}
VkResult WINAPI vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
{
struct vkResetCommandBuffer_params params;
@ -6525,6 +6536,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkQueueWaitIdle", vkQueueWaitIdle},
{"vkReleasePerformanceConfigurationINTEL", vkReleasePerformanceConfigurationINTEL},
{"vkReleaseProfilingLockKHR", vkReleaseProfilingLockKHR},
{"vkReleaseSwapchainImagesEXT", vkReleaseSwapchainImagesEXT},
{"vkResetCommandBuffer", vkResetCommandBuffer},
{"vkResetCommandPool", vkResetCommandPool},
{"vkResetDescriptorPool", vkResetDescriptorPool},

View file

@ -514,6 +514,7 @@ enum unix_call
unix_vkQueueWaitIdle,
unix_vkReleasePerformanceConfigurationINTEL,
unix_vkReleaseProfilingLockKHR,
unix_vkReleaseSwapchainImagesEXT,
unix_vkResetCommandBuffer,
unix_vkResetCommandPool,
unix_vkResetDescriptorPool,
@ -4421,6 +4422,13 @@ struct vkReleaseProfilingLockKHR_params
VkDevice device;
};
struct vkReleaseSwapchainImagesEXT_params
{
VkDevice device;
const VkReleaseSwapchainImagesInfoEXT *pReleaseInfo;
VkResult result;
};
struct vkResetCommandBuffer_params
{
VkCommandBuffer commandBuffer;

View file

@ -65,7 +65,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.3.235"
VK_XML_VERSION = "1.3.237"
WINE_VK_VERSION = (1, 3)
# Filenames to create.
@ -92,6 +92,7 @@ UNSUPPORTED_EXTENSIONS = [
"VK_EXT_headless_surface", # Needs WSI work.
"VK_KHR_display", # Needs WSI work.
"VK_KHR_surface_protected_capabilities",
"VK_LUNARG_direct_driver_loading", # Implemented in the Vulkan loader
# Device extensions
"VK_AMD_display_native_hdr",

View file

@ -2744,6 +2744,13 @@ typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM32
VkBool32 shaderCoreBuiltins;
} VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM32;
typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT32
{
VkStructureType sType;
PTR32 pNext;
VkBool32 swapchainMaintenance1;
} VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT32;
typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32
{
VkStructureType sType;
@ -2751,6 +2758,13 @@ typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32
VkBool32 rayTracingInvocationReorder;
} VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32;
typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM32
{
VkStructureType sType;
PTR32 pNext;
VkBool32 multiviewPerViewViewports;
} VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM32;
typedef struct VkDeviceCreateInfo32
{
VkStructureType sType;
@ -3840,6 +3854,23 @@ typedef struct VkSwapchainPresentBarrierCreateInfoNV32
VkBool32 presentBarrierEnable;
} VkSwapchainPresentBarrierCreateInfoNV32;
typedef struct VkSwapchainPresentModesCreateInfoEXT32
{
VkStructureType sType;
PTR32 pNext;
uint32_t presentModeCount;
PTR32 pPresentModes;
} VkSwapchainPresentModesCreateInfoEXT32;
typedef struct VkSwapchainPresentScalingCreateInfoEXT32
{
VkStructureType sType;
PTR32 pNext;
VkPresentScalingFlagsEXT scalingBehavior;
VkPresentGravityFlagsEXT presentGravityX;
VkPresentGravityFlagsEXT presentGravityY;
} VkSwapchainPresentScalingCreateInfoEXT32;
typedef struct VkSwapchainCreateInfoKHR32
{
VkStructureType sType;
@ -5613,6 +5644,13 @@ typedef struct VkFramebufferMixedSamplesCombinationNV32
VkSampleCountFlags colorSamples;
} VkFramebufferMixedSamplesCombinationNV32;
typedef struct VkSurfacePresentModeEXT32
{
VkStructureType sType;
PTR32 pNext;
VkPresentModeKHR presentMode;
} VkSurfacePresentModeEXT32;
typedef struct VkPhysicalDeviceSurfaceInfo2KHR32
{
VkStructureType sType;
@ -5627,6 +5665,25 @@ typedef struct VkSurfaceCapabilitiesPresentBarrierNV32
VkBool32 presentBarrierSupported;
} VkSurfaceCapabilitiesPresentBarrierNV32;
typedef struct VkSurfacePresentScalingCapabilitiesEXT32
{
VkStructureType sType;
PTR32 pNext;
VkPresentScalingFlagsEXT supportedPresentScaling;
VkPresentGravityFlagsEXT supportedPresentGravityX;
VkPresentGravityFlagsEXT supportedPresentGravityY;
VkExtent2D minScaledImageExtent;
VkExtent2D maxScaledImageExtent;
} VkSurfacePresentScalingCapabilitiesEXT32;
typedef struct VkSurfacePresentModeCompatibilityEXT32
{
VkStructureType sType;
PTR32 pNext;
uint32_t presentModeCount;
PTR32 pPresentModes;
} VkSurfacePresentModeCompatibilityEXT32;
typedef struct VkSurfaceCapabilities2KHR32
{
VkStructureType sType;
@ -5854,6 +5911,22 @@ typedef struct VkPresentIdKHR32
PTR32 pPresentIds;
} VkPresentIdKHR32;
typedef struct VkSwapchainPresentFenceInfoEXT32
{
VkStructureType sType;
PTR32 pNext;
uint32_t swapchainCount;
PTR32 pFences;
} VkSwapchainPresentFenceInfoEXT32;
typedef struct VkSwapchainPresentModeInfoEXT32
{
VkStructureType sType;
PTR32 pNext;
uint32_t swapchainCount;
PTR32 pPresentModes;
} VkSwapchainPresentModeInfoEXT32;
typedef struct VkPresentInfoKHR32
{
VkStructureType sType;
@ -5940,6 +6013,15 @@ typedef struct VkSubmitInfo232
} VkSubmitInfo232;
typedef VkSubmitInfo232 VkSubmitInfo2KHR32;
typedef struct VkReleaseSwapchainImagesInfoEXT32
{
VkStructureType sType;
PTR32 pNext;
VkSwapchainKHR DECLSPEC_ALIGN(8) swapchain;
uint32_t imageIndexCount;
PTR32 pImageIndices;
} VkReleaseSwapchainImagesInfoEXT32;
typedef struct VkDebugUtilsObjectTagInfoEXT32
{
VkStructureType sType;
@ -11321,6 +11403,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT:
{
VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *in_ext = (const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT;
out_ext->pNext = NULL;
out_ext->swapchainMaintenance1 = in_ext->swapchainMaintenance1;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV:
{
VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
@ -11332,6 +11425,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM:
{
VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM *in_ext = (const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM;
out_ext->pNext = NULL;
out_ext->multiviewPerViewViewports = in_ext->multiviewPerViewViewports;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.", in_header->sType);
break;
@ -13149,6 +13253,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT:
{
VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT32 *in_ext = (const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT;
out_ext->pNext = NULL;
out_ext->swapchainMaintenance1 = in_ext->swapchainMaintenance1;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV:
{
VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
@ -13160,6 +13275,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM:
{
VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM32 *in_ext = (const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM;
out_ext->pNext = NULL;
out_ext->multiviewPerViewViewports = in_ext->multiviewPerViewViewports;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.", in_header->sType);
break;
@ -16226,6 +16352,31 @@ static inline void convert_VkSwapchainCreateInfoKHR_win32_to_host(struct convers
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT:
{
VkSwapchainPresentModesCreateInfoEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkSwapchainPresentModesCreateInfoEXT32 *in_ext = (const VkSwapchainPresentModesCreateInfoEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT;
out_ext->pNext = NULL;
out_ext->presentModeCount = in_ext->presentModeCount;
out_ext->pPresentModes = (const VkPresentModeKHR *)UlongToPtr(in_ext->pPresentModes);
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT:
{
VkSwapchainPresentScalingCreateInfoEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkSwapchainPresentScalingCreateInfoEXT32 *in_ext = (const VkSwapchainPresentScalingCreateInfoEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT;
out_ext->pNext = NULL;
out_ext->scalingBehavior = in_ext->scalingBehavior;
out_ext->presentGravityX = in_ext->presentGravityX;
out_ext->presentGravityY = in_ext->presentGravityY;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.", in_header->sType);
break;
@ -17344,6 +17495,17 @@ static inline void convert_VkImageSparseMemoryRequirementsInfo2_win32_to_host(co
FIXME("Unexpected pNext\n");
}
static inline void convert_VkSubresourceLayout_win32_to_host(const VkSubresourceLayout32 *in, VkSubresourceLayout *out)
{
if (!in) return;
out->offset = in->offset;
out->size = in->size;
out->rowPitch = in->rowPitch;
out->arrayPitch = in->arrayPitch;
out->depthPitch = in->depthPitch;
}
static inline void convert_VkSubresourceLayout_host_to_win32(const VkSubresourceLayout *in, VkSubresourceLayout32 *out)
{
if (!in) return;
@ -19453,6 +19615,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT:
{
VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT32 *in_ext = (const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT;
out_ext->pNext = NULL;
out_ext->swapchainMaintenance1 = in_ext->swapchainMaintenance1;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV:
{
VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
@ -19464,6 +19637,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM:
{
VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM32 *in_ext = (const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM;
out_ext->pNext = NULL;
out_ext->multiviewPerViewViewports = in_ext->multiviewPerViewViewports;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.", in_header->sType);
break;
@ -20939,6 +21123,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT:
{
VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT);
const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *in_ext = (const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT;
out_ext->swapchainMaintenance1 = in_ext->swapchainMaintenance1;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV:
{
VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV);
@ -20948,6 +21141,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM:
{
VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM);
const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM *in_ext = (const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM;
out_ext->multiviewPerViewViewports = in_ext->multiviewPerViewViewports;
out_header = (void *)out_ext;
break;
}
default:
break;
}
@ -23479,15 +23681,37 @@ static inline void convert_VkFramebufferMixedSamplesCombinationNV_array_host_to_
}
}
static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host(const VkPhysicalDeviceSurfaceInfo2KHR32 *in, VkPhysicalDeviceSurfaceInfo2KHR *out)
static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host(struct conversion_context *ctx, const VkPhysicalDeviceSurfaceInfo2KHR32 *in, VkPhysicalDeviceSurfaceInfo2KHR *out)
{
const VkBaseInStructure32 *in_header;
VkBaseOutStructure *out_header = (void *)out;
if (!in) return;
out->sType = in->sType;
out->pNext = NULL;
out->surface = in->surface;
if (in->pNext)
FIXME("Unexpected pNext\n");
for (in_header = UlongToPtr(in->pNext); in_header; in_header = UlongToPtr(in_header->pNext))
{
switch (in_header->sType)
{
case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT:
{
VkSurfacePresentModeEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkSurfacePresentModeEXT32 *in_ext = (const VkSurfacePresentModeEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT;
out_ext->pNext = NULL;
out_ext->presentMode = in_ext->presentMode;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.", in_header->sType);
break;
}
}
}
static inline void convert_VkSurfaceCapabilities2KHR_win32_to_host(struct conversion_context *ctx, const VkSurfaceCapabilities2KHR32 *in, VkSurfaceCapabilities2KHR *out)
@ -23513,6 +23737,33 @@ static inline void convert_VkSurfaceCapabilities2KHR_win32_to_host(struct conver
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT:
{
VkSurfacePresentScalingCapabilitiesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkSurfacePresentScalingCapabilitiesEXT32 *in_ext = (const VkSurfacePresentScalingCapabilitiesEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT;
out_ext->pNext = NULL;
out_ext->supportedPresentScaling = in_ext->supportedPresentScaling;
out_ext->supportedPresentGravityX = in_ext->supportedPresentGravityX;
out_ext->supportedPresentGravityY = in_ext->supportedPresentGravityY;
out_ext->minScaledImageExtent = in_ext->minScaledImageExtent;
out_ext->maxScaledImageExtent = in_ext->maxScaledImageExtent;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT:
{
VkSurfacePresentModeCompatibilityEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkSurfacePresentModeCompatibilityEXT32 *in_ext = (const VkSurfacePresentModeCompatibilityEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT;
out_ext->pNext = NULL;
out_ext->presentModeCount = in_ext->presentModeCount;
out_ext->pPresentModes = (VkPresentModeKHR *)UlongToPtr(in_ext->pPresentModes);
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.", in_header->sType);
break;
@ -23542,6 +23793,29 @@ static inline void convert_VkSurfaceCapabilities2KHR_host_to_win32(const VkSurfa
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT:
{
VkSurfacePresentScalingCapabilitiesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT);
const VkSurfacePresentScalingCapabilitiesEXT *in_ext = (const VkSurfacePresentScalingCapabilitiesEXT *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT;
out_ext->supportedPresentScaling = in_ext->supportedPresentScaling;
out_ext->supportedPresentGravityX = in_ext->supportedPresentGravityX;
out_ext->supportedPresentGravityY = in_ext->supportedPresentGravityY;
out_ext->minScaledImageExtent = in_ext->minScaledImageExtent;
out_ext->maxScaledImageExtent = in_ext->maxScaledImageExtent;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT:
{
VkSurfacePresentModeCompatibilityEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT);
const VkSurfacePresentModeCompatibilityEXT *in_ext = (const VkSurfacePresentModeCompatibilityEXT *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT;
out_ext->presentModeCount = in_ext->presentModeCount;
out_ext->pPresentModes = PtrToUlong(in_ext->pPresentModes);
out_header = (void *)out_ext;
break;
}
default:
break;
}
@ -23559,15 +23833,37 @@ static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win64_to_host(const V
}
#endif /* _WIN64 */
static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host(const VkPhysicalDeviceSurfaceInfo2KHR32 *in, VkPhysicalDeviceSurfaceInfo2KHR *out)
static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host(struct conversion_context *ctx, const VkPhysicalDeviceSurfaceInfo2KHR32 *in, VkPhysicalDeviceSurfaceInfo2KHR *out)
{
const VkBaseInStructure32 *in_header;
VkBaseOutStructure *out_header = (void *)out;
if (!in) return;
out->sType = in->sType;
out->pNext = NULL;
out->surface = in->surface ? wine_surface_from_handle(in->surface)->driver_surface : 0;
if (in->pNext)
FIXME("Unexpected pNext\n");
for (in_header = UlongToPtr(in->pNext); in_header; in_header = UlongToPtr(in_header->pNext))
{
switch (in_header->sType)
{
case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT:
{
VkSurfacePresentModeEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkSurfacePresentModeEXT32 *in_ext = (const VkSurfacePresentModeEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT;
out_ext->pNext = NULL;
out_ext->presentMode = in_ext->presentMode;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.", in_header->sType);
break;
}
}
}
static inline void convert_VkSurfaceFormat2KHR_win32_to_host(struct conversion_context *ctx, const VkSurfaceFormat2KHR32 *in, VkSurfaceFormat2KHR *out)
@ -24503,6 +24799,30 @@ static inline void convert_VkPresentInfoKHR_win32_to_host(struct conversion_cont
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT:
{
VkSwapchainPresentFenceInfoEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkSwapchainPresentFenceInfoEXT32 *in_ext = (const VkSwapchainPresentFenceInfoEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT;
out_ext->pNext = NULL;
out_ext->swapchainCount = in_ext->swapchainCount;
out_ext->pFences = (const VkFence *)UlongToPtr(in_ext->pFences);
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT:
{
VkSwapchainPresentModeInfoEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkSwapchainPresentModeInfoEXT32 *in_ext = (const VkSwapchainPresentModeInfoEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT;
out_ext->pNext = NULL;
out_ext->swapchainCount = in_ext->swapchainCount;
out_ext->pPresentModes = (const VkPresentModeKHR *)UlongToPtr(in_ext->pPresentModes);
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.", in_header->sType);
break;
@ -24819,6 +25139,19 @@ static inline const VkSubmitInfo2 *convert_VkSubmitInfo2_array_win32_to_host(str
return out;
}
static inline void convert_VkReleaseSwapchainImagesInfoEXT_win32_to_host(const VkReleaseSwapchainImagesInfoEXT32 *in, VkReleaseSwapchainImagesInfoEXT *out)
{
if (!in) return;
out->sType = in->sType;
out->pNext = NULL;
out->swapchain = in->swapchain;
out->imageIndexCount = in->imageIndexCount;
out->pImageIndices = (const uint32_t *)UlongToPtr(in->pImageIndices);
if (in->pNext)
FIXME("Unexpected pNext\n");
}
#ifdef _WIN64
static inline void convert_VkDebugUtilsObjectNameInfoEXT_win64_to_host(const VkDebugUtilsObjectNameInfoEXT *in, VkDebugUtilsObjectNameInfoEXT *out)
{
@ -37213,6 +37546,7 @@ static NTSTATUS thunk32_vkGetImageSubresourceLayout(void *args)
TRACE("%#x, 0x%s, %#x, %#x\n", params->device, wine_dbgstr_longlong(params->image), params->pSubresource, params->pLayout);
convert_VkSubresourceLayout_win32_to_host((VkSubresourceLayout32 *)UlongToPtr(params->pLayout), &pLayout_host);
wine_device_from_handle((VkDevice)UlongToPtr(params->device))->funcs.p_vkGetImageSubresourceLayout(wine_device_from_handle((VkDevice)UlongToPtr(params->device))->device, params->image, (const VkImageSubresource *)UlongToPtr(params->pSubresource), &pLayout_host);
convert_VkSubresourceLayout_host_to_win32(&pLayout_host, (VkSubresourceLayout32 *)UlongToPtr(params->pLayout));
return STATUS_SUCCESS;
@ -38593,7 +38927,7 @@ static NTSTATUS thunk32_vkGetPhysicalDeviceSurfaceCapabilities2KHR(void *args)
TRACE("%#x, %#x, %#x\n", params->physicalDevice, params->pSurfaceInfo, params->pSurfaceCapabilities);
init_conversion_context(&ctx);
convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host((const VkPhysicalDeviceSurfaceInfo2KHR32 *)UlongToPtr(params->pSurfaceInfo), &pSurfaceInfo_host);
convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host(&ctx, (const VkPhysicalDeviceSurfaceInfo2KHR32 *)UlongToPtr(params->pSurfaceInfo), &pSurfaceInfo_host);
convert_VkSurfaceCapabilities2KHR_win32_to_host(&ctx, (VkSurfaceCapabilities2KHR32 *)UlongToPtr(params->pSurfaceCapabilities), &pSurfaceCapabilities_host);
params->result = wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR((VkPhysicalDevice)UlongToPtr(params->physicalDevice), &pSurfaceInfo_host, &pSurfaceCapabilities_host);
convert_VkSurfaceCapabilities2KHR_host_to_win32(&pSurfaceCapabilities_host, (VkSurfaceCapabilities2KHR32 *)UlongToPtr(params->pSurfaceCapabilities));
@ -38660,7 +38994,7 @@ static NTSTATUS thunk32_vkGetPhysicalDeviceSurfaceFormats2KHR(void *args)
TRACE("%#x, %#x, %#x, %#x\n", params->physicalDevice, params->pSurfaceInfo, params->pSurfaceFormatCount, params->pSurfaceFormats);
init_conversion_context(&ctx);
convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host((const VkPhysicalDeviceSurfaceInfo2KHR32 *)UlongToPtr(params->pSurfaceInfo), &pSurfaceInfo_host);
convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host(&ctx, (const VkPhysicalDeviceSurfaceInfo2KHR32 *)UlongToPtr(params->pSurfaceInfo), &pSurfaceInfo_host);
pSurfaceFormats_host = convert_VkSurfaceFormat2KHR_array_win32_to_host(&ctx, (VkSurfaceFormat2KHR32 *)UlongToPtr(params->pSurfaceFormats), *(uint32_t *)UlongToPtr(params->pSurfaceFormatCount));
params->result = wine_phys_dev_from_handle((VkPhysicalDevice)UlongToPtr(params->physicalDevice))->instance->funcs.p_vkGetPhysicalDeviceSurfaceFormats2KHR(wine_phys_dev_from_handle((VkPhysicalDevice)UlongToPtr(params->physicalDevice))->phys_dev, &pSurfaceInfo_host, (uint32_t *)UlongToPtr(params->pSurfaceFormatCount), pSurfaceFormats_host);
convert_VkSurfaceFormat2KHR_array_host_to_win32(pSurfaceFormats_host, (VkSurfaceFormat2KHR32 *)UlongToPtr(params->pSurfaceFormats), *(uint32_t *)UlongToPtr(params->pSurfaceFormatCount));
@ -40105,6 +40439,35 @@ static NTSTATUS thunk32_vkReleaseProfilingLockKHR(void *args)
return STATUS_SUCCESS;
}
#ifdef _WIN64
static NTSTATUS thunk64_vkReleaseSwapchainImagesEXT(void *args)
{
struct vkReleaseSwapchainImagesEXT_params *params = args;
TRACE("%p, %p\n", params->device, params->pReleaseInfo);
params->result = wine_device_from_handle(params->device)->funcs.p_vkReleaseSwapchainImagesEXT(wine_device_from_handle(params->device)->device, params->pReleaseInfo);
return STATUS_SUCCESS;
}
#endif /* _WIN64 */
static NTSTATUS thunk32_vkReleaseSwapchainImagesEXT(void *args)
{
struct
{
PTR32 device;
PTR32 pReleaseInfo;
VkResult result;
} *params = args;
VkReleaseSwapchainImagesInfoEXT pReleaseInfo_host;
TRACE("%#x, %#x\n", params->device, params->pReleaseInfo);
convert_VkReleaseSwapchainImagesInfoEXT_win32_to_host((const VkReleaseSwapchainImagesInfoEXT32 *)UlongToPtr(params->pReleaseInfo), &pReleaseInfo_host);
params->result = wine_device_from_handle((VkDevice)UlongToPtr(params->device))->funcs.p_vkReleaseSwapchainImagesEXT(wine_device_from_handle((VkDevice)UlongToPtr(params->device))->device, &pReleaseInfo_host);
return STATUS_SUCCESS;
}
#ifdef _WIN64
static NTSTATUS thunk64_vkResetCommandBuffer(void *args)
{
@ -41058,6 +41421,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_shader_viewport_index_layer",
"VK_EXT_subgroup_size_control",
"VK_EXT_subpass_merge_feedback",
"VK_EXT_swapchain_maintenance1",
"VK_EXT_texel_buffer_alignment",
"VK_EXT_texture_compression_astc_hdr",
"VK_EXT_tooling_info",
@ -41181,6 +41545,7 @@ static const char * const vk_device_extensions[] =
"VK_NV_viewport_swizzle",
"VK_QCOM_fragment_density_map_offset",
"VK_QCOM_image_processing",
"VK_QCOM_multiview_per_view_viewports",
"VK_QCOM_render_pass_shader_resolve",
"VK_QCOM_render_pass_store_ops",
"VK_QCOM_render_pass_transform",
@ -41194,6 +41559,7 @@ static const char * const vk_instance_extensions[] =
{
"VK_EXT_debug_report",
"VK_EXT_debug_utils",
"VK_EXT_surface_maintenance1",
"VK_EXT_swapchain_colorspace",
"VK_EXT_validation_features",
"VK_EXT_validation_flags",
@ -41749,6 +42115,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
thunk64_vkQueueWaitIdle,
thunk64_vkReleasePerformanceConfigurationINTEL,
thunk64_vkReleaseProfilingLockKHR,
thunk64_vkReleaseSwapchainImagesEXT,
thunk64_vkResetCommandBuffer,
thunk64_vkResetCommandPool,
thunk64_vkResetDescriptorPool,
@ -42289,6 +42656,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
thunk32_vkQueueWaitIdle,
thunk32_vkReleasePerformanceConfigurationINTEL,
thunk32_vkReleaseProfilingLockKHR,
thunk32_vkReleaseSwapchainImagesEXT,
thunk32_vkResetCommandBuffer,
thunk32_vkResetCommandPool,
thunk32_vkResetDescriptorPool,

View file

@ -495,6 +495,7 @@ struct vulkan_device_funcs
VkResult (*p_vkQueueWaitIdle)(VkQueue);
VkResult (*p_vkReleasePerformanceConfigurationINTEL)(VkDevice, VkPerformanceConfigurationINTEL);
void (*p_vkReleaseProfilingLockKHR)(VkDevice);
VkResult (*p_vkReleaseSwapchainImagesEXT)(VkDevice, const VkReleaseSwapchainImagesInfoEXT *);
VkResult (*p_vkResetCommandBuffer)(VkCommandBuffer, VkCommandBufferResetFlags);
VkResult (*p_vkResetCommandPool)(VkDevice, VkCommandPool, VkCommandPoolResetFlags);
VkResult (*p_vkResetDescriptorPool)(VkDevice, VkDescriptorPool, VkDescriptorPoolResetFlags);
@ -1019,6 +1020,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkQueueWaitIdle) \
USE_VK_FUNC(vkReleasePerformanceConfigurationINTEL) \
USE_VK_FUNC(vkReleaseProfilingLockKHR) \
USE_VK_FUNC(vkReleaseSwapchainImagesEXT) \
USE_VK_FUNC(vkResetCommandBuffer) \
USE_VK_FUNC(vkResetCommandPool) \
USE_VK_FUNC(vkResetDescriptorPool) \

View file

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

View file

@ -402,6 +402,10 @@
#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
#define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
#define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
#define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1
#define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1"
#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1
#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1"
#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_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
@ -560,6 +564,8 @@
#define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access"
#define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
#define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
#define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1
#define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports"
#define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1
#define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder"
#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
@ -590,7 +596,7 @@
#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)
#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)
#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)
#define VK_HEADER_VERSION 235
#define VK_HEADER_VERSION 237
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
#define VK_USE_64_BIT_PTR_DEFINES 0
@ -724,6 +730,7 @@ typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
typedef VkFlags VkDeviceMemoryReportFlagsEXT;
typedef VkFlags VkDeviceQueueCreateFlags;
typedef VkFlags VkDirectDriverLoadingFlagsLUNARG;
typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT;
typedef VkFlags VkDisplayModeCreateFlagsKHR;
typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
@ -813,6 +820,8 @@ typedef VkFlags VkPipelineTessellationStateCreateFlags;
typedef VkFlags VkPipelineVertexInputStateCreateFlags;
typedef VkFlags VkPipelineViewportStateCreateFlags;
typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
typedef VkFlags VkPresentGravityFlagsEXT;
typedef VkFlags VkPresentScalingFlagsEXT;
typedef VkFlags VkPrivateDataSlotCreateFlags;
typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
typedef VkFlags VkQueryControlFlags;
@ -1691,6 +1700,7 @@ typedef enum VkDriverId
VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
VK_DRIVER_ID_MESA_VENUS = 22,
VK_DRIVER_ID_MESA_DOZEN = 23,
VK_DRIVER_ID_MESA_NVK = 24,
VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
@ -3237,6 +3247,14 @@ typedef enum VkPolygonMode
VK_POLYGON_MODE_MAX_ENUM = 0x7fffffff,
} VkPolygonMode;
typedef enum VkPresentGravityFlagBitsEXT
{
VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001,
VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002,
VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004,
VK_PRESENT_GRAVITY_FLAG_BITS_EXT_MAX_ENUM = 0x7fffffff,
} VkPresentGravityFlagBitsEXT;
typedef enum VkPresentModeKHR
{
VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
@ -3246,6 +3264,14 @@ typedef enum VkPresentModeKHR
VK_PRESENT_MODE_KHR_MAX_ENUM = 0x7fffffff,
} VkPresentModeKHR;
typedef enum VkPresentScalingFlagBitsEXT
{
VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001,
VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002,
VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004,
VK_PRESENT_SCALING_FLAG_BITS_EXT_MAX_ENUM = 0x7fffffff,
} VkPresentScalingFlagBitsEXT;
typedef enum VkPrimitiveTopology
{
VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
@ -4075,6 +4101,15 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000,
VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001,
VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000,
VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001,
VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002,
VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003,
VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004,
VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
@ -4266,6 +4301,7 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000,
@ -4526,6 +4562,7 @@ typedef enum VkSwapchainCreateFlagBitsKHR
VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008,
VK_SWAPCHAIN_CREATE_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
} VkSwapchainCreateFlagBitsKHR;
@ -7943,6 +7980,13 @@ typedef struct VkPhysicalDeviceMultiviewFeatures
} VkPhysicalDeviceMultiviewFeatures;
typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
{
VkStructureType sType;
void *pNext;
VkBool32 multiviewPerViewViewports;
} VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM;
typedef struct VkPhysicalDeviceMultiviewProperties
{
VkStructureType sType;
@ -8684,6 +8728,13 @@ typedef struct VkPhysicalDeviceSurfaceInfo2KHR
VkSurfaceKHR WINE_VK_ALIGN(8) surface;
} VkPhysicalDeviceSurfaceInfo2KHR;
typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT
{
VkStructureType sType;
void *pNext;
VkBool32 swapchainMaintenance1;
} VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT;
typedef struct VkPhysicalDeviceSynchronization2Features
{
VkStructureType sType;
@ -9598,6 +9649,15 @@ typedef struct VkRectLayerKHR
uint32_t layer;
} VkRectLayerKHR;
typedef struct VkReleaseSwapchainImagesInfoEXT
{
VkStructureType sType;
const void *pNext;
VkSwapchainKHR WINE_VK_ALIGN(8) swapchain;
uint32_t imageIndexCount;
const uint32_t *pImageIndices;
} VkReleaseSwapchainImagesInfoEXT;
typedef struct VkRenderPassAttachmentBeginInfo
{
VkStructureType sType;
@ -10207,6 +10267,32 @@ typedef struct VkSurfaceFormatKHR
VkColorSpaceKHR colorSpace;
} VkSurfaceFormatKHR;
typedef struct VkSurfacePresentModeCompatibilityEXT
{
VkStructureType sType;
void *pNext;
uint32_t presentModeCount;
VkPresentModeKHR *pPresentModes;
} VkSurfacePresentModeCompatibilityEXT;
typedef struct VkSurfacePresentModeEXT
{
VkStructureType sType;
void *pNext;
VkPresentModeKHR presentMode;
} VkSurfacePresentModeEXT;
typedef struct VkSurfacePresentScalingCapabilitiesEXT
{
VkStructureType sType;
void *pNext;
VkPresentScalingFlagsEXT supportedPresentScaling;
VkPresentGravityFlagsEXT supportedPresentGravityX;
VkPresentGravityFlagsEXT supportedPresentGravityY;
VkExtent2D minScaledImageExtent;
VkExtent2D maxScaledImageExtent;
} VkSurfacePresentScalingCapabilitiesEXT;
typedef struct VkSwapchainCreateInfoKHR
{
VkStructureType sType;
@ -10236,6 +10322,39 @@ typedef struct VkSwapchainPresentBarrierCreateInfoNV
VkBool32 presentBarrierEnable;
} VkSwapchainPresentBarrierCreateInfoNV;
typedef struct VkSwapchainPresentFenceInfoEXT
{
VkStructureType sType;
void *pNext;
uint32_t swapchainCount;
const VkFence *pFences;
} VkSwapchainPresentFenceInfoEXT;
typedef struct VkSwapchainPresentModeInfoEXT
{
VkStructureType sType;
void *pNext;
uint32_t swapchainCount;
const VkPresentModeKHR *pPresentModes;
} VkSwapchainPresentModeInfoEXT;
typedef struct VkSwapchainPresentModesCreateInfoEXT
{
VkStructureType sType;
void *pNext;
uint32_t presentModeCount;
const VkPresentModeKHR *pPresentModes;
} VkSwapchainPresentModesCreateInfoEXT;
typedef struct VkSwapchainPresentScalingCreateInfoEXT
{
VkStructureType sType;
const void *pNext;
VkPresentScalingFlagsEXT scalingBehavior;
VkPresentGravityFlagsEXT presentGravityX;
VkPresentGravityFlagsEXT presentGravityY;
} VkSwapchainPresentScalingCreateInfoEXT;
typedef struct VkTextureLODGatherFormatPropertiesAMD
{
VkStructureType sType;
@ -11948,6 +12067,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue, uint32_t, const VkS
typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue);
typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice, VkPerformanceConfigurationINTEL);
typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice);
typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice, const VkReleaseSwapchainImagesInfoEXT *);
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);
@ -12481,6 +12601,7 @@ VkResult VKAPI_CALL vkQueueSubmit2KHR(VkQueue queue, uint32_t submitCount, const
VkResult VKAPI_CALL vkQueueWaitIdle(VkQueue queue);
VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration);
void VKAPI_CALL vkReleaseProfilingLockKHR(VkDevice device);
VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT(VkDevice device, const VkReleaseSwapchainImagesInfoEXT *pReleaseInfo);
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);