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