This commit makes sure vkGetInstanceProcAddr can resolve itself when
used with a NULL instance, being a platform function.
In addition, vkEnumerateInstanceVersion is always checked, when present
in the corresponding API table, to work as a platform function returning
a function pointer when called with a NULL instance.
Affected tests:
dEQP-VK.api.version_check.entry_points
Components: Vulkan
VK-GL-CTS issue: 2278
Change-Id: Ia6e23b8aa2328646003ada8e4d5947656566ccaf
APIEntryPointsTestInstance (Context& ctx)
: TestInstance (ctx)
{
-
}
+
virtual tcu::TestStatus iterate (void)
{
tcu::TestLog& log = m_context.getTestContext().getLog();
const deUint32 startingQuantity = failsQuantity;
for (deUint32 ndx = 0u; ndx < testsArr.size(); ++ndx)
{
- if (deStringEqual(testsArr[ndx].first, "vkGetInstanceProcAddr") || deStringEqual(testsArr[ndx].first, "vkEnumerateInstanceVersion"))
+ if (deStringEqual(testsArr[ndx].first, "vkGetInstanceProcAddr") && m_context.getUsedApiVersion() < VK_API_VERSION_1_2)
continue;
const deUint32 functionType = testsArr[ndx].second;