Structures

VkSurfaceProtectedCapabilitiesKHR

Structure describing capability of a surface to be protected

An application queries if a protected VkSurfaceKHR is displayable on a specific windowing system using VkSurfaceProtectedCapabilitiesKHR, which can be passed in pNext parameter of VkSurfaceCapabilities2KHR.

The VkSurfaceProtectedCapabilitiesKHR structure is defined as:

typedef struct VkSurfaceProtectedCapabilitiesKHR {
    VkStructureType sType;
    const void* pNext;
    VkBool32 supportsProtected;
} VkSurfaceProtectedCapabilitiesKHR;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • supportsProtected specifies whether a protected swapchain created from VkPhysicalDeviceSurfaceInfo2KHR::surface for a particular windowing system can be displayed on screen or not. If supportsProtected is VK_TRUE, then creation of swapchains with the VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR flag set must be supported for surface.

If the VK_GOOGLE_surfaceless_query extension is enabled, the value returned in supportsProtected will be identical for every valid surface created on this physical device, and so in the vkGetPhysicalDeviceSurfaceCapabilities2KHR call, VkPhysicalDeviceSurfaceInfo2KHR::surface can be VK_NULL_HANDLE. In that case, the contents of VkSurfaceCapabilities2KHR::surfaceCapabilities as well as any other struct chained to it will be undefined:.

Valid Usage (Implicit)

VUID-VkSurfaceProtectedCapabilitiesKHR-sType-sType

sType must be VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR