|
1501
|
1 #ifndef VULKAN_ANDROID_H_
|
|
|
2 #define VULKAN_ANDROID_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_KHR_android_surface is a preprocessor guard. Do not pass it to API calls.
|
|
|
23 #define VK_KHR_android_surface 1
|
|
|
24 struct ANativeWindow;
|
|
|
25 #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
|
|
|
26 #define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
|
|
|
27 typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
|
|
|
28 typedef struct VkAndroidSurfaceCreateInfoKHR {
|
|
|
29 VkStructureType sType;
|
|
|
30 const void* pNext;
|
|
|
31 VkAndroidSurfaceCreateFlagsKHR flags;
|
|
|
32 struct ANativeWindow* window;
|
|
|
33 } VkAndroidSurfaceCreateInfoKHR;
|
|
|
34
|
|
|
35 typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
|
36
|
|
|
37 #ifndef VK_NO_PROTOTYPES
|
|
|
38 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
|
|
|
39 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
|
|
|
40 VkInstance instance,
|
|
|
41 const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
|
|
|
42 const VkAllocationCallbacks* pAllocator,
|
|
|
43 VkSurfaceKHR* pSurface);
|
|
|
44 #endif
|
|
|
45 #endif
|
|
|
46
|
|
|
47
|
|
|
48 // VK_ANDROID_external_memory_android_hardware_buffer is a preprocessor guard. Do not pass it to API calls.
|
|
|
49 #define VK_ANDROID_external_memory_android_hardware_buffer 1
|
|
|
50 struct AHardwareBuffer;
|
|
|
51 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 5
|
|
|
52 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
|
|
|
53 typedef struct VkAndroidHardwareBufferUsageANDROID {
|
|
|
54 VkStructureType sType;
|
|
|
55 void* pNext;
|
|
|
56 uint64_t androidHardwareBufferUsage;
|
|
|
57 } VkAndroidHardwareBufferUsageANDROID;
|
|
|
58
|
|
|
59 typedef struct VkAndroidHardwareBufferPropertiesANDROID {
|
|
|
60 VkStructureType sType;
|
|
|
61 void* pNext;
|
|
|
62 VkDeviceSize allocationSize;
|
|
|
63 uint32_t memoryTypeBits;
|
|
|
64 } VkAndroidHardwareBufferPropertiesANDROID;
|
|
|
65
|
|
|
66 typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {
|
|
|
67 VkStructureType sType;
|
|
|
68 void* pNext;
|
|
|
69 VkFormat format;
|
|
|
70 uint64_t externalFormat;
|
|
|
71 VkFormatFeatureFlags formatFeatures;
|
|
|
72 VkComponentMapping samplerYcbcrConversionComponents;
|
|
|
73 VkSamplerYcbcrModelConversion suggestedYcbcrModel;
|
|
|
74 VkSamplerYcbcrRange suggestedYcbcrRange;
|
|
|
75 VkChromaLocation suggestedXChromaOffset;
|
|
|
76 VkChromaLocation suggestedYChromaOffset;
|
|
|
77 } VkAndroidHardwareBufferFormatPropertiesANDROID;
|
|
|
78
|
|
|
79 typedef struct VkImportAndroidHardwareBufferInfoANDROID {
|
|
|
80 VkStructureType sType;
|
|
|
81 const void* pNext;
|
|
|
82 struct AHardwareBuffer* buffer;
|
|
|
83 } VkImportAndroidHardwareBufferInfoANDROID;
|
|
|
84
|
|
|
85 typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {
|
|
|
86 VkStructureType sType;
|
|
|
87 const void* pNext;
|
|
|
88 VkDeviceMemory memory;
|
|
|
89 } VkMemoryGetAndroidHardwareBufferInfoANDROID;
|
|
|
90
|
|
|
91 typedef struct VkExternalFormatANDROID {
|
|
|
92 VkStructureType sType;
|
|
|
93 void* pNext;
|
|
|
94 uint64_t externalFormat;
|
|
|
95 } VkExternalFormatANDROID;
|
|
|
96
|
|
|
97 typedef struct VkAndroidHardwareBufferFormatProperties2ANDROID {
|
|
|
98 VkStructureType sType;
|
|
|
99 void* pNext;
|
|
|
100 VkFormat format;
|
|
|
101 uint64_t externalFormat;
|
|
|
102 VkFormatFeatureFlags2 formatFeatures;
|
|
|
103 VkComponentMapping samplerYcbcrConversionComponents;
|
|
|
104 VkSamplerYcbcrModelConversion suggestedYcbcrModel;
|
|
|
105 VkSamplerYcbcrRange suggestedYcbcrRange;
|
|
|
106 VkChromaLocation suggestedXChromaOffset;
|
|
|
107 VkChromaLocation suggestedYChromaOffset;
|
|
|
108 } VkAndroidHardwareBufferFormatProperties2ANDROID;
|
|
|
109
|
|
|
110 typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
|
|
|
111 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
|
|
|
112
|
|
|
113 #ifndef VK_NO_PROTOTYPES
|
|
|
114 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
|
|
|
115 VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(
|
|
|
116 VkDevice device,
|
|
|
117 const struct AHardwareBuffer* buffer,
|
|
|
118 VkAndroidHardwareBufferPropertiesANDROID* pProperties);
|
|
|
119 #endif
|
|
|
120
|
|
|
121 #ifndef VK_ONLY_EXPORTED_PROTOTYPES
|
|
|
122 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
|
|
|
123 VkDevice device,
|
|
|
124 const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
|
|
|
125 struct AHardwareBuffer** pBuffer);
|
|
|
126 #endif
|
|
|
127 #endif
|
|
|
128
|
|
|
129
|
|
|
130 // VK_ANDROID_external_format_resolve is a preprocessor guard. Do not pass it to API calls.
|
|
|
131 #define VK_ANDROID_external_format_resolve 1
|
|
|
132 #define VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION 1
|
|
|
133 #define VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME "VK_ANDROID_external_format_resolve"
|
|
|
134 typedef struct VkPhysicalDeviceExternalFormatResolveFeaturesANDROID {
|
|
|
135 VkStructureType sType;
|
|
|
136 void* pNext;
|
|
|
137 VkBool32 externalFormatResolve;
|
|
|
138 } VkPhysicalDeviceExternalFormatResolveFeaturesANDROID;
|
|
|
139
|
|
|
140 typedef struct VkPhysicalDeviceExternalFormatResolvePropertiesANDROID {
|
|
|
141 VkStructureType sType;
|
|
|
142 void* pNext;
|
|
|
143 VkBool32 nullColorAttachmentWithExternalFormatResolve;
|
|
|
144 VkChromaLocation externalFormatResolveChromaOffsetX;
|
|
|
145 VkChromaLocation externalFormatResolveChromaOffsetY;
|
|
|
146 } VkPhysicalDeviceExternalFormatResolvePropertiesANDROID;
|
|
|
147
|
|
|
148 typedef struct VkAndroidHardwareBufferFormatResolvePropertiesANDROID {
|
|
|
149 VkStructureType sType;
|
|
|
150 void* pNext;
|
|
|
151 VkFormat colorAttachmentFormat;
|
|
|
152 } VkAndroidHardwareBufferFormatResolvePropertiesANDROID;
|
|
|
153
|
|
|
154
|
|
|
155 #ifdef __cplusplus
|
|
|
156 }
|
|
|
157 #endif
|
|
|
158
|
|
|
159 #endif
|