不符合图像视图参数兼容性要求

时间:2017-07-26 20:51:32

标签: vulkan

我在理解VkImageViewCreateInfo文档和VkImageViewCreateInfo::viewType中的图像和图像视图参数兼容性要求表时遇到了一些麻烦。图像VkImageViewCreateInfo属性接缝足够灵活,以创建例如2D图像的单个1D或1D阵列图像视图。我尝试在启用了验证图层的2D图像中创建一维图像视图,但我没有收到任何警告(如果这是有效的用法,我不确切知道将使用哪一行/列)。

假设图像中的VkImageCreateInfo::imageType + VkImageCreateInfo::arrayLayers与视图中的VkImageViewCreateInfo::viewType之间存在一对一的映射,即{{3} } type是否可以处理多维数据集地图的特殊情况,否则可以从图像类型中推断viewType?如果没有,2D图像的一维视图如何工作?

1 个答案:

答案 0 :(得分:1)

您无法创建2D图像的1D视图,只有表中列出的组合有效。

您最近看到的页面似乎尚未重新生成,或者不包含VK_KHR_maintenance1扩展所做的修改。

暂时忽略该扩展和立方体贴图,在imageType + arrayLayers和viewType之间存在1:1的对应关系并不完全正确。具有多个图层的2D图像可以与2D或2D_ARRAY视图类型一起使用,并且仅具有一个图层的2D图像仍然可以与2D_ARRAY视图类型一起使用。视图类型对应于SPIR-V资源类型,并且主要确定在视图中标识位置所需的坐标数。

然后就像你观察到的那样存在立方体贴图复杂性。

使用VK_KHR_maintenance1,您可以创建3D图像中切片子集的2D和2D_ARRAY视图。该扩展为表格添加了两行来描述这种情况。