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

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

=== Other Extension Metadata

*Last Modified Date*::
    2016-09-02
*IP Status*::
    No known IP claims.
*Contributors*::
  - Matthaeus G. Chajdas, AMD
  - Graham Sellers, AMD
  - Baldur Karlsson

=== Description

This extension allows an application to specify a negative viewport height.
The result is that the viewport transformation will flip along the y-axis.

  * Allow negative height to be specified in the
    slink:VkViewport::pname:height field to perform y-inversion of the
    clip-space to framebuffer-space transform.
    This allows apps to avoid having to use `gl_Position.y = -gl_Position.y`
    in shaders also targeting other APIs.

=== Obsoletion by `VK_KHR_maintenance1` and Vulkan 1.1

Functionality in this extension is included in `VK_KHR_maintenance1` and
subsequently Vulkan 1.1.
Due to some slight behavioral differences, this extension must: not be
enabled alongside `VK_KHR_maintenance1`, or in an instance created with
version 1.1 or later requested in slink:VkApplicationInfo::pname:apiVersion.

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

=== Version History

 * Revision 1, 2016-09-02 (Matthaeus Chajdas)
   - Initial draft
