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