VulkanOptions::VulkanOptions():
enable_validation(false),
- enable_debug_report(false)
+ enable_debug_report(false),
+ enable_geometry_shader(false)
{ }
extensions.clear();
extensions.push_back("VK_KHR_swapchain");
+ VkPhysicalDeviceFeatures features = { };
+ features.geometryShader = (opts.enable_geometry_shader ? VK_TRUE : VK_FALSE);
+
VkDeviceCreateInfo device_create_info = { };
device_create_info.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
device_create_info.queueCreateInfoCount = 1;
device_create_info.pQueueCreateInfos = &queue_create_info;
device_create_info.enabledExtensionCount = extensions.size();
device_create_info.ppEnabledExtensionNames = extensions.data();
+ device_create_info.pEnabledFeatures = &features;
result = f.vkCreateDevice(priv->physical_device, &device_create_info, 0, &priv->device);
if(result!=VK_SUCCESS)