winevulkan: Update to VK spec version 1.2.195.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Georg Lehmann 2021-10-05 15:40:37 +02:00 committed by Alexandre Julliard
parent 9a65f82232
commit 165d1c0bef
7 changed files with 1903 additions and 1622 deletions

View file

@ -1393,6 +1393,11 @@ void WINAPI vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device, co
unix_funcs->p_vkGetDeviceAccelerationStructureCompatibilityKHR(device, pVersionInfo, pCompatibility);
}
void WINAPI vkGetDeviceBufferMemoryRequirementsKHR(VkDevice device, const VkDeviceBufferMemoryRequirementsKHR *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
{
unix_funcs->p_vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements);
}
void WINAPI vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures)
{
unix_funcs->p_vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
@ -1413,6 +1418,16 @@ VkResult WINAPI vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfac
return unix_funcs->p_vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
}
void WINAPI vkGetDeviceImageMemoryRequirementsKHR(VkDevice device, const VkDeviceImageMemoryRequirementsKHR *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
{
unix_funcs->p_vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements);
}
void WINAPI vkGetDeviceImageSparseMemoryRequirementsKHR(VkDevice device, const VkDeviceImageMemoryRequirementsKHR *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements)
{
unix_funcs->p_vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
}
void WINAPI vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes)
{
unix_funcs->p_vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
@ -2281,10 +2296,13 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkGetDescriptorSetLayoutSupport", &vkGetDescriptorSetLayoutSupport},
{"vkGetDescriptorSetLayoutSupportKHR", &vkGetDescriptorSetLayoutSupportKHR},
{"vkGetDeviceAccelerationStructureCompatibilityKHR", &vkGetDeviceAccelerationStructureCompatibilityKHR},
{"vkGetDeviceBufferMemoryRequirementsKHR", &vkGetDeviceBufferMemoryRequirementsKHR},
{"vkGetDeviceGroupPeerMemoryFeatures", &vkGetDeviceGroupPeerMemoryFeatures},
{"vkGetDeviceGroupPeerMemoryFeaturesKHR", &vkGetDeviceGroupPeerMemoryFeaturesKHR},
{"vkGetDeviceGroupPresentCapabilitiesKHR", &vkGetDeviceGroupPresentCapabilitiesKHR},
{"vkGetDeviceGroupSurfacePresentModesKHR", &vkGetDeviceGroupSurfacePresentModesKHR},
{"vkGetDeviceImageMemoryRequirementsKHR", &vkGetDeviceImageMemoryRequirementsKHR},
{"vkGetDeviceImageSparseMemoryRequirementsKHR", &vkGetDeviceImageSparseMemoryRequirementsKHR},
{"vkGetDeviceMemoryCommitment", &vkGetDeviceMemoryCommitment},
{"vkGetDeviceMemoryOpaqueCaptureAddress", &vkGetDeviceMemoryOpaqueCaptureAddress},
{"vkGetDeviceMemoryOpaqueCaptureAddressKHR", &vkGetDeviceMemoryOpaqueCaptureAddressKHR},

View file

@ -293,10 +293,13 @@ struct unix_funcs
void (WINAPI *p_vkGetDescriptorSetLayoutSupport)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
void (WINAPI *p_vkGetDescriptorSetLayoutSupportKHR)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
void (WINAPI *p_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice, const VkAccelerationStructureVersionInfoKHR *, VkAccelerationStructureCompatibilityKHR *);
void (WINAPI *p_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice, const VkDeviceBufferMemoryRequirementsKHR *, VkMemoryRequirements2 *);
void (WINAPI *p_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice, uint32_t, uint32_t, uint32_t, VkPeerMemoryFeatureFlags *);
void (WINAPI *p_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice, uint32_t, uint32_t, uint32_t, VkPeerMemoryFeatureFlags *);
VkResult (WINAPI *p_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice, VkDeviceGroupPresentCapabilitiesKHR *);
VkResult (WINAPI *p_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice, VkSurfaceKHR, VkDeviceGroupPresentModeFlagsKHR *);
void (WINAPI *p_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice, const VkDeviceImageMemoryRequirementsKHR *, VkMemoryRequirements2 *);
void (WINAPI *p_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice, const VkDeviceImageMemoryRequirementsKHR *, uint32_t *, VkSparseImageMemoryRequirements2 *);
void (WINAPI *p_vkGetDeviceMemoryCommitment)(VkDevice, VkDeviceMemory, VkDeviceSize *);
uint64_t (WINAPI *p_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice, const VkDeviceMemoryOpaqueCaptureAddressInfo *);
uint64_t (WINAPI *p_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice, const VkDeviceMemoryOpaqueCaptureAddressInfo *);

View file

@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.2.191"
VK_XML_VERSION = "1.2.195"
WINE_VK_VERSION = (1, 2)
# Filenames to create.

View file

@ -1742,6 +1742,58 @@ static inline void convert_VkMemoryRequirements2_host_to_win(const VkMemoryRequi
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline VkBufferCreateInfo_host *convert_VkBufferCreateInfo_array_win_to_host(const VkBufferCreateInfo *in, uint32_t count)
{
VkBufferCreateInfo_host *out;
unsigned int i;
if (!in) return NULL;
out = malloc(count * sizeof(*out));
for (i = 0; i < count; i++)
{
out[i].sType = in[i].sType;
out[i].pNext = in[i].pNext;
out[i].flags = in[i].flags;
out[i].size = in[i].size;
out[i].usage = in[i].usage;
out[i].sharingMode = in[i].sharingMode;
out[i].queueFamilyIndexCount = in[i].queueFamilyIndexCount;
out[i].pQueueFamilyIndices = in[i].pQueueFamilyIndices;
}
return out;
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline void free_VkBufferCreateInfo_array(VkBufferCreateInfo_host *in, uint32_t count)
{
if (!in) return;
free(in);
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline void convert_VkDeviceBufferMemoryRequirementsKHR_win_to_host(const VkDeviceBufferMemoryRequirementsKHR *in, VkDeviceBufferMemoryRequirementsKHR_host *out)
{
if (!in) return;
out->sType = in->sType;
out->pNext = in->pNext;
out->pCreateInfo = convert_VkBufferCreateInfo_array_win_to_host(in->pCreateInfo, 1);
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline void free_VkDeviceBufferMemoryRequirementsKHR(VkDeviceBufferMemoryRequirementsKHR_host *in)
{
free_VkBufferCreateInfo_array((VkBufferCreateInfo_host *)in->pCreateInfo, 1);
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline void convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(const VkDeviceMemoryOpaqueCaptureAddressInfo *in, VkDeviceMemoryOpaqueCaptureAddressInfo_host *out)
{
@ -2941,6 +2993,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR:
{
const VkPhysicalDeviceMaintenance4FeaturesKHR *in = (const VkPhysicalDeviceMaintenance4FeaturesKHR *)in_header;
VkPhysicalDeviceMaintenance4FeaturesKHR *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->maintenance4 = in->maintenance4;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
{
const VkPhysicalDeviceShaderDrawParametersFeatures *in = (const VkPhysicalDeviceShaderDrawParametersFeatures *)in_header;
@ -4453,6 +4521,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT:
{
const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT *in = (const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT *)in_header;
VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->formatRgba10x6WithoutYCbCrSampler = in->formatRgba10x6WithoutYCbCrSampler;
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);
}
@ -6990,6 +7074,25 @@ static void WINAPI wine_vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevic
device->funcs.p_vkGetDeviceAccelerationStructureCompatibilityKHR(device->device, pVersionInfo, pCompatibility);
}
static void WINAPI wine_vkGetDeviceBufferMemoryRequirementsKHR(VkDevice device, const VkDeviceBufferMemoryRequirementsKHR *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
{
#if defined(USE_STRUCT_CONVERSION)
VkDeviceBufferMemoryRequirementsKHR_host pInfo_host;
VkMemoryRequirements2_host pMemoryRequirements_host;
TRACE("%p, %p, %p\n", device, pInfo, pMemoryRequirements);
convert_VkDeviceBufferMemoryRequirementsKHR_win_to_host(pInfo, &pInfo_host);
convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements, &pMemoryRequirements_host);
device->funcs.p_vkGetDeviceBufferMemoryRequirementsKHR(device->device, &pInfo_host, &pMemoryRequirements_host);
convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host, pMemoryRequirements);
free_VkDeviceBufferMemoryRequirementsKHR(&pInfo_host);
#else
TRACE("%p, %p, %p\n", device, pInfo, pMemoryRequirements);
device->funcs.p_vkGetDeviceBufferMemoryRequirementsKHR(device->device, pInfo, pMemoryRequirements);
#endif
}
static void WINAPI wine_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags *pPeerMemoryFeatures)
{
TRACE("%p, %u, %u, %u, %p\n", device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
@ -7014,6 +7117,28 @@ static VkResult WINAPI wine_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice devi
return device->funcs.p_vkGetDeviceGroupSurfacePresentModesKHR(device->device, wine_surface_from_handle(surface)->driver_surface, pModes);
}
static void WINAPI wine_vkGetDeviceImageMemoryRequirementsKHR(VkDevice device, const VkDeviceImageMemoryRequirementsKHR *pInfo, VkMemoryRequirements2 *pMemoryRequirements)
{
#if defined(USE_STRUCT_CONVERSION)
VkMemoryRequirements2_host pMemoryRequirements_host;
TRACE("%p, %p, %p\n", device, pInfo, pMemoryRequirements);
convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements, &pMemoryRequirements_host);
device->funcs.p_vkGetDeviceImageMemoryRequirementsKHR(device->device, pInfo, &pMemoryRequirements_host);
convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host, pMemoryRequirements);
#else
TRACE("%p, %p, %p\n", device, pInfo, pMemoryRequirements);
device->funcs.p_vkGetDeviceImageMemoryRequirementsKHR(device->device, pInfo, pMemoryRequirements);
#endif
}
static void WINAPI wine_vkGetDeviceImageSparseMemoryRequirementsKHR(VkDevice device, const VkDeviceImageMemoryRequirementsKHR *pInfo, uint32_t *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements)
{
TRACE("%p, %p, %p, %p\n", device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
device->funcs.p_vkGetDeviceImageSparseMemoryRequirementsKHR(device->device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
}
static void WINAPI wine_vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize *pCommittedMemoryInBytes)
{
TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(memory), pCommittedMemoryInBytes);
@ -8160,6 +8285,7 @@ static const char * const vk_device_extensions[] =
"VK_EXT_private_data",
"VK_EXT_provoking_vertex",
"VK_EXT_queue_family_foreign",
"VK_EXT_rgba10x6_formats",
"VK_EXT_robustness2",
"VK_EXT_sample_locations",
"VK_EXT_sampler_filter_minmax",
@ -8209,6 +8335,7 @@ static const char * const vk_device_extensions[] =
"VK_KHR_external_fence",
"VK_KHR_external_memory",
"VK_KHR_external_semaphore",
"VK_KHR_format_feature_flags2",
"VK_KHR_fragment_shading_rate",
"VK_KHR_get_memory_requirements2",
"VK_KHR_image_format_list",
@ -8217,6 +8344,7 @@ static const char * const vk_device_extensions[] =
"VK_KHR_maintenance1",
"VK_KHR_maintenance2",
"VK_KHR_maintenance3",
"VK_KHR_maintenance4",
"VK_KHR_multiview",
"VK_KHR_performance_query",
"VK_KHR_pipeline_executable_properties",
@ -8651,10 +8779,13 @@ const struct unix_funcs loader_funcs =
&wine_vkGetDescriptorSetLayoutSupport,
&wine_vkGetDescriptorSetLayoutSupportKHR,
&wine_vkGetDeviceAccelerationStructureCompatibilityKHR,
&wine_vkGetDeviceBufferMemoryRequirementsKHR,
&wine_vkGetDeviceGroupPeerMemoryFeatures,
&wine_vkGetDeviceGroupPeerMemoryFeaturesKHR,
&wine_vkGetDeviceGroupPresentCapabilitiesKHR,
&wine_vkGetDeviceGroupSurfacePresentModesKHR,
&wine_vkGetDeviceImageMemoryRequirementsKHR,
&wine_vkGetDeviceImageSparseMemoryRequirementsKHR,
&wine_vkGetDeviceMemoryCommitment,
&wine_vkGetDeviceMemoryOpaqueCaptureAddress,
&wine_vkGetDeviceMemoryOpaqueCaptureAddressKHR,

View file

@ -1159,6 +1159,17 @@ typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
typedef VkMemoryRequirements2 VkMemoryRequirements2_host;
#endif
#if defined(USE_STRUCT_CONVERSION)
typedef struct VkDeviceBufferMemoryRequirementsKHR_host
{
VkStructureType sType;
const void *pNext;
const VkBufferCreateInfo_host *pCreateInfo;
} VkDeviceBufferMemoryRequirementsKHR_host;
#else
typedef VkDeviceBufferMemoryRequirementsKHR VkDeviceBufferMemoryRequirementsKHR_host;
#endif
#if defined(USE_STRUCT_CONVERSION)
typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo_host
{
@ -1983,10 +1994,13 @@ struct vulkan_device_funcs
void (*p_vkGetDescriptorSetLayoutSupport)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
void (*p_vkGetDescriptorSetLayoutSupportKHR)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
void (*p_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice, const VkAccelerationStructureVersionInfoKHR *, VkAccelerationStructureCompatibilityKHR *);
void (*p_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice, const VkDeviceBufferMemoryRequirementsKHR_host *, VkMemoryRequirements2_host *);
void (*p_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice, uint32_t, uint32_t, uint32_t, VkPeerMemoryFeatureFlags *);
void (*p_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice, uint32_t, uint32_t, uint32_t, VkPeerMemoryFeatureFlags *);
VkResult (*p_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice, VkDeviceGroupPresentCapabilitiesKHR *);
VkResult (*p_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice, VkSurfaceKHR, VkDeviceGroupPresentModeFlagsKHR *);
void (*p_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice, const VkDeviceImageMemoryRequirementsKHR *, VkMemoryRequirements2_host *);
void (*p_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice, const VkDeviceImageMemoryRequirementsKHR *, uint32_t *, VkSparseImageMemoryRequirements2 *);
void (*p_vkGetDeviceMemoryCommitment)(VkDevice, VkDeviceMemory, VkDeviceSize *);
uint64_t (*p_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice, const VkDeviceMemoryOpaqueCaptureAddressInfo_host *);
uint64_t (*p_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice, const VkDeviceMemoryOpaqueCaptureAddressInfo_host *);
@ -2389,10 +2403,13 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkGetDescriptorSetLayoutSupport) \
USE_VK_FUNC(vkGetDescriptorSetLayoutSupportKHR) \
USE_VK_FUNC(vkGetDeviceAccelerationStructureCompatibilityKHR) \
USE_VK_FUNC(vkGetDeviceBufferMemoryRequirementsKHR) \
USE_VK_FUNC(vkGetDeviceGroupPeerMemoryFeatures) \
USE_VK_FUNC(vkGetDeviceGroupPeerMemoryFeaturesKHR) \
USE_VK_FUNC(vkGetDeviceGroupPresentCapabilitiesKHR) \
USE_VK_FUNC(vkGetDeviceGroupSurfacePresentModesKHR) \
USE_VK_FUNC(vkGetDeviceImageMemoryRequirementsKHR) \
USE_VK_FUNC(vkGetDeviceImageSparseMemoryRequirementsKHR) \
USE_VK_FUNC(vkGetDeviceMemoryCommitment) \
USE_VK_FUNC(vkGetDeviceMemoryOpaqueCaptureAddress) \
USE_VK_FUNC(vkGetDeviceMemoryOpaqueCaptureAddressKHR) \

View file

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

File diff suppressed because it is too large Load diff