winevulkan: Update to VK spec version 1.3.278.

The new spec uses length attribute for some static arrays. Change is_dynamic_array
to account account for that. Eventually we could use the new information to improve
conversion thunks.
This commit is contained in:
Jacek Caban 2024-02-20 21:07:13 +01:00 committed by Alexandre Julliard
parent 2dcc8ec08d
commit f380e34a5e
4 changed files with 228 additions and 26 deletions

View file

@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.3.277"
VK_XML_VERSION = "1.3.278"
WINE_VK_VERSION = (1, 3)
# Filenames to create.
@ -129,6 +129,7 @@ UNSUPPORTED_EXTENSIONS = [
# winevulkan may nonetheless use, or extensions we want to generate headers for
# but not expose to applications (useful for test commits)
UNEXPOSED_EXTENSIONS = {
"VK_EXT_map_memory_placed",
"VK_KHR_external_memory_win32",
}
@ -1315,7 +1316,7 @@ class VkVariable(object):
Vulkan uses this for dynamically sized arrays for which
there is a 'count' parameter.
"""
return self.dyn_array_len is not None
return self.dyn_array_len is not None and self.array_len is None
def is_static_array(self):
""" Returns if the member is an array.

View file

@ -3297,6 +3297,22 @@ typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR32
VkBool32 shaderQuadControl;
} VkPhysicalDeviceShaderQuadControlFeaturesKHR32;
typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV32
{
VkStructureType sType;
PTR32 pNext;
VkBool32 shaderFloat16VectorAtomics;
} VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV32;
typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT32
{
VkStructureType sType;
PTR32 pNext;
VkBool32 memoryMapPlaced;
VkBool32 memoryMapRangePlaced;
VkBool32 memoryUnmapReserve;
} VkPhysicalDeviceMapMemoryPlacedFeaturesEXT32;
typedef struct VkDeviceCreateInfo32
{
VkStructureType sType;
@ -6385,6 +6401,13 @@ typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM32
uint32_t maxRenderPassStripes;
} VkPhysicalDeviceRenderPassStripedPropertiesARM32;
typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT32
{
VkStructureType sType;
PTR32 pNext;
VkDeviceSize DECLSPEC_ALIGN(8) minPlacedMemoryMapAlignment;
} VkPhysicalDeviceMapMemoryPlacedPropertiesEXT32;
typedef struct VkPhysicalDeviceProperties232
{
VkStructureType sType;
@ -6649,6 +6672,13 @@ typedef struct VkLatencySleepInfoNV32
uint64_t DECLSPEC_ALIGN(8) value;
} VkLatencySleepInfoNV32;
typedef struct VkMemoryMapPlacedInfoEXT32
{
VkStructureType sType;
PTR32 pNext;
PTR32 pPlacedAddress;
} VkMemoryMapPlacedInfoEXT32;
typedef struct VkMemoryMapInfoKHR32
{
VkStructureType sType;
@ -13608,6 +13638,30 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV:
{
VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV *in_ext = (const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV;
out_ext->pNext = NULL;
out_ext->shaderFloat16VectorAtomics = in_ext->shaderFloat16VectorAtomics;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT:
{
VkPhysicalDeviceMapMemoryPlacedFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceMapMemoryPlacedFeaturesEXT *in_ext = (const VkPhysicalDeviceMapMemoryPlacedFeaturesEXT *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT;
out_ext->pNext = NULL;
out_ext->memoryMapPlaced = in_ext->memoryMapPlaced;
out_ext->memoryMapRangePlaced = in_ext->memoryMapRangePlaced;
out_ext->memoryUnmapReserve = in_ext->memoryUnmapReserve;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.\n", in_header->sType);
break;
@ -15867,6 +15921,30 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV:
{
VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV32 *in_ext = (const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV;
out_ext->pNext = NULL;
out_ext->shaderFloat16VectorAtomics = in_ext->shaderFloat16VectorAtomics;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT:
{
VkPhysicalDeviceMapMemoryPlacedFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceMapMemoryPlacedFeaturesEXT32 *in_ext = (const VkPhysicalDeviceMapMemoryPlacedFeaturesEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT;
out_ext->pNext = NULL;
out_ext->memoryMapPlaced = in_ext->memoryMapPlaced;
out_ext->memoryMapRangePlaced = in_ext->memoryMapRangePlaced;
out_ext->memoryUnmapReserve = in_ext->memoryUnmapReserve;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.\n", in_header->sType);
break;
@ -20699,20 +20777,6 @@ static inline void convert_VkLatencyTimingsFrameReportNV_win32_to_host(const VkL
out->sType = in->sType;
out->pNext = NULL;
out->presentID = in->presentID;
out->inputSampleTimeUs = in->inputSampleTimeUs;
out->simStartTimeUs = in->simStartTimeUs;
out->simEndTimeUs = in->simEndTimeUs;
out->renderSubmitStartTimeUs = in->renderSubmitStartTimeUs;
out->renderSubmitEndTimeUs = in->renderSubmitEndTimeUs;
out->presentStartTimeUs = in->presentStartTimeUs;
out->presentEndTimeUs = in->presentEndTimeUs;
out->driverStartTimeUs = in->driverStartTimeUs;
out->driverEndTimeUs = in->driverEndTimeUs;
out->osRenderQueueStartTimeUs = in->osRenderQueueStartTimeUs;
out->osRenderQueueEndTimeUs = in->osRenderQueueEndTimeUs;
out->gpuRenderStartTimeUs = in->gpuRenderStartTimeUs;
out->gpuRenderEndTimeUs = in->gpuRenderEndTimeUs;
if (in->pNext)
FIXME("Unexpected pNext\n");
}
@ -23266,6 +23330,30 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV:
{
VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV32 *in_ext = (const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV;
out_ext->pNext = NULL;
out_ext->shaderFloat16VectorAtomics = in_ext->shaderFloat16VectorAtomics;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT:
{
VkPhysicalDeviceMapMemoryPlacedFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkPhysicalDeviceMapMemoryPlacedFeaturesEXT32 *in_ext = (const VkPhysicalDeviceMapMemoryPlacedFeaturesEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT;
out_ext->pNext = NULL;
out_ext->memoryMapPlaced = in_ext->memoryMapPlaced;
out_ext->memoryMapRangePlaced = in_ext->memoryMapRangePlaced;
out_ext->memoryUnmapReserve = in_ext->memoryUnmapReserve;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.\n", in_header->sType);
break;
@ -25087,6 +25175,26 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV:
{
VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV);
const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV *in_ext = (const VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV;
out_ext->shaderFloat16VectorAtomics = in_ext->shaderFloat16VectorAtomics;
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT:
{
VkPhysicalDeviceMapMemoryPlacedFeaturesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT);
const VkPhysicalDeviceMapMemoryPlacedFeaturesEXT *in_ext = (const VkPhysicalDeviceMapMemoryPlacedFeaturesEXT *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT;
out_ext->memoryMapPlaced = in_ext->memoryMapPlaced;
out_ext->memoryMapRangePlaced = in_ext->memoryMapRangePlaced;
out_ext->memoryUnmapReserve = in_ext->memoryUnmapReserve;
out_header = (void *)out_ext;
break;
}
default:
break;
}
@ -26533,6 +26641,15 @@ static inline void convert_VkPhysicalDeviceProperties2_win32_to_host(struct conv
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT:
{
VkPhysicalDeviceMapMemoryPlacedPropertiesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT;
out_ext->pNext = NULL;
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.\n", in_header->sType);
break;
@ -27708,6 +27825,15 @@ static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhy
out_header = (void *)out_ext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT:
{
VkPhysicalDeviceMapMemoryPlacedPropertiesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT);
const VkPhysicalDeviceMapMemoryPlacedPropertiesEXT *in_ext = (const VkPhysicalDeviceMapMemoryPlacedPropertiesEXT *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT;
out_ext->minPlacedMemoryMapAlignment = in_ext->minPlacedMemoryMapAlignment;
out_header = (void *)out_ext;
break;
}
default:
break;
}
@ -27744,11 +27870,8 @@ static inline void convert_VkQueueFamilyProperties2_win32_to_host(struct convers
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR:
{
VkQueueFamilyGlobalPriorityPropertiesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkQueueFamilyGlobalPriorityPropertiesKHR32 *in_ext = (const VkQueueFamilyGlobalPriorityPropertiesKHR32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR;
out_ext->pNext = NULL;
out_ext->priorityCount = in_ext->priorityCount;
memcpy(out_ext->priorities, in_ext->priorities, VK_MAX_GLOBAL_PRIORITY_SIZE_KHR * sizeof(VkQueueGlobalPriorityKHR));
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
@ -28624,8 +28747,11 @@ static inline void convert_VkLatencySleepInfoNV_win32_to_host(const VkLatencySle
FIXME("Unexpected pNext\n");
}
static inline void convert_VkMemoryMapInfoKHR_win32_to_unwrapped_host(const VkMemoryMapInfoKHR32 *in, VkMemoryMapInfoKHR *out)
static inline void convert_VkMemoryMapInfoKHR_win32_to_unwrapped_host(struct conversion_context *ctx, const VkMemoryMapInfoKHR32 *in, VkMemoryMapInfoKHR *out)
{
const VkBaseInStructure32 *in_header;
VkBaseOutStructure *out_header = (void *)out;
if (!in) return;
out->sType = in->sType;
@ -28634,8 +28760,27 @@ static inline void convert_VkMemoryMapInfoKHR_win32_to_unwrapped_host(const VkMe
out->memory = in->memory;
out->offset = in->offset;
out->size = in->size;
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_MEMORY_MAP_PLACED_INFO_EXT:
{
VkMemoryMapPlacedInfoEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext));
const VkMemoryMapPlacedInfoEXT32 *in_ext = (const VkMemoryMapPlacedInfoEXT32 *)in_header;
out_ext->sType = VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT;
out_ext->pNext = NULL;
out_ext->pPlacedAddress = (void *)UlongToPtr(in_ext->pPlacedAddress);
out_header->pNext = (void *)out_ext;
out_header = (void *)out_ext;
break;
}
default:
FIXME("Unhandled sType %u.\n", in_header->sType);
break;
}
}
}
#ifdef _WIN64
@ -44705,11 +44850,15 @@ static NTSTATUS thunk32_vkMapMemory2KHR(void *args)
VkResult result;
} *params = args;
VkMemoryMapInfoKHR pMemoryMapInfo_host;
struct conversion_context local_ctx;
struct conversion_context *ctx = &local_ctx;
TRACE("%#x, %#x, %#x\n", params->device, params->pMemoryMapInfo, params->ppData);
convert_VkMemoryMapInfoKHR_win32_to_unwrapped_host((const VkMemoryMapInfoKHR32 *)UlongToPtr(params->pMemoryMapInfo), &pMemoryMapInfo_host);
init_conversion_context(ctx);
convert_VkMemoryMapInfoKHR_win32_to_unwrapped_host(ctx, (const VkMemoryMapInfoKHR32 *)UlongToPtr(params->pMemoryMapInfo), &pMemoryMapInfo_host);
params->result = wine_vkMapMemory2KHR((VkDevice)UlongToPtr(params->device), &pMemoryMapInfo_host, (void **)UlongToPtr(params->ppData));
free_conversion_context(ctx);
return STATUS_SUCCESS;
}
@ -46484,6 +46633,7 @@ static const char * const vk_device_extensions[] =
"VK_NV_representative_fragment_test",
"VK_NV_sample_mask_override_coverage",
"VK_NV_scissor_exclusive",
"VK_NV_shader_atomic_float16_vector",
"VK_NV_shader_image_footprint",
"VK_NV_shader_sm_builtins",
"VK_NV_shader_subgroup_partitioned",

View file

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

View file

@ -415,6 +415,8 @@
#define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy"
#define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1
#define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2"
#define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1
#define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed"
#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
@ -669,6 +671,8 @@
#define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6"
#define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1
#define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation"
#define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1
#define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector"
#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
#define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
#define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
@ -695,7 +699,7 @@
#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 VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)
#define VK_HEADER_VERSION 277
#define VK_HEADER_VERSION 278
#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
@ -2969,6 +2973,12 @@ typedef enum VkMemoryHeapFlagBits
VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkMemoryHeapFlagBits;
typedef enum VkMemoryMapFlagBits
{
VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001,
VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkMemoryMapFlagBits;
typedef enum VkMemoryOverallocationBehaviorAMD
{
VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
@ -2990,6 +3000,12 @@ typedef enum VkMemoryPropertyFlagBits
VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7fffffff,
} VkMemoryPropertyFlagBits;
typedef enum VkMemoryUnmapFlagBitsKHR
{
VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001,
VK_MEMORY_UNMAP_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff,
} VkMemoryUnmapFlagBitsKHR;
typedef enum VkMicromapCreateFlagBitsEXT
{
VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001,
@ -3785,7 +3801,7 @@ typedef enum VkResult
VK_OPERATION_DEFERRED_KHR = 1000268002,
VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
VK_PIPELINE_COMPILE_REQUIRED = 1000297000,
VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000,
VK_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000,
VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
@ -3794,6 +3810,7 @@ typedef enum VkResult
VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT,
VK_RESULT_MAX_ENUM = 0x7fffffff,
} VkResult;
@ -4453,6 +4470,9 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = 1000270009,
VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = 1000271000,
VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = 1000271001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT = 1000272000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT = 1000272001,
VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT = 1000272002,
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,
@ -4748,6 +4768,7 @@ typedef enum VkStructureType
VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007,
VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
@ -7153,6 +7174,13 @@ typedef struct VkMemoryMapInfoKHR
VkDeviceSize WINE_VK_ALIGN(8) size;
} VkMemoryMapInfoKHR;
typedef struct VkMemoryMapPlacedInfoEXT
{
VkStructureType sType;
const void *pNext;
void *pPlacedAddress;
} VkMemoryMapPlacedInfoEXT;
typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo
{
VkStructureType sType;
@ -8789,6 +8817,22 @@ typedef struct VkPhysicalDeviceMaintenance6PropertiesKHR
VkBool32 fragmentShadingRateClampCombinerInputs;
} VkPhysicalDeviceMaintenance6PropertiesKHR;
typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT
{
VkStructureType sType;
void *pNext;
VkBool32 memoryMapPlaced;
VkBool32 memoryMapRangePlaced;
VkBool32 memoryUnmapReserve;
} VkPhysicalDeviceMapMemoryPlacedFeaturesEXT;
typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT
{
VkStructureType sType;
void *pNext;
VkDeviceSize WINE_VK_ALIGN(8) minPlacedMemoryMapAlignment;
} VkPhysicalDeviceMapMemoryPlacedPropertiesEXT;
typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT
{
VkStructureType sType;
@ -9421,6 +9465,13 @@ typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
} VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV
{
VkStructureType sType;
void *pNext;
VkBool32 shaderFloat16VectorAtomics;
} VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV;
typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
{
VkStructureType sType;