|
@@ -12588,6 +12588,7 @@ static Uint8 VULKAN_INTERNAL_CreateLogicalDevice(
|
|
|
VkPhysicalDeviceFeatures haveDeviceFeatures;
|
|
VkPhysicalDeviceFeatures haveDeviceFeatures;
|
|
|
VkPhysicalDevicePortabilitySubsetFeaturesKHR portabilityFeatures;
|
|
VkPhysicalDevicePortabilitySubsetFeaturesKHR portabilityFeatures;
|
|
|
const char **deviceExtensions;
|
|
const char **deviceExtensions;
|
|
|
|
|
+ Uint32 extensionCount, i;
|
|
|
|
|
|
|
|
VkDeviceQueueCreateInfo queueCreateInfo;
|
|
VkDeviceQueueCreateInfo queueCreateInfo;
|
|
|
float queuePriority = 1.0f;
|
|
float queuePriority = 1.0f;
|
|
@@ -12648,12 +12649,21 @@ static Uint8 VULKAN_INTERNAL_CreateLogicalDevice(
|
|
|
deviceCreateInfo.pQueueCreateInfos = &queueCreateInfo;
|
|
deviceCreateInfo.pQueueCreateInfos = &queueCreateInfo;
|
|
|
deviceCreateInfo.enabledLayerCount = 0;
|
|
deviceCreateInfo.enabledLayerCount = 0;
|
|
|
deviceCreateInfo.ppEnabledLayerNames = NULL;
|
|
deviceCreateInfo.ppEnabledLayerNames = NULL;
|
|
|
- deviceCreateInfo.enabledExtensionCount = GetDeviceExtensionCount(
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // Create the list of device extensions to enable (internal extension + opt-in extensions)
|
|
|
|
|
+ extensionCount = GetDeviceExtensionCount(
|
|
|
&renderer->supports);
|
|
&renderer->supports);
|
|
|
|
|
+
|
|
|
deviceExtensions = SDL_stack_alloc(
|
|
deviceExtensions = SDL_stack_alloc(
|
|
|
const char *,
|
|
const char *,
|
|
|
- deviceCreateInfo.enabledExtensionCount);
|
|
|
|
|
|
|
+ extensionCount + features->additionalDeviceExtensionCount);
|
|
|
|
|
+
|
|
|
CreateDeviceExtensionArray(&renderer->supports, deviceExtensions);
|
|
CreateDeviceExtensionArray(&renderer->supports, deviceExtensions);
|
|
|
|
|
+ for (i = 0; i < features->additionalDeviceExtensionCount; ++i) {
|
|
|
|
|
+ deviceExtensions[extensionCount++] = features->additionalDeviceExtensionNames[i];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ deviceCreateInfo.enabledExtensionCount = extensionCount;
|
|
|
deviceCreateInfo.ppEnabledExtensionNames = deviceExtensions;
|
|
deviceCreateInfo.ppEnabledExtensionNames = deviceExtensions;
|
|
|
|
|
|
|
|
VkPhysicalDeviceFeatures2 featureList;
|
|
VkPhysicalDeviceFeatures2 featureList;
|