Parcourir la source

VK: Fixed selecting software rasterizer on Mesa.

Бранимир Караџић il y a 2 ans
Parent
commit
356c59dbf5
1 fichiers modifiés avec 7 ajouts et 0 suppressions
  1. 7 0
      src/renderer_vk.cpp

+ 7 - 0
src/renderer_vk.cpp

@@ -1416,6 +1416,7 @@ VK_IMPORT_INSTANCE
 				{
 					VkPhysicalDeviceProperties pdp;
 					vkGetPhysicalDeviceProperties(physicalDevices[ii], &pdp);
+
 					BX_TRACE("Physical device %d:", ii);
 					BX_TRACE("\t          Name: %s", pdp.deviceName);
 					BX_TRACE("\t   API version: %d.%d.%d"
@@ -1429,6 +1430,12 @@ VK_IMPORT_INSTANCE
 					BX_TRACE("\t      DeviceId: %x", pdp.deviceID);
 					BX_TRACE("\t          Type: %d", pdp.deviceType);
 
+					if (VK_VENDOR_ID_MESA == pdp.vendorID)
+					{
+						// LLVM pipe...
+						pdp.vendorID = BGFX_PCI_ID_SOFTWARE_RASTERIZER;
+					}
+
 					g_caps.gpu[ii].vendorId = uint16_t(pdp.vendorID);
 					g_caps.gpu[ii].deviceId = uint16_t(pdp.deviceID);
 					++g_caps.numGPUs;