1bf215546Sopenharmony_ci#ifndef VULKAN_SCREEN_H_
2bf215546Sopenharmony_ci#define VULKAN_SCREEN_H_ 1
3bf215546Sopenharmony_ci
4bf215546Sopenharmony_ci/*
5bf215546Sopenharmony_ci** Copyright 2015-2022 The Khronos Group Inc.
6bf215546Sopenharmony_ci**
7bf215546Sopenharmony_ci** SPDX-License-Identifier: Apache-2.0
8bf215546Sopenharmony_ci*/
9bf215546Sopenharmony_ci
10bf215546Sopenharmony_ci/*
11bf215546Sopenharmony_ci** This header is generated from the Khronos Vulkan XML API Registry.
12bf215546Sopenharmony_ci**
13bf215546Sopenharmony_ci*/
14bf215546Sopenharmony_ci
15bf215546Sopenharmony_ci
16bf215546Sopenharmony_ci#ifdef __cplusplus
17bf215546Sopenharmony_ciextern "C" {
18bf215546Sopenharmony_ci#endif
19bf215546Sopenharmony_ci
20bf215546Sopenharmony_ci
21bf215546Sopenharmony_ci
22bf215546Sopenharmony_ci#define VK_QNX_screen_surface 1
23bf215546Sopenharmony_ci#define VK_QNX_SCREEN_SURFACE_SPEC_VERSION 1
24bf215546Sopenharmony_ci#define VK_QNX_SCREEN_SURFACE_EXTENSION_NAME "VK_QNX_screen_surface"
25bf215546Sopenharmony_citypedef VkFlags VkScreenSurfaceCreateFlagsQNX;
26bf215546Sopenharmony_citypedef struct VkScreenSurfaceCreateInfoQNX {
27bf215546Sopenharmony_ci    VkStructureType                  sType;
28bf215546Sopenharmony_ci    const void*                      pNext;
29bf215546Sopenharmony_ci    VkScreenSurfaceCreateFlagsQNX    flags;
30bf215546Sopenharmony_ci    struct _screen_context*          context;
31bf215546Sopenharmony_ci    struct _screen_window*           window;
32bf215546Sopenharmony_ci} VkScreenSurfaceCreateInfoQNX;
33bf215546Sopenharmony_ci
34bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkCreateScreenSurfaceQNX)(VkInstance instance, const VkScreenSurfaceCreateInfoQNX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35bf215546Sopenharmony_citypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct _screen_window* window);
36bf215546Sopenharmony_ci
37bf215546Sopenharmony_ci#ifndef VK_NO_PROTOTYPES
38bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkCreateScreenSurfaceQNX(
39bf215546Sopenharmony_ci    VkInstance                                  instance,
40bf215546Sopenharmony_ci    const VkScreenSurfaceCreateInfoQNX*         pCreateInfo,
41bf215546Sopenharmony_ci    const VkAllocationCallbacks*                pAllocator,
42bf215546Sopenharmony_ci    VkSurfaceKHR*                               pSurface);
43bf215546Sopenharmony_ci
44bf215546Sopenharmony_ciVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceScreenPresentationSupportQNX(
45bf215546Sopenharmony_ci    VkPhysicalDevice                            physicalDevice,
46bf215546Sopenharmony_ci    uint32_t                                    queueFamilyIndex,
47bf215546Sopenharmony_ci    struct _screen_window*                      window);
48bf215546Sopenharmony_ci#endif
49bf215546Sopenharmony_ci
50bf215546Sopenharmony_ci#ifdef __cplusplus
51bf215546Sopenharmony_ci}
52bf215546Sopenharmony_ci#endif
53bf215546Sopenharmony_ci
54bf215546Sopenharmony_ci#endif
55