VK_EXT_scalar_block_layout

Other Extension Metadata

Last Modified Date

2018-11-14

Contributors
  • Jeff Bolz
  • Jan-Harald Fredriksen
  • Graeme Leese
  • Faith Ekstrand
  • John Kessenich

Description

This extension enables C-like structure layout for SPIR-V blocks. It modifies the alignment rules for uniform buffers, storage buffers and push constants, allowing non-scalar types to be aligned solely based on the size of their components, without additional requirements.

Promotion to Vulkan 1.2

Vulkan APIs in this extension are included in core Vulkan 1.2, with the EXT suffix omitted. However, if Vulkan 1.2 is supported and this extension is not, the scalarBlockLayout capability is optional. External interactions defined by this extension, such as SPIR-V token names, retain their original names. The original Vulkan API names are still available as aliases of the core functionality.

Promotion to Vulkan 1.4

If Vulkan 1.4 is supported, support for the scalarBlockLayout capability is required.

New Structures

New Enum Constants

  • VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME
  • VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT

Version History

  • Revision 1, 2018-11-14 (Tobias Hector)
    • Initial draft