// Copyright (c) 2016-2020 Advanced Micro Devices, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_AMD_shader_ballot.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2016-09-19
*IP Status*::
    No known IP claims.
*Interactions and External Dependencies*::
  - This extension requires
    {spirv}/AMD/SPV_AMD_shader_ballot.html[`SPV_AMD_shader_ballot`]
*Contributors*::
  - Qun Lin, AMD
  - Graham Sellers, AMD
  - Daniel Rakos, AMD
  - Rex Xu, AMD
  - Dominik Witczak, AMD
  - Matthäus G. Chajdas, AMD

=== Description

This extension adds support for the following SPIR-V extension in Vulkan:

  * {spirv}/AMD/SPV_AMD_shader_ballot.html[`SPV_AMD_shader_ballot`]

include::{generated}/interfaces/VK_AMD_shader_ballot.txt[]

=== Version History

 * Revision 1, 2016-09-19 (Dominik Witczak)
   - Initial draft
