summaryrefslogtreecommitdiff
path: root/appendices/VK_EXT_scalar_block_layout.adoc
blob: 3a059eff2280583c85eddaccfe8545b1023e6bbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright 2017-2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

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

=== 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

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.adoc[]

=== Version History

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