The VK_EXT_physical_device_drm spec states:
DRM defines multiple device node types. Each physical device may
have one primary node and one render node associated.
Physical devices may have no primary node (e.g. if the device does
not have a display subsystem), may have no render node (e.g. if it is
a software rendering engine), or may have neither (e.g. if it is a
software rendering engine without a display subsystem).
According to the above statement, a DRM device does not have to
always be present for a device to be compliant with the
VK_EXT_physical_device_drm spec.
Components: Vulkan
VK-GL-CTS Issue: 3029
Affects: dEQP-VK.api.device_drm_properties.drm_files_exist
Change-Id: I6d48b15d142650ee0db2dafd5e1b7f3c30e7a837
*pNumDevices = intGetDevices(DE_NULL, 0);
if (*pNumDevices < 0)
- TCU_FAIL("Failed to query number of DRM devices in system");
+ TCU_THROW(NotSupportedError, "Failed to query number of DRM devices in system");
if (*pNumDevices == 0)
return DE_NULL;
libDrm.freeDevices(drmDevices, numDrmDevices);
#endif // DEQP_SUPPORT_DRM
- if (!primaryFound)
- TCU_FAIL("DRM primary device file not found");
-
- if (!renderFound)
- TCU_FAIL("DRM render device file not found");
+ if (!primaryFound && !renderFound) {
+ TCU_THROW(NotSupportedError, "Nether DRM primary nor render device files were found");
+ }
}
static tcu::TestStatus testDeviceDrmProperties (Context& context, const TestType testType)