// Copyright 2017-2021 The Khronos Group, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_EXT_scalar_block_layout.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2018-11-14
*Interactions and External Dependencies*::
  - Promoted to Vulkan 1.2 Core
*Contributors*::
  - Jeff Bolz
  - Jan-Harald Fredriksen
  - Graeme Leese
  - Jason 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

Functionality in this extension is included in core Vulkan 1.2, with the EXT
suffix omitted.
However, if Vulkan 1.2 is supported and this extension is not, the
code:scalarBlockLayout capability is optional.
The original type, enum and command names are still available as aliases of
the core functionality.

include::{generated}/interfaces/VK_EXT_scalar_block_layout.txt[]

=== Version History

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