xref: /aosp_15_r20/external/vulkan-headers/include/vulkan/vulkan_screen.h (revision 902771965e4c6d39c75c62130a6a330c08b024db)
1*90277196SAndroid Build Coastguard Worker #ifndef VULKAN_SCREEN_H_
2*90277196SAndroid Build Coastguard Worker #define VULKAN_SCREEN_H_ 1
3*90277196SAndroid Build Coastguard Worker 
4*90277196SAndroid Build Coastguard Worker /*
5*90277196SAndroid Build Coastguard Worker ** Copyright 2015-2024 The Khronos Group Inc.
6*90277196SAndroid Build Coastguard Worker **
7*90277196SAndroid Build Coastguard Worker ** SPDX-License-Identifier: Apache-2.0
8*90277196SAndroid Build Coastguard Worker */
9*90277196SAndroid Build Coastguard Worker 
10*90277196SAndroid Build Coastguard Worker /*
11*90277196SAndroid Build Coastguard Worker ** This header is generated from the Khronos Vulkan XML API Registry.
12*90277196SAndroid Build Coastguard Worker **
13*90277196SAndroid Build Coastguard Worker */
14*90277196SAndroid Build Coastguard Worker 
15*90277196SAndroid Build Coastguard Worker 
16*90277196SAndroid Build Coastguard Worker #ifdef __cplusplus
17*90277196SAndroid Build Coastguard Worker extern "C" {
18*90277196SAndroid Build Coastguard Worker #endif
19*90277196SAndroid Build Coastguard Worker 
20*90277196SAndroid Build Coastguard Worker 
21*90277196SAndroid Build Coastguard Worker 
22*90277196SAndroid Build Coastguard Worker // VK_QNX_screen_surface is a preprocessor guard. Do not pass it to API calls.
23*90277196SAndroid Build Coastguard Worker #define VK_QNX_screen_surface 1
24*90277196SAndroid Build Coastguard Worker #define VK_QNX_SCREEN_SURFACE_SPEC_VERSION 1
25*90277196SAndroid Build Coastguard Worker #define VK_QNX_SCREEN_SURFACE_EXTENSION_NAME "VK_QNX_screen_surface"
26*90277196SAndroid Build Coastguard Worker typedef VkFlags VkScreenSurfaceCreateFlagsQNX;
27*90277196SAndroid Build Coastguard Worker typedef struct VkScreenSurfaceCreateInfoQNX {
28*90277196SAndroid Build Coastguard Worker     VkStructureType                  sType;
29*90277196SAndroid Build Coastguard Worker     const void*                      pNext;
30*90277196SAndroid Build Coastguard Worker     VkScreenSurfaceCreateFlagsQNX    flags;
31*90277196SAndroid Build Coastguard Worker     struct _screen_context*          context;
32*90277196SAndroid Build Coastguard Worker     struct _screen_window*           window;
33*90277196SAndroid Build Coastguard Worker } VkScreenSurfaceCreateInfoQNX;
34*90277196SAndroid Build Coastguard Worker 
35*90277196SAndroid Build Coastguard Worker typedef VkResult (VKAPI_PTR *PFN_vkCreateScreenSurfaceQNX)(VkInstance instance, const VkScreenSurfaceCreateInfoQNX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36*90277196SAndroid Build Coastguard Worker typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct _screen_window* window);
37*90277196SAndroid Build Coastguard Worker 
38*90277196SAndroid Build Coastguard Worker #ifndef VK_NO_PROTOTYPES
39*90277196SAndroid Build Coastguard Worker VKAPI_ATTR VkResult VKAPI_CALL vkCreateScreenSurfaceQNX(
40*90277196SAndroid Build Coastguard Worker     VkInstance                                  instance,
41*90277196SAndroid Build Coastguard Worker     const VkScreenSurfaceCreateInfoQNX*         pCreateInfo,
42*90277196SAndroid Build Coastguard Worker     const VkAllocationCallbacks*                pAllocator,
43*90277196SAndroid Build Coastguard Worker     VkSurfaceKHR*                               pSurface);
44*90277196SAndroid Build Coastguard Worker 
45*90277196SAndroid Build Coastguard Worker VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceScreenPresentationSupportQNX(
46*90277196SAndroid Build Coastguard Worker     VkPhysicalDevice                            physicalDevice,
47*90277196SAndroid Build Coastguard Worker     uint32_t                                    queueFamilyIndex,
48*90277196SAndroid Build Coastguard Worker     struct _screen_window*                      window);
49*90277196SAndroid Build Coastguard Worker #endif
50*90277196SAndroid Build Coastguard Worker 
51*90277196SAndroid Build Coastguard Worker 
52*90277196SAndroid Build Coastguard Worker // VK_QNX_external_memory_screen_buffer is a preprocessor guard. Do not pass it to API calls.
53*90277196SAndroid Build Coastguard Worker #define VK_QNX_external_memory_screen_buffer 1
54*90277196SAndroid Build Coastguard Worker #define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION 1
55*90277196SAndroid Build Coastguard Worker #define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME "VK_QNX_external_memory_screen_buffer"
56*90277196SAndroid Build Coastguard Worker typedef struct VkScreenBufferPropertiesQNX {
57*90277196SAndroid Build Coastguard Worker     VkStructureType    sType;
58*90277196SAndroid Build Coastguard Worker     void*              pNext;
59*90277196SAndroid Build Coastguard Worker     VkDeviceSize       allocationSize;
60*90277196SAndroid Build Coastguard Worker     uint32_t           memoryTypeBits;
61*90277196SAndroid Build Coastguard Worker } VkScreenBufferPropertiesQNX;
62*90277196SAndroid Build Coastguard Worker 
63*90277196SAndroid Build Coastguard Worker typedef struct VkScreenBufferFormatPropertiesQNX {
64*90277196SAndroid Build Coastguard Worker     VkStructureType                  sType;
65*90277196SAndroid Build Coastguard Worker     void*                            pNext;
66*90277196SAndroid Build Coastguard Worker     VkFormat                         format;
67*90277196SAndroid Build Coastguard Worker     uint64_t                         externalFormat;
68*90277196SAndroid Build Coastguard Worker     uint64_t                         screenUsage;
69*90277196SAndroid Build Coastguard Worker     VkFormatFeatureFlags             formatFeatures;
70*90277196SAndroid Build Coastguard Worker     VkComponentMapping               samplerYcbcrConversionComponents;
71*90277196SAndroid Build Coastguard Worker     VkSamplerYcbcrModelConversion    suggestedYcbcrModel;
72*90277196SAndroid Build Coastguard Worker     VkSamplerYcbcrRange              suggestedYcbcrRange;
73*90277196SAndroid Build Coastguard Worker     VkChromaLocation                 suggestedXChromaOffset;
74*90277196SAndroid Build Coastguard Worker     VkChromaLocation                 suggestedYChromaOffset;
75*90277196SAndroid Build Coastguard Worker } VkScreenBufferFormatPropertiesQNX;
76*90277196SAndroid Build Coastguard Worker 
77*90277196SAndroid Build Coastguard Worker typedef struct VkImportScreenBufferInfoQNX {
78*90277196SAndroid Build Coastguard Worker     VkStructureType           sType;
79*90277196SAndroid Build Coastguard Worker     const void*               pNext;
80*90277196SAndroid Build Coastguard Worker     struct _screen_buffer*    buffer;
81*90277196SAndroid Build Coastguard Worker } VkImportScreenBufferInfoQNX;
82*90277196SAndroid Build Coastguard Worker 
83*90277196SAndroid Build Coastguard Worker typedef struct VkExternalFormatQNX {
84*90277196SAndroid Build Coastguard Worker     VkStructureType    sType;
85*90277196SAndroid Build Coastguard Worker     void*              pNext;
86*90277196SAndroid Build Coastguard Worker     uint64_t           externalFormat;
87*90277196SAndroid Build Coastguard Worker } VkExternalFormatQNX;
88*90277196SAndroid Build Coastguard Worker 
89*90277196SAndroid Build Coastguard Worker typedef struct VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
90*90277196SAndroid Build Coastguard Worker     VkStructureType    sType;
91*90277196SAndroid Build Coastguard Worker     void*              pNext;
92*90277196SAndroid Build Coastguard Worker     VkBool32           screenBufferImport;
93*90277196SAndroid Build Coastguard Worker } VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX;
94*90277196SAndroid Build Coastguard Worker 
95*90277196SAndroid Build Coastguard Worker typedef VkResult (VKAPI_PTR *PFN_vkGetScreenBufferPropertiesQNX)(VkDevice device, const struct _screen_buffer* buffer, VkScreenBufferPropertiesQNX* pProperties);
96*90277196SAndroid Build Coastguard Worker 
97*90277196SAndroid Build Coastguard Worker #ifndef VK_NO_PROTOTYPES
98*90277196SAndroid Build Coastguard Worker VKAPI_ATTR VkResult VKAPI_CALL vkGetScreenBufferPropertiesQNX(
99*90277196SAndroid Build Coastguard Worker     VkDevice                                    device,
100*90277196SAndroid Build Coastguard Worker     const struct _screen_buffer*                buffer,
101*90277196SAndroid Build Coastguard Worker     VkScreenBufferPropertiesQNX*                pProperties);
102*90277196SAndroid Build Coastguard Worker #endif
103*90277196SAndroid Build Coastguard Worker 
104*90277196SAndroid Build Coastguard Worker #ifdef __cplusplus
105*90277196SAndroid Build Coastguard Worker }
106*90277196SAndroid Build Coastguard Worker #endif
107*90277196SAndroid Build Coastguard Worker 
108*90277196SAndroid Build Coastguard Worker #endif
109