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