mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 19:10:14 +01:00
vk/vulkan.h: Update extension handling to rev 130
This commit is contained in:
parent
cc29a5f4be
commit
8e05bbeee9
2 changed files with 54 additions and 71 deletions
|
|
@ -1088,14 +1088,6 @@ typedef enum {
|
|||
VK_ENUM_RANGE(PHYSICAL_DEVICE_INFO_TYPE, PROPERTIES, MEMORY_PROPERTIES)
|
||||
} VkPhysicalDeviceInfoType;
|
||||
|
||||
typedef enum {
|
||||
// Info type for vkGetGlobalExtensionInfo() and vkGetPhysicalDeviceExtensionInfo()
|
||||
VK_EXTENSION_INFO_TYPE_COUNT = 0x00000000,
|
||||
VK_EXTENSION_INFO_TYPE_PROPERTIES = 0x00000001,
|
||||
|
||||
VK_ENUM_RANGE(EXTENSION_INFO_TYPE, COUNT, PROPERTIES)
|
||||
} VkExtensionInfoType;
|
||||
|
||||
typedef enum {
|
||||
// Info type for vkGetFormatInfo()
|
||||
VK_FORMAT_INFO_TYPE_PROPERTIES = 0x00000000,
|
||||
|
|
@ -1895,8 +1887,10 @@ typedef PFN_vkVoidFunction (VKAPI *PFN_vkGetInstanceProcAddr)(VkInstance instanc
|
|||
typedef PFN_vkVoidFunction (VKAPI *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
|
||||
typedef VkResult (VKAPI *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, VkDevice* pDevice);
|
||||
typedef VkResult (VKAPI *PFN_vkDestroyDevice)(VkDevice device);
|
||||
typedef VkResult (VKAPI *PFN_vkGetGlobalExtensionInfo)(VkExtensionInfoType infoType, uint32_t extensionIndex, size_t* pDataSize, void* pData);
|
||||
typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceExtensionInfo)(VkPhysicalDevice physicalDevice, VkExtensionInfoType infoType, uint32_t extensionIndex, size_t* pDataSize, void* pData);
|
||||
typedef VkResult (VKAPI *PFN_vkGetGlobalExtensionCount)(uint32_t* pCount);
|
||||
typedef VkResult (VKAPI *PFN_vkGetGlobalExtensionProperties)(uint32_t extensionIndex, VkExtensionProperties* pProperties);
|
||||
typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceExtensionCount)(VkPhysicalDevice physicalDevice, uint32_t* pCount);
|
||||
typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, uint32_t extensionIndex, VkExtensionProperties* pProperties);
|
||||
typedef VkResult (VKAPI *PFN_vkEnumerateLayers)(VkPhysicalDevice physicalDevice, size_t maxStringSize, size_t* pLayerCount, char* const* pOutLayers, void* pReserved);
|
||||
typedef VkResult (VKAPI *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueNodeIndex, uint32_t queueIndex, VkQueue* pQueue);
|
||||
typedef VkResult (VKAPI *PFN_vkQueueSubmit)(VkQueue queue, uint32_t cmdBufferCount, const VkCmdBuffer* pCmdBuffers, VkFence fence);
|
||||
|
|
@ -2035,18 +2029,21 @@ VkResult VKAPI vkCreateDevice(
|
|||
VkResult VKAPI vkDestroyDevice(
|
||||
VkDevice device);
|
||||
|
||||
VkResult VKAPI vkGetGlobalExtensionInfo(
|
||||
VkExtensionInfoType infoType,
|
||||
uint32_t extensionIndex,
|
||||
size_t* pDataSize,
|
||||
void* pData);
|
||||
VkResult VKAPI vkGetGlobalExtensionCount(
|
||||
uint32_t* pCount);
|
||||
|
||||
VkResult VKAPI vkGetPhysicalDeviceExtensionInfo(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
VkExtensionInfoType infoType,
|
||||
VkResult VKAPI vkGetGlobalExtensionProperties(
|
||||
uint32_t extensionIndex,
|
||||
size_t* pDataSize,
|
||||
void* pData);
|
||||
VkExtensionProperties* pProperties);
|
||||
|
||||
VkResult VKAPI vkGetPhysicalDeviceExtensionCount(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
uint32_t* pCount);
|
||||
|
||||
VkResult VKAPI vkGetPhysicalDeviceExtensionProperties(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
uint32_t extensionIndex,
|
||||
VkExtensionProperties* pProperties);
|
||||
|
||||
VkResult VKAPI vkEnumerateLayers(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
|
|
|
|||
|
|
@ -472,64 +472,50 @@ VkResult anv_DestroyDevice(
|
|||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
VkResult anv_GetGlobalExtensionInfo(
|
||||
VkExtensionInfoType infoType,
|
||||
uint32_t extensionIndex,
|
||||
size_t* pDataSize,
|
||||
void* pData)
|
||||
{
|
||||
static const VkExtensionProperties extensions[] = {
|
||||
{
|
||||
.extName = "VK_WSI_LunarG",
|
||||
.version = 3
|
||||
}
|
||||
};
|
||||
uint32_t count = ARRAY_SIZE(extensions);
|
||||
|
||||
switch (infoType) {
|
||||
case VK_EXTENSION_INFO_TYPE_COUNT:
|
||||
memcpy(pData, &count, sizeof(count));
|
||||
*pDataSize = sizeof(count);
|
||||
return VK_SUCCESS;
|
||||
|
||||
case VK_EXTENSION_INFO_TYPE_PROPERTIES:
|
||||
if (extensionIndex >= count)
|
||||
return vk_error(VK_ERROR_INVALID_EXTENSION);
|
||||
|
||||
memcpy(pData, &extensions[extensionIndex], sizeof(extensions[0]));
|
||||
*pDataSize = sizeof(extensions[0]);
|
||||
return VK_SUCCESS;
|
||||
|
||||
default:
|
||||
return VK_UNSUPPORTED;
|
||||
static const VkExtensionProperties global_extensions[] = {
|
||||
{
|
||||
.extName = "VK_WSI_LunarG",
|
||||
.version = 3
|
||||
}
|
||||
};
|
||||
|
||||
VkResult anv_GetGlobalExtensionCount(
|
||||
uint32_t* pCount)
|
||||
{
|
||||
*pCount = ARRAY_SIZE(global_extensions);
|
||||
|
||||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
VkResult anv_GetPhysicalDeviceExtensionInfo(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
VkExtensionInfoType infoType,
|
||||
|
||||
VkResult anv_GetGlobalExtensionProperties(
|
||||
uint32_t extensionIndex,
|
||||
size_t* pDataSize,
|
||||
void* pData)
|
||||
VkExtensionProperties* pProperties)
|
||||
{
|
||||
uint32_t *count;
|
||||
assert(extensionIndex < ARRAY_SIZE(global_extensions));
|
||||
|
||||
switch (infoType) {
|
||||
case VK_EXTENSION_INFO_TYPE_COUNT:
|
||||
*pDataSize = 4;
|
||||
if (pData == NULL)
|
||||
return VK_SUCCESS;
|
||||
*pProperties = global_extensions[extensionIndex];
|
||||
|
||||
count = pData;
|
||||
*count = 0;
|
||||
return VK_SUCCESS;
|
||||
|
||||
case VK_EXTENSION_INFO_TYPE_PROPERTIES:
|
||||
return vk_error(VK_ERROR_INVALID_EXTENSION);
|
||||
|
||||
default:
|
||||
return VK_UNSUPPORTED;
|
||||
}
|
||||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
VkResult anv_GetPhysicalDeviceExtensionCount(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
uint32_t* pCount)
|
||||
{
|
||||
/* None supported at this time */
|
||||
*pCount = 0;
|
||||
|
||||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
VkResult anv_GetPhysicalDeviceExtensionProperties(
|
||||
VkPhysicalDevice physicalDevice,
|
||||
uint32_t extensionIndex,
|
||||
VkExtensionProperties* pProperties)
|
||||
{
|
||||
/* None supported at this time */
|
||||
return vk_error(VK_ERROR_INVALID_EXTENSION);
|
||||
}
|
||||
|
||||
VkResult anv_EnumerateLayers(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue