move the "cpu device checking" from supportsFeatures() to queryDeviceInfo()