• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2017-2024 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_KHR_8bit_storage.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2018-02-05
11*Interactions and External Dependencies*::
12  - This extension provides API support for
13    {GLSLregistry}/ext/GL_EXT_shader_16bit_storage.txt[`GL_EXT_shader_16bit_storage`]
14*IP Status*::
15    No known IP claims.
16*Contributors*::
17  - Alexander Galazin, Arm
18
19=== Description
20
21The `VK_KHR_8bit_storage` extension allows use of 8-bit types in uniform and
22storage buffers, and push constant blocks.
23This extension introduces several new optional features which map to SPIR-V
24capabilities and allow access to 8-bit data in code:Block-decorated objects
25in the code:Uniform and the code:StorageBuffer storage classes, and objects
26in the code:PushConstant storage class.
27
28The code:StorageBuffer8BitAccess capability must: be supported by all
29implementations of this extension.
30The other capabilities are optional.
31
32=== Promotion to Vulkan 1.2
33
34Functionality in this extension is included in core Vulkan 1.2, with the KHR
35suffix omitted.
36However, if Vulkan 1.2 is supported and this extension is not, the
37code:StorageBuffer8BitAccess capability is optional.
38The original type, enum and command names are still available as aliases of
39the core functionality.
40
41include::{generated}/interfaces/VK_KHR_8bit_storage.adoc[]
42
43=== New SPIR-V Capabilities
44
45  * <<spirvenv-capabilities-table-StorageBuffer8BitAccess,
46    code:StorageBuffer8BitAccess>>
47  * <<spirvenv-capabilities-table-UniformAndStorageBuffer8BitAccess,
48    code:UniformAndStorageBuffer8BitAccess>>
49  * <<spirvenv-capabilities-table-StoragePushConstant8,
50    code:StoragePushConstant8>>
51
52=== Version History
53
54  * Revision 1, 2018-02-05 (Alexander Galazin)
55  ** Initial draft
56