// Copyright 2017-2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_KHR_surface_protected_capabilities.adoc[]

=== Other Extension Metadata

*Last Modified Date*::
    2018-12-18
*IP Status*::
    No known IP claims.
*Contributors*::
  - Sandeep Shinde, NVIDIA
  - James Jones, NVIDIA
  - Daniel Koch, NVIDIA

=== Description

This extension extends slink:VkSurfaceCapabilities2KHR, providing
applications a way to query whether swapchains can: be created with the
ename:VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR flag set.

Vulkan 1.1 added (optional) support for protect memory and protected
resources including buffers (ename:VK_BUFFER_CREATE_PROTECTED_BIT), images
(ename:VK_IMAGE_CREATE_PROTECTED_BIT), and swapchains
(ename:VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR).
However, on implementations which support multiple windowing systems, not
all window systems may: be able to provide a protected display path.

This extension provides a way to query if a protected swapchain created for
a surface (and thus a specific windowing system) can: be displayed on
screen.
It extends the existing slink:VkSurfaceCapabilities2KHR structure with a new
slink:VkSurfaceProtectedCapabilitiesKHR structure from which the application
can: obtain information about support for protected swapchain creation
through flink:vkGetPhysicalDeviceSurfaceCapabilities2KHR.

include::{generated}/interfaces/VK_KHR_surface_protected_capabilities.adoc[]

=== Version History

  * Revision 1, 2018-12-18 (Sandeep Shinde, Daniel Koch)
  ** Internal revisions.
