| // Copyright 2014-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_KHR_shader_atomic_int64.txt[] |
| |
| === Other Extension Metadata |
| |
| *Last Modified Date*:: |
| 2018-07-05 |
| *Interactions and External Dependencies*:: |
| - Promoted to Vulkan 1.2 Core |
| - This extension enables |
| https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_int64.txt[`GL_ARB_gpu_shader_int64`] |
| and |
| https://raw.githubusercontent.com/KhronosGroup/GLSL/master/extensions/ext/GL_EXT_shader_atomic_int64.txt[`GL_EXT_shader_atomic_int64`] |
| for GLSL source languages. |
| *Contributors*:: |
| - Aaron Hagan, AMD |
| - Daniel Rakos, AMD |
| - Jeff Bolz, NVIDIA |
| - Neil Henning, Codeplay |
| |
| === Description |
| |
| This extension advertises the SPIR-V *Int64Atomics* capability for Vulkan, |
| which allows a shader to contain 64-bit atomic operations on signed and |
| unsigned integers. |
| The supported operations include OpAtomicMin, OpAtomicMax, OpAtomicAnd, |
| OpAtomicOr, OpAtomicXor, OpAtomicAdd, OpAtomicExchange, and |
| OpAtomicCompareExchange. |
| |
| === Promotion to Vulkan 1.2 |
| |
| All functionality in this extension is included in core Vulkan 1.2, with the |
| KHR suffix omitted. |
| However, if Vulkan 1.2 is supported and this extension is not, the |
| code:shaderBufferInt64Atomics capability is optional. |
| The original type, enum and command names are still available as aliases of |
| the core functionality. |
| |
| include::{generated}/interfaces/VK_KHR_shader_atomic_int64.txt[] |
| |
| === New SPIR-V Capabilities |
| |
| * <<spirvenv-capabilities-table-Int64Atomics,Int64Atomics>> |
| |
| === Version History |
| |
| * Revision 1, 2018-07-05 (Aaron Hagan) |
| - Internal revisions |