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

[[platformQuerySupport_walyand,platformQuerySupport_walyand]]

=== Wayland Platform

[open,refpage='vkGetPhysicalDeviceWaylandPresentationSupportKHR',desc='Query physical device for presentation to Wayland',type='protos']
--
To determine whether a queue family of a physical device supports
presentation to a Wayland compositor, call:

include::{generated}/api/protos/vkGetPhysicalDeviceWaylandPresentationSupportKHR.txt[]

  * pname:physicalDevice is the physical device.
  * pname:queueFamilyIndex is the queue family index.
  * pname:display is a pointer to the code:wl_display associated with a
    Wayland compositor.

This platform-specific function can: be called prior to creating a surface.

.Valid Usage
****
  * [[VUID-vkGetPhysicalDeviceWaylandPresentationSupportKHR-queueFamilyIndex-01306]]
    pname:queueFamilyIndex must: be less than
    pname:pQueueFamilyPropertyCount returned by
    fname:vkGetPhysicalDeviceQueueFamilyProperties for the given
    pname:physicalDevice
****

include::{generated}/validity/protos/vkGetPhysicalDeviceWaylandPresentationSupportKHR.txt[]
--
