The tests are testing synchronisation primitives in combination with
images marked as SHARING_MODE_CONCURRENT but this is not possible on
deivces that only support a single queue family. Because creating an
image with concurrent sharing requires two distinct queue families, it
is not supported on these devices.
Component: Vulkan
Affects: dEQP-VK.synchronization*.multi_queue.*_concurrent
Change-Id: I30a05bb085eef9e3087adfa12377a4909942f9c3
context.requireDeviceFunctionality("VK_KHR_synchronization2");
if (m_syncPrimitive == SYNC_PRIMITIVE_TIMELINE_SEMAPHORE)
context.requireDeviceFunctionality("VK_KHR_timeline_semaphore");
+
+ const InstanceInterface& instance = context.getInstanceInterface();
+ const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
+ const std::vector<VkQueueFamilyProperties> queueFamilyProperties = getPhysicalDeviceQueueFamilyProperties(instance, physicalDevice);
+ if (m_sharingMode == VK_SHARING_MODE_CONCURRENT && queueFamilyProperties.size() < 2)
+ TCU_THROW(NotSupportedError, "Concurrent requires more than 1 queue family");
}
TestInstance* createInstance (Context& context) const