Vulkan为什么在枚举扩展中使用pLayerName参数

问题描述

这不是问题,但是我不太了解,我感觉我想念vulkan中的重要部分。我的问题是,为什么在vkEnumerateInstanceExtensionProperties()函数中有pLayerName的参数。这个pLayerName与验证层有关系吗?我已经阅读了规范,但它只告诉我它将是从中检索扩展的一层。但是对我而言,这没有意义,因为验证层(如果这对pLayerName而言)与扩展有什么关系。

解决方法

根据规格:

ORDER BY参数为NULL时,仅返回Vulkan实现或隐式启用的层提供的扩展。如果pLayerName是图层的名称,则返回该图层提供的实例扩展。

层可以公开扩展;通过指定层的名称,您可以查询此功能公开的扩展名。然后,您可以使用具有该扩展名的该层创建一个实例。

请注意,术语“验证层”表示Vulkan层,用于验证Vulkan API的用法。并非每个层都存在以进行验证。而且某些验证层本身会公开实例扩展。