了解图像视图参数兼容性要求
Undestanding the image view parameter compatibility requirements
我在理解 VkImageViewCreateInfo
文档和 VkImageViewCreateInfo::viewType
中的 图像和图像视图参数兼容性要求 table 时遇到了一些问题。图像 VkImageViewCreateInfo
属性接缝足够灵活以创建,例如,二维图像的单个一维或一维阵列图像视图。我尝试从启用了验证层的 2D 图像创建 1D 图像视图,但没有收到任何警告(如果这是有效用法,我不知道将使用哪个 row/column)。
是否假设图像中的VkImageCreateInfo::imageType
+ VkImageCreateInfo::arrayLayers
与视图中的VkImageViewCreateInfo::viewType
之间存在一对一映射,即这个VkImageViewType 类型是否可以处理立方体贴图的特殊情况,否则 viewType
是否可以从图像类型中推断出来?如果不是,二维图像的一维视图如何工作?
您无法创建 2D 图像的 1D 视图,只有 table 中列出的组合才有效。
您正在查看的页面最近似乎没有重新生成,或者不包含 VK_KHR_maintenance1 扩展所做的修改。
暂时忽略该扩展和立方体贴图,imageType+arrayLayers 和 viewType 之间存在 1:1 对应关系并不完全正确。具有多层的 2D 图像可用于 2D 或 2D_ARRAY 视图类型,而只有一层的 2D 图像仍可用于 2D_ARRAY 视图类型。视图类型对应于 SPIR-V 资源类型,并且主要决定了需要多少坐标来标识视图中的位置。
然后就是立方体贴图的复杂性,如您所见。
使用 VK_KHR_maintenance1,您可以创建 3D 图像中切片子集的 2D 和 2D_ARRAY 视图。该扩展程序向 table 添加了两个新行来描述这种情况。
我在理解 VkImageViewCreateInfo
文档和 VkImageViewCreateInfo::viewType
中的 图像和图像视图参数兼容性要求 table 时遇到了一些问题。图像 VkImageViewCreateInfo
属性接缝足够灵活以创建,例如,二维图像的单个一维或一维阵列图像视图。我尝试从启用了验证层的 2D 图像创建 1D 图像视图,但没有收到任何警告(如果这是有效用法,我不知道将使用哪个 row/column)。
是否假设图像中的VkImageCreateInfo::imageType
+ VkImageCreateInfo::arrayLayers
与视图中的VkImageViewCreateInfo::viewType
之间存在一对一映射,即这个VkImageViewType 类型是否可以处理立方体贴图的特殊情况,否则 viewType
是否可以从图像类型中推断出来?如果不是,二维图像的一维视图如何工作?
您无法创建 2D 图像的 1D 视图,只有 table 中列出的组合才有效。
您正在查看的页面最近似乎没有重新生成,或者不包含 VK_KHR_maintenance1 扩展所做的修改。
暂时忽略该扩展和立方体贴图,imageType+arrayLayers 和 viewType 之间存在 1:1 对应关系并不完全正确。具有多层的 2D 图像可用于 2D 或 2D_ARRAY 视图类型,而只有一层的 2D 图像仍可用于 2D_ARRAY 视图类型。视图类型对应于 SPIR-V 资源类型,并且主要决定了需要多少坐标来标识视图中的位置。
然后就是立方体贴图的复杂性,如您所见。
使用 VK_KHR_maintenance1,您可以创建 3D 图像中切片子集的 2D 和 2D_ARRAY 视图。该扩展程序向 table 添加了两个新行来描述这种情况。