summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_android.h
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
committer3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
commit5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch)
tree8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_android.h
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_android.h')
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_android.h153
1 files changed, 153 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_android.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_android.h
new file mode 100644
index 0000000..61ff40b
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_android.h
@@ -0,0 +1,153 @@
1#ifndef VULKAN_ANDROID_H_
2#define VULKAN_ANDROID_H_ 1
3
4/*
5** Copyright 2015-2024 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
17extern "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
24struct ANativeWindow;
25#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
26#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
27typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
28typedef struct VkAndroidSurfaceCreateInfoKHR {
29 VkStructureType sType;
30 const void* pNext;
31 VkAndroidSurfaceCreateFlagsKHR flags;
32 struct ANativeWindow* window;
33} VkAndroidSurfaceCreateInfoKHR;
34
35typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36
37#ifndef VK_NO_PROTOTYPES
38VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
39 VkInstance instance,
40 const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
41 const VkAllocationCallbacks* pAllocator,
42 VkSurfaceKHR* pSurface);
43#endif
44
45
46// VK_ANDROID_external_memory_android_hardware_buffer is a preprocessor guard. Do not pass it to API calls.
47#define VK_ANDROID_external_memory_android_hardware_buffer 1
48struct AHardwareBuffer;
49#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 5
50#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
51typedef struct VkAndroidHardwareBufferUsageANDROID {
52 VkStructureType sType;
53 void* pNext;
54 uint64_t androidHardwareBufferUsage;
55} VkAndroidHardwareBufferUsageANDROID;
56
57typedef struct VkAndroidHardwareBufferPropertiesANDROID {
58 VkStructureType sType;
59 void* pNext;
60 VkDeviceSize allocationSize;
61 uint32_t memoryTypeBits;
62} VkAndroidHardwareBufferPropertiesANDROID;
63
64typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {
65 VkStructureType sType;
66 void* pNext;
67 VkFormat format;
68 uint64_t externalFormat;
69 VkFormatFeatureFlags formatFeatures;
70 VkComponentMapping samplerYcbcrConversionComponents;
71 VkSamplerYcbcrModelConversion suggestedYcbcrModel;
72 VkSamplerYcbcrRange suggestedYcbcrRange;
73 VkChromaLocation suggestedXChromaOffset;
74 VkChromaLocation suggestedYChromaOffset;
75} VkAndroidHardwareBufferFormatPropertiesANDROID;
76
77typedef struct VkImportAndroidHardwareBufferInfoANDROID {
78 VkStructureType sType;
79 const void* pNext;
80 struct AHardwareBuffer* buffer;
81} VkImportAndroidHardwareBufferInfoANDROID;
82
83typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {
84 VkStructureType sType;
85 const void* pNext;
86 VkDeviceMemory memory;
87} VkMemoryGetAndroidHardwareBufferInfoANDROID;
88
89typedef struct VkExternalFormatANDROID {
90 VkStructureType sType;
91 void* pNext;
92 uint64_t externalFormat;
93} VkExternalFormatANDROID;
94
95typedef struct VkAndroidHardwareBufferFormatProperties2ANDROID {
96 VkStructureType sType;
97 void* pNext;
98 VkFormat format;
99 uint64_t externalFormat;
100 VkFormatFeatureFlags2 formatFeatures;
101 VkComponentMapping samplerYcbcrConversionComponents;
102 VkSamplerYcbcrModelConversion suggestedYcbcrModel;
103 VkSamplerYcbcrRange suggestedYcbcrRange;
104 VkChromaLocation suggestedXChromaOffset;
105 VkChromaLocation suggestedYChromaOffset;
106} VkAndroidHardwareBufferFormatProperties2ANDROID;
107
108typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
109typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
110
111#ifndef VK_NO_PROTOTYPES
112VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(
113 VkDevice device,
114 const struct AHardwareBuffer* buffer,
115 VkAndroidHardwareBufferPropertiesANDROID* pProperties);
116
117VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
118 VkDevice device,
119 const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
120 struct AHardwareBuffer** pBuffer);
121#endif
122
123
124// VK_ANDROID_external_format_resolve is a preprocessor guard. Do not pass it to API calls.
125#define VK_ANDROID_external_format_resolve 1
126#define VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION 1
127#define VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME "VK_ANDROID_external_format_resolve"
128typedef struct VkPhysicalDeviceExternalFormatResolveFeaturesANDROID {
129 VkStructureType sType;
130 void* pNext;
131 VkBool32 externalFormatResolve;
132} VkPhysicalDeviceExternalFormatResolveFeaturesANDROID;
133
134typedef struct VkPhysicalDeviceExternalFormatResolvePropertiesANDROID {
135 VkStructureType sType;
136 void* pNext;
137 VkBool32 nullColorAttachmentWithExternalFormatResolve;
138 VkChromaLocation externalFormatResolveChromaOffsetX;
139 VkChromaLocation externalFormatResolveChromaOffsetY;
140} VkPhysicalDeviceExternalFormatResolvePropertiesANDROID;
141
142typedef struct VkAndroidHardwareBufferFormatResolvePropertiesANDROID {
143 VkStructureType sType;
144 void* pNext;
145 VkFormat colorAttachmentFormat;
146} VkAndroidHardwareBufferFormatResolvePropertiesANDROID;
147
148
149#ifdef __cplusplus
150}
151#endif
152
153#endif