I’ve been working with Vulkan across a variety of platforms and hardware:
-Windows 8/AMD R9 280
-Ubuntu Linux/NVidia GTX 660
-NVidia Shield Tablet with developer version of Android that is supposed to support Vulkan
-NVidia Shield Console with latest Android TV that that is supposed to support Vulkan
My application initializes correctly on Windows and Linux, but on Android fails with a call to vkCreateInstance(), which returns VK_ERROR_INCOMPATIBLE_DRIVER. The setup I perform before this call is pretty minimal:
VkApplicationInfo appInfo = {};
appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
appInfo.pApplicationName = settings.applicationName.c_str();
appInfo.applicationVersion = 1;
appInfo.pEngineName = settings.applicationName.c_str();
appInfo.engineVersion = 1;
appInfo.apiVersion = VK_API_VERSION;
VkInstanceCreateInfo instanceInfo = {};
instanceInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
instanceInfo.pApplicationInfo = &appInfo;
instanceInfo.enabledLayerCount = 0;
instanceInfo.ppEnabledLayerNames = nullptr;
instanceInfo.enabledExtensionCount = 0;
instanceInfo.ppEnabledExtensionNames = nullptr;
This code works fine with the other platforms but not NVidia/Android. Is this a known issue with the latest Nvidia/Android firmware or is there something special that needs to be done for this platform?