在创建实例/设备后,是否有任何方法可以启用扩展或功能



我正在用Vulkan做一些包装工作,以使API更安全,我想知道是否可以先创建一个实例或设备,然后启用扩展或功能。

首先,根据规范:

VUID-VkDeviceCreateInfo-p属性-04451

如果VK_KHR_portability_subset扩展包含在的pProperties中vkEnumerateDeviceExtensionProperties,ppEnabledExtensionNames必须包括";VK_ KHR_;

这看起来不错,但请注意,要在设备上启用VK_KHR_portability_subset扩展,必须启用其依赖项VK_KHR_get_physical_device_properties2,这是一个实例扩展。这使得一个实例无论如何都必须启用VK_KHR_get_physical_device_properties2,以防04451在创建设备时进行检查。

其次,稍后启用功能会很方便,例如,如果用户传入了一些参数,这需要一些功能,我可以为该用户隐式启用它们。

功能和扩展是在创建时指定的。从那时起,它们就是实例或设备的固有部分。以后不能修改它们。

您可以创建新的实例或设备。但你不能改变现有的。

相关内容

  • 没有找到相关文章

最新更新