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

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

=== Other Extension Metadata

*Last Modified Date*::
    2017-07-24
*Contributors*::
  - Mais Alnasser, AMD
  - Matthaeus G. Chajdas, AMD
  - Maciej Jesionowski, AMD
  - Daniel Rakos, AMD

=== Description

This extension enables applications to use multisampled rendering with a
depth/stencil sample count that is larger than the color sample count.
Having a depth/stencil sample count larger than the color sample count
allows maintaining geometry and coverage information at a higher sample rate
than color information.
All samples are depth/stencil tested, but only the first color sample count
number of samples get a corresponding color output.

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

=== Issues

None.

=== Version History

 * Revision 1, 2017-07-24 (Daniel Rakos)
   - Internal revisions
