From d71a1213bf3228b040d956efc6ef24fdd11a778a Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Date: Tue, 12 Jul 2022 14:05:34 +0200 Subject: [PATCH] Fix Linux build due to VK_EXT_metal_objects types This commit adds new platform-specific types to the framework-generation script so CTS code compiles again on Linux and other platforms. No tests are affected by these changes. Components: Vulkan VK-GL-CTS issue: 3813 Change-Id: Id27dec6a07d78802b2a84ae741b208b27510da53 --- .../framework/vulkan/generated/vulkan/vkBasicTypes.inl | 6 ++++++ .../framework/vulkan/generated/vulkan/vkStrUtilImpl.inl | 6 ++++++ .../framework/vulkan/generated/vulkansc/vkBasicTypes.inl | 6 ++++++ .../framework/vulkan/generated/vulkansc/vkStrUtilImpl.inl | 6 ++++++ external/vulkancts/scripts/gen_framework.py | 15 +++++++++------ 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkBasicTypes.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkBasicTypes.inl index c2e78f4..9b5b2ca 100644 --- a/external/vulkancts/framework/vulkan/generated/vulkan/vkBasicTypes.inl +++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkBasicTypes.inl @@ -4613,6 +4613,12 @@ VK_DEFINE_PLATFORM_TYPE(zx_handle_t, uint32_t) VK_DEFINE_PLATFORM_TYPE(GgpFrameToken, int32_t) VK_DEFINE_PLATFORM_TYPE(GgpStreamDescriptor, int32_t) VK_DEFINE_PLATFORM_TYPE(CAMetalLayer, void*) +VK_DEFINE_PLATFORM_TYPE(MTLDevice_id, void*) +VK_DEFINE_PLATFORM_TYPE(MTLCommandQueue_id, void*) +VK_DEFINE_PLATFORM_TYPE(MTLBuffer_id, void*) +VK_DEFINE_PLATFORM_TYPE(MTLTexture_id, void*) +VK_DEFINE_PLATFORM_TYPE(IOSurfaceRef, void*) +VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id, void*) #define VK_KHR_SURFACE_SPEC_VERSION 25 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 #define VK_KHR_DISPLAY_SPEC_VERSION 23 diff --git a/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtilImpl.inl b/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtilImpl.inl index 3ff56bd..7c500b3 100644 --- a/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtilImpl.inl +++ b/external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtilImpl.inl @@ -74,6 +74,12 @@ std::ostream& operator<< (std::ostream& s, zx_handle_t v) { return s << tcu: std::ostream& operator<< (std::ostream& s, GgpFrameToken v) { return s << tcu::toHex(v.internal); } std::ostream& operator<< (std::ostream& s, GgpStreamDescriptor v) { return s << tcu::toHex(v.internal); } std::ostream& operator<< (std::ostream& s, CAMetalLayer v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLDevice_id v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLCommandQueue_id v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLBuffer_id v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLTexture_id v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, IOSurfaceRef v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLSharedEvent_id v) { return s << tcu::toHex(v.internal); } } const char* getResultName (VkResult value) diff --git a/external/vulkancts/framework/vulkan/generated/vulkansc/vkBasicTypes.inl b/external/vulkancts/framework/vulkan/generated/vulkansc/vkBasicTypes.inl index 91585cd..de04fee 100644 --- a/external/vulkancts/framework/vulkan/generated/vulkansc/vkBasicTypes.inl +++ b/external/vulkancts/framework/vulkan/generated/vulkansc/vkBasicTypes.inl @@ -2326,6 +2326,12 @@ VK_DEFINE_PLATFORM_TYPE(zx_handle_t, uint32_t) VK_DEFINE_PLATFORM_TYPE(GgpFrameToken, int32_t) VK_DEFINE_PLATFORM_TYPE(GgpStreamDescriptor, int32_t) VK_DEFINE_PLATFORM_TYPE(CAMetalLayer, void*) +VK_DEFINE_PLATFORM_TYPE(MTLDevice_id, void*) +VK_DEFINE_PLATFORM_TYPE(MTLCommandQueue_id, void*) +VK_DEFINE_PLATFORM_TYPE(MTLBuffer_id, void*) +VK_DEFINE_PLATFORM_TYPE(MTLTexture_id, void*) +VK_DEFINE_PLATFORM_TYPE(IOSurfaceRef, void*) +VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id, void*) #define VK_KHR_SURFACE_SPEC_VERSION 25 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 #define VK_KHR_DISPLAY_SPEC_VERSION 23 diff --git a/external/vulkancts/framework/vulkan/generated/vulkansc/vkStrUtilImpl.inl b/external/vulkancts/framework/vulkan/generated/vulkansc/vkStrUtilImpl.inl index 3e39e6f..0fe0ee0 100644 --- a/external/vulkancts/framework/vulkan/generated/vulkansc/vkStrUtilImpl.inl +++ b/external/vulkancts/framework/vulkan/generated/vulkansc/vkStrUtilImpl.inl @@ -60,6 +60,12 @@ std::ostream& operator<< (std::ostream& s, zx_handle_t v) { return s << tcu: std::ostream& operator<< (std::ostream& s, GgpFrameToken v) { return s << tcu::toHex(v.internal); } std::ostream& operator<< (std::ostream& s, GgpStreamDescriptor v) { return s << tcu::toHex(v.internal); } std::ostream& operator<< (std::ostream& s, CAMetalLayer v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLDevice_id v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLCommandQueue_id v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLBuffer_id v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLTexture_id v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, IOSurfaceRef v) { return s << tcu::toHex(v.internal); } +std::ostream& operator<< (std::ostream& s, MTLSharedEvent_id v) { return s << tcu::toHex(v.internal); } } const char* getResultName (VkResult value) diff --git a/external/vulkancts/scripts/gen_framework.py b/external/vulkancts/scripts/gen_framework.py index d231ad3..83c5329 100755 --- a/external/vulkancts/scripts/gen_framework.py +++ b/external/vulkancts/scripts/gen_framework.py @@ -108,6 +108,14 @@ PLATFORM_TYPES = [ (["GgpFrameToken"], ["GgpFrameToken"], "int32_t"), (["GgpStreamDescriptor"], ["GgpStreamDescriptor"], "int32_t"), (["CAMetalLayer"], ["CAMetalLayer"], "void*"), + + # VK_EXT_metal_objects + (["MTLDevice_id"], ["MTLDevice_id"], "void*"), + (["MTLCommandQueue_id"], ["MTLCommandQueue_id"], "void*"), + (["MTLBuffer_id"], ["MTLBuffer_id"], "void*"), + (["MTLTexture_id"], ["MTLTexture_id"], "void*"), + (["IOSurfaceRef"], ["IOSurfaceRef"], "void*"), + (["MTLSharedEvent_id"], ["MTLSharedEvent_id"], "void*"), ] PLATFORM_TYPE_NAMESPACE = "pt" @@ -162,6 +170,7 @@ def prefixName (prefix, name): name = name.replace("RGBA_10_X_6", "RGBA10X6") name = name.replace("2_D", "2D_") name = name.replace("3_D", "3D_") + name = name.replace("IOSURFACE", "IO_SURFACE") return prefix + name @@ -2268,12 +2277,6 @@ def generateDeviceFeaturesDefs(apiName, src): elif sType == 'RASTERIZATION_ORDER_ATTACHMENT_ACCESS': # skip case that has const pNext pointer continue - # skip cases that have const pNext pointer - if sType == 'RASTERIZATION_ORDER_ATTACHMENT_ACCESS': - continue - # skip cases that have const pNext pointer - if sType == 'RASTERIZATION_ORDER_ATTACHMENT_ACCESS': - continue # end handling special cases ptrnExtensionName = r'^\s*#define\s+(\w+' + sSuffix + '_' + sType + '_EXTENSION_NAME).+$' matchExtensionName = re.search(ptrnExtensionName, src, re.M) -- 2.7.4