// Copyright (c) 2018-2020 Google LLC
//
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
    2018-07-09
*IP Status*::
    No known IP claims.
*Interactions and External Dependencies*::
  - This extension requires
    {spirv}/GOOGLE/SPV_GOOGLE_hlsl_functionality1.html[`SPV_GOOGLE_hlsl_functionality1`]
*Contributors*::
  - Hai Nguyen, Google
  - Neil Henning, AMD

=== Description

The `VK_GOOGLE_hlsl_functionality1` extension allows use of the
`SPV_GOOGLE_hlsl_functionality1` extension in SPIR-V shader modules.

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

=== Version History

  * Revision 1, 2018-07-09 (Neil Henning)
    - Initial draft
