VK_EXT_inline_uniform_block

在 Vulkan 1.3 中提升为核心

对于常见的实现,描述符只是一个表格,间接地指向在命令缓冲区记录期间绑定到它的数据。问题在于,并非所有描述符都是平等创建的,例如,一个描述符可能只有几个 DWORDS 大小。

VK_EXT_inline_uniform_block_before.png

使用 VK_EXT_inline_uniform_block 使实现有机会减少实现访问统一值所需的间接次数,当仅使用几个值时。与推送常量不同,此数据可以在多个不相交的绘制/调度集中重复使用。

VK_EXT_inline_uniform_block_after.png

建议

  • 确保检查 VkPhysicalDeviceInlineUniformBlockPropertiesEXT 结构,以了解实现对内联统一块的使用限制。

  • 不要过度使用内联,否则驱动程序可能需要将它们重新打包到缓冲区中,从而增加 CPU 开销并失去间接好处 - 目标是不超过几个 dword。