Commit af8b466f authored by Georg Lehmann's avatar Georg Lehmann Committed by Alexandre Julliard

winevulkan: Update to VK spec version 1.3.214.

parent d2d1ebdf
......@@ -3246,6 +3246,16 @@ void WINAPI vkGetImageSubresourceLayout(VkDevice device, VkImage image, const Vk
vk_unix_call(unix_vkGetImageSubresourceLayout, &params);
}
void WINAPI vkGetImageSubresourceLayout2EXT(VkDevice device, VkImage image, const VkImageSubresource2EXT *pSubresource, VkSubresourceLayout2EXT *pLayout)
{
struct vkGetImageSubresourceLayout2EXT_params params;
params.device = device;
params.image = image;
params.pSubresource = pSubresource;
params.pLayout = pLayout;
vk_unix_call(unix_vkGetImageSubresourceLayout2EXT, &params);
}
VkResult WINAPI vkGetImageViewAddressNVX(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX *pProperties)
{
struct vkGetImageViewAddressNVX_params params;
......@@ -4602,6 +4612,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
{"vkGetImageSparseMemoryRequirements2", vkGetImageSparseMemoryRequirements2},
{"vkGetImageSparseMemoryRequirements2KHR", vkGetImageSparseMemoryRequirements2KHR},
{"vkGetImageSubresourceLayout", vkGetImageSubresourceLayout},
{"vkGetImageSubresourceLayout2EXT", vkGetImageSubresourceLayout2EXT},
{"vkGetImageViewAddressNVX", vkGetImageViewAddressNVX},
{"vkGetImageViewHandleNVX", vkGetImageViewHandleNVX},
{"vkGetMemoryHostPointerPropertiesEXT", vkGetMemoryHostPointerPropertiesEXT},
......
......@@ -355,6 +355,7 @@ enum unix_call
unix_vkGetImageSparseMemoryRequirements2,
unix_vkGetImageSparseMemoryRequirements2KHR,
unix_vkGetImageSubresourceLayout,
unix_vkGetImageSubresourceLayout2EXT,
unix_vkGetImageViewAddressNVX,
unix_vkGetImageViewHandleNVX,
unix_vkGetMemoryHostPointerPropertiesEXT,
......@@ -3050,6 +3051,14 @@ struct vkGetImageSubresourceLayout_params
VkSubresourceLayout *pLayout;
};
struct vkGetImageSubresourceLayout2EXT_params
{
VkDevice device;
VkImage image;
const VkImageSubresource2EXT *pSubresource;
VkSubresourceLayout2EXT *pLayout;
};
struct vkGetImageViewAddressNVX_params
{
VkDevice device;
......
......@@ -64,7 +64,7 @@ from enum import Enum
LOGGER = logging.Logger("vulkan")
LOGGER.addHandler(logging.StreamHandler())
VK_XML_VERSION = "1.3.213"
VK_XML_VERSION = "1.3.214"
WINE_VK_VERSION = (1, 3)
# Filenames to create.
......@@ -116,10 +116,6 @@ UNSUPPORTED_EXTENSIONS = [
# Extensions which require callback handling
"VK_EXT_device_memory_report",
# Needs https://github.com/KhronosGroup/Vulkan-Docs/pull/1848
# or a rework of how we detect returned structs.
"VK_EXT_image_compression_control",
# Deprecated extensions
"VK_NV_external_memory_capabilities",
"VK_NV_external_memory_win32",
......
......@@ -1931,6 +1931,27 @@ static inline void convert_VkSubresourceLayout_host_to_win(const VkSubresourceLa
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline void convert_VkSubresourceLayout2EXT_win_to_host(const VkSubresourceLayout2EXT *in, VkSubresourceLayout2EXT_host *out)
{
if (!in) return;
out->pNext = in->pNext;
out->sType = in->sType;
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline void convert_VkSubresourceLayout2EXT_host_to_win(const VkSubresourceLayout2EXT_host *in, VkSubresourceLayout2EXT *out)
{
if (!in) return;
out->sType = in->sType;
out->pNext = in->pNext;
convert_VkSubresourceLayout_host_to_win(&in->subresourceLayout, &out->subresourceLayout);
}
#endif /* USE_STRUCT_CONVERSION */
#if defined(USE_STRUCT_CONVERSION)
static inline void convert_VkImageViewAddressPropertiesNVX_win_to_host(const VkImageViewAddressPropertiesNVX *in, VkImageViewAddressPropertiesNVX_host *out)
{
if (!in) return;
......@@ -4853,6 +4874,38 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT:
{
const VkPhysicalDeviceImageCompressionControlFeaturesEXT *in = (const VkPhysicalDeviceImageCompressionControlFeaturesEXT *)in_header;
VkPhysicalDeviceImageCompressionControlFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->imageCompressionControl = in->imageCompressionControl;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT:
{
const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT *in = (const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT *)in_header;
VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->imageCompressionControlSwapchain = in->imageCompressionControlSwapchain;
out_header->pNext = (VkBaseOutStructure *)out;
out_header = out_header->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT:
{
const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT *in = (const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT *)in_header;
......@@ -4885,6 +4938,22 @@ VkResult convert_VkDeviceCreateInfo_struct_chain(const void *pNext, VkDeviceCrea
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_EXT:
{
const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesEXT *in = (const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesEXT *)in_header;
VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesEXT *out;
if (!(out = malloc(sizeof(*out)))) goto out_of_memory;
out->sType = in->sType;
out->pNext = NULL;
out->shaderEarlyAndLateFragmentTests = in->shaderEarlyAndLateFragmentTests;
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);
}
......@@ -8624,6 +8693,25 @@ static NTSTATUS wine_vkGetImageSubresourceLayout(void *args)
#endif
}
static NTSTATUS wine_vkGetImageSubresourceLayout2EXT(void *args)
{
struct vkGetImageSubresourceLayout2EXT_params *params = args;
#if defined(USE_STRUCT_CONVERSION)
VkSubresourceLayout2EXT_host pLayout_host;
TRACE("%p, 0x%s, %p, %p\n", params->device, wine_dbgstr_longlong(params->image), params->pSubresource, params->pLayout);
convert_VkSubresourceLayout2EXT_win_to_host(params->pLayout, &pLayout_host);
params->device->funcs.p_vkGetImageSubresourceLayout2EXT(params->device->device, params->image, params->pSubresource, &pLayout_host);
convert_VkSubresourceLayout2EXT_host_to_win(&pLayout_host, params->pLayout);
return STATUS_SUCCESS;
#else
TRACE("%p, 0x%s, %p, %p\n", params->device, wine_dbgstr_longlong(params->image), params->pSubresource, params->pLayout);
params->device->funcs.p_vkGetImageSubresourceLayout2EXT(params->device->device, params->image, params->pSubresource, params->pLayout);
return STATUS_SUCCESS;
#endif
}
static NTSTATUS wine_vkGetImageViewAddressNVX(void *args)
{
struct vkGetImageViewAddressNVX_params *params = args;
......@@ -9755,6 +9843,7 @@ static const char * const vk_device_extensions[] =
"VK_AMD_shader_ballot",
"VK_AMD_shader_core_properties",
"VK_AMD_shader_core_properties2",
"VK_AMD_shader_early_and_late_fragment_tests",
"VK_AMD_shader_explicit_vertex_parameter",
"VK_AMD_shader_fragment_mask",
"VK_AMD_shader_image_load_store_lod",
......@@ -9790,6 +9879,8 @@ static const char * const vk_device_extensions[] =
"VK_EXT_graphics_pipeline_library",
"VK_EXT_host_query_reset",
"VK_EXT_image_2d_view_of_3d",
"VK_EXT_image_compression_control",
"VK_EXT_image_compression_control_swapchain",
"VK_EXT_image_robustness",
"VK_EXT_image_view_min_lod",
"VK_EXT_index_type_uint8",
......@@ -10374,6 +10465,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] =
wine_vkGetImageSparseMemoryRequirements2,
wine_vkGetImageSparseMemoryRequirements2KHR,
wine_vkGetImageSubresourceLayout,
wine_vkGetImageSubresourceLayout2EXT,
wine_vkGetImageViewAddressNVX,
wine_vkGetImageViewHandleNVX,
wine_vkGetMemoryHostPointerPropertiesEXT,
......
......@@ -1304,6 +1304,17 @@ typedef VkSubresourceLayout VkSubresourceLayout_host;
#endif
#if defined(USE_STRUCT_CONVERSION)
typedef struct VkSubresourceLayout2EXT_host
{
VkStructureType sType;
void *pNext;
VkSubresourceLayout_host subresourceLayout;
} VkSubresourceLayout2EXT_host;
#else
typedef VkSubresourceLayout2EXT VkSubresourceLayout2EXT_host;
#endif
#if defined(USE_STRUCT_CONVERSION)
typedef struct VkImageViewAddressPropertiesNVX_host
{
VkStructureType sType;
......@@ -2140,6 +2151,7 @@ struct vulkan_device_funcs
void (*p_vkGetImageSparseMemoryRequirements2)(VkDevice, const VkImageSparseMemoryRequirementsInfo2_host *, uint32_t *, VkSparseImageMemoryRequirements2 *);
void (*p_vkGetImageSparseMemoryRequirements2KHR)(VkDevice, const VkImageSparseMemoryRequirementsInfo2_host *, uint32_t *, VkSparseImageMemoryRequirements2 *);
void (*p_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout_host *);
void (*p_vkGetImageSubresourceLayout2EXT)(VkDevice, VkImage, const VkImageSubresource2EXT *, VkSubresourceLayout2EXT_host *);
VkResult (*p_vkGetImageViewAddressNVX)(VkDevice, VkImageView, VkImageViewAddressPropertiesNVX_host *);
uint32_t (*p_vkGetImageViewHandleNVX)(VkDevice, const VkImageViewHandleInfoNVX_host *);
VkResult (*p_vkGetMemoryHostPointerPropertiesEXT)(VkDevice, VkExternalMemoryHandleTypeFlagBits, const void *, VkMemoryHostPointerPropertiesEXT *);
......@@ -2592,6 +2604,7 @@ struct vulkan_instance_funcs
USE_VK_FUNC(vkGetImageSparseMemoryRequirements2) \
USE_VK_FUNC(vkGetImageSparseMemoryRequirements2KHR) \
USE_VK_FUNC(vkGetImageSubresourceLayout) \
USE_VK_FUNC(vkGetImageSubresourceLayout2EXT) \
USE_VK_FUNC(vkGetImageViewAddressNVX) \
USE_VK_FUNC(vkGetImageViewHandleNVX) \
USE_VK_FUNC(vkGetMemoryHostPointerPropertiesEXT) \
......
......@@ -2,6 +2,6 @@
"file_format_version": "1.0.0",
"ICD": {
"library_path": ".\\winevulkan.dll",
"api_version": "1.3.213"
"api_version": "1.3.214"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment