Vulkan 中的 _KHR 图像布局有何不同?
What is the difference with the _KHR image layouts in Vulkan?
在指定图像布局时,有相同图像布局的可选变体,上面带有 _KHR 后缀,例如:
VkImageLayout::VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
VkImageLayout::VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR
VkImageLayout::VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMA
VkImageLayout::VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR
为什么有两种不同的类型和其他类型?
从技术上讲,KHR-suffixed 枚举常量和相同的非 KHR-suffixed 枚举常量之间没有区别。也就是说,他们的值是相等的
这仅取决于何时将常量(以及函数和结构)引入核心 Vulkan 版本规范。那是当 KHR 后缀被删除并且(在这种情况下)只是 KHR-suffixed 常量的别名。
这些特定常量首先在 Vulkan 扩展 VK_KHR_separate_depth_stencil_layouts
中引入,并在 Vulkan 1.2 中成为 核心。
无论您是使用 KHR-suffixed 常量还是核心常量,主要是为了在您的代码中(对您代码的读者)传达您是否 use/enable 扩展 VK_KHR_separate_depth_stencil_layouts
或者您是否至少使用 Vulkan 1.2。
在指定图像布局时,有相同图像布局的可选变体,上面带有 _KHR 后缀,例如:
VkImageLayout::VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
VkImageLayout::VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR
VkImageLayout::VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMA
VkImageLayout::VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR
为什么有两种不同的类型和其他类型?
从技术上讲,KHR-suffixed 枚举常量和相同的非 KHR-suffixed 枚举常量之间没有区别。也就是说,他们的值是相等的
这仅取决于何时将常量(以及函数和结构)引入核心 Vulkan 版本规范。那是当 KHR 后缀被删除并且(在这种情况下)只是 KHR-suffixed 常量的别名。
这些特定常量首先在 Vulkan 扩展 VK_KHR_separate_depth_stencil_layouts
中引入,并在 Vulkan 1.2 中成为 核心。
无论您是使用 KHR-suffixed 常量还是核心常量,主要是为了在您的代码中(对您代码的读者)传达您是否 use/enable 扩展 VK_KHR_separate_depth_stencil_layouts
或者您是否至少使用 Vulkan 1.2。