Skip to content

Commit

Permalink
Fix Linux build due to VK_EXT_metal_objects types
Browse files Browse the repository at this point in the history
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
  • Loading branch information
rg3igalia authored and mnetsch committed Jul 22, 2022
1 parent 3ce379b commit d71a121
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 6 deletions.
Expand Up @@ -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
Expand Down
Expand Up @@ -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)
Expand Down
Expand Up @@ -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
Expand Down
Expand Up @@ -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)
Expand Down
15 changes: 9 additions & 6 deletions external/vulkancts/scripts/gen_framework.py
Expand Up @@ -108,6 +108,14 @@
(["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"
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit d71a121

Please sign in to comment.