mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Revert "Enhanced physical device selection to use device type and available memory in relation to issue #35397"
This reverts commit 4f3006e5ac
.
This commit is contained in:
parent
17c3c223dc
commit
f70b5fa30c
1 changed files with 2 additions and 33 deletions
|
@ -356,39 +356,8 @@ Error VulkanContext::_create_physical_device() {
|
||||||
free(physical_devices);
|
free(physical_devices);
|
||||||
ERR_FAIL_V(ERR_CANT_CREATE);
|
ERR_FAIL_V(ERR_CANT_CREATE);
|
||||||
}
|
}
|
||||||
|
/* for now, just grab the first physical device */
|
||||||
/*Find the first discrete GPU with the most VRAM.*/
|
gpu = physical_devices[0];
|
||||||
{
|
|
||||||
print_line("Selecting primary GPU.");
|
|
||||||
VkPhysicalDeviceProperties device_properties;
|
|
||||||
VkPhysicalDeviceMemoryProperties memory_properties;
|
|
||||||
gpu = physical_devices[0];
|
|
||||||
uint32_t largest_vram_size = 0;
|
|
||||||
VkPhysicalDeviceType gpu_type = VK_PHYSICAL_DEVICE_TYPE_OTHER;
|
|
||||||
for (uint32_t i = 0; i < gpu_count; i++) {
|
|
||||||
vkGetPhysicalDeviceProperties(physical_devices[i], &device_properties);
|
|
||||||
|
|
||||||
/*Skip virtual and CPU devices for now.*/
|
|
||||||
if (device_properties.deviceType > VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
vkGetPhysicalDeviceMemoryProperties(physical_devices[i], &memory_properties);
|
|
||||||
|
|
||||||
/*Total all heaps in case of 3GB+1GB configurations and similar.*/
|
|
||||||
uint32_t memory_size = 0;
|
|
||||||
for (uint32_t j = 0; j < memory_properties.memoryHeapCount; j++) {
|
|
||||||
memory_size += memory_properties.memoryHeaps[j].size;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((device_properties.deviceType >= gpu_type) || (device_properties.deviceType == gpu_type && memory_size > largest_vram_size)) {
|
|
||||||
gpu = physical_devices[i];
|
|
||||||
gpu_type = device_properties.deviceType;
|
|
||||||
largest_vram_size = memory_size;
|
|
||||||
print_line(device_properties.deviceName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
free(physical_devices);
|
free(physical_devices);
|
||||||
|
|
||||||
/* Look for device extensions */
|
/* Look for device extensions */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue