Add support for Vulkan Loader and Validation Layer API version 5.

Update to latest SPIRV-Cross and Vulkan-LVL versions.
This commit is contained in:
Bill Hollings 2018-01-09 15:38:14 -05:00
parent 8e6d9e62f2
commit 9a6c7f0711
3 changed files with 49 additions and 2 deletions

@ -1 +1 @@
Subproject commit 27d4af75a0736849c046c5f068ecc80f17c1ed7e
Subproject commit bcaa1f0e3c5f6f31547f020d6f1d64a0a36879da

@ -1 +1 @@
Subproject commit 62d8e875b9f3c663dc6448c0db6f599df18711c2
Subproject commit 54c674136a33dae33d378f734b174d7ec7ef633b

View File

@ -1576,3 +1576,50 @@ MVK_PUBLIC_SYMBOL VkResult vkCreate_PLATFORM_SurfaceMVK(
*pSurface = (VkSurfaceKHR)mvkSrfc;
return mvkSrfc->getConfigurationResult();
}
#pragma mark -
#pragma mark Loader and Layer ICD interface extension
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
VKAPI_ATTR VkResult VKAPI_CALL vk_icdNegotiateLoaderICDInterfaceVersion(uint32_t* pSupportedVersion);
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetInstanceProcAddr(VkInstance instance, const char* name);
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetPhysicalDeviceProcAddr(VkInstance instance, const char* name);
#ifdef __cplusplus
}
#endif // __cplusplus
MVK_PUBLIC_SYMBOL VkResult vk_icdNegotiateLoaderICDInterfaceVersion(
uint32_t* pSupportedVersion) {
// This ICD expects to be loaded by a loader of at least version 5.
if (pSupportedVersion && *pSupportedVersion >= 5) {
*pSupportedVersion = 5;
return VK_SUCCESS;
}
return VK_ERROR_INCOMPATIBLE_DRIVER;
}
MVK_PUBLIC_SYMBOL PFN_vkVoidFunction vk_icdGetInstanceProcAddr(
VkInstance instance,
const char* pName) {
if (strcmp(pName, "vk_icdNegotiateLoaderICDInterfaceVersion") == 0) { return (PFN_vkVoidFunction)vk_icdNegotiateLoaderICDInterfaceVersion; }
if (strcmp(pName, "vk_icdGetPhysicalDeviceProcAddr") == 0) { return (PFN_vkVoidFunction)vk_icdGetPhysicalDeviceProcAddr; }
return vkGetInstanceProcAddr(instance, pName);
}
MVK_PUBLIC_SYMBOL PFN_vkVoidFunction vk_icdGetPhysicalDeviceProcAddr(
VkInstance instance,
const char* pName) {
return vk_icdGetInstanceProcAddr(instance, pName);
}