// Copyright 2020-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

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

=== Other Extension Metadata

*Last Modified Date*::
    2020-03-25
*IP Status*::
    No known IP claims.
*Contributors*::
  - Matthew Rusch, NVIDIA
  - Nuno Subtil, NVIDIA
  - Piers Daniell, NVIDIA
  - Jeff Bolz, NVIDIA

=== Description

The 'VK_EXT_private_data' extension is a device extension which enables
attaching arbitrary payloads to Vulkan objects.
It introduces the idea of private data slots as a means of storing a 64-bit
unsigned integer of application defined data.
Private data slots can be created or destroyed any time an associated device
is available.
Private data slots can be reserved at device creation time, and limiting use
to the amount reserved will allow the extension to exhibit better
performance characteristics.

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

=== Examples

  * In progress

=== Version History

 * Revision 1, 2020-01-15 (Matthew Rusch)
   - Initial draft
