m_hasMultiDrawIndirect = enabledFeatures.features.multiDrawIndirect;
{
- const std::vector<VkExtensionProperties> deviceExtensions = enumerateDeviceExtensionProperties(m_context.getInstanceInterface(), m_context.getPhysicalDevice(), DE_NULL);
- vector<const char*> charDevExtensions;
+ vector<const char*> deviceExtensions;
- for (std::size_t ndx = 0; ndx < deviceExtensions.size(); ++ndx)
- charDevExtensions.push_back(deviceExtensions[ndx].extensionName);
+ if (!isCoreDeviceExtension(m_context.getUsedApiVersion(), "VK_KHR_multiview"))
+ deviceExtensions.push_back("VK_KHR_multiview");
const VkDeviceCreateInfo deviceInfo =
{
0u, //deUint32 enabledLayerCount;
DE_NULL, //const char* const* ppEnabledLayerNames;
static_cast<deUint32>(deviceExtensions.size()), //deUint32 enabledExtensionCount;
- charDevExtensions.empty() ? DE_NULL : &charDevExtensions[0], //const char* const* pEnabledExtensionNames;
+ deviceExtensions.empty() ? DE_NULL : &deviceExtensions[0], //const char* const* pEnabledExtensionNames;
DE_NULL //const VkPhysicalDeviceFeatures* pEnabledFeatures;
};
}
{
- const std::vector<VkExtensionProperties> deviceExtensions = enumerateDeviceExtensionProperties(context.getInstanceInterface(), context.getPhysicalDevice(), DE_NULL);
- std::vector<const char*> charDevExtensions;
-
- for (size_t ndx = 0; ndx < deviceExtensions.size(); ndx++)
- charDevExtensions.push_back(deviceExtensions[ndx].extensionName);
-
const VkDeviceCreateInfo deviceInfo =
{
VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, //VkStructureType sType;
&queueInfos[0], //const VkDeviceQueueCreateInfo* pQueueCreateInfos;
0u, //deUint32 enabledLayerCount;
DE_NULL, //const char* const* ppEnabledLayerNames;
- static_cast<deUint32>(deviceExtensions.size()), //deUint32 enabledExtensionCount;
- charDevExtensions.empty() ? DE_NULL : &charDevExtensions[0], //const char* const* ppEnabledExtensionNames;
+ 0u, //deUint32 enabledExtensionCount;
+ DE_NULL, //const char* const* ppEnabledExtensionNames;
&context.getDeviceFeatures() //const VkPhysicalDeviceFeatures* pEnabledFeatures;
};