Browse Source

VK: Fixed device selection.

Бранимир Караџић 2 years ago
parent
commit
065f6ddc66
1 changed files with 3 additions and 4 deletions
  1. 3 4
      src/renderer_vk.cpp

+ 3 - 4
src/renderer_vk.cpp

@@ -1430,9 +1430,8 @@ VK_IMPORT_INSTANCE
 					BX_TRACE("\t      DeviceId: %x", pdp.deviceID);
 					BX_TRACE("\t          Type: %d", pdp.deviceType);
 
-					if (VK_VENDOR_ID_MESA == pdp.vendorID)
+					if (VK_PHYSICAL_DEVICE_TYPE_CPU == pdp.deviceType)
 					{
-						// LLVM pipe...
 						pdp.vendorID = BGFX_PCI_ID_SOFTWARE_RASTERIZER;
 					}
 
@@ -1442,7 +1441,7 @@ VK_IMPORT_INSTANCE
 
 					if ( (BGFX_PCI_ID_NONE != g_caps.vendorId ||            0 != g_caps.deviceId)
 					&&   (BGFX_PCI_ID_NONE == g_caps.vendorId || pdp.vendorID == g_caps.vendorId)
-					&&   (0 == g_caps.deviceId                || pdp.deviceID == g_caps.deviceId) )
+					&&   (               0 == g_caps.deviceId || pdp.deviceID == g_caps.deviceId) )
 					{
 						if (pdp.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
 						||  pdp.deviceType == VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU)
@@ -1452,7 +1451,7 @@ VK_IMPORT_INSTANCE
 
 						physicalDeviceIdx = ii;
 					}
-					else
+					else if (UINT32_MAX == physicalDeviceIdx)
 					{
 						if (pdp.deviceType == VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU)
 						{