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
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
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