winevulkan: Implement VK_EXT_debug_utils.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49813 Signed-off-by: Georg Lehmann <dadschoorse@gmail.com> Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
af3d292343
commit
bff6bc6a79
|
@ -92,7 +92,6 @@ UNSUPPORTED_EXTENSIONS = [
|
|||
# plumbing down to the native layer, we will get each message twice as we
|
||||
# use 2 loaders (win32+native), but we may get output from the driver.
|
||||
# In any case callback conversion is required.
|
||||
"VK_EXT_debug_utils",
|
||||
"VK_EXT_validation_features",
|
||||
"VK_EXT_validation_flags",
|
||||
"VK_KHR_display", # Needs WSI work.
|
||||
|
@ -225,6 +224,13 @@ FUNCTION_OVERRIDES = {
|
|||
# VK_EXT_calibrated_timestamps
|
||||
"vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" : {"dispatch" : True, "driver" : False, "thunk" : False},
|
||||
"vkGetCalibratedTimestampsEXT" : {"dispatch" : True, "driver" : False, "thunk" : False},
|
||||
|
||||
# VK_EXT_debug_utils
|
||||
"vkCreateDebugUtilsMessengerEXT" : {"dispatch": True, "driver" : False, "thunk" : False},
|
||||
"vkDestroyDebugUtilsMessengerEXT" : {"dispatch": True, "driver" : False, "thunk" : False},
|
||||
"vkSubmitDebugUtilsMessageEXT" : {"dispatch": True, "driver" : False, "thunk" : True, "private_thunk" : True},
|
||||
"vkSetDebugUtilsObjectTagEXT" : {"dispatch": True, "driver" : False, "thunk" : True, "private_thunk" : True},
|
||||
"vkSetDebugUtilsObjectNameEXT" : {"dispatch": True, "driver" : False, "thunk" : True, "private_thunk" : True},
|
||||
}
|
||||
|
||||
STRUCT_CHAIN_CONVERSIONS = [
|
||||
|
@ -944,6 +950,8 @@ class VkHandle(object):
|
|||
|
||||
if self.name == "VkCommandPool":
|
||||
return "wine_cmd_pool_from_handle({0})->command_pool".format(name)
|
||||
if self.name == "VkDebugUtilsMessengerEXT":
|
||||
return "wine_debug_utils_messenger_from_handle({0})->debug_messenger".format(name)
|
||||
|
||||
native_handle_name = None
|
||||
|
||||
|
|
|
@ -57,6 +57,21 @@ static void *wine_vk_find_struct_(void *s, VkStructureType t)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#define wine_vk_count_struct(s, t) wine_vk_count_struct_((void *)s, VK_STRUCTURE_TYPE_##t)
|
||||
static uint32_t wine_vk_count_struct_(void *s, VkStructureType t)
|
||||
{
|
||||
const VkBaseInStructure *header;
|
||||
uint32_t result = 0;
|
||||
|
||||
for (header = s; header; header = header->pNext)
|
||||
{
|
||||
if (header->sType == t)
|
||||
result++;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static void *wine_vk_get_global_proc_addr(const char *name);
|
||||
|
||||
static HINSTANCE hinstance;
|
||||
|
@ -113,6 +128,68 @@ static uint64_t wine_vk_get_wrapper(struct VkInstance_T *instance, uint64_t nati
|
|||
return result;
|
||||
}
|
||||
|
||||
static VkBool32 debug_utils_callback_conversion(VkDebugUtilsMessageSeverityFlagBitsEXT severity,
|
||||
VkDebugUtilsMessageTypeFlagsEXT message_types,
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
const VkDebugUtilsMessengerCallbackDataEXT_host *callback_data,
|
||||
#else
|
||||
const VkDebugUtilsMessengerCallbackDataEXT *callback_data,
|
||||
#endif
|
||||
void *user_data)
|
||||
{
|
||||
struct VkDebugUtilsMessengerCallbackDataEXT wine_callback_data;
|
||||
VkDebugUtilsObjectNameInfoEXT *object_name_infos;
|
||||
struct wine_debug_utils_messenger *object;
|
||||
VkBool32 result;
|
||||
unsigned int i;
|
||||
|
||||
TRACE("%i, %u, %p, %p\n", severity, message_types, callback_data, user_data);
|
||||
|
||||
object = user_data;
|
||||
|
||||
if (!object->instance->instance)
|
||||
{
|
||||
/* instance wasn't yet created, this is a message from the native loader */
|
||||
return VK_FALSE;
|
||||
}
|
||||
|
||||
wine_callback_data = *((VkDebugUtilsMessengerCallbackDataEXT *) callback_data);
|
||||
|
||||
object_name_infos = heap_calloc(wine_callback_data.objectCount, sizeof(*object_name_infos));
|
||||
|
||||
for (i = 0; i < wine_callback_data.objectCount; i++)
|
||||
{
|
||||
object_name_infos[i].sType = callback_data->pObjects[i].sType;
|
||||
object_name_infos[i].pNext = callback_data->pObjects[i].pNext;
|
||||
object_name_infos[i].objectType = callback_data->pObjects[i].objectType;
|
||||
object_name_infos[i].pObjectName = callback_data->pObjects[i].pObjectName;
|
||||
|
||||
if (wine_vk_is_type_wrapped(callback_data->pObjects[i].objectType))
|
||||
{
|
||||
object_name_infos[i].objectHandle = wine_vk_get_wrapper(object->instance, callback_data->pObjects[i].objectHandle);
|
||||
if (!object_name_infos[i].objectHandle)
|
||||
{
|
||||
WARN("handle conversion failed 0x%s\n", wine_dbgstr_longlong(callback_data->pObjects[i].objectHandle));
|
||||
heap_free(object_name_infos);
|
||||
return VK_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
object_name_infos[i].objectHandle = callback_data->pObjects[i].objectHandle;
|
||||
}
|
||||
}
|
||||
|
||||
wine_callback_data.pObjects = object_name_infos;
|
||||
|
||||
/* applications should always return VK_FALSE */
|
||||
result = object->user_callback(severity, message_types, &wine_callback_data, object->user_data);
|
||||
|
||||
heap_free(object_name_infos);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static void wine_vk_physical_device_free(struct VkPhysicalDevice_T *phys_dev)
|
||||
{
|
||||
if (!phys_dev)
|
||||
|
@ -393,6 +470,8 @@ static void wine_vk_init_once(void)
|
|||
static VkResult wine_vk_instance_convert_create_info(const VkInstanceCreateInfo *src,
|
||||
VkInstanceCreateInfo *dst, struct VkInstance_T *object)
|
||||
{
|
||||
VkDebugUtilsMessengerCreateInfoEXT *debug_utils_messenger;
|
||||
VkBaseInStructure *header;
|
||||
unsigned int i;
|
||||
VkResult res;
|
||||
|
||||
|
@ -404,6 +483,26 @@ static VkResult wine_vk_instance_convert_create_info(const VkInstanceCreateInfo
|
|||
return res;
|
||||
}
|
||||
|
||||
object->utils_messenger_count = wine_vk_count_struct(dst, DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT);
|
||||
object->utils_messengers = heap_calloc(object->utils_messenger_count, sizeof(*object->utils_messengers));
|
||||
header = (VkBaseInStructure *) dst;
|
||||
for (i = 0; i < object->utils_messenger_count; i++)
|
||||
{
|
||||
header = wine_vk_find_struct(header->pNext, DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT);
|
||||
debug_utils_messenger = (VkDebugUtilsMessengerCreateInfoEXT *) header;
|
||||
|
||||
object->utils_messengers[i].instance = object;
|
||||
object->utils_messengers[i].debug_messenger = VK_NULL_HANDLE;
|
||||
object->utils_messengers[i].user_callback = debug_utils_messenger->pfnUserCallback;
|
||||
object->utils_messengers[i].user_data = debug_utils_messenger->pUserData;
|
||||
|
||||
/* convert_VkInstanceCreateInfo_struct_chain already copied the chain,
|
||||
* so we can modify it in-place.
|
||||
*/
|
||||
debug_utils_messenger->pfnUserCallback = (void *) &debug_utils_callback_conversion;
|
||||
debug_utils_messenger->pUserData = &object->utils_messengers[i];
|
||||
}
|
||||
|
||||
/* ICDs don't support any layers, so nothing to copy. Modern versions of the loader
|
||||
* filter this data out as well.
|
||||
*/
|
||||
|
@ -427,6 +526,10 @@ static VkResult wine_vk_instance_convert_create_info(const VkInstanceCreateInfo
|
|||
free_VkInstanceCreateInfo_struct_chain(dst);
|
||||
return VK_ERROR_EXTENSION_NOT_PRESENT;
|
||||
}
|
||||
if (!strcmp(extension_name, "VK_EXT_debug_utils"))
|
||||
{
|
||||
object->enable_wrapper_list = VK_TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return VK_SUCCESS;
|
||||
|
@ -527,6 +630,8 @@ static void wine_vk_instance_free(struct VkInstance_T *instance)
|
|||
WINE_VK_REMOVE_HANDLE_MAPPING(instance, instance);
|
||||
}
|
||||
|
||||
heap_free(instance->utils_messengers);
|
||||
|
||||
heap_free(instance);
|
||||
}
|
||||
|
||||
|
@ -1673,6 +1778,108 @@ VkResult WINAPI wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice
|
|||
return res;
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkCreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *create_info,
|
||||
const VkAllocationCallbacks *allocator, VkDebugUtilsMessengerEXT *messenger)
|
||||
{
|
||||
VkDebugUtilsMessengerCreateInfoEXT wine_create_info;
|
||||
struct wine_debug_utils_messenger *object;
|
||||
VkResult res;
|
||||
|
||||
TRACE("%p, %p, %p, %p\n", instance, create_info, allocator, messenger);
|
||||
|
||||
if (allocator)
|
||||
FIXME("Support for allocation callbacks not implemented yet\n");
|
||||
|
||||
if (!(object = heap_alloc_zero(sizeof(*object))))
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
|
||||
object->instance = instance;
|
||||
object->user_callback = create_info->pfnUserCallback;
|
||||
object->user_data = create_info->pUserData;
|
||||
|
||||
wine_create_info = *create_info;
|
||||
|
||||
wine_create_info.pfnUserCallback = (void *) &debug_utils_callback_conversion;
|
||||
wine_create_info.pUserData = object;
|
||||
|
||||
res = instance->funcs.p_vkCreateDebugUtilsMessengerEXT(instance->instance, &wine_create_info, NULL, &object->debug_messenger);
|
||||
|
||||
if (res != VK_SUCCESS)
|
||||
{
|
||||
heap_free(object);
|
||||
return res;
|
||||
}
|
||||
|
||||
WINE_VK_ADD_NON_DISPATCHABLE_MAPPING(instance, object, object->debug_messenger);
|
||||
*messenger = wine_debug_utils_messenger_to_handle(object);
|
||||
|
||||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
void WINAPI wine_vkDestroyDebugUtilsMessengerEXT(
|
||||
VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks *allocator)
|
||||
{
|
||||
struct wine_debug_utils_messenger *object;
|
||||
|
||||
TRACE("%p, 0x%s, %p\n", instance, wine_dbgstr_longlong(messenger), allocator);
|
||||
|
||||
object = wine_debug_utils_messenger_from_handle(messenger);
|
||||
|
||||
instance->funcs.p_vkDestroyDebugUtilsMessengerEXT(instance->instance, object->debug_messenger, NULL);
|
||||
WINE_VK_REMOVE_HANDLE_MAPPING(instance, object);
|
||||
|
||||
heap_free(object);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkSubmitDebugUtilsMessageEXT(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT severity,
|
||||
VkDebugUtilsMessageTypeFlagsEXT types, const VkDebugUtilsMessengerCallbackDataEXT *callback_data)
|
||||
{
|
||||
VkDebugUtilsMessengerCallbackDataEXT native_callback_data;
|
||||
VkDebugUtilsObjectNameInfoEXT *object_names;
|
||||
unsigned int i;
|
||||
|
||||
TRACE("%p, %#x, %#x, %p\n", instance, severity, types, callback_data);
|
||||
|
||||
native_callback_data = *callback_data;
|
||||
object_names = heap_calloc(callback_data->objectCount, sizeof(*object_names));
|
||||
memcpy(object_names, callback_data->pObjects, callback_data->objectCount * sizeof(*object_names));
|
||||
native_callback_data.pObjects = object_names;
|
||||
|
||||
for (i = 0; i < callback_data->objectCount; i++)
|
||||
{
|
||||
object_names[i].objectHandle =
|
||||
wine_vk_unwrap_handle(callback_data->pObjects[i].objectType, callback_data->pObjects[i].objectHandle);
|
||||
}
|
||||
|
||||
thunk_vkSubmitDebugUtilsMessageEXT(instance, severity, types, &native_callback_data);
|
||||
|
||||
heap_free(object_names);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkSetDebugUtilsObjectTagEXT(VkDevice device, const VkDebugUtilsObjectTagInfoEXT *tag_info)
|
||||
{
|
||||
VkDebugUtilsObjectTagInfoEXT wine_tag_info;
|
||||
|
||||
TRACE("%p, %p\n", device, tag_info);
|
||||
|
||||
wine_tag_info = *tag_info;
|
||||
wine_tag_info.objectHandle = wine_vk_unwrap_handle(tag_info->objectType, tag_info->objectHandle);
|
||||
|
||||
return thunk_vkSetDebugUtilsObjectTagEXT(device, &wine_tag_info);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkSetDebugUtilsObjectNameEXT(VkDevice device, const VkDebugUtilsObjectNameInfoEXT *name_info)
|
||||
{
|
||||
VkDebugUtilsObjectNameInfoEXT wine_name_info;
|
||||
|
||||
TRACE("%p, %p\n", device, name_info);
|
||||
|
||||
wine_name_info = *name_info;
|
||||
wine_name_info.objectHandle = wine_vk_unwrap_handle(name_info->objectType, name_info->objectHandle);
|
||||
|
||||
return thunk_vkSetDebugUtilsObjectNameEXT(device, &wine_name_info);
|
||||
}
|
||||
|
||||
BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, void *reserved)
|
||||
{
|
||||
TRACE("%p, %u, %p\n", hinst, reason, reserved);
|
||||
|
|
|
@ -95,6 +95,8 @@ struct VkDevice_T
|
|||
struct wine_vk_mapping mapping;
|
||||
};
|
||||
|
||||
struct wine_debug_utils_messenger;
|
||||
|
||||
struct VkInstance_T
|
||||
{
|
||||
struct wine_vk_base base;
|
||||
|
@ -111,6 +113,9 @@ struct VkInstance_T
|
|||
struct list wrappers;
|
||||
SRWLOCK wrapper_lock;
|
||||
|
||||
struct wine_debug_utils_messenger *utils_messengers;
|
||||
uint32_t utils_messenger_count;
|
||||
|
||||
unsigned int quirks;
|
||||
|
||||
struct wine_vk_mapping mapping;
|
||||
|
@ -158,6 +163,30 @@ static inline VkCommandPool wine_cmd_pool_to_handle(struct wine_cmd_pool *cmd_po
|
|||
return (VkCommandPool)(uintptr_t)cmd_pool;
|
||||
}
|
||||
|
||||
struct wine_debug_utils_messenger
|
||||
{
|
||||
struct VkInstance_T *instance; /* parent */
|
||||
VkDebugUtilsMessengerEXT debug_messenger; /* native messenger */
|
||||
|
||||
/* application callback + data */
|
||||
PFN_vkDebugUtilsMessengerCallbackEXT user_callback;
|
||||
void *user_data;
|
||||
|
||||
struct wine_vk_mapping mapping;
|
||||
};
|
||||
|
||||
static inline struct wine_debug_utils_messenger *wine_debug_utils_messenger_from_handle(
|
||||
VkDebugUtilsMessengerEXT handle)
|
||||
{
|
||||
return (struct wine_debug_utils_messenger *)(uintptr_t)handle;
|
||||
}
|
||||
|
||||
static inline VkDebugUtilsMessengerEXT wine_debug_utils_messenger_to_handle(
|
||||
struct wine_debug_utils_messenger *debug_messenger)
|
||||
{
|
||||
return (VkDebugUtilsMessengerEXT)(uintptr_t)debug_messenger;
|
||||
}
|
||||
|
||||
void *wine_vk_get_device_proc_addr(const char *name) DECLSPEC_HIDDEN;
|
||||
void *wine_vk_get_instance_proc_addr(const char *name) DECLSPEC_HIDDEN;
|
||||
|
||||
|
|
|
@ -1622,6 +1622,30 @@ static inline void free_VkBindSparseInfo_array(VkBindSparseInfo_host *in, uint32
|
|||
heap_free(in);
|
||||
}
|
||||
|
||||
static inline void convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(const VkDebugUtilsObjectNameInfoEXT *in, VkDebugUtilsObjectNameInfoEXT_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = in->pNext;
|
||||
out->objectType = in->objectType;
|
||||
out->objectHandle = in->objectHandle;
|
||||
out->pObjectName = in->pObjectName;
|
||||
}
|
||||
|
||||
static inline void convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(const VkDebugUtilsObjectTagInfoEXT *in, VkDebugUtilsObjectTagInfoEXT_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = in->pNext;
|
||||
out->objectType = in->objectType;
|
||||
out->objectHandle = in->objectHandle;
|
||||
out->tagName = in->tagName;
|
||||
out->tagSize = in->tagSize;
|
||||
out->pTag = in->pTag;
|
||||
}
|
||||
|
||||
static inline void convert_VkSemaphoreSignalInfo_win_to_host(const VkSemaphoreSignalInfo *in, VkSemaphoreSignalInfo_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
@ -1632,6 +1656,56 @@ static inline void convert_VkSemaphoreSignalInfo_win_to_host(const VkSemaphoreSi
|
|||
out->value = in->value;
|
||||
}
|
||||
|
||||
static inline VkDebugUtilsObjectNameInfoEXT_host *convert_VkDebugUtilsObjectNameInfoEXT_array_win_to_host(const VkDebugUtilsObjectNameInfoEXT *in, uint32_t count)
|
||||
{
|
||||
VkDebugUtilsObjectNameInfoEXT_host *out;
|
||||
unsigned int i;
|
||||
|
||||
if (!in) return NULL;
|
||||
|
||||
out = heap_alloc(count * sizeof(*out));
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
out[i].sType = in[i].sType;
|
||||
out[i].pNext = in[i].pNext;
|
||||
out[i].objectType = in[i].objectType;
|
||||
out[i].objectHandle = in[i].objectHandle;
|
||||
out[i].pObjectName = in[i].pObjectName;
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
static inline void free_VkDebugUtilsObjectNameInfoEXT_array(VkDebugUtilsObjectNameInfoEXT_host *in, uint32_t count)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
heap_free(in);
|
||||
}
|
||||
|
||||
static inline void convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(const VkDebugUtilsMessengerCallbackDataEXT *in, VkDebugUtilsMessengerCallbackDataEXT_host *out)
|
||||
{
|
||||
if (!in) return;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = in->pNext;
|
||||
out->flags = in->flags;
|
||||
out->pMessageIdName = in->pMessageIdName;
|
||||
out->messageIdNumber = in->messageIdNumber;
|
||||
out->pMessage = in->pMessage;
|
||||
out->queueLabelCount = in->queueLabelCount;
|
||||
out->pQueueLabels = in->pQueueLabels;
|
||||
out->cmdBufLabelCount = in->cmdBufLabelCount;
|
||||
out->pCmdBufLabels = in->pCmdBufLabels;
|
||||
out->objectCount = in->objectCount;
|
||||
out->pObjects = convert_VkDebugUtilsObjectNameInfoEXT_array_win_to_host(in->pObjects, in->objectCount);
|
||||
}
|
||||
|
||||
static inline void free_VkDebugUtilsMessengerCallbackDataEXT(VkDebugUtilsMessengerCallbackDataEXT_host *in)
|
||||
{
|
||||
free_VkDebugUtilsObjectNameInfoEXT_array((VkDebugUtilsObjectNameInfoEXT_host *)in->pObjects, in->objectCount);
|
||||
}
|
||||
|
||||
static inline VkCopyDescriptorSet_host *convert_VkCopyDescriptorSet_array_win_to_host(const VkCopyDescriptorSet *in, uint32_t count)
|
||||
{
|
||||
VkCopyDescriptorSet_host *out;
|
||||
|
@ -3018,12 +3092,36 @@ VkResult convert_VkInstanceCreateInfo_struct_chain(const void *pNext, VkInstance
|
|||
case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO:
|
||||
break;
|
||||
|
||||
case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT:
|
||||
{
|
||||
const VkDebugUtilsMessengerCreateInfoEXT *in = (const VkDebugUtilsMessengerCreateInfoEXT *)in_header;
|
||||
VkDebugUtilsMessengerCreateInfoEXT *out;
|
||||
|
||||
if (!(out = heap_alloc(sizeof(*out)))) goto out_of_memory;
|
||||
|
||||
out->sType = in->sType;
|
||||
out->pNext = NULL;
|
||||
out->flags = in->flags;
|
||||
out->messageSeverity = in->messageSeverity;
|
||||
out->messageType = in->messageType;
|
||||
out->pfnUserCallback = in->pfnUserCallback;
|
||||
out->pUserData = in->pUserData;
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
return VK_SUCCESS;
|
||||
|
||||
out_of_memory:
|
||||
free_VkInstanceCreateInfo_struct_chain(out_struct);
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
}
|
||||
|
||||
void free_VkInstanceCreateInfo_struct_chain(VkInstanceCreateInfo *s)
|
||||
|
@ -3255,6 +3353,12 @@ static void WINAPI wine_vkCmdBeginConditionalRenderingEXT(VkCommandBuffer comman
|
|||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo)
|
||||
{
|
||||
TRACE("%p, %p\n", commandBuffer, pLabelInfo);
|
||||
commandBuffer->device->funcs.p_vkCmdBeginDebugUtilsLabelEXT(commandBuffer->command_buffer, pLabelInfo);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
|
||||
{
|
||||
TRACE("%p, 0x%s, %u, %#x\n", commandBuffer, wine_dbgstr_longlong(queryPool), query, flags);
|
||||
|
@ -3664,6 +3768,12 @@ static void WINAPI wine_vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandB
|
|||
commandBuffer->device->funcs.p_vkCmdEndConditionalRenderingEXT(commandBuffer->command_buffer);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer)
|
||||
{
|
||||
TRACE("%p\n", commandBuffer);
|
||||
commandBuffer->device->funcs.p_vkCmdEndDebugUtilsLabelEXT(commandBuffer->command_buffer);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
|
||||
{
|
||||
TRACE("%p, 0x%s, %u\n", commandBuffer, wine_dbgstr_longlong(queryPool), query);
|
||||
|
@ -3722,6 +3832,12 @@ void WINAPI wine_vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuff
|
|||
commandBuffer->device->funcs.p_vkCmdFillBuffer(commandBuffer->command_buffer, dstBuffer, dstOffset, size, data);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo)
|
||||
{
|
||||
TRACE("%p, %p\n", commandBuffer, pLabelInfo);
|
||||
commandBuffer->device->funcs.p_vkCmdInsertDebugUtilsLabelEXT(commandBuffer->command_buffer, pLabelInfo);
|
||||
}
|
||||
|
||||
void WINAPI wine_vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents)
|
||||
{
|
||||
TRACE("%p, %#x\n", commandBuffer, contents);
|
||||
|
@ -5497,6 +5613,12 @@ static VkResult WINAPI wine_vkMergeValidationCachesEXT(VkDevice device, VkValida
|
|||
return device->funcs.p_vkMergeValidationCachesEXT(device->device, dstCache, srcCacheCount, pSrcCaches);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkQueueBeginDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo)
|
||||
{
|
||||
TRACE("%p, %p\n", queue, pLabelInfo);
|
||||
queue->device->funcs.p_vkQueueBeginDebugUtilsLabelEXT(queue->queue, pLabelInfo);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -5515,6 +5637,18 @@ VkResult WINAPI wine_vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, co
|
|||
#endif
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkQueueEndDebugUtilsLabelEXT(VkQueue queue)
|
||||
{
|
||||
TRACE("%p\n", queue);
|
||||
queue->device->funcs.p_vkQueueEndDebugUtilsLabelEXT(queue->queue);
|
||||
}
|
||||
|
||||
static void WINAPI wine_vkQueueInsertDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo)
|
||||
{
|
||||
TRACE("%p, %p\n", queue, pLabelInfo);
|
||||
queue->device->funcs.p_vkQueueInsertDebugUtilsLabelEXT(queue->queue, pLabelInfo);
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pPresentInfo)
|
||||
{
|
||||
TRACE("%p, %p\n", queue, pPresentInfo);
|
||||
|
@ -5587,6 +5721,34 @@ static void WINAPI wine_vkResetQueryPoolEXT(VkDevice device, VkQueryPool queryPo
|
|||
device->funcs.p_vkResetQueryPoolEXT(device->device, queryPool, firstQuery, queryCount);
|
||||
}
|
||||
|
||||
VkResult thunk_vkSetDebugUtilsObjectNameEXT(VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult result;
|
||||
VkDebugUtilsObjectNameInfoEXT_host pNameInfo_host;
|
||||
convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(pNameInfo, &pNameInfo_host);
|
||||
result = device->funcs.p_vkSetDebugUtilsObjectNameEXT(device->device, &pNameInfo_host);
|
||||
|
||||
return result;
|
||||
#else
|
||||
return device->funcs.p_vkSetDebugUtilsObjectNameEXT(device->device, pNameInfo);
|
||||
#endif
|
||||
}
|
||||
|
||||
VkResult thunk_vkSetDebugUtilsObjectTagEXT(VkDevice device, const VkDebugUtilsObjectTagInfoEXT *pTagInfo)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult result;
|
||||
VkDebugUtilsObjectTagInfoEXT_host pTagInfo_host;
|
||||
convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(pTagInfo, &pTagInfo_host);
|
||||
result = device->funcs.p_vkSetDebugUtilsObjectTagEXT(device->device, &pTagInfo_host);
|
||||
|
||||
return result;
|
||||
#else
|
||||
return device->funcs.p_vkSetDebugUtilsObjectTagEXT(device->device, pTagInfo);
|
||||
#endif
|
||||
}
|
||||
|
||||
VkResult WINAPI wine_vkSetEvent(VkDevice device, VkEvent event)
|
||||
{
|
||||
TRACE("%p, 0x%s\n", device, wine_dbgstr_longlong(event));
|
||||
|
@ -5627,6 +5789,19 @@ static VkResult WINAPI wine_vkSignalSemaphoreKHR(VkDevice device, const VkSemaph
|
|||
#endif
|
||||
}
|
||||
|
||||
void thunk_vkSubmitDebugUtilsMessageEXT(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData)
|
||||
{
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkDebugUtilsMessengerCallbackDataEXT_host pCallbackData_host;
|
||||
convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(pCallbackData, &pCallbackData_host);
|
||||
instance->funcs.p_vkSubmitDebugUtilsMessageEXT(instance->instance, messageSeverity, messageTypes, &pCallbackData_host);
|
||||
|
||||
free_VkDebugUtilsMessengerCallbackDataEXT(&pCallbackData_host);
|
||||
#else
|
||||
instance->funcs.p_vkSubmitDebugUtilsMessageEXT(instance->instance, messageSeverity, messageTypes, pCallbackData);
|
||||
#endif
|
||||
}
|
||||
|
||||
void WINAPI wine_vkTrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
|
||||
{
|
||||
TRACE("%p, 0x%s, %#x\n", device, wine_dbgstr_longlong(commandPool), flags);
|
||||
|
@ -5718,6 +5893,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkBindImageMemory2", &wine_vkBindImageMemory2},
|
||||
{"vkBindImageMemory2KHR", &wine_vkBindImageMemory2KHR},
|
||||
{"vkCmdBeginConditionalRenderingEXT", &wine_vkCmdBeginConditionalRenderingEXT},
|
||||
{"vkCmdBeginDebugUtilsLabelEXT", &wine_vkCmdBeginDebugUtilsLabelEXT},
|
||||
{"vkCmdBeginQuery", &wine_vkCmdBeginQuery},
|
||||
{"vkCmdBeginQueryIndexedEXT", &wine_vkCmdBeginQueryIndexedEXT},
|
||||
{"vkCmdBeginRenderPass", &wine_vkCmdBeginRenderPass},
|
||||
|
@ -5767,6 +5943,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkCmdDrawMeshTasksIndirectNV", &wine_vkCmdDrawMeshTasksIndirectNV},
|
||||
{"vkCmdDrawMeshTasksNV", &wine_vkCmdDrawMeshTasksNV},
|
||||
{"vkCmdEndConditionalRenderingEXT", &wine_vkCmdEndConditionalRenderingEXT},
|
||||
{"vkCmdEndDebugUtilsLabelEXT", &wine_vkCmdEndDebugUtilsLabelEXT},
|
||||
{"vkCmdEndQuery", &wine_vkCmdEndQuery},
|
||||
{"vkCmdEndQueryIndexedEXT", &wine_vkCmdEndQueryIndexedEXT},
|
||||
{"vkCmdEndRenderPass", &wine_vkCmdEndRenderPass},
|
||||
|
@ -5776,6 +5953,7 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkCmdExecuteCommands", &wine_vkCmdExecuteCommands},
|
||||
{"vkCmdExecuteGeneratedCommandsNV", &wine_vkCmdExecuteGeneratedCommandsNV},
|
||||
{"vkCmdFillBuffer", &wine_vkCmdFillBuffer},
|
||||
{"vkCmdInsertDebugUtilsLabelEXT", &wine_vkCmdInsertDebugUtilsLabelEXT},
|
||||
{"vkCmdNextSubpass", &wine_vkCmdNextSubpass},
|
||||
{"vkCmdNextSubpass2", &wine_vkCmdNextSubpass2},
|
||||
{"vkCmdNextSubpass2KHR", &wine_vkCmdNextSubpass2KHR},
|
||||
|
@ -5948,7 +6126,10 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkMapMemory", &wine_vkMapMemory},
|
||||
{"vkMergePipelineCaches", &wine_vkMergePipelineCaches},
|
||||
{"vkMergeValidationCachesEXT", &wine_vkMergeValidationCachesEXT},
|
||||
{"vkQueueBeginDebugUtilsLabelEXT", &wine_vkQueueBeginDebugUtilsLabelEXT},
|
||||
{"vkQueueBindSparse", &wine_vkQueueBindSparse},
|
||||
{"vkQueueEndDebugUtilsLabelEXT", &wine_vkQueueEndDebugUtilsLabelEXT},
|
||||
{"vkQueueInsertDebugUtilsLabelEXT", &wine_vkQueueInsertDebugUtilsLabelEXT},
|
||||
{"vkQueuePresentKHR", &wine_vkQueuePresentKHR},
|
||||
{"vkQueueSetPerformanceConfigurationINTEL", &wine_vkQueueSetPerformanceConfigurationINTEL},
|
||||
{"vkQueueSubmit", &wine_vkQueueSubmit},
|
||||
|
@ -5962,6 +6143,8 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
{"vkResetFences", &wine_vkResetFences},
|
||||
{"vkResetQueryPool", &wine_vkResetQueryPool},
|
||||
{"vkResetQueryPoolEXT", &wine_vkResetQueryPoolEXT},
|
||||
{"vkSetDebugUtilsObjectNameEXT", &wine_vkSetDebugUtilsObjectNameEXT},
|
||||
{"vkSetDebugUtilsObjectTagEXT", &wine_vkSetDebugUtilsObjectTagEXT},
|
||||
{"vkSetEvent", &wine_vkSetEvent},
|
||||
{"vkSetPrivateDataEXT", &wine_vkSetPrivateDataEXT},
|
||||
{"vkSignalSemaphore", &wine_vkSignalSemaphore},
|
||||
|
@ -5980,9 +6163,11 @@ static const struct vulkan_func vk_device_dispatch_table[] =
|
|||
|
||||
static const struct vulkan_func vk_instance_dispatch_table[] =
|
||||
{
|
||||
{"vkCreateDebugUtilsMessengerEXT", &wine_vkCreateDebugUtilsMessengerEXT},
|
||||
{"vkCreateDevice", &wine_vkCreateDevice},
|
||||
{"vkCreateHeadlessSurfaceEXT", &wine_vkCreateHeadlessSurfaceEXT},
|
||||
{"vkCreateWin32SurfaceKHR", &wine_vkCreateWin32SurfaceKHR},
|
||||
{"vkDestroyDebugUtilsMessengerEXT", &wine_vkDestroyDebugUtilsMessengerEXT},
|
||||
{"vkDestroyInstance", &wine_vkDestroyInstance},
|
||||
{"vkDestroySurfaceKHR", &wine_vkDestroySurfaceKHR},
|
||||
{"vkEnumerateDeviceExtensionProperties", &wine_vkEnumerateDeviceExtensionProperties},
|
||||
|
@ -6032,6 +6217,7 @@ static const struct vulkan_func vk_instance_dispatch_table[] =
|
|||
{"vkGetPhysicalDeviceSurfaceSupportKHR", &wine_vkGetPhysicalDeviceSurfaceSupportKHR},
|
||||
{"vkGetPhysicalDeviceToolPropertiesEXT", &wine_vkGetPhysicalDeviceToolPropertiesEXT},
|
||||
{"vkGetPhysicalDeviceWin32PresentationSupportKHR", &wine_vkGetPhysicalDeviceWin32PresentationSupportKHR},
|
||||
{"vkSubmitDebugUtilsMessageEXT", &wine_vkSubmitDebugUtilsMessageEXT},
|
||||
};
|
||||
|
||||
void *wine_vk_get_device_proc_addr(const char *name)
|
||||
|
@ -6221,6 +6407,7 @@ static const char * const vk_device_extensions[] =
|
|||
|
||||
static const char * const vk_instance_extensions[] =
|
||||
{
|
||||
"VK_EXT_debug_utils",
|
||||
"VK_EXT_headless_surface",
|
||||
"VK_EXT_swapchain_colorspace",
|
||||
"VK_KHR_device_group_creation",
|
||||
|
@ -6260,6 +6447,7 @@ BOOL wine_vk_is_type_wrapped(VkObjectType type)
|
|||
return FALSE ||
|
||||
type == VK_OBJECT_TYPE_COMMAND_BUFFER ||
|
||||
type == VK_OBJECT_TYPE_COMMAND_POOL ||
|
||||
type == VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT ||
|
||||
type == VK_OBJECT_TYPE_DEVICE ||
|
||||
type == VK_OBJECT_TYPE_INSTANCE ||
|
||||
type == VK_OBJECT_TYPE_PHYSICAL_DEVICE ||
|
||||
|
@ -6274,6 +6462,8 @@ uint64_t wine_vk_unwrap_handle(VkObjectType type, uint64_t handle)
|
|||
return (uint64_t) (uintptr_t) ((VkCommandBuffer) (uintptr_t) handle)->command_buffer;
|
||||
case VK_OBJECT_TYPE_COMMAND_POOL:
|
||||
return (uint64_t) wine_cmd_pool_from_handle(handle)->command_pool;
|
||||
case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT:
|
||||
return (uint64_t) wine_debug_utils_messenger_from_handle(handle)->debug_messenger;
|
||||
case VK_OBJECT_TYPE_DEVICE:
|
||||
return (uint64_t) (uintptr_t) ((VkDevice) (uintptr_t) handle)->device;
|
||||
case VK_OBJECT_TYPE_INSTANCE:
|
||||
|
|
|
@ -18,8 +18,10 @@
|
|||
VkResult WINAPI wine_vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers);
|
||||
void WINAPI wine_vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
|
||||
VkResult WINAPI wine_vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool);
|
||||
VkResult WINAPI wine_vkCreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pMessenger) DECLSPEC_HIDDEN;
|
||||
VkResult WINAPI wine_vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice);
|
||||
void WINAPI wine_vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator);
|
||||
void WINAPI wine_vkDestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks *pAllocator) DECLSPEC_HIDDEN;
|
||||
void WINAPI wine_vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator);
|
||||
void WINAPI wine_vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator);
|
||||
VkResult WINAPI wine_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties);
|
||||
|
@ -46,7 +48,10 @@ VkResult WINAPI wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice
|
|||
VkResult WINAPI wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *pSurfaceCapabilities);
|
||||
void WINAPI wine_vkGetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t *pData) DECLSPEC_HIDDEN;
|
||||
VkResult WINAPI wine_vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits, VkFence fence);
|
||||
VkResult WINAPI wine_vkSetDebugUtilsObjectNameEXT(VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo) DECLSPEC_HIDDEN;
|
||||
VkResult WINAPI wine_vkSetDebugUtilsObjectTagEXT(VkDevice device, const VkDebugUtilsObjectTagInfoEXT *pTagInfo) DECLSPEC_HIDDEN;
|
||||
VkResult WINAPI wine_vkSetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) DECLSPEC_HIDDEN;
|
||||
void WINAPI wine_vkSubmitDebugUtilsMessageEXT(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData) DECLSPEC_HIDDEN;
|
||||
|
||||
/* Private thunks */
|
||||
VkResult thunk_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkImageFormatProperties2 *pImageFormatProperties) DECLSPEC_HIDDEN;
|
||||
|
@ -55,6 +60,9 @@ void thunk_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhy
|
|||
void thunk_vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 *pProperties) DECLSPEC_HIDDEN;
|
||||
VkResult thunk_vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, VkSurfaceCapabilities2KHR *pSurfaceCapabilities) DECLSPEC_HIDDEN;
|
||||
VkResult thunk_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR *pSurfaceCapabilities) DECLSPEC_HIDDEN;
|
||||
VkResult thunk_vkSetDebugUtilsObjectNameEXT(VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo) DECLSPEC_HIDDEN;
|
||||
VkResult thunk_vkSetDebugUtilsObjectTagEXT(VkDevice device, const VkDebugUtilsObjectTagInfoEXT *pTagInfo) DECLSPEC_HIDDEN;
|
||||
void thunk_vkSubmitDebugUtilsMessageEXT(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData) DECLSPEC_HIDDEN;
|
||||
|
||||
typedef struct VkAcquireNextImageInfoKHR_host
|
||||
{
|
||||
|
@ -1038,6 +1046,28 @@ typedef struct VkBindSparseInfo_host
|
|||
} VkBindSparseInfo_host;
|
||||
|
||||
|
||||
typedef struct VkDebugUtilsObjectNameInfoEXT_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkObjectType objectType;
|
||||
uint64_t objectHandle;
|
||||
const char *pObjectName;
|
||||
} VkDebugUtilsObjectNameInfoEXT_host;
|
||||
|
||||
|
||||
typedef struct VkDebugUtilsObjectTagInfoEXT_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkObjectType objectType;
|
||||
uint64_t objectHandle;
|
||||
uint64_t tagName;
|
||||
size_t tagSize;
|
||||
const void *pTag;
|
||||
} VkDebugUtilsObjectTagInfoEXT_host;
|
||||
|
||||
|
||||
typedef struct VkSemaphoreSignalInfo_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -1048,6 +1078,23 @@ typedef struct VkSemaphoreSignalInfo_host
|
|||
|
||||
typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
|
||||
|
||||
typedef struct VkDebugUtilsMessengerCallbackDataEXT_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
|
||||
const char *pMessageIdName;
|
||||
int32_t messageIdNumber;
|
||||
const char *pMessage;
|
||||
uint32_t queueLabelCount;
|
||||
const VkDebugUtilsLabelEXT *pQueueLabels;
|
||||
uint32_t cmdBufLabelCount;
|
||||
const VkDebugUtilsLabelEXT *pCmdBufLabels;
|
||||
uint32_t objectCount;
|
||||
const VkDebugUtilsObjectNameInfoEXT_host *pObjects;
|
||||
} VkDebugUtilsMessengerCallbackDataEXT_host;
|
||||
|
||||
|
||||
typedef struct VkCopyDescriptorSet_host
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -1135,6 +1182,7 @@ struct vulkan_device_funcs
|
|||
#else
|
||||
void (*p_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer, const VkConditionalRenderingBeginInfoEXT *);
|
||||
#endif
|
||||
void (*p_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer, const VkDebugUtilsLabelEXT *);
|
||||
void (*p_vkCmdBeginQuery)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags);
|
||||
void (*p_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags, uint32_t);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -1232,6 +1280,7 @@ struct vulkan_device_funcs
|
|||
void (*p_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
|
||||
void (*p_vkCmdDrawMeshTasksNV)(VkCommandBuffer, uint32_t, uint32_t);
|
||||
void (*p_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer);
|
||||
void (*p_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer);
|
||||
void (*p_vkCmdEndQuery)(VkCommandBuffer, VkQueryPool, uint32_t);
|
||||
void (*p_vkCmdEndQueryIndexedEXT)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t);
|
||||
void (*p_vkCmdEndRenderPass)(VkCommandBuffer);
|
||||
|
@ -1245,6 +1294,7 @@ struct vulkan_device_funcs
|
|||
void (*p_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer, VkBool32, const VkGeneratedCommandsInfoNV *);
|
||||
#endif
|
||||
void (*p_vkCmdFillBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t);
|
||||
void (*p_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer, const VkDebugUtilsLabelEXT *);
|
||||
void (*p_vkCmdNextSubpass)(VkCommandBuffer, VkSubpassContents);
|
||||
void (*p_vkCmdNextSubpass2)(VkCommandBuffer, const VkSubpassBeginInfo *, const VkSubpassEndInfo *);
|
||||
void (*p_vkCmdNextSubpass2KHR)(VkCommandBuffer, const VkSubpassBeginInfo *, const VkSubpassEndInfo *);
|
||||
|
@ -1584,11 +1634,14 @@ struct vulkan_device_funcs
|
|||
VkResult (*p_vkMapMemory)(VkDevice, VkDeviceMemory, VkDeviceSize, VkDeviceSize, VkMemoryMapFlags, void **);
|
||||
VkResult (*p_vkMergePipelineCaches)(VkDevice, VkPipelineCache, uint32_t, const VkPipelineCache *);
|
||||
VkResult (*p_vkMergeValidationCachesEXT)(VkDevice, VkValidationCacheEXT, uint32_t, const VkValidationCacheEXT *);
|
||||
void (*p_vkQueueBeginDebugUtilsLabelEXT)(VkQueue, const VkDebugUtilsLabelEXT *);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo_host *, VkFence);
|
||||
#else
|
||||
VkResult (*p_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo *, VkFence);
|
||||
#endif
|
||||
void (*p_vkQueueEndDebugUtilsLabelEXT)(VkQueue);
|
||||
void (*p_vkQueueInsertDebugUtilsLabelEXT)(VkQueue, const VkDebugUtilsLabelEXT *);
|
||||
VkResult (*p_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
|
||||
VkResult (*p_vkQueueSetPerformanceConfigurationINTEL)(VkQueue, VkPerformanceConfigurationINTEL);
|
||||
VkResult (*p_vkQueueSubmit)(VkQueue, uint32_t, const VkSubmitInfo *, VkFence);
|
||||
|
@ -1602,6 +1655,16 @@ struct vulkan_device_funcs
|
|||
VkResult (*p_vkResetFences)(VkDevice, uint32_t, const VkFence *);
|
||||
void (*p_vkResetQueryPool)(VkDevice, VkQueryPool, uint32_t, uint32_t);
|
||||
void (*p_vkResetQueryPoolEXT)(VkDevice, VkQueryPool, uint32_t, uint32_t);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkSetDebugUtilsObjectNameEXT)(VkDevice, const VkDebugUtilsObjectNameInfoEXT_host *);
|
||||
#else
|
||||
VkResult (*p_vkSetDebugUtilsObjectNameEXT)(VkDevice, const VkDebugUtilsObjectNameInfoEXT *);
|
||||
#endif
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
VkResult (*p_vkSetDebugUtilsObjectTagEXT)(VkDevice, const VkDebugUtilsObjectTagInfoEXT_host *);
|
||||
#else
|
||||
VkResult (*p_vkSetDebugUtilsObjectTagEXT)(VkDevice, const VkDebugUtilsObjectTagInfoEXT *);
|
||||
#endif
|
||||
VkResult (*p_vkSetEvent)(VkDevice, VkEvent);
|
||||
VkResult (*p_vkSetPrivateDataEXT)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlotEXT, uint64_t);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
|
@ -1633,9 +1696,11 @@ struct vulkan_device_funcs
|
|||
/* For use by vkInstance and children */
|
||||
struct vulkan_instance_funcs
|
||||
{
|
||||
VkResult (*p_vkCreateDebugUtilsMessengerEXT)(VkInstance, const VkDebugUtilsMessengerCreateInfoEXT *, const VkAllocationCallbacks *, VkDebugUtilsMessengerEXT *);
|
||||
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_vkDestroyDebugUtilsMessengerEXT)(VkInstance, VkDebugUtilsMessengerEXT, const VkAllocationCallbacks *);
|
||||
void (*p_vkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
|
||||
VkResult (*p_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice, const char *, uint32_t *, VkExtensionProperties *);
|
||||
VkResult (*p_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice, uint32_t *, VkLayerProperties *);
|
||||
|
@ -1722,6 +1787,11 @@ struct vulkan_instance_funcs
|
|||
VkResult (*p_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice, uint32_t, VkSurfaceKHR, VkBool32 *);
|
||||
VkResult (*p_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice, uint32_t *, VkPhysicalDeviceToolPropertiesEXT *);
|
||||
VkBool32 (*p_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice, uint32_t);
|
||||
#if defined(USE_STRUCT_CONVERSION)
|
||||
void (*p_vkSubmitDebugUtilsMessageEXT)(VkInstance, VkDebugUtilsMessageSeverityFlagBitsEXT, VkDebugUtilsMessageTypeFlagsEXT, const VkDebugUtilsMessengerCallbackDataEXT_host *);
|
||||
#else
|
||||
void (*p_vkSubmitDebugUtilsMessageEXT)(VkInstance, VkDebugUtilsMessageSeverityFlagBitsEXT, VkDebugUtilsMessageTypeFlagsEXT, const VkDebugUtilsMessengerCallbackDataEXT *);
|
||||
#endif
|
||||
};
|
||||
|
||||
#define ALL_VK_DEVICE_FUNCS() \
|
||||
|
@ -1741,6 +1811,7 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkBindImageMemory2) \
|
||||
USE_VK_FUNC(vkBindImageMemory2KHR) \
|
||||
USE_VK_FUNC(vkCmdBeginConditionalRenderingEXT) \
|
||||
USE_VK_FUNC(vkCmdBeginDebugUtilsLabelEXT) \
|
||||
USE_VK_FUNC(vkCmdBeginQuery) \
|
||||
USE_VK_FUNC(vkCmdBeginQueryIndexedEXT) \
|
||||
USE_VK_FUNC(vkCmdBeginRenderPass) \
|
||||
|
@ -1790,6 +1861,7 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkCmdDrawMeshTasksIndirectNV) \
|
||||
USE_VK_FUNC(vkCmdDrawMeshTasksNV) \
|
||||
USE_VK_FUNC(vkCmdEndConditionalRenderingEXT) \
|
||||
USE_VK_FUNC(vkCmdEndDebugUtilsLabelEXT) \
|
||||
USE_VK_FUNC(vkCmdEndQuery) \
|
||||
USE_VK_FUNC(vkCmdEndQueryIndexedEXT) \
|
||||
USE_VK_FUNC(vkCmdEndRenderPass) \
|
||||
|
@ -1799,6 +1871,7 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkCmdExecuteCommands) \
|
||||
USE_VK_FUNC(vkCmdExecuteGeneratedCommandsNV) \
|
||||
USE_VK_FUNC(vkCmdFillBuffer) \
|
||||
USE_VK_FUNC(vkCmdInsertDebugUtilsLabelEXT) \
|
||||
USE_VK_FUNC(vkCmdNextSubpass) \
|
||||
USE_VK_FUNC(vkCmdNextSubpass2) \
|
||||
USE_VK_FUNC(vkCmdNextSubpass2KHR) \
|
||||
|
@ -1970,7 +2043,10 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkMapMemory) \
|
||||
USE_VK_FUNC(vkMergePipelineCaches) \
|
||||
USE_VK_FUNC(vkMergeValidationCachesEXT) \
|
||||
USE_VK_FUNC(vkQueueBeginDebugUtilsLabelEXT) \
|
||||
USE_VK_FUNC(vkQueueBindSparse) \
|
||||
USE_VK_FUNC(vkQueueEndDebugUtilsLabelEXT) \
|
||||
USE_VK_FUNC(vkQueueInsertDebugUtilsLabelEXT) \
|
||||
USE_VK_FUNC(vkQueuePresentKHR) \
|
||||
USE_VK_FUNC(vkQueueSetPerformanceConfigurationINTEL) \
|
||||
USE_VK_FUNC(vkQueueSubmit) \
|
||||
|
@ -1984,6 +2060,8 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkResetFences) \
|
||||
USE_VK_FUNC(vkResetQueryPool) \
|
||||
USE_VK_FUNC(vkResetQueryPoolEXT) \
|
||||
USE_VK_FUNC(vkSetDebugUtilsObjectNameEXT) \
|
||||
USE_VK_FUNC(vkSetDebugUtilsObjectTagEXT) \
|
||||
USE_VK_FUNC(vkSetEvent) \
|
||||
USE_VK_FUNC(vkSetPrivateDataEXT) \
|
||||
USE_VK_FUNC(vkSignalSemaphore) \
|
||||
|
@ -2000,9 +2078,11 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkWaitSemaphoresKHR)
|
||||
|
||||
#define ALL_VK_INSTANCE_FUNCS() \
|
||||
USE_VK_FUNC(vkCreateDebugUtilsMessengerEXT) \
|
||||
USE_VK_FUNC(vkCreateDevice) \
|
||||
USE_VK_FUNC(vkCreateHeadlessSurfaceEXT) \
|
||||
USE_VK_FUNC(vkCreateWin32SurfaceKHR) \
|
||||
USE_VK_FUNC(vkDestroyDebugUtilsMessengerEXT) \
|
||||
USE_VK_FUNC(vkDestroySurfaceKHR) \
|
||||
USE_VK_FUNC(vkEnumerateDeviceExtensionProperties) \
|
||||
USE_VK_FUNC(vkEnumerateDeviceLayerProperties) \
|
||||
|
@ -2044,6 +2124,7 @@ struct vulkan_instance_funcs
|
|||
USE_VK_FUNC(vkGetPhysicalDeviceSurfacePresentModesKHR) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceSurfaceSupportKHR) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceToolPropertiesEXT) \
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceWin32PresentationSupportKHR)
|
||||
USE_VK_FUNC(vkGetPhysicalDeviceWin32PresentationSupportKHR) \
|
||||
USE_VK_FUNC(vkSubmitDebugUtilsMessageEXT)
|
||||
|
||||
#endif /* __WINE_VULKAN_THUNKS_H */
|
||||
|
|
|
@ -183,6 +183,8 @@
|
|||
#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
|
||||
#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
|
||||
#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
|
||||
#define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
|
||||
#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
|
||||
#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
|
||||
#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
|
||||
#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
|
||||
|
@ -407,6 +409,7 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
|
|||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
|
||||
VK_DEFINE_HANDLE(VkCommandBuffer)
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
|
||||
|
@ -1014,6 +1017,23 @@ typedef enum VkCullModeFlagBits
|
|||
VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7fffffff,
|
||||
} VkCullModeFlagBits;
|
||||
|
||||
typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT
|
||||
{
|
||||
VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
|
||||
VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
|
||||
VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
|
||||
VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
|
||||
VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_EXT_MAX_ENUM = 0x7fffffff,
|
||||
} VkDebugUtilsMessageSeverityFlagBitsEXT;
|
||||
|
||||
typedef enum VkDebugUtilsMessageTypeFlagBitsEXT
|
||||
{
|
||||
VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
|
||||
VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
|
||||
VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
|
||||
VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_EXT_MAX_ENUM = 0x7fffffff,
|
||||
} VkDebugUtilsMessageTypeFlagBitsEXT;
|
||||
|
||||
typedef enum VkDependencyFlagBits
|
||||
{
|
||||
VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
|
||||
|
@ -1920,6 +1940,7 @@ typedef enum VkObjectType
|
|||
VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
|
||||
VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
|
||||
VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
|
||||
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
|
||||
VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
|
||||
VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
|
||||
|
@ -2709,6 +2730,11 @@ typedef enum VkStructureType
|
|||
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_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
|
||||
VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
|
||||
VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
|
||||
VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
|
||||
VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
|
||||
VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
|
||||
|
@ -3153,6 +3179,12 @@ typedef void* (VKAPI_PTR * PFN_vkAllocationFunction)(
|
|||
size_t size,
|
||||
size_t alignment,
|
||||
VkSystemAllocationScope allocationScope);
|
||||
typedef struct VkDebugUtilsMessengerCallbackDataEXT VkDebugUtilsMessengerCallbackDataEXT;
|
||||
typedef VkBool32 (VKAPI_PTR * PFN_vkDebugUtilsMessengerCallbackEXT)(
|
||||
VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
|
||||
VkDebugUtilsMessageTypeFlagsEXT messageTypes,
|
||||
const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData,
|
||||
void *pUserData);
|
||||
typedef void (VKAPI_PTR * PFN_vkFreeFunction)(
|
||||
void *pUserData,
|
||||
void *pMemory);
|
||||
|
@ -3413,6 +3445,36 @@ typedef struct VkCopyDescriptorSet
|
|||
uint32_t descriptorCount;
|
||||
} VkCopyDescriptorSet;
|
||||
|
||||
typedef struct VkDebugUtilsLabelEXT
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
const char *pLabelName;
|
||||
float color[4];
|
||||
} VkDebugUtilsLabelEXT;
|
||||
|
||||
typedef struct VkDebugUtilsMessengerCreateInfoEXT
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkDebugUtilsMessengerCreateFlagsEXT flags;
|
||||
VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
|
||||
VkDebugUtilsMessageTypeFlagsEXT messageType;
|
||||
PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
|
||||
void *pUserData;
|
||||
} VkDebugUtilsMessengerCreateInfoEXT;
|
||||
|
||||
typedef struct VkDebugUtilsObjectTagInfoEXT
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkObjectType objectType;
|
||||
uint64_t WINE_VK_ALIGN(8) objectHandle;
|
||||
uint64_t WINE_VK_ALIGN(8) tagName;
|
||||
size_t tagSize;
|
||||
const void *pTag;
|
||||
} VkDebugUtilsObjectTagInfoEXT;
|
||||
|
||||
typedef struct VkDedicatedAllocationImageCreateInfoNV
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -5139,6 +5201,15 @@ typedef struct VkConformanceVersion
|
|||
} VkConformanceVersion;
|
||||
typedef VkConformanceVersion VkConformanceVersionKHR;
|
||||
|
||||
typedef struct VkDebugUtilsObjectNameInfoEXT
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkObjectType objectType;
|
||||
uint64_t WINE_VK_ALIGN(8) objectHandle;
|
||||
const char *pObjectName;
|
||||
} VkDebugUtilsObjectNameInfoEXT;
|
||||
|
||||
typedef struct VkDedicatedAllocationMemoryAllocateInfoNV
|
||||
{
|
||||
VkStructureType sType;
|
||||
|
@ -6622,6 +6693,22 @@ typedef struct VkCopyBufferInfo2KHR
|
|||
const VkBufferCopy2KHR *pRegions;
|
||||
} VkCopyBufferInfo2KHR;
|
||||
|
||||
typedef struct VkDebugUtilsMessengerCallbackDataEXT
|
||||
{
|
||||
VkStructureType sType;
|
||||
const void *pNext;
|
||||
VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
|
||||
const char *pMessageIdName;
|
||||
int32_t messageIdNumber;
|
||||
const char *pMessage;
|
||||
uint32_t queueLabelCount;
|
||||
const VkDebugUtilsLabelEXT *pQueueLabels;
|
||||
uint32_t cmdBufLabelCount;
|
||||
const VkDebugUtilsLabelEXT *pCmdBufLabels;
|
||||
uint32_t objectCount;
|
||||
const VkDebugUtilsObjectNameInfoEXT *pObjects;
|
||||
} VkDebugUtilsMessengerCallbackDataEXT;
|
||||
|
||||
typedef struct VkDescriptorSetLayoutBinding
|
||||
{
|
||||
uint32_t binding;
|
||||
|
@ -7543,6 +7630,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice, VkImage, VkDeviceM
|
|||
typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice, uint32_t, const VkBindImageMemoryInfo *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice, uint32_t, const VkBindImageMemoryInfo *);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer, const VkConditionalRenderingBeginInfoEXT *);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer, const VkDebugUtilsLabelEXT *);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags, uint32_t);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer, const VkRenderPassBeginInfo *, VkSubpassContents);
|
||||
|
@ -7592,6 +7680,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer,
|
|||
typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer, uint32_t, uint32_t);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer, VkQueryPool, uint32_t);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer);
|
||||
|
@ -7601,6 +7690,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer, uint
|
|||
typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer, uint32_t, const VkCommandBuffer *);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer, VkBool32, const VkGeneratedCommandsInfoNV *);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer, const VkDebugUtilsLabelEXT *);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer, VkSubpassContents);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer, const VkSubpassBeginInfo *, const VkSubpassEndInfo *);
|
||||
typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer, const VkSubpassBeginInfo *, const VkSubpassEndInfo *);
|
||||
|
@ -7659,6 +7749,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice, const VkBufferCreateI
|
|||
typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice, const VkBufferViewCreateInfo *, const VkAllocationCallbacks *, VkBufferView *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice, const VkCommandPoolCreateInfo *, const VkAllocationCallbacks *, VkCommandPool *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice, VkPipelineCache, uint32_t, const VkComputePipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance, const VkDebugUtilsMessengerCreateInfoEXT *, const VkAllocationCallbacks *, VkDebugUtilsMessengerEXT *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice, const VkDescriptorPoolCreateInfo *, const VkAllocationCallbacks *, VkDescriptorPool *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, const VkAllocationCallbacks *, VkDescriptorSetLayout *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice, const VkDescriptorUpdateTemplateCreateInfo *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplate *);
|
||||
|
@ -7693,6 +7784,7 @@ typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice, VkAccel
|
|||
typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice, VkBuffer, const VkAllocationCallbacks *);
|
||||
typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice, VkBufferView, const VkAllocationCallbacks *);
|
||||
typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice, VkCommandPool, const VkAllocationCallbacks *);
|
||||
typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance, VkDebugUtilsMessengerEXT, const VkAllocationCallbacks *);
|
||||
typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice, VkDescriptorPool, const VkAllocationCallbacks *);
|
||||
typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice, VkDescriptorSetLayout, const VkAllocationCallbacks *);
|
||||
typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice, VkDescriptorUpdateTemplate, const VkAllocationCallbacks *);
|
||||
|
@ -7830,7 +7922,10 @@ typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice, uint3
|
|||
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 void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue, const VkDebugUtilsLabelEXT *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo *, VkFence);
|
||||
typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue);
|
||||
typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue, const VkDebugUtilsLabelEXT *);
|
||||
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);
|
||||
|
@ -7844,10 +7939,13 @@ typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice, VkEvent);
|
|||
typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice, uint32_t, const VkFence *);
|
||||
typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice, VkQueryPool, uint32_t, uint32_t);
|
||||
typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice, VkQueryPool, uint32_t, uint32_t);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice, const VkDebugUtilsObjectNameInfoEXT *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice, const VkDebugUtilsObjectTagInfoEXT *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice, VkEvent);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice, VkObjectType, uint64_t, VkPrivateDataSlotEXT, uint64_t);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice, const VkSemaphoreSignalInfo *);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice, const VkSemaphoreSignalInfo *);
|
||||
typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance, VkDebugUtilsMessageSeverityFlagBitsEXT, VkDebugUtilsMessageTypeFlagsEXT, const VkDebugUtilsMessengerCallbackDataEXT *);
|
||||
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);
|
||||
|
@ -7876,6 +7974,7 @@ VkResult VKAPI_CALL vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMe
|
|||
VkResult VKAPI_CALL vkBindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos);
|
||||
VkResult VKAPI_CALL vkBindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo *pBindInfos);
|
||||
void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT *pConditionalRenderingBegin);
|
||||
void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo);
|
||||
void VKAPI_CALL vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
|
||||
void VKAPI_CALL vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
|
||||
void VKAPI_CALL vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo *pRenderPassBegin, VkSubpassContents contents);
|
||||
|
@ -7925,6 +8024,7 @@ void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer,
|
|||
void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
|
||||
void VKAPI_CALL vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
|
||||
void VKAPI_CALL vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer);
|
||||
void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer);
|
||||
void VKAPI_CALL vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
|
||||
void VKAPI_CALL vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
|
||||
void VKAPI_CALL vkCmdEndRenderPass(VkCommandBuffer commandBuffer);
|
||||
|
@ -7934,6 +8034,7 @@ void VKAPI_CALL vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint
|
|||
void VKAPI_CALL vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
|
||||
void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV *pGeneratedCommandsInfo);
|
||||
void VKAPI_CALL vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
|
||||
void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT *pLabelInfo);
|
||||
void VKAPI_CALL vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents);
|
||||
void VKAPI_CALL vkCmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo *pSubpassBeginInfo, const VkSubpassEndInfo *pSubpassEndInfo);
|
||||
void VKAPI_CALL vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo *pSubpassBeginInfo, const VkSubpassEndInfo *pSubpassEndInfo);
|
||||
|
@ -7992,6 +8093,7 @@ VkResult VKAPI_CALL vkCreateBuffer(VkDevice device, const VkBufferCreateInfo *pC
|
|||
VkResult VKAPI_CALL vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkBufferView *pView);
|
||||
VkResult VKAPI_CALL vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool);
|
||||
VkResult VKAPI_CALL vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines);
|
||||
VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pMessenger);
|
||||
VkResult VKAPI_CALL vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorPool *pDescriptorPool);
|
||||
VkResult VKAPI_CALL vkCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorSetLayout *pSetLayout);
|
||||
VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDescriptorUpdateTemplate *pDescriptorUpdateTemplate);
|
||||
|
@ -8026,6 +8128,7 @@ void VKAPI_CALL vkDestroyAccelerationStructureNV(VkDevice device, VkAcceleration
|
|||
void VKAPI_CALL vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks *pAllocator);
|
||||
void VKAPI_CALL vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks *pAllocator);
|
||||
void VKAPI_CALL vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator);
|
||||
void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks *pAllocator);
|
||||
void VKAPI_CALL vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks *pAllocator);
|
||||
void VKAPI_CALL vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks *pAllocator);
|
||||
void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks *pAllocator);
|
||||
|
@ -8163,7 +8266,10 @@ VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t mem
|
|||
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);
|
||||
void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo);
|
||||
VkResult VKAPI_CALL vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo *pBindInfo, VkFence fence);
|
||||
void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(VkQueue queue);
|
||||
void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(VkQueue queue, const VkDebugUtilsLabelEXT *pLabelInfo);
|
||||
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);
|
||||
|
@ -8177,10 +8283,13 @@ VkResult VKAPI_CALL vkResetEvent(VkDevice device, VkEvent event);
|
|||
VkResult VKAPI_CALL vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences);
|
||||
void VKAPI_CALL vkResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
|
||||
void VKAPI_CALL vkResetQueryPoolEXT(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
|
||||
VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(VkDevice device, const VkDebugUtilsObjectNameInfoEXT *pNameInfo);
|
||||
VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(VkDevice device, const VkDebugUtilsObjectTagInfoEXT *pTagInfo);
|
||||
VkResult VKAPI_CALL vkSetEvent(VkDevice device, VkEvent event);
|
||||
VkResult VKAPI_CALL vkSetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data);
|
||||
VkResult VKAPI_CALL vkSignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo *pSignalInfo);
|
||||
VkResult VKAPI_CALL vkSignalSemaphoreKHR(VkDevice device, const VkSemaphoreSignalInfo *pSignalInfo);
|
||||
void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData);
|
||||
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);
|
||||
|
|
Loading…
Reference in New Issue