|
@@ -10826,6 +10826,7 @@ static Uint8 VULKAN_INTERNAL_IsDeviceSuitable(
|
|
|
VkQueueFamilyProperties *queueProps;
|
|
|
bool supportsPresent;
|
|
|
VkPhysicalDeviceProperties deviceProperties;
|
|
|
+ VkPhysicalDeviceFeatures deviceFeatures;
|
|
|
Uint32 i;
|
|
|
|
|
|
const Uint8 *devicePriority = renderer->preferLowPower ? DEVICE_PRIORITY_LOWPOWER : DEVICE_PRIORITY_HIGHPERFORMANCE;
|
|
@@ -10852,6 +10853,16 @@ static Uint8 VULKAN_INTERNAL_IsDeviceSuitable(
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ renderer->vkGetPhysicalDeviceFeatures(
|
|
|
+ physicalDevice,
|
|
|
+ &deviceFeatures);
|
|
|
+ if (!deviceFeatures.independentBlend ||
|
|
|
+ !deviceFeatures.imageCubeArray ||
|
|
|
+ !deviceFeatures.depthClamp ||
|
|
|
+ !deviceFeatures.shaderClipDistance) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
if (!VULKAN_INTERNAL_CheckDeviceExtensions(
|
|
|
renderer,
|
|
|
physicalDevice,
|