summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/video/khronos
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
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/video/khronos')
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/EGL/egl.h342
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/EGL/eglext.h1507
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/EGL/eglplatform.h175
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2.h656
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2ext.h4101
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2platform.h27
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/GLES3/gl3.h1192
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/GLES3/gl31.h1507
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/GLES3/gl32.h1808
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/GLES3/gl3platform.h27
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/KHR/khrplatform.h311
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std.h392
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std_decode.h109
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std.h312
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std_decode.h77
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std_encode.h147
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std.h446
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std_decode.h67
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std_encode.h157
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codecs_common.h36
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_icd.h244
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_layer.h189
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_platform.h84
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan.h99
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_android.h153
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_beta.h216
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_core.h19661
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_directfb.h55
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h262
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_ggp.h60
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_ios.h48
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_macos.h48
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_metal.h206
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h108
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_vi.h48
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_wayland.h55
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_win32.h342
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xcb.h56
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xlib.h56
-rw-r--r--contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xlib_xrandr.h46
40 files changed, 35432 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/video/khronos/EGL/egl.h b/contrib/SDL-3.2.8/src/video/khronos/EGL/egl.h
new file mode 100644
index 0000000..c58f552
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/EGL/egl.h
@@ -0,0 +1,342 @@
1#ifndef __egl_h_
2#define __egl_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright 2013-2020 The Khronos Group Inc.
10** SPDX-License-Identifier: Apache-2.0
11**
12** This header is generated from the Khronos EGL XML API Registry.
13** The current version of the Registry, generator scripts
14** used to make the header, and the header can be found at
15** http://www.khronos.org/registry/egl
16**
17** Khronos $Git commit SHA1: f4cc936b88 $ on $Git commit date: 2023-12-16 01:21:49 -0500 $
18*/
19
20#include <EGL/eglplatform.h>
21
22#ifndef EGL_EGL_PROTOTYPES
23#define EGL_EGL_PROTOTYPES 1
24#endif
25
26/* Generated on date 20231215 */
27
28/* Generated C header for:
29 * API: egl
30 * Versions considered: .*
31 * Versions emitted: .*
32 * Default extensions included: None
33 * Additional extensions included: _nomatch_^
34 * Extensions removed: _nomatch_^
35 */
36
37#ifndef EGL_VERSION_1_0
38#define EGL_VERSION_1_0 1
39typedef unsigned int EGLBoolean;
40typedef void *EGLDisplay;
41#include <KHR/khrplatform.h>
42#include <EGL/eglplatform.h>
43typedef void *EGLConfig;
44typedef void *EGLSurface;
45typedef void *EGLContext;
46typedef void (*__eglMustCastToProperFunctionPointerType)(void);
47#define EGL_ALPHA_SIZE 0x3021
48#define EGL_BAD_ACCESS 0x3002
49#define EGL_BAD_ALLOC 0x3003
50#define EGL_BAD_ATTRIBUTE 0x3004
51#define EGL_BAD_CONFIG 0x3005
52#define EGL_BAD_CONTEXT 0x3006
53#define EGL_BAD_CURRENT_SURFACE 0x3007
54#define EGL_BAD_DISPLAY 0x3008
55#define EGL_BAD_MATCH 0x3009
56#define EGL_BAD_NATIVE_PIXMAP 0x300A
57#define EGL_BAD_NATIVE_WINDOW 0x300B
58#define EGL_BAD_PARAMETER 0x300C
59#define EGL_BAD_SURFACE 0x300D
60#define EGL_BLUE_SIZE 0x3022
61#define EGL_BUFFER_SIZE 0x3020
62#define EGL_CONFIG_CAVEAT 0x3027
63#define EGL_CONFIG_ID 0x3028
64#define EGL_CORE_NATIVE_ENGINE 0x305B
65#define EGL_DEPTH_SIZE 0x3025
66#define EGL_DONT_CARE EGL_CAST(EGLint,-1)
67#define EGL_DRAW 0x3059
68#define EGL_EXTENSIONS 0x3055
69#define EGL_FALSE 0
70#define EGL_GREEN_SIZE 0x3023
71#define EGL_HEIGHT 0x3056
72#define EGL_LARGEST_PBUFFER 0x3058
73#define EGL_LEVEL 0x3029
74#define EGL_MAX_PBUFFER_HEIGHT 0x302A
75#define EGL_MAX_PBUFFER_PIXELS 0x302B
76#define EGL_MAX_PBUFFER_WIDTH 0x302C
77#define EGL_NATIVE_RENDERABLE 0x302D
78#define EGL_NATIVE_VISUAL_ID 0x302E
79#define EGL_NATIVE_VISUAL_TYPE 0x302F
80#define EGL_NONE 0x3038
81#define EGL_NON_CONFORMANT_CONFIG 0x3051
82#define EGL_NOT_INITIALIZED 0x3001
83#define EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
84#define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0)
85#define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
86#define EGL_PBUFFER_BIT 0x0001
87#define EGL_PIXMAP_BIT 0x0002
88#define EGL_READ 0x305A
89#define EGL_RED_SIZE 0x3024
90#define EGL_SAMPLES 0x3031
91#define EGL_SAMPLE_BUFFERS 0x3032
92#define EGL_SLOW_CONFIG 0x3050
93#define EGL_STENCIL_SIZE 0x3026
94#define EGL_SUCCESS 0x3000
95#define EGL_SURFACE_TYPE 0x3033
96#define EGL_TRANSPARENT_BLUE_VALUE 0x3035
97#define EGL_TRANSPARENT_GREEN_VALUE 0x3036
98#define EGL_TRANSPARENT_RED_VALUE 0x3037
99#define EGL_TRANSPARENT_RGB 0x3052
100#define EGL_TRANSPARENT_TYPE 0x3034
101#define EGL_TRUE 1
102#define EGL_VENDOR 0x3053
103#define EGL_VERSION 0x3054
104#define EGL_WIDTH 0x3057
105#define EGL_WINDOW_BIT 0x0004
106typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
107typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
108typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
109typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
110typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
111typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
112typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx);
113typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface);
114typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
115typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
116typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void);
117typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw);
118typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id);
119typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void);
120typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname);
121typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor);
122typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
123typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
124typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name);
125typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
126typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface);
127typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy);
128typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void);
129typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine);
130#if EGL_EGL_PROTOTYPES
131EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
132EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
133EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
134EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
135EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
136EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
137EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
138EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
139EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
140EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
141EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
142EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
143EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
144EGLAPI EGLint EGLAPIENTRY eglGetError (void);
145EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
146EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
147EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
148EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
149EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
150EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
151EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
152EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
153EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
154EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
155#endif
156#endif /* EGL_VERSION_1_0 */
157
158#ifndef EGL_VERSION_1_1
159#define EGL_VERSION_1_1 1
160#define EGL_BACK_BUFFER 0x3084
161#define EGL_BIND_TO_TEXTURE_RGB 0x3039
162#define EGL_BIND_TO_TEXTURE_RGBA 0x303A
163#define EGL_CONTEXT_LOST 0x300E
164#define EGL_MIN_SWAP_INTERVAL 0x303B
165#define EGL_MAX_SWAP_INTERVAL 0x303C
166#define EGL_MIPMAP_TEXTURE 0x3082
167#define EGL_MIPMAP_LEVEL 0x3083
168#define EGL_NO_TEXTURE 0x305C
169#define EGL_TEXTURE_2D 0x305F
170#define EGL_TEXTURE_FORMAT 0x3080
171#define EGL_TEXTURE_RGB 0x305D
172#define EGL_TEXTURE_RGBA 0x305E
173#define EGL_TEXTURE_TARGET 0x3081
174typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
175typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
176typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
177typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval);
178#if EGL_EGL_PROTOTYPES
179EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
180EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
181EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
182EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
183#endif
184#endif /* EGL_VERSION_1_1 */
185
186#ifndef EGL_VERSION_1_2
187#define EGL_VERSION_1_2 1
188typedef unsigned int EGLenum;
189typedef void *EGLClientBuffer;
190#define EGL_ALPHA_FORMAT 0x3088
191#define EGL_ALPHA_FORMAT_NONPRE 0x308B
192#define EGL_ALPHA_FORMAT_PRE 0x308C
193#define EGL_ALPHA_MASK_SIZE 0x303E
194#define EGL_BUFFER_PRESERVED 0x3094
195#define EGL_BUFFER_DESTROYED 0x3095
196#define EGL_CLIENT_APIS 0x308D
197#define EGL_COLORSPACE 0x3087
198#define EGL_COLORSPACE_sRGB 0x3089
199#define EGL_COLORSPACE_LINEAR 0x308A
200#define EGL_COLOR_BUFFER_TYPE 0x303F
201#define EGL_CONTEXT_CLIENT_TYPE 0x3097
202#define EGL_DISPLAY_SCALING 10000
203#define EGL_HORIZONTAL_RESOLUTION 0x3090
204#define EGL_LUMINANCE_BUFFER 0x308F
205#define EGL_LUMINANCE_SIZE 0x303D
206#define EGL_OPENGL_ES_BIT 0x0001
207#define EGL_OPENVG_BIT 0x0002
208#define EGL_OPENGL_ES_API 0x30A0
209#define EGL_OPENVG_API 0x30A1
210#define EGL_OPENVG_IMAGE 0x3096
211#define EGL_PIXEL_ASPECT_RATIO 0x3092
212#define EGL_RENDERABLE_TYPE 0x3040
213#define EGL_RENDER_BUFFER 0x3086
214#define EGL_RGB_BUFFER 0x308E
215#define EGL_SINGLE_BUFFER 0x3085
216#define EGL_SWAP_BEHAVIOR 0x3093
217#define EGL_UNKNOWN EGL_CAST(EGLint,-1)
218#define EGL_VERTICAL_RESOLUTION 0x3091
219typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api);
220typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void);
221typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
222typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void);
223typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void);
224#if EGL_EGL_PROTOTYPES
225EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
226EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
227EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
228EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
229EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
230#endif
231#endif /* EGL_VERSION_1_2 */
232
233#ifndef EGL_VERSION_1_3
234#define EGL_VERSION_1_3 1
235#define EGL_CONFORMANT 0x3042
236#define EGL_CONTEXT_CLIENT_VERSION 0x3098
237#define EGL_MATCH_NATIVE_PIXMAP 0x3041
238#define EGL_OPENGL_ES2_BIT 0x0004
239#define EGL_VG_ALPHA_FORMAT 0x3088
240#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
241#define EGL_VG_ALPHA_FORMAT_PRE 0x308C
242#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
243#define EGL_VG_COLORSPACE 0x3087
244#define EGL_VG_COLORSPACE_sRGB 0x3089
245#define EGL_VG_COLORSPACE_LINEAR 0x308A
246#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
247#endif /* EGL_VERSION_1_3 */
248
249#ifndef EGL_VERSION_1_4
250#define EGL_VERSION_1_4 1
251#define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0)
252#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
253#define EGL_MULTISAMPLE_RESOLVE 0x3099
254#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
255#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
256#define EGL_OPENGL_API 0x30A2
257#define EGL_OPENGL_BIT 0x0008
258#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
259typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void);
260#if EGL_EGL_PROTOTYPES
261EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
262#endif
263#endif /* EGL_VERSION_1_4 */
264
265#ifndef EGL_VERSION_1_5
266#define EGL_VERSION_1_5 1
267typedef void *EGLSync;
268typedef intptr_t EGLAttrib;
269typedef khronos_utime_nanoseconds_t EGLTime;
270typedef void *EGLImage;
271#define EGL_CONTEXT_MAJOR_VERSION 0x3098
272#define EGL_CONTEXT_MINOR_VERSION 0x30FB
273#define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
274#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
275#define EGL_NO_RESET_NOTIFICATION 0x31BE
276#define EGL_LOSE_CONTEXT_ON_RESET 0x31BF
277#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
278#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
279#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
280#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
281#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
282#define EGL_OPENGL_ES3_BIT 0x00000040
283#define EGL_CL_EVENT_HANDLE 0x309C
284#define EGL_SYNC_CL_EVENT 0x30FE
285#define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
286#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
287#define EGL_SYNC_TYPE 0x30F7
288#define EGL_SYNC_STATUS 0x30F1
289#define EGL_SYNC_CONDITION 0x30F8
290#define EGL_SIGNALED 0x30F2
291#define EGL_UNSIGNALED 0x30F3
292#define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
293#define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
294#define EGL_TIMEOUT_EXPIRED 0x30F5
295#define EGL_CONDITION_SATISFIED 0x30F6
296#define EGL_NO_SYNC EGL_CAST(EGLSync,0)
297#define EGL_SYNC_FENCE 0x30F9
298#define EGL_GL_COLORSPACE 0x309D
299#define EGL_GL_COLORSPACE_SRGB 0x3089
300#define EGL_GL_COLORSPACE_LINEAR 0x308A
301#define EGL_GL_RENDERBUFFER 0x30B9
302#define EGL_GL_TEXTURE_2D 0x30B1
303#define EGL_GL_TEXTURE_LEVEL 0x30BC
304#define EGL_GL_TEXTURE_3D 0x30B2
305#define EGL_GL_TEXTURE_ZOFFSET 0x30BD
306#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
307#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
308#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
309#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
310#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
311#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
312#define EGL_IMAGE_PRESERVED 0x30D2
313#define EGL_NO_IMAGE EGL_CAST(EGLImage,0)
314typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
315typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync);
316typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
317typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
318typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
319typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image);
320typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
321typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
322typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
323typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags);
324#if EGL_EGL_PROTOTYPES
325EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
326EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
327EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
328EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
329EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
330EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
331EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
332EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
333EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
334EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
335#endif
336#endif /* EGL_VERSION_1_5 */
337
338#ifdef __cplusplus
339}
340#endif
341
342#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/EGL/eglext.h b/contrib/SDL-3.2.8/src/video/khronos/EGL/eglext.h
new file mode 100644
index 0000000..9932ebe
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/EGL/eglext.h
@@ -0,0 +1,1507 @@
1#ifndef __eglext_h_
2#define __eglext_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright 2013-2020 The Khronos Group Inc.
10** SPDX-License-Identifier: Apache-2.0
11**
12** This header is generated from the Khronos EGL XML API Registry.
13** The current version of the Registry, generator scripts
14** used to make the header, and the header can be found at
15** http://www.khronos.org/registry/egl
16**
17** Khronos $Git commit SHA1: f4cc936b88 $ on $Git commit date: 2023-12-16 01:21:49 -0500 $
18*/
19
20#include <EGL/eglplatform.h>
21
22#define EGL_EGLEXT_VERSION 20231215
23
24/* Generated C header for:
25 * API: egl
26 * Versions considered: .*
27 * Versions emitted: _nomatch_^
28 * Default extensions included: egl
29 * Additional extensions included: _nomatch_^
30 * Extensions removed: _nomatch_^
31 */
32
33#ifndef EGL_KHR_cl_event
34#define EGL_KHR_cl_event 1
35#define EGL_CL_EVENT_HANDLE_KHR 0x309C
36#define EGL_SYNC_CL_EVENT_KHR 0x30FE
37#define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF
38#endif /* EGL_KHR_cl_event */
39
40#ifndef EGL_KHR_cl_event2
41#define EGL_KHR_cl_event2 1
42typedef void *EGLSyncKHR;
43typedef intptr_t EGLAttribKHR;
44typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
45#ifdef EGL_EGLEXT_PROTOTYPES
46EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
47#endif
48#endif /* EGL_KHR_cl_event2 */
49
50#ifndef EGL_KHR_client_get_all_proc_addresses
51#define EGL_KHR_client_get_all_proc_addresses 1
52#endif /* EGL_KHR_client_get_all_proc_addresses */
53
54#ifndef EGL_KHR_config_attribs
55#define EGL_KHR_config_attribs 1
56#define EGL_CONFORMANT_KHR 0x3042
57#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020
58#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040
59#endif /* EGL_KHR_config_attribs */
60
61#ifndef EGL_KHR_context_flush_control
62#define EGL_KHR_context_flush_control 1
63#define EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR 0
64#define EGL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x2097
65#define EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x2098
66#endif /* EGL_KHR_context_flush_control */
67
68#ifndef EGL_KHR_create_context
69#define EGL_KHR_create_context 1
70#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098
71#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB
72#define EGL_CONTEXT_FLAGS_KHR 0x30FC
73#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
74#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
75#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE
76#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF
77#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001
78#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
79#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
80#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
81#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
82#define EGL_OPENGL_ES3_BIT_KHR 0x00000040
83#endif /* EGL_KHR_create_context */
84
85#ifndef EGL_KHR_create_context_no_error
86#define EGL_KHR_create_context_no_error 1
87#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3
88#endif /* EGL_KHR_create_context_no_error */
89
90#ifndef EGL_KHR_debug
91#define EGL_KHR_debug 1
92typedef void *EGLLabelKHR;
93typedef void *EGLObjectKHR;
94typedef void (EGLAPIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
95#define EGL_OBJECT_THREAD_KHR 0x33B0
96#define EGL_OBJECT_DISPLAY_KHR 0x33B1
97#define EGL_OBJECT_CONTEXT_KHR 0x33B2
98#define EGL_OBJECT_SURFACE_KHR 0x33B3
99#define EGL_OBJECT_IMAGE_KHR 0x33B4
100#define EGL_OBJECT_SYNC_KHR 0x33B5
101#define EGL_OBJECT_STREAM_KHR 0x33B6
102#define EGL_DEBUG_MSG_CRITICAL_KHR 0x33B9
103#define EGL_DEBUG_MSG_ERROR_KHR 0x33BA
104#define EGL_DEBUG_MSG_WARN_KHR 0x33BB
105#define EGL_DEBUG_MSG_INFO_KHR 0x33BC
106#define EGL_DEBUG_CALLBACK_KHR 0x33B8
107typedef EGLint (EGLAPIENTRYP PFNEGLDEBUGMESSAGECONTROLKHRPROC) (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
108typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEBUGKHRPROC) (EGLint attribute, EGLAttrib *value);
109typedef EGLint (EGLAPIENTRYP PFNEGLLABELOBJECTKHRPROC) (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
110#ifdef EGL_EGLEXT_PROTOTYPES
111EGLAPI EGLint EGLAPIENTRY eglDebugMessageControlKHR (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
112EGLAPI EGLBoolean EGLAPIENTRY eglQueryDebugKHR (EGLint attribute, EGLAttrib *value);
113EGLAPI EGLint EGLAPIENTRY eglLabelObjectKHR (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
114#endif
115#endif /* EGL_KHR_debug */
116
117#ifndef EGL_KHR_display_reference
118#define EGL_KHR_display_reference 1
119#define EGL_TRACK_REFERENCES_KHR 0x3352
120typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBKHRPROC) (EGLDisplay dpy, EGLint name, EGLAttrib *value);
121#ifdef EGL_EGLEXT_PROTOTYPES
122EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribKHR (EGLDisplay dpy, EGLint name, EGLAttrib *value);
123#endif
124#endif /* EGL_KHR_display_reference */
125
126#ifndef EGL_KHR_fence_sync
127#define EGL_KHR_fence_sync 1
128typedef khronos_utime_nanoseconds_t EGLTimeKHR;
129#ifdef KHRONOS_SUPPORT_INT64
130#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
131#define EGL_SYNC_CONDITION_KHR 0x30F8
132#define EGL_SYNC_FENCE_KHR 0x30F9
133typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
134typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
135typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
136typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
137#ifdef EGL_EGLEXT_PROTOTYPES
138EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
139EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
140EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
141EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
142#endif
143#endif /* KHRONOS_SUPPORT_INT64 */
144#endif /* EGL_KHR_fence_sync */
145
146#ifndef EGL_KHR_get_all_proc_addresses
147#define EGL_KHR_get_all_proc_addresses 1
148#endif /* EGL_KHR_get_all_proc_addresses */
149
150#ifndef EGL_KHR_gl_colorspace
151#define EGL_KHR_gl_colorspace 1
152#define EGL_GL_COLORSPACE_KHR 0x309D
153#define EGL_GL_COLORSPACE_SRGB_KHR 0x3089
154#define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A
155#endif /* EGL_KHR_gl_colorspace */
156
157#ifndef EGL_KHR_gl_renderbuffer_image
158#define EGL_KHR_gl_renderbuffer_image 1
159#define EGL_GL_RENDERBUFFER_KHR 0x30B9
160#endif /* EGL_KHR_gl_renderbuffer_image */
161
162#ifndef EGL_KHR_gl_texture_2D_image
163#define EGL_KHR_gl_texture_2D_image 1
164#define EGL_GL_TEXTURE_2D_KHR 0x30B1
165#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC
166#endif /* EGL_KHR_gl_texture_2D_image */
167
168#ifndef EGL_KHR_gl_texture_3D_image
169#define EGL_KHR_gl_texture_3D_image 1
170#define EGL_GL_TEXTURE_3D_KHR 0x30B2
171#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD
172#endif /* EGL_KHR_gl_texture_3D_image */
173
174#ifndef EGL_KHR_gl_texture_cubemap_image
175#define EGL_KHR_gl_texture_cubemap_image 1
176#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3
177#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4
178#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5
179#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6
180#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7
181#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8
182#endif /* EGL_KHR_gl_texture_cubemap_image */
183
184#ifndef EGL_KHR_image
185#define EGL_KHR_image 1
186typedef void *EGLImageKHR;
187#define EGL_NATIVE_PIXMAP_KHR 0x30B0
188#define EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0)
189typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
190typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
191#ifdef EGL_EGLEXT_PROTOTYPES
192EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
193EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
194#endif
195#endif /* EGL_KHR_image */
196
197#ifndef EGL_KHR_image_base
198#define EGL_KHR_image_base 1
199#define EGL_IMAGE_PRESERVED_KHR 0x30D2
200#endif /* EGL_KHR_image_base */
201
202#ifndef EGL_KHR_image_pixmap
203#define EGL_KHR_image_pixmap 1
204#endif /* EGL_KHR_image_pixmap */
205
206#ifndef EGL_KHR_lock_surface
207#define EGL_KHR_lock_surface 1
208#define EGL_READ_SURFACE_BIT_KHR 0x0001
209#define EGL_WRITE_SURFACE_BIT_KHR 0x0002
210#define EGL_LOCK_SURFACE_BIT_KHR 0x0080
211#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100
212#define EGL_MATCH_FORMAT_KHR 0x3043
213#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0
214#define EGL_FORMAT_RGB_565_KHR 0x30C1
215#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2
216#define EGL_FORMAT_RGBA_8888_KHR 0x30C3
217#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4
218#define EGL_LOCK_USAGE_HINT_KHR 0x30C5
219#define EGL_BITMAP_POINTER_KHR 0x30C6
220#define EGL_BITMAP_PITCH_KHR 0x30C7
221#define EGL_BITMAP_ORIGIN_KHR 0x30C8
222#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9
223#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
224#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB
225#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
226#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
227#define EGL_LOWER_LEFT_KHR 0x30CE
228#define EGL_UPPER_LEFT_KHR 0x30CF
229typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
230typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface);
231#ifdef EGL_EGLEXT_PROTOTYPES
232EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
233EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface);
234#endif
235#endif /* EGL_KHR_lock_surface */
236
237#ifndef EGL_KHR_lock_surface2
238#define EGL_KHR_lock_surface2 1
239#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
240#endif /* EGL_KHR_lock_surface2 */
241
242#ifndef EGL_KHR_lock_surface3
243#define EGL_KHR_lock_surface3 1
244typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
245#ifdef EGL_EGLEXT_PROTOTYPES
246EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
247#endif
248#endif /* EGL_KHR_lock_surface3 */
249
250#ifndef EGL_KHR_mutable_render_buffer
251#define EGL_KHR_mutable_render_buffer 1
252#define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR 0x1000
253#endif /* EGL_KHR_mutable_render_buffer */
254
255#ifndef EGL_KHR_no_config_context
256#define EGL_KHR_no_config_context 1
257#define EGL_NO_CONFIG_KHR EGL_CAST(EGLConfig,0)
258#endif /* EGL_KHR_no_config_context */
259
260#ifndef EGL_KHR_partial_update
261#define EGL_KHR_partial_update 1
262#define EGL_BUFFER_AGE_KHR 0x313D
263typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
264#ifdef EGL_EGLEXT_PROTOTYPES
265EGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
266#endif
267#endif /* EGL_KHR_partial_update */
268
269#ifndef EGL_KHR_platform_android
270#define EGL_KHR_platform_android 1
271#define EGL_PLATFORM_ANDROID_KHR 0x3141
272#endif /* EGL_KHR_platform_android */
273
274#ifndef EGL_KHR_platform_gbm
275#define EGL_KHR_platform_gbm 1
276#define EGL_PLATFORM_GBM_KHR 0x31D7
277#endif /* EGL_KHR_platform_gbm */
278
279#ifndef EGL_KHR_platform_wayland
280#define EGL_KHR_platform_wayland 1
281#define EGL_PLATFORM_WAYLAND_KHR 0x31D8
282#endif /* EGL_KHR_platform_wayland */
283
284#ifndef EGL_KHR_platform_x11
285#define EGL_KHR_platform_x11 1
286#define EGL_PLATFORM_X11_KHR 0x31D5
287#define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6
288#endif /* EGL_KHR_platform_x11 */
289
290#ifndef EGL_KHR_reusable_sync
291#define EGL_KHR_reusable_sync 1
292#ifdef KHRONOS_SUPPORT_INT64
293#define EGL_SYNC_STATUS_KHR 0x30F1
294#define EGL_SIGNALED_KHR 0x30F2
295#define EGL_UNSIGNALED_KHR 0x30F3
296#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5
297#define EGL_CONDITION_SATISFIED_KHR 0x30F6
298#define EGL_SYNC_TYPE_KHR 0x30F7
299#define EGL_SYNC_REUSABLE_KHR 0x30FA
300#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001
301#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull
302#define EGL_NO_SYNC_KHR EGL_CAST(EGLSyncKHR,0)
303typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
304#ifdef EGL_EGLEXT_PROTOTYPES
305EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
306#endif
307#endif /* KHRONOS_SUPPORT_INT64 */
308#endif /* EGL_KHR_reusable_sync */
309
310#ifndef EGL_KHR_stream
311#define EGL_KHR_stream 1
312typedef void *EGLStreamKHR;
313typedef khronos_uint64_t EGLuint64KHR;
314#ifdef KHRONOS_SUPPORT_INT64
315#define EGL_NO_STREAM_KHR EGL_CAST(EGLStreamKHR,0)
316#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210
317#define EGL_PRODUCER_FRAME_KHR 0x3212
318#define EGL_CONSUMER_FRAME_KHR 0x3213
319#define EGL_STREAM_STATE_KHR 0x3214
320#define EGL_STREAM_STATE_CREATED_KHR 0x3215
321#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216
322#define EGL_STREAM_STATE_EMPTY_KHR 0x3217
323#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218
324#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219
325#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A
326#define EGL_BAD_STREAM_KHR 0x321B
327#define EGL_BAD_STATE_KHR 0x321C
328typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);
329typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
330typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
331typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
332typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
333#ifdef EGL_EGLEXT_PROTOTYPES
334EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);
335EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);
336EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
337EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
338EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
339#endif
340#endif /* KHRONOS_SUPPORT_INT64 */
341#endif /* EGL_KHR_stream */
342
343#ifndef EGL_KHR_stream_attrib
344#define EGL_KHR_stream_attrib 1
345#ifdef KHRONOS_SUPPORT_INT64
346typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMATTRIBKHRPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list);
347typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
348typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
349typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
350typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
351#ifdef EGL_EGLEXT_PROTOTYPES
352EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamAttribKHR (EGLDisplay dpy, const EGLAttrib *attrib_list);
353EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
354EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
355EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
356EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
357#endif
358#endif /* KHRONOS_SUPPORT_INT64 */
359#endif /* EGL_KHR_stream_attrib */
360
361#ifndef EGL_KHR_stream_consumer_gltexture
362#define EGL_KHR_stream_consumer_gltexture 1
363#ifdef EGL_KHR_stream
364#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
365typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
366typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
367typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
368#ifdef EGL_EGLEXT_PROTOTYPES
369EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);
370EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);
371EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);
372#endif
373#endif /* EGL_KHR_stream */
374#endif /* EGL_KHR_stream_consumer_gltexture */
375
376#ifndef EGL_KHR_stream_cross_process_fd
377#define EGL_KHR_stream_cross_process_fd 1
378typedef int EGLNativeFileDescriptorKHR;
379#ifdef EGL_KHR_stream
380#define EGL_NO_FILE_DESCRIPTOR_KHR EGL_CAST(EGLNativeFileDescriptorKHR,-1)
381typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
382typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
383#ifdef EGL_EGLEXT_PROTOTYPES
384EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);
385EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
386#endif
387#endif /* EGL_KHR_stream */
388#endif /* EGL_KHR_stream_cross_process_fd */
389
390#ifndef EGL_KHR_stream_fifo
391#define EGL_KHR_stream_fifo 1
392#ifdef EGL_KHR_stream
393#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC
394#define EGL_STREAM_TIME_NOW_KHR 0x31FD
395#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE
396#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF
397typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
398#ifdef EGL_EGLEXT_PROTOTYPES
399EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
400#endif
401#endif /* EGL_KHR_stream */
402#endif /* EGL_KHR_stream_fifo */
403
404#ifndef EGL_KHR_stream_producer_aldatalocator
405#define EGL_KHR_stream_producer_aldatalocator 1
406#ifdef EGL_KHR_stream
407#endif /* EGL_KHR_stream */
408#endif /* EGL_KHR_stream_producer_aldatalocator */
409
410#ifndef EGL_KHR_stream_producer_eglsurface
411#define EGL_KHR_stream_producer_eglsurface 1
412#ifdef EGL_KHR_stream
413#define EGL_STREAM_BIT_KHR 0x0800
414typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
415#ifdef EGL_EGLEXT_PROTOTYPES
416EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
417#endif
418#endif /* EGL_KHR_stream */
419#endif /* EGL_KHR_stream_producer_eglsurface */
420
421#ifndef EGL_KHR_surfaceless_context
422#define EGL_KHR_surfaceless_context 1
423#endif /* EGL_KHR_surfaceless_context */
424
425#ifndef EGL_KHR_swap_buffers_with_damage
426#define EGL_KHR_swap_buffers_with_damage 1
427typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
428#ifdef EGL_EGLEXT_PROTOTYPES
429EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
430#endif
431#endif /* EGL_KHR_swap_buffers_with_damage */
432
433#ifndef EGL_KHR_vg_parent_image
434#define EGL_KHR_vg_parent_image 1
435#define EGL_VG_PARENT_IMAGE_KHR 0x30BA
436#endif /* EGL_KHR_vg_parent_image */
437
438#ifndef EGL_KHR_wait_sync
439#define EGL_KHR_wait_sync 1
440typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
441#ifdef EGL_EGLEXT_PROTOTYPES
442EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
443#endif
444#endif /* EGL_KHR_wait_sync */
445
446#ifndef EGL_ANDROID_GLES_layers
447#define EGL_ANDROID_GLES_layers 1
448#endif /* EGL_ANDROID_GLES_layers */
449
450#ifndef EGL_ANDROID_blob_cache
451#define EGL_ANDROID_blob_cache 1
452typedef khronos_ssize_t EGLsizeiANDROID;
453typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
454typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
455typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
456#ifdef EGL_EGLEXT_PROTOTYPES
457EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
458#endif
459#endif /* EGL_ANDROID_blob_cache */
460
461#ifndef EGL_ANDROID_create_native_client_buffer
462#define EGL_ANDROID_create_native_client_buffer 1
463#define EGL_NATIVE_BUFFER_USAGE_ANDROID 0x3143
464#define EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID 0x00000001
465#define EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID 0x00000002
466#define EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID 0x00000004
467typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC) (const EGLint *attrib_list);
468#ifdef EGL_EGLEXT_PROTOTYPES
469EGLAPI EGLClientBuffer EGLAPIENTRY eglCreateNativeClientBufferANDROID (const EGLint *attrib_list);
470#endif
471#endif /* EGL_ANDROID_create_native_client_buffer */
472
473#ifndef EGL_ANDROID_framebuffer_target
474#define EGL_ANDROID_framebuffer_target 1
475#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
476#endif /* EGL_ANDROID_framebuffer_target */
477
478#ifndef EGL_ANDROID_front_buffer_auto_refresh
479#define EGL_ANDROID_front_buffer_auto_refresh 1
480#define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C
481#endif /* EGL_ANDROID_front_buffer_auto_refresh */
482
483#ifndef EGL_ANDROID_get_frame_timestamps
484#define EGL_ANDROID_get_frame_timestamps 1
485typedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
486#define EGL_TIMESTAMP_PENDING_ANDROID EGL_CAST(EGLnsecsANDROID,-2)
487#define EGL_TIMESTAMP_INVALID_ANDROID EGL_CAST(EGLnsecsANDROID,-1)
488#define EGL_TIMESTAMPS_ANDROID 0x3430
489#define EGL_COMPOSITE_DEADLINE_ANDROID 0x3431
490#define EGL_COMPOSITE_INTERVAL_ANDROID 0x3432
491#define EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID 0x3433
492#define EGL_REQUESTED_PRESENT_TIME_ANDROID 0x3434
493#define EGL_RENDERING_COMPLETE_TIME_ANDROID 0x3435
494#define EGL_COMPOSITION_LATCH_TIME_ANDROID 0x3436
495#define EGL_FIRST_COMPOSITION_START_TIME_ANDROID 0x3437
496#define EGL_LAST_COMPOSITION_START_TIME_ANDROID 0x3438
497#define EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID 0x3439
498#define EGL_DISPLAY_PRESENT_TIME_ANDROID 0x343A
499#define EGL_DEQUEUE_READY_TIME_ANDROID 0x343B
500#define EGL_READS_DONE_TIME_ANDROID 0x343C
501typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint name);
502typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values);
503typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETNEXTFRAMEIDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
504typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
505typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values);
506#ifdef EGL_EGLEXT_PROTOTYPES
507EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint name);
508EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingANDROID (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values);
509EGLAPI EGLBoolean EGLAPIENTRY eglGetNextFrameIdANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
510EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
511EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampsANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values);
512#endif
513#endif /* EGL_ANDROID_get_frame_timestamps */
514
515#ifndef EGL_ANDROID_get_native_client_buffer
516#define EGL_ANDROID_get_native_client_buffer 1
517struct AHardwareBuffer;
518typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC) (const struct AHardwareBuffer *buffer);
519#ifdef EGL_EGLEXT_PROTOTYPES
520EGLAPI EGLClientBuffer EGLAPIENTRY eglGetNativeClientBufferANDROID (const struct AHardwareBuffer *buffer);
521#endif
522#endif /* EGL_ANDROID_get_native_client_buffer */
523
524#ifndef EGL_ANDROID_image_native_buffer
525#define EGL_ANDROID_image_native_buffer 1
526#define EGL_NATIVE_BUFFER_ANDROID 0x3140
527#endif /* EGL_ANDROID_image_native_buffer */
528
529#ifndef EGL_ANDROID_native_fence_sync
530#define EGL_ANDROID_native_fence_sync 1
531#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144
532#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145
533#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
534#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1
535typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
536#ifdef EGL_EGLEXT_PROTOTYPES
537EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
538#endif
539#endif /* EGL_ANDROID_native_fence_sync */
540
541#ifndef EGL_ANDROID_presentation_time
542#define EGL_ANDROID_presentation_time 1
543typedef EGLBoolean (EGLAPIENTRYP PFNEGLPRESENTATIONTIMEANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
544#ifdef EGL_EGLEXT_PROTOTYPES
545EGLAPI EGLBoolean EGLAPIENTRY eglPresentationTimeANDROID (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
546#endif
547#endif /* EGL_ANDROID_presentation_time */
548
549#ifndef EGL_ANDROID_recordable
550#define EGL_ANDROID_recordable 1
551#define EGL_RECORDABLE_ANDROID 0x3142
552#endif /* EGL_ANDROID_recordable */
553
554#ifndef EGL_ANGLE_d3d_share_handle_client_buffer
555#define EGL_ANGLE_d3d_share_handle_client_buffer 1
556#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
557#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */
558
559#ifndef EGL_ANGLE_device_d3d
560#define EGL_ANGLE_device_d3d 1
561#define EGL_D3D9_DEVICE_ANGLE 0x33A0
562#define EGL_D3D11_DEVICE_ANGLE 0x33A1
563#endif /* EGL_ANGLE_device_d3d */
564
565#ifndef EGL_ANGLE_query_surface_pointer
566#define EGL_ANGLE_query_surface_pointer 1
567typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
568#ifdef EGL_EGLEXT_PROTOTYPES
569EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
570#endif
571#endif /* EGL_ANGLE_query_surface_pointer */
572
573#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
574#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
575#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
576
577#ifndef EGL_ANGLE_sync_control_rate
578#define EGL_ANGLE_sync_control_rate 1
579typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMSCRATEANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
580#ifdef EGL_EGLEXT_PROTOTYPES
581EGLAPI EGLBoolean EGLAPIENTRY eglGetMscRateANGLE (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
582#endif
583#endif /* EGL_ANGLE_sync_control_rate */
584
585#ifndef EGL_ANGLE_window_fixed_size
586#define EGL_ANGLE_window_fixed_size 1
587#define EGL_FIXED_SIZE_ANGLE 0x3201
588#endif /* EGL_ANGLE_window_fixed_size */
589
590#ifndef EGL_ARM_image_format
591#define EGL_ARM_image_format 1
592#define EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM 0x3287
593#define EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM 0x3288
594#endif /* EGL_ARM_image_format */
595
596#ifndef EGL_ARM_implicit_external_sync
597#define EGL_ARM_implicit_external_sync 1
598#define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A
599#endif /* EGL_ARM_implicit_external_sync */
600
601#ifndef EGL_ARM_pixmap_multisample_discard
602#define EGL_ARM_pixmap_multisample_discard 1
603#define EGL_DISCARD_SAMPLES_ARM 0x3286
604#endif /* EGL_ARM_pixmap_multisample_discard */
605
606#ifndef EGL_EXT_bind_to_front
607#define EGL_EXT_bind_to_front 1
608#define EGL_FRONT_BUFFER_EXT 0x3464
609#endif /* EGL_EXT_bind_to_front */
610
611#ifndef EGL_EXT_buffer_age
612#define EGL_EXT_buffer_age 1
613#define EGL_BUFFER_AGE_EXT 0x313D
614#endif /* EGL_EXT_buffer_age */
615
616#ifndef EGL_EXT_client_extensions
617#define EGL_EXT_client_extensions 1
618#endif /* EGL_EXT_client_extensions */
619
620#ifndef EGL_EXT_client_sync
621#define EGL_EXT_client_sync 1
622#define EGL_SYNC_CLIENT_EXT 0x3364
623#define EGL_SYNC_CLIENT_SIGNAL_EXT 0x3365
624typedef EGLBoolean (EGLAPIENTRYP PFNEGLCLIENTSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
625#ifdef EGL_EGLEXT_PROTOTYPES
626EGLAPI EGLBoolean EGLAPIENTRY eglClientSignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
627#endif
628#endif /* EGL_EXT_client_sync */
629
630#ifndef EGL_EXT_compositor
631#define EGL_EXT_compositor 1
632#define EGL_PRIMARY_COMPOSITOR_CONTEXT_EXT 0x3460
633#define EGL_EXTERNAL_REF_ID_EXT 0x3461
634#define EGL_COMPOSITOR_DROP_NEWEST_FRAME_EXT 0x3462
635#define EGL_COMPOSITOR_KEEP_NEWEST_FRAME_EXT 0x3463
636typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC) (const EGLint *external_ref_ids, EGLint num_entries);
637typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC) (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
638typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC) (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
639typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC) (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
640typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC) (EGLint external_win_id);
641typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETSIZEEXTPROC) (EGLint external_win_id, EGLint width, EGLint height);
642typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSWAPPOLICYEXTPROC) (EGLint external_win_id, EGLint policy);
643#ifdef EGL_EGLEXT_PROTOTYPES
644EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextListEXT (const EGLint *external_ref_ids, EGLint num_entries);
645EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextAttributesEXT (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
646EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowListEXT (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
647EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowAttributesEXT (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
648EGLAPI EGLBoolean EGLAPIENTRY eglCompositorBindTexWindowEXT (EGLint external_win_id);
649EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetSizeEXT (EGLint external_win_id, EGLint width, EGLint height);
650EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSwapPolicyEXT (EGLint external_win_id, EGLint policy);
651#endif
652#endif /* EGL_EXT_compositor */
653
654#ifndef EGL_EXT_config_select_group
655#define EGL_EXT_config_select_group 1
656#define EGL_CONFIG_SELECT_GROUP_EXT 0x34C0
657#endif /* EGL_EXT_config_select_group */
658
659#ifndef EGL_EXT_create_context_robustness
660#define EGL_EXT_create_context_robustness 1
661#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
662#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
663#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE
664#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF
665#endif /* EGL_EXT_create_context_robustness */
666
667#ifndef EGL_EXT_device_base
668#define EGL_EXT_device_base 1
669typedef void *EGLDeviceEXT;
670#define EGL_NO_DEVICE_EXT EGL_CAST(EGLDeviceEXT,0)
671#define EGL_BAD_DEVICE_EXT 0x322B
672#define EGL_DEVICE_EXT 0x322C
673typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
674typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name);
675typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
676typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
677#ifdef EGL_EGLEXT_PROTOTYPES
678EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
679EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name);
680EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
681EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
682#endif
683#endif /* EGL_EXT_device_base */
684
685#ifndef EGL_EXT_device_drm
686#define EGL_EXT_device_drm 1
687#define EGL_DRM_DEVICE_FILE_EXT 0x3233
688#define EGL_DRM_MASTER_FD_EXT 0x333C
689#endif /* EGL_EXT_device_drm */
690
691#ifndef EGL_EXT_device_drm_render_node
692#define EGL_EXT_device_drm_render_node 1
693#define EGL_DRM_RENDER_NODE_FILE_EXT 0x3377
694#endif /* EGL_EXT_device_drm_render_node */
695
696#ifndef EGL_EXT_device_enumeration
697#define EGL_EXT_device_enumeration 1
698#endif /* EGL_EXT_device_enumeration */
699
700#ifndef EGL_EXT_device_openwf
701#define EGL_EXT_device_openwf 1
702#define EGL_OPENWF_DEVICE_ID_EXT 0x3237
703#define EGL_OPENWF_DEVICE_EXT 0x333D
704#endif /* EGL_EXT_device_openwf */
705
706#ifndef EGL_EXT_device_persistent_id
707#define EGL_EXT_device_persistent_id 1
708#define EGL_DEVICE_UUID_EXT 0x335C
709#define EGL_DRIVER_UUID_EXT 0x335D
710#define EGL_DRIVER_NAME_EXT 0x335E
711typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEBINARYEXTPROC) (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
712#ifdef EGL_EGLEXT_PROTOTYPES
713EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
714#endif
715#endif /* EGL_EXT_device_persistent_id */
716
717#ifndef EGL_EXT_device_query
718#define EGL_EXT_device_query 1
719#endif /* EGL_EXT_device_query */
720
721#ifndef EGL_EXT_device_query_name
722#define EGL_EXT_device_query_name 1
723#define EGL_RENDERER_EXT 0x335F
724#endif /* EGL_EXT_device_query_name */
725
726#ifndef EGL_EXT_explicit_device
727#define EGL_EXT_explicit_device 1
728#endif /* EGL_EXT_explicit_device */
729
730#ifndef EGL_EXT_gl_colorspace_bt2020_hlg
731#define EGL_EXT_gl_colorspace_bt2020_hlg 1
732#define EGL_GL_COLORSPACE_BT2020_HLG_EXT 0x3540
733#endif /* EGL_EXT_gl_colorspace_bt2020_hlg */
734
735#ifndef EGL_EXT_gl_colorspace_bt2020_linear
736#define EGL_EXT_gl_colorspace_bt2020_linear 1
737#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
738#endif /* EGL_EXT_gl_colorspace_bt2020_linear */
739
740#ifndef EGL_EXT_gl_colorspace_bt2020_pq
741#define EGL_EXT_gl_colorspace_bt2020_pq 1
742#define EGL_GL_COLORSPACE_BT2020_PQ_EXT 0x3340
743#endif /* EGL_EXT_gl_colorspace_bt2020_pq */
744
745#ifndef EGL_EXT_gl_colorspace_display_p3
746#define EGL_EXT_gl_colorspace_display_p3 1
747#define EGL_GL_COLORSPACE_DISPLAY_P3_EXT 0x3363
748#endif /* EGL_EXT_gl_colorspace_display_p3 */
749
750#ifndef EGL_EXT_gl_colorspace_display_p3_linear
751#define EGL_EXT_gl_colorspace_display_p3_linear 1
752#define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT 0x3362
753#endif /* EGL_EXT_gl_colorspace_display_p3_linear */
754
755#ifndef EGL_EXT_gl_colorspace_display_p3_passthrough
756#define EGL_EXT_gl_colorspace_display_p3_passthrough 1
757#define EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT 0x3490
758#endif /* EGL_EXT_gl_colorspace_display_p3_passthrough */
759
760#ifndef EGL_EXT_gl_colorspace_scrgb
761#define EGL_EXT_gl_colorspace_scrgb 1
762#define EGL_GL_COLORSPACE_SCRGB_EXT 0x3351
763#endif /* EGL_EXT_gl_colorspace_scrgb */
764
765#ifndef EGL_EXT_gl_colorspace_scrgb_linear
766#define EGL_EXT_gl_colorspace_scrgb_linear 1
767#define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350
768#endif /* EGL_EXT_gl_colorspace_scrgb_linear */
769
770#ifndef EGL_EXT_image_dma_buf_import
771#define EGL_EXT_image_dma_buf_import 1
772#define EGL_LINUX_DMA_BUF_EXT 0x3270
773#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
774#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
775#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
776#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
777#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
778#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
779#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
780#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
781#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
782#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
783#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
784#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
785#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
786#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
787#define EGL_ITU_REC601_EXT 0x327F
788#define EGL_ITU_REC709_EXT 0x3280
789#define EGL_ITU_REC2020_EXT 0x3281
790#define EGL_YUV_FULL_RANGE_EXT 0x3282
791#define EGL_YUV_NARROW_RANGE_EXT 0x3283
792#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284
793#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
794#endif /* EGL_EXT_image_dma_buf_import */
795
796#ifndef EGL_EXT_image_dma_buf_import_modifiers
797#define EGL_EXT_image_dma_buf_import_modifiers 1
798#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
799#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
800#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
801#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
802#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
803#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
804#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
805#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
806#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
807#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
808#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
809typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFFORMATSEXTPROC) (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
810typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFMODIFIERSEXTPROC) (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
811#ifdef EGL_EGLEXT_PROTOTYPES
812EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufFormatsEXT (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
813EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufModifiersEXT (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
814#endif
815#endif /* EGL_EXT_image_dma_buf_import_modifiers */
816
817#ifndef EGL_EXT_image_gl_colorspace
818#define EGL_EXT_image_gl_colorspace 1
819#define EGL_GL_COLORSPACE_DEFAULT_EXT 0x314D
820#endif /* EGL_EXT_image_gl_colorspace */
821
822#ifndef EGL_EXT_image_implicit_sync_control
823#define EGL_EXT_image_implicit_sync_control 1
824#define EGL_IMPORT_SYNC_TYPE_EXT 0x3470
825#define EGL_IMPORT_IMPLICIT_SYNC_EXT 0x3471
826#define EGL_IMPORT_EXPLICIT_SYNC_EXT 0x3472
827#endif /* EGL_EXT_image_implicit_sync_control */
828
829#ifndef EGL_EXT_multiview_window
830#define EGL_EXT_multiview_window 1
831#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134
832#endif /* EGL_EXT_multiview_window */
833
834#ifndef EGL_EXT_output_base
835#define EGL_EXT_output_base 1
836typedef void *EGLOutputLayerEXT;
837typedef void *EGLOutputPortEXT;
838#define EGL_NO_OUTPUT_LAYER_EXT EGL_CAST(EGLOutputLayerEXT,0)
839#define EGL_NO_OUTPUT_PORT_EXT EGL_CAST(EGLOutputPortEXT,0)
840#define EGL_BAD_OUTPUT_LAYER_EXT 0x322D
841#define EGL_BAD_OUTPUT_PORT_EXT 0x322E
842#define EGL_SWAP_INTERVAL_EXT 0x322F
843typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
844typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
845typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
846typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
847typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
848typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
849typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
850typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
851#ifdef EGL_EGLEXT_PROTOTYPES
852EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
853EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
854EGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
855EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
856EGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
857EGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
858EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
859EGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
860#endif
861#endif /* EGL_EXT_output_base */
862
863#ifndef EGL_EXT_output_drm
864#define EGL_EXT_output_drm 1
865#define EGL_DRM_CRTC_EXT 0x3234
866#define EGL_DRM_PLANE_EXT 0x3235
867#define EGL_DRM_CONNECTOR_EXT 0x3236
868#endif /* EGL_EXT_output_drm */
869
870#ifndef EGL_EXT_output_openwf
871#define EGL_EXT_output_openwf 1
872#define EGL_OPENWF_PIPELINE_ID_EXT 0x3238
873#define EGL_OPENWF_PORT_ID_EXT 0x3239
874#endif /* EGL_EXT_output_openwf */
875
876#ifndef EGL_EXT_pixel_format_float
877#define EGL_EXT_pixel_format_float 1
878#define EGL_COLOR_COMPONENT_TYPE_EXT 0x3339
879#define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A
880#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B
881#endif /* EGL_EXT_pixel_format_float */
882
883#ifndef EGL_EXT_platform_base
884#define EGL_EXT_platform_base 1
885typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
886typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
887typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
888#ifdef EGL_EGLEXT_PROTOTYPES
889EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);
890EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
891EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
892#endif
893#endif /* EGL_EXT_platform_base */
894
895#ifndef EGL_EXT_platform_device
896#define EGL_EXT_platform_device 1
897#define EGL_PLATFORM_DEVICE_EXT 0x313F
898#endif /* EGL_EXT_platform_device */
899
900#ifndef EGL_EXT_platform_wayland
901#define EGL_EXT_platform_wayland 1
902#define EGL_PLATFORM_WAYLAND_EXT 0x31D8
903#endif /* EGL_EXT_platform_wayland */
904
905#ifndef EGL_EXT_platform_x11
906#define EGL_EXT_platform_x11 1
907#define EGL_PLATFORM_X11_EXT 0x31D5
908#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6
909#endif /* EGL_EXT_platform_x11 */
910
911#ifndef EGL_EXT_platform_xcb
912#define EGL_EXT_platform_xcb 1
913#define EGL_PLATFORM_XCB_EXT 0x31DC
914#define EGL_PLATFORM_XCB_SCREEN_EXT 0x31DE
915#endif /* EGL_EXT_platform_xcb */
916
917#ifndef EGL_EXT_present_opaque
918#define EGL_EXT_present_opaque 1
919#define EGL_PRESENT_OPAQUE_EXT 0x31DF
920#endif /* EGL_EXT_present_opaque */
921
922#ifndef EGL_EXT_protected_content
923#define EGL_EXT_protected_content 1
924#define EGL_PROTECTED_CONTENT_EXT 0x32C0
925#endif /* EGL_EXT_protected_content */
926
927#ifndef EGL_EXT_protected_surface
928#define EGL_EXT_protected_surface 1
929#endif /* EGL_EXT_protected_surface */
930
931#ifndef EGL_EXT_query_reset_notification_strategy
932#define EGL_EXT_query_reset_notification_strategy 1
933#endif /* EGL_EXT_query_reset_notification_strategy */
934
935#ifndef EGL_EXT_stream_consumer_egloutput
936#define EGL_EXT_stream_consumer_egloutput 1
937typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
938#ifdef EGL_EGLEXT_PROTOTYPES
939EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
940#endif
941#endif /* EGL_EXT_stream_consumer_egloutput */
942
943#ifndef EGL_EXT_surface_CTA861_3_metadata
944#define EGL_EXT_surface_CTA861_3_metadata 1
945#define EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT 0x3360
946#define EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT 0x3361
947#endif /* EGL_EXT_surface_CTA861_3_metadata */
948
949#ifndef EGL_EXT_surface_SMPTE2086_metadata
950#define EGL_EXT_surface_SMPTE2086_metadata 1
951#define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341
952#define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT 0x3342
953#define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT 0x3343
954#define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT 0x3344
955#define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT 0x3345
956#define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT 0x3346
957#define EGL_SMPTE2086_WHITE_POINT_X_EXT 0x3347
958#define EGL_SMPTE2086_WHITE_POINT_Y_EXT 0x3348
959#define EGL_SMPTE2086_MAX_LUMINANCE_EXT 0x3349
960#define EGL_SMPTE2086_MIN_LUMINANCE_EXT 0x334A
961#define EGL_METADATA_SCALING_EXT 50000
962#endif /* EGL_EXT_surface_SMPTE2086_metadata */
963
964#ifndef EGL_EXT_surface_compression
965#define EGL_EXT_surface_compression 1
966#define EGL_SURFACE_COMPRESSION_EXT 0x34B0
967#define EGL_SURFACE_COMPRESSION_PLANE1_EXT 0x328E
968#define EGL_SURFACE_COMPRESSION_PLANE2_EXT 0x328F
969#define EGL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT 0x34B1
970#define EGL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT 0x34B2
971#define EGL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT 0x34B4
972#define EGL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT 0x34B5
973#define EGL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT 0x34B6
974#define EGL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT 0x34B7
975#define EGL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT 0x34B8
976#define EGL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT 0x34B9
977#define EGL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT 0x34BA
978#define EGL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT 0x34BB
979#define EGL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT 0x34BC
980#define EGL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT 0x34BD
981#define EGL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT 0x34BE
982#define EGL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT 0x34BF
983typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSUPPORTEDCOMPRESSIONRATESEXTPROC) (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates);
984#ifdef EGL_EGLEXT_PROTOTYPES
985EGLAPI EGLBoolean EGLAPIENTRY eglQuerySupportedCompressionRatesEXT (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates);
986#endif
987#endif /* EGL_EXT_surface_compression */
988
989#ifndef EGL_EXT_swap_buffers_with_damage
990#define EGL_EXT_swap_buffers_with_damage 1
991typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
992#ifdef EGL_EGLEXT_PROTOTYPES
993EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
994#endif
995#endif /* EGL_EXT_swap_buffers_with_damage */
996
997#ifndef EGL_EXT_sync_reuse
998#define EGL_EXT_sync_reuse 1
999typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1000#ifdef EGL_EGLEXT_PROTOTYPES
1001EGLAPI EGLBoolean EGLAPIENTRY eglUnsignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1002#endif
1003#endif /* EGL_EXT_sync_reuse */
1004
1005#ifndef EGL_EXT_yuv_surface
1006#define EGL_EXT_yuv_surface 1
1007#define EGL_YUV_ORDER_EXT 0x3301
1008#define EGL_YUV_NUMBER_OF_PLANES_EXT 0x3311
1009#define EGL_YUV_SUBSAMPLE_EXT 0x3312
1010#define EGL_YUV_DEPTH_RANGE_EXT 0x3317
1011#define EGL_YUV_CSC_STANDARD_EXT 0x330A
1012#define EGL_YUV_PLANE_BPP_EXT 0x331A
1013#define EGL_YUV_BUFFER_EXT 0x3300
1014#define EGL_YUV_ORDER_YUV_EXT 0x3302
1015#define EGL_YUV_ORDER_YVU_EXT 0x3303
1016#define EGL_YUV_ORDER_YUYV_EXT 0x3304
1017#define EGL_YUV_ORDER_UYVY_EXT 0x3305
1018#define EGL_YUV_ORDER_YVYU_EXT 0x3306
1019#define EGL_YUV_ORDER_VYUY_EXT 0x3307
1020#define EGL_YUV_ORDER_AYUV_EXT 0x3308
1021#define EGL_YUV_SUBSAMPLE_4_2_0_EXT 0x3313
1022#define EGL_YUV_SUBSAMPLE_4_2_2_EXT 0x3314
1023#define EGL_YUV_SUBSAMPLE_4_4_4_EXT 0x3315
1024#define EGL_YUV_DEPTH_RANGE_LIMITED_EXT 0x3318
1025#define EGL_YUV_DEPTH_RANGE_FULL_EXT 0x3319
1026#define EGL_YUV_CSC_STANDARD_601_EXT 0x330B
1027#define EGL_YUV_CSC_STANDARD_709_EXT 0x330C
1028#define EGL_YUV_CSC_STANDARD_2020_EXT 0x330D
1029#define EGL_YUV_PLANE_BPP_0_EXT 0x331B
1030#define EGL_YUV_PLANE_BPP_8_EXT 0x331C
1031#define EGL_YUV_PLANE_BPP_10_EXT 0x331D
1032#endif /* EGL_EXT_yuv_surface */
1033
1034#ifndef EGL_HI_clientpixmap
1035#define EGL_HI_clientpixmap 1
1036struct EGLClientPixmapHI {
1037 void *pData;
1038 EGLint iWidth;
1039 EGLint iHeight;
1040 EGLint iStride;
1041};
1042#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74
1043typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1044#ifdef EGL_EGLEXT_PROTOTYPES
1045EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1046#endif
1047#endif /* EGL_HI_clientpixmap */
1048
1049#ifndef EGL_HI_colorformats
1050#define EGL_HI_colorformats 1
1051#define EGL_COLOR_FORMAT_HI 0x8F70
1052#define EGL_COLOR_RGB_HI 0x8F71
1053#define EGL_COLOR_RGBA_HI 0x8F72
1054#define EGL_COLOR_ARGB_HI 0x8F73
1055#endif /* EGL_HI_colorformats */
1056
1057#ifndef EGL_IMG_context_priority
1058#define EGL_IMG_context_priority 1
1059#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100
1060#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101
1061#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102
1062#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
1063#endif /* EGL_IMG_context_priority */
1064
1065#ifndef EGL_IMG_image_plane_attribs
1066#define EGL_IMG_image_plane_attribs 1
1067#define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105
1068#define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106
1069#endif /* EGL_IMG_image_plane_attribs */
1070
1071#ifndef EGL_MESA_drm_image
1072#define EGL_MESA_drm_image 1
1073#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
1074#define EGL_DRM_BUFFER_USE_MESA 0x31D1
1075#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
1076#define EGL_DRM_BUFFER_MESA 0x31D3
1077#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
1078#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001
1079#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002
1080#define EGL_DRM_BUFFER_USE_CURSOR_MESA 0x00000004
1081typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1082typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1083#ifdef EGL_EGLEXT_PROTOTYPES
1084EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
1085EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1086#endif
1087#endif /* EGL_MESA_drm_image */
1088
1089#ifndef EGL_MESA_image_dma_buf_export
1090#define EGL_MESA_image_dma_buf_export 1
1091typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1092typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1093#ifdef EGL_EGLEXT_PROTOTYPES
1094EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1095EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1096#endif
1097#endif /* EGL_MESA_image_dma_buf_export */
1098
1099#ifndef EGL_MESA_platform_gbm
1100#define EGL_MESA_platform_gbm 1
1101#define EGL_PLATFORM_GBM_MESA 0x31D7
1102#endif /* EGL_MESA_platform_gbm */
1103
1104#ifndef EGL_MESA_platform_surfaceless
1105#define EGL_MESA_platform_surfaceless 1
1106#define EGL_PLATFORM_SURFACELESS_MESA 0x31DD
1107#endif /* EGL_MESA_platform_surfaceless */
1108
1109#ifndef EGL_MESA_query_driver
1110#define EGL_MESA_query_driver 1
1111typedef char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERCONFIGPROC) (EGLDisplay dpy);
1112typedef const char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERNAMEPROC) (EGLDisplay dpy);
1113#ifdef EGL_EGLEXT_PROTOTYPES
1114EGLAPI char *EGLAPIENTRY eglGetDisplayDriverConfig (EGLDisplay dpy);
1115EGLAPI const char *EGLAPIENTRY eglGetDisplayDriverName (EGLDisplay dpy);
1116#endif
1117#endif /* EGL_MESA_query_driver */
1118
1119#ifndef EGL_NOK_swap_region
1120#define EGL_NOK_swap_region 1
1121typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1122#ifdef EGL_EGLEXT_PROTOTYPES
1123EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1124#endif
1125#endif /* EGL_NOK_swap_region */
1126
1127#ifndef EGL_NOK_swap_region2
1128#define EGL_NOK_swap_region2 1
1129typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1130#ifdef EGL_EGLEXT_PROTOTYPES
1131EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1132#endif
1133#endif /* EGL_NOK_swap_region2 */
1134
1135#ifndef EGL_NOK_texture_from_pixmap
1136#define EGL_NOK_texture_from_pixmap 1
1137#define EGL_Y_INVERTED_NOK 0x307F
1138#endif /* EGL_NOK_texture_from_pixmap */
1139
1140#ifndef EGL_NV_3dvision_surface
1141#define EGL_NV_3dvision_surface 1
1142#define EGL_AUTO_STEREO_NV 0x3136
1143#endif /* EGL_NV_3dvision_surface */
1144
1145#ifndef EGL_NV_context_priority_realtime
1146#define EGL_NV_context_priority_realtime 1
1147#define EGL_CONTEXT_PRIORITY_REALTIME_NV 0x3357
1148#endif /* EGL_NV_context_priority_realtime */
1149
1150#ifndef EGL_NV_coverage_sample
1151#define EGL_NV_coverage_sample 1
1152#define EGL_COVERAGE_BUFFERS_NV 0x30E0
1153#define EGL_COVERAGE_SAMPLES_NV 0x30E1
1154#endif /* EGL_NV_coverage_sample */
1155
1156#ifndef EGL_NV_coverage_sample_resolve
1157#define EGL_NV_coverage_sample_resolve 1
1158#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131
1159#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
1160#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
1161#endif /* EGL_NV_coverage_sample_resolve */
1162
1163#ifndef EGL_NV_cuda_event
1164#define EGL_NV_cuda_event 1
1165#define EGL_CUDA_EVENT_HANDLE_NV 0x323B
1166#define EGL_SYNC_CUDA_EVENT_NV 0x323C
1167#define EGL_SYNC_CUDA_EVENT_COMPLETE_NV 0x323D
1168#endif /* EGL_NV_cuda_event */
1169
1170#ifndef EGL_NV_depth_nonlinear
1171#define EGL_NV_depth_nonlinear 1
1172#define EGL_DEPTH_ENCODING_NV 0x30E2
1173#define EGL_DEPTH_ENCODING_NONE_NV 0
1174#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3
1175#endif /* EGL_NV_depth_nonlinear */
1176
1177#ifndef EGL_NV_device_cuda
1178#define EGL_NV_device_cuda 1
1179#define EGL_CUDA_DEVICE_NV 0x323A
1180#endif /* EGL_NV_device_cuda */
1181
1182#ifndef EGL_NV_native_query
1183#define EGL_NV_native_query 1
1184typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1185typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1186typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1187#ifdef EGL_EGLEXT_PROTOTYPES
1188EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1189EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1190EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1191#endif
1192#endif /* EGL_NV_native_query */
1193
1194#ifndef EGL_NV_post_convert_rounding
1195#define EGL_NV_post_convert_rounding 1
1196#endif /* EGL_NV_post_convert_rounding */
1197
1198#ifndef EGL_NV_post_sub_buffer
1199#define EGL_NV_post_sub_buffer 1
1200#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE
1201typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
1202#ifdef EGL_EGLEXT_PROTOTYPES
1203EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
1204#endif
1205#endif /* EGL_NV_post_sub_buffer */
1206
1207#ifndef EGL_NV_quadruple_buffer
1208#define EGL_NV_quadruple_buffer 1
1209#define EGL_QUADRUPLE_BUFFER_NV 0x3231
1210#endif /* EGL_NV_quadruple_buffer */
1211
1212#ifndef EGL_NV_robustness_video_memory_purge
1213#define EGL_NV_robustness_video_memory_purge 1
1214#define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C
1215#endif /* EGL_NV_robustness_video_memory_purge */
1216
1217#ifndef EGL_NV_stream_consumer_eglimage
1218#define EGL_NV_stream_consumer_eglimage 1
1219#define EGL_STREAM_CONSUMER_IMAGE_NV 0x3373
1220#define EGL_STREAM_IMAGE_ADD_NV 0x3374
1221#define EGL_STREAM_IMAGE_REMOVE_NV 0x3375
1222#define EGL_STREAM_IMAGE_AVAILABLE_NV 0x3376
1223typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list);
1224typedef EGLint (EGLAPIENTRYP PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
1225typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMACQUIREIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
1226typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMRELEASEIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
1227#ifdef EGL_EGLEXT_PROTOTYPES
1228EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list);
1229EGLAPI EGLint EGLAPIENTRY eglQueryStreamConsumerEventNV (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
1230EGLAPI EGLBoolean EGLAPIENTRY eglStreamAcquireImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
1231EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
1232#endif
1233#endif /* EGL_NV_stream_consumer_eglimage */
1234
1235#ifndef EGL_NV_stream_consumer_eglimage_use_scanout_attrib
1236#define EGL_NV_stream_consumer_eglimage_use_scanout_attrib 1
1237#define EGL_STREAM_CONSUMER_IMAGE_USE_SCANOUT_NV 0x3378
1238#endif /* EGL_NV_stream_consumer_eglimage_use_scanout_attrib */
1239
1240#ifndef EGL_NV_stream_consumer_gltexture_yuv
1241#define EGL_NV_stream_consumer_gltexture_yuv 1
1242#define EGL_YUV_PLANE0_TEXTURE_UNIT_NV 0x332C
1243#define EGL_YUV_PLANE1_TEXTURE_UNIT_NV 0x332D
1244#define EGL_YUV_PLANE2_TEXTURE_UNIT_NV 0x332E
1245typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1246#ifdef EGL_EGLEXT_PROTOTYPES
1247EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1248#endif
1249#endif /* EGL_NV_stream_consumer_gltexture_yuv */
1250
1251#ifndef EGL_NV_stream_cross_display
1252#define EGL_NV_stream_cross_display 1
1253#define EGL_STREAM_CROSS_DISPLAY_NV 0x334E
1254#endif /* EGL_NV_stream_cross_display */
1255
1256#ifndef EGL_NV_stream_cross_object
1257#define EGL_NV_stream_cross_object 1
1258#define EGL_STREAM_CROSS_OBJECT_NV 0x334D
1259#endif /* EGL_NV_stream_cross_object */
1260
1261#ifndef EGL_NV_stream_cross_partition
1262#define EGL_NV_stream_cross_partition 1
1263#define EGL_STREAM_CROSS_PARTITION_NV 0x323F
1264#endif /* EGL_NV_stream_cross_partition */
1265
1266#ifndef EGL_NV_stream_cross_process
1267#define EGL_NV_stream_cross_process 1
1268#define EGL_STREAM_CROSS_PROCESS_NV 0x3245
1269#endif /* EGL_NV_stream_cross_process */
1270
1271#ifndef EGL_NV_stream_cross_system
1272#define EGL_NV_stream_cross_system 1
1273#define EGL_STREAM_CROSS_SYSTEM_NV 0x334F
1274#endif /* EGL_NV_stream_cross_system */
1275
1276#ifndef EGL_NV_stream_dma
1277#define EGL_NV_stream_dma 1
1278#define EGL_STREAM_DMA_NV 0x3371
1279#define EGL_STREAM_DMA_SERVER_NV 0x3372
1280#endif /* EGL_NV_stream_dma */
1281
1282#ifndef EGL_NV_stream_fifo_next
1283#define EGL_NV_stream_fifo_next 1
1284#define EGL_PENDING_FRAME_NV 0x3329
1285#define EGL_STREAM_TIME_PENDING_NV 0x332A
1286#endif /* EGL_NV_stream_fifo_next */
1287
1288#ifndef EGL_NV_stream_fifo_synchronous
1289#define EGL_NV_stream_fifo_synchronous 1
1290#define EGL_STREAM_FIFO_SYNCHRONOUS_NV 0x3336
1291#endif /* EGL_NV_stream_fifo_synchronous */
1292
1293#ifndef EGL_NV_stream_flush
1294#define EGL_NV_stream_flush 1
1295typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMFLUSHNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1296#ifdef EGL_EGLEXT_PROTOTYPES
1297EGLAPI EGLBoolean EGLAPIENTRY eglStreamFlushNV (EGLDisplay dpy, EGLStreamKHR stream);
1298#endif
1299#endif /* EGL_NV_stream_flush */
1300
1301#ifndef EGL_NV_stream_frame_limits
1302#define EGL_NV_stream_frame_limits 1
1303#define EGL_PRODUCER_MAX_FRAME_HINT_NV 0x3337
1304#define EGL_CONSUMER_MAX_FRAME_HINT_NV 0x3338
1305#endif /* EGL_NV_stream_frame_limits */
1306
1307#ifndef EGL_NV_stream_metadata
1308#define EGL_NV_stream_metadata 1
1309#define EGL_MAX_STREAM_METADATA_BLOCKS_NV 0x3250
1310#define EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV 0x3251
1311#define EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV 0x3252
1312#define EGL_PRODUCER_METADATA_NV 0x3253
1313#define EGL_CONSUMER_METADATA_NV 0x3254
1314#define EGL_PENDING_METADATA_NV 0x3328
1315#define EGL_METADATA0_SIZE_NV 0x3255
1316#define EGL_METADATA1_SIZE_NV 0x3256
1317#define EGL_METADATA2_SIZE_NV 0x3257
1318#define EGL_METADATA3_SIZE_NV 0x3258
1319#define EGL_METADATA0_TYPE_NV 0x3259
1320#define EGL_METADATA1_TYPE_NV 0x325A
1321#define EGL_METADATA2_TYPE_NV 0x325B
1322#define EGL_METADATA3_TYPE_NV 0x325C
1323typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBNVPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1324typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
1325typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
1326#ifdef EGL_EGLEXT_PROTOTYPES
1327EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribNV (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1328EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
1329EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
1330#endif
1331#endif /* EGL_NV_stream_metadata */
1332
1333#ifndef EGL_NV_stream_origin
1334#define EGL_NV_stream_origin 1
1335#define EGL_STREAM_FRAME_ORIGIN_X_NV 0x3366
1336#define EGL_STREAM_FRAME_ORIGIN_Y_NV 0x3367
1337#define EGL_STREAM_FRAME_MAJOR_AXIS_NV 0x3368
1338#define EGL_CONSUMER_AUTO_ORIENTATION_NV 0x3369
1339#define EGL_PRODUCER_AUTO_ORIENTATION_NV 0x336A
1340#define EGL_LEFT_NV 0x336B
1341#define EGL_RIGHT_NV 0x336C
1342#define EGL_TOP_NV 0x336D
1343#define EGL_BOTTOM_NV 0x336E
1344#define EGL_X_AXIS_NV 0x336F
1345#define EGL_Y_AXIS_NV 0x3370
1346#endif /* EGL_NV_stream_origin */
1347
1348#ifndef EGL_NV_stream_remote
1349#define EGL_NV_stream_remote 1
1350#define EGL_STREAM_STATE_INITIALIZING_NV 0x3240
1351#define EGL_STREAM_TYPE_NV 0x3241
1352#define EGL_STREAM_PROTOCOL_NV 0x3242
1353#define EGL_STREAM_ENDPOINT_NV 0x3243
1354#define EGL_STREAM_LOCAL_NV 0x3244
1355#define EGL_STREAM_PRODUCER_NV 0x3247
1356#define EGL_STREAM_CONSUMER_NV 0x3248
1357#define EGL_STREAM_PROTOCOL_FD_NV 0x3246
1358#endif /* EGL_NV_stream_remote */
1359
1360#ifndef EGL_NV_stream_reset
1361#define EGL_NV_stream_reset 1
1362#define EGL_SUPPORT_RESET_NV 0x3334
1363#define EGL_SUPPORT_REUSE_NV 0x3335
1364typedef EGLBoolean (EGLAPIENTRYP PFNEGLRESETSTREAMNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1365#ifdef EGL_EGLEXT_PROTOTYPES
1366EGLAPI EGLBoolean EGLAPIENTRY eglResetStreamNV (EGLDisplay dpy, EGLStreamKHR stream);
1367#endif
1368#endif /* EGL_NV_stream_reset */
1369
1370#ifndef EGL_NV_stream_socket
1371#define EGL_NV_stream_socket 1
1372#define EGL_STREAM_PROTOCOL_SOCKET_NV 0x324B
1373#define EGL_SOCKET_HANDLE_NV 0x324C
1374#define EGL_SOCKET_TYPE_NV 0x324D
1375#endif /* EGL_NV_stream_socket */
1376
1377#ifndef EGL_NV_stream_socket_inet
1378#define EGL_NV_stream_socket_inet 1
1379#define EGL_SOCKET_TYPE_INET_NV 0x324F
1380#endif /* EGL_NV_stream_socket_inet */
1381
1382#ifndef EGL_NV_stream_socket_unix
1383#define EGL_NV_stream_socket_unix 1
1384#define EGL_SOCKET_TYPE_UNIX_NV 0x324E
1385#endif /* EGL_NV_stream_socket_unix */
1386
1387#ifndef EGL_NV_stream_sync
1388#define EGL_NV_stream_sync 1
1389#define EGL_SYNC_NEW_FRAME_NV 0x321F
1390typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
1391#ifdef EGL_EGLEXT_PROTOTYPES
1392EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
1393#endif
1394#endif /* EGL_NV_stream_sync */
1395
1396#ifndef EGL_NV_sync
1397#define EGL_NV_sync 1
1398typedef void *EGLSyncNV;
1399typedef khronos_utime_nanoseconds_t EGLTimeNV;
1400#ifdef KHRONOS_SUPPORT_INT64
1401#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6
1402#define EGL_SYNC_STATUS_NV 0x30E7
1403#define EGL_SIGNALED_NV 0x30E8
1404#define EGL_UNSIGNALED_NV 0x30E9
1405#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001
1406#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull
1407#define EGL_ALREADY_SIGNALED_NV 0x30EA
1408#define EGL_TIMEOUT_EXPIRED_NV 0x30EB
1409#define EGL_CONDITION_SATISFIED_NV 0x30EC
1410#define EGL_SYNC_TYPE_NV 0x30ED
1411#define EGL_SYNC_CONDITION_NV 0x30EE
1412#define EGL_SYNC_FENCE_NV 0x30EF
1413#define EGL_NO_SYNC_NV EGL_CAST(EGLSyncNV,0)
1414typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1415typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
1416typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
1417typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1418typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
1419typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
1420#ifdef EGL_EGLEXT_PROTOTYPES
1421EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1422EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
1423EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
1424EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1425EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
1426EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
1427#endif
1428#endif /* KHRONOS_SUPPORT_INT64 */
1429#endif /* EGL_NV_sync */
1430
1431#ifndef EGL_NV_system_time
1432#define EGL_NV_system_time 1
1433typedef khronos_utime_nanoseconds_t EGLuint64NV;
1434#ifdef KHRONOS_SUPPORT_INT64
1435typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
1436typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
1437#ifdef EGL_EGLEXT_PROTOTYPES
1438EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);
1439EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
1440#endif
1441#endif /* KHRONOS_SUPPORT_INT64 */
1442#endif /* EGL_NV_system_time */
1443
1444#ifndef EGL_NV_triple_buffer
1445#define EGL_NV_triple_buffer 1
1446#define EGL_TRIPLE_BUFFER_NV 0x3230
1447#endif /* EGL_NV_triple_buffer */
1448
1449#ifndef EGL_QNX_image_native_buffer
1450#define EGL_QNX_image_native_buffer 1
1451#define EGL_NATIVE_BUFFER_QNX 0x3551
1452#endif /* EGL_QNX_image_native_buffer */
1453
1454#ifndef EGL_QNX_platform_screen
1455#define EGL_QNX_platform_screen 1
1456#define EGL_PLATFORM_SCREEN_QNX 0x3550
1457#endif /* EGL_QNX_platform_screen */
1458
1459#ifndef EGL_TIZEN_image_native_buffer
1460#define EGL_TIZEN_image_native_buffer 1
1461#define EGL_NATIVE_BUFFER_TIZEN 0x32A0
1462#endif /* EGL_TIZEN_image_native_buffer */
1463
1464#ifndef EGL_TIZEN_image_native_surface
1465#define EGL_TIZEN_image_native_surface 1
1466#define EGL_NATIVE_SURFACE_TIZEN 0x32A1
1467#endif /* EGL_TIZEN_image_native_surface */
1468
1469#ifndef EGL_WL_bind_wayland_display
1470#define EGL_WL_bind_wayland_display 1
1471#define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC
1472#define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC
1473#define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC
1474struct wl_display;
1475struct wl_resource;
1476#define EGL_WAYLAND_BUFFER_WL 0x31D5
1477#define EGL_WAYLAND_PLANE_WL 0x31D6
1478#define EGL_TEXTURE_Y_U_V_WL 0x31D7
1479#define EGL_TEXTURE_Y_UV_WL 0x31D8
1480#define EGL_TEXTURE_Y_XUXV_WL 0x31D9
1481#define EGL_TEXTURE_EXTERNAL_WL 0x31DA
1482#define EGL_WAYLAND_Y_INVERTED_WL 0x31DB
1483typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
1484typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
1485typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWLPROC) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
1486#ifdef EGL_EGLEXT_PROTOTYPES
1487EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
1488EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
1489EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
1490#endif
1491#endif /* EGL_WL_bind_wayland_display */
1492
1493#ifndef EGL_WL_create_wayland_buffer_from_image
1494#define EGL_WL_create_wayland_buffer_from_image 1
1495#define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC
1496struct wl_buffer;
1497typedef struct wl_buffer *(EGLAPIENTRYP PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC) (EGLDisplay dpy, EGLImageKHR image);
1498#ifdef EGL_EGLEXT_PROTOTYPES
1499EGLAPI struct wl_buffer *EGLAPIENTRY eglCreateWaylandBufferFromImageWL (EGLDisplay dpy, EGLImageKHR image);
1500#endif
1501#endif /* EGL_WL_create_wayland_buffer_from_image */
1502
1503#ifdef __cplusplus
1504}
1505#endif
1506
1507#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/EGL/eglplatform.h b/contrib/SDL-3.2.8/src/video/khronos/EGL/eglplatform.h
new file mode 100644
index 0000000..6786afd
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/EGL/eglplatform.h
@@ -0,0 +1,175 @@
1#ifndef __eglplatform_h_
2#define __eglplatform_h_
3
4/*
5** Copyright 2007-2020 The Khronos Group Inc.
6** SPDX-License-Identifier: Apache-2.0
7*/
8
9/* Platform-specific types and definitions for egl.h
10 *
11 * Adopters may modify khrplatform.h and this file to suit their platform.
12 * You are encouraged to submit all modifications to the Khronos group so that
13 * they can be included in future versions of this file. Please submit changes
14 * by filing an issue or pull request on the public Khronos EGL Registry, at
15 * https://www.github.com/KhronosGroup/EGL-Registry/
16 */
17
18#include <KHR/khrplatform.h>
19
20/* Macros used in EGL function prototype declarations.
21 *
22 * EGL functions should be prototyped as:
23 *
24 * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
25 * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
26 *
27 * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
28 */
29
30#ifndef EGLAPI
31#define EGLAPI KHRONOS_APICALL
32#endif
33
34#ifndef EGLAPIENTRY
35#define EGLAPIENTRY KHRONOS_APIENTRY
36#endif
37#define EGLAPIENTRYP EGLAPIENTRY*
38
39/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
40 * are aliases of window-system-dependent types, such as X Display * or
41 * Windows Device Context. They must be defined in platform-specific
42 * code below. The EGL-prefixed versions of Native*Type are the same
43 * types, renamed in EGL 1.3 so all types in the API start with "EGL".
44 *
45 * Khronos STRONGLY RECOMMENDS that you use the default definitions
46 * provided below, since these changes affect both binary and source
47 * portability of applications using EGL running on different EGL
48 * implementations.
49 */
50
51#if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES)
52
53typedef void *EGLNativeDisplayType;
54typedef void *EGLNativePixmapType;
55typedef void *EGLNativeWindowType;
56
57#elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
58#ifndef WIN32_LEAN_AND_MEAN
59#define WIN32_LEAN_AND_MEAN 1
60#endif
61#include <windows.h>
62
63typedef HDC EGLNativeDisplayType;
64typedef HBITMAP EGLNativePixmapType;
65typedef HWND EGLNativeWindowType;
66
67#elif defined(__QNX__)
68
69typedef khronos_uintptr_t EGLNativeDisplayType;
70typedef struct _screen_pixmap* EGLNativePixmapType; /* screen_pixmap_t */
71typedef struct _screen_window* EGLNativeWindowType; /* screen_window_t */
72
73#elif defined(__EMSCRIPTEN__)
74
75typedef int EGLNativeDisplayType;
76typedef int EGLNativePixmapType;
77typedef int EGLNativeWindowType;
78
79#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
80
81typedef int EGLNativeDisplayType;
82typedef void *EGLNativePixmapType;
83typedef void *EGLNativeWindowType;
84
85#elif defined(WL_EGL_PLATFORM)
86
87typedef struct wl_display *EGLNativeDisplayType;
88typedef struct wl_egl_pixmap *EGLNativePixmapType;
89typedef struct wl_egl_window *EGLNativeWindowType;
90
91#elif defined(__GBM__)
92
93typedef struct gbm_device *EGLNativeDisplayType;
94typedef struct gbm_bo *EGLNativePixmapType;
95typedef void *EGLNativeWindowType;
96
97#elif defined(__ANDROID__) || defined(ANDROID)
98
99struct ANativeWindow;
100struct egl_native_pixmap_t;
101
102typedef void* EGLNativeDisplayType;
103typedef struct egl_native_pixmap_t* EGLNativePixmapType;
104typedef struct ANativeWindow* EGLNativeWindowType;
105
106#elif defined(USE_OZONE)
107
108typedef intptr_t EGLNativeDisplayType;
109typedef intptr_t EGLNativePixmapType;
110typedef intptr_t EGLNativeWindowType;
111
112#elif defined(USE_X11)
113
114/* X11 (tentative) */
115#include <X11/Xlib.h>
116#include <X11/Xutil.h>
117
118typedef Display *EGLNativeDisplayType;
119typedef Pixmap EGLNativePixmapType;
120typedef Window EGLNativeWindowType;
121
122#elif defined(__unix__)
123
124typedef void *EGLNativeDisplayType;
125typedef khronos_uintptr_t EGLNativePixmapType;
126typedef khronos_uintptr_t EGLNativeWindowType;
127
128#elif defined(__APPLE__)
129
130typedef int EGLNativeDisplayType;
131typedef void *EGLNativePixmapType;
132typedef void *EGLNativeWindowType;
133
134#elif defined(__HAIKU__)
135
136#include <kernel/image.h>
137
138typedef void *EGLNativeDisplayType;
139typedef khronos_uintptr_t EGLNativePixmapType;
140typedef khronos_uintptr_t EGLNativeWindowType;
141
142#elif defined(__Fuchsia__)
143
144typedef void *EGLNativeDisplayType;
145typedef khronos_uintptr_t EGLNativePixmapType;
146typedef khronos_uintptr_t EGLNativeWindowType;
147
148#else
149#error "Platform not recognized"
150#endif
151
152/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
153typedef EGLNativeDisplayType NativeDisplayType;
154typedef EGLNativePixmapType NativePixmapType;
155typedef EGLNativeWindowType NativeWindowType;
156
157
158/* Define EGLint. This must be a signed integral type large enough to contain
159 * all legal attribute names and values passed into and out of EGL, whether
160 * their type is boolean, bitmask, enumerant (symbolic constant), integer,
161 * handle, or other. While in general a 32-bit integer will suffice, if
162 * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
163 * integer type.
164 */
165typedef khronos_int32_t EGLint;
166
167
168/* C++ / C typecast macros for special EGL handle values */
169#if defined(__cplusplus)
170#define EGL_CAST(type, value) (static_cast<type>(value))
171#else
172#define EGL_CAST(type, value) ((type) (value))
173#endif
174
175#endif /* __eglplatform_h */
diff --git a/contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2.h b/contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2.h
new file mode 100644
index 0000000..6be4e36
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2.h
@@ -0,0 +1,656 @@
1#ifndef __gles2_gl2_h_
2#define __gles2_gl2_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright 2013-2020 The Khronos Group Inc.
10** SPDX-License-Identifier: MIT
11**
12** This header is generated from the Khronos OpenGL / OpenGL ES XML
13** API Registry. The current version of the Registry, generator scripts
14** used to make the header, and the header can be found at
15** https://github.com/KhronosGroup/OpenGL-Registry
16*/
17
18#include <GLES2/gl2platform.h>
19
20#ifndef GL_APIENTRYP
21#define GL_APIENTRYP GL_APIENTRY*
22#endif
23
24#ifndef GL_GLES_PROTOTYPES
25#define GL_GLES_PROTOTYPES 1
26#endif
27
28/* Generated on date 20231129 */
29
30/* Generated C header for:
31 * API: gles2
32 * Profile: common
33 * Versions considered: 2\.[0-9]
34 * Versions emitted: .*
35 * Default extensions included: None
36 * Additional extensions included: _nomatch_^
37 * Extensions removed: _nomatch_^
38 */
39
40#ifndef GL_ES_VERSION_2_0
41#define GL_ES_VERSION_2_0 1
42#include <KHR/khrplatform.h>
43typedef khronos_int8_t GLbyte;
44typedef khronos_float_t GLclampf;
45typedef khronos_int32_t GLfixed;
46typedef khronos_int16_t GLshort;
47typedef khronos_uint16_t GLushort;
48typedef void GLvoid;
49typedef struct __GLsync *GLsync;
50typedef khronos_int64_t GLint64;
51typedef khronos_uint64_t GLuint64;
52typedef unsigned int GLenum;
53typedef unsigned int GLuint;
54typedef char GLchar;
55typedef khronos_float_t GLfloat;
56typedef khronos_ssize_t GLsizeiptr;
57typedef khronos_intptr_t GLintptr;
58typedef unsigned int GLbitfield;
59typedef int GLint;
60typedef unsigned char GLboolean;
61typedef int GLsizei;
62typedef khronos_uint8_t GLubyte;
63#define GL_DEPTH_BUFFER_BIT 0x00000100
64#define GL_STENCIL_BUFFER_BIT 0x00000400
65#define GL_COLOR_BUFFER_BIT 0x00004000
66#define GL_FALSE 0
67#define GL_TRUE 1
68#define GL_POINTS 0x0000
69#define GL_LINES 0x0001
70#define GL_LINE_LOOP 0x0002
71#define GL_LINE_STRIP 0x0003
72#define GL_TRIANGLES 0x0004
73#define GL_TRIANGLE_STRIP 0x0005
74#define GL_TRIANGLE_FAN 0x0006
75#define GL_ZERO 0
76#define GL_ONE 1
77#define GL_SRC_COLOR 0x0300
78#define GL_ONE_MINUS_SRC_COLOR 0x0301
79#define GL_SRC_ALPHA 0x0302
80#define GL_ONE_MINUS_SRC_ALPHA 0x0303
81#define GL_DST_ALPHA 0x0304
82#define GL_ONE_MINUS_DST_ALPHA 0x0305
83#define GL_DST_COLOR 0x0306
84#define GL_ONE_MINUS_DST_COLOR 0x0307
85#define GL_SRC_ALPHA_SATURATE 0x0308
86#define GL_FUNC_ADD 0x8006
87#define GL_BLEND_EQUATION 0x8009
88#define GL_BLEND_EQUATION_RGB 0x8009
89#define GL_BLEND_EQUATION_ALPHA 0x883D
90#define GL_FUNC_SUBTRACT 0x800A
91#define GL_FUNC_REVERSE_SUBTRACT 0x800B
92#define GL_BLEND_DST_RGB 0x80C8
93#define GL_BLEND_SRC_RGB 0x80C9
94#define GL_BLEND_DST_ALPHA 0x80CA
95#define GL_BLEND_SRC_ALPHA 0x80CB
96#define GL_CONSTANT_COLOR 0x8001
97#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
98#define GL_CONSTANT_ALPHA 0x8003
99#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
100#define GL_BLEND_COLOR 0x8005
101#define GL_ARRAY_BUFFER 0x8892
102#define GL_ELEMENT_ARRAY_BUFFER 0x8893
103#define GL_ARRAY_BUFFER_BINDING 0x8894
104#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
105#define GL_STREAM_DRAW 0x88E0
106#define GL_STATIC_DRAW 0x88E4
107#define GL_DYNAMIC_DRAW 0x88E8
108#define GL_BUFFER_SIZE 0x8764
109#define GL_BUFFER_USAGE 0x8765
110#define GL_CURRENT_VERTEX_ATTRIB 0x8626
111#define GL_FRONT 0x0404
112#define GL_BACK 0x0405
113#define GL_FRONT_AND_BACK 0x0408
114#define GL_TEXTURE_2D 0x0DE1
115#define GL_CULL_FACE 0x0B44
116#define GL_BLEND 0x0BE2
117#define GL_DITHER 0x0BD0
118#define GL_STENCIL_TEST 0x0B90
119#define GL_DEPTH_TEST 0x0B71
120#define GL_SCISSOR_TEST 0x0C11
121#define GL_POLYGON_OFFSET_FILL 0x8037
122#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
123#define GL_SAMPLE_COVERAGE 0x80A0
124#define GL_NO_ERROR 0
125#define GL_INVALID_ENUM 0x0500
126#define GL_INVALID_VALUE 0x0501
127#define GL_INVALID_OPERATION 0x0502
128#define GL_OUT_OF_MEMORY 0x0505
129#define GL_CW 0x0900
130#define GL_CCW 0x0901
131#define GL_LINE_WIDTH 0x0B21
132#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
133#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
134#define GL_CULL_FACE_MODE 0x0B45
135#define GL_FRONT_FACE 0x0B46
136#define GL_DEPTH_RANGE 0x0B70
137#define GL_DEPTH_WRITEMASK 0x0B72
138#define GL_DEPTH_CLEAR_VALUE 0x0B73
139#define GL_DEPTH_FUNC 0x0B74
140#define GL_STENCIL_CLEAR_VALUE 0x0B91
141#define GL_STENCIL_FUNC 0x0B92
142#define GL_STENCIL_FAIL 0x0B94
143#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
144#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
145#define GL_STENCIL_REF 0x0B97
146#define GL_STENCIL_VALUE_MASK 0x0B93
147#define GL_STENCIL_WRITEMASK 0x0B98
148#define GL_STENCIL_BACK_FUNC 0x8800
149#define GL_STENCIL_BACK_FAIL 0x8801
150#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
151#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
152#define GL_STENCIL_BACK_REF 0x8CA3
153#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
154#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
155#define GL_VIEWPORT 0x0BA2
156#define GL_SCISSOR_BOX 0x0C10
157#define GL_COLOR_CLEAR_VALUE 0x0C22
158#define GL_COLOR_WRITEMASK 0x0C23
159#define GL_UNPACK_ALIGNMENT 0x0CF5
160#define GL_PACK_ALIGNMENT 0x0D05
161#define GL_MAX_TEXTURE_SIZE 0x0D33
162#define GL_MAX_VIEWPORT_DIMS 0x0D3A
163#define GL_SUBPIXEL_BITS 0x0D50
164#define GL_RED_BITS 0x0D52
165#define GL_GREEN_BITS 0x0D53
166#define GL_BLUE_BITS 0x0D54
167#define GL_ALPHA_BITS 0x0D55
168#define GL_DEPTH_BITS 0x0D56
169#define GL_STENCIL_BITS 0x0D57
170#define GL_POLYGON_OFFSET_UNITS 0x2A00
171#define GL_POLYGON_OFFSET_FACTOR 0x8038
172#define GL_TEXTURE_BINDING_2D 0x8069
173#define GL_SAMPLE_BUFFERS 0x80A8
174#define GL_SAMPLES 0x80A9
175#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
176#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
177#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
178#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
179#define GL_DONT_CARE 0x1100
180#define GL_FASTEST 0x1101
181#define GL_NICEST 0x1102
182#define GL_GENERATE_MIPMAP_HINT 0x8192
183#define GL_BYTE 0x1400
184#define GL_UNSIGNED_BYTE 0x1401
185#define GL_SHORT 0x1402
186#define GL_UNSIGNED_SHORT 0x1403
187#define GL_INT 0x1404
188#define GL_UNSIGNED_INT 0x1405
189#define GL_FLOAT 0x1406
190#define GL_FIXED 0x140C
191#define GL_DEPTH_COMPONENT 0x1902
192#define GL_ALPHA 0x1906
193#define GL_RGB 0x1907
194#define GL_RGBA 0x1908
195#define GL_LUMINANCE 0x1909
196#define GL_LUMINANCE_ALPHA 0x190A
197#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
198#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
199#define GL_UNSIGNED_SHORT_5_6_5 0x8363
200#define GL_FRAGMENT_SHADER 0x8B30
201#define GL_VERTEX_SHADER 0x8B31
202#define GL_MAX_VERTEX_ATTRIBS 0x8869
203#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
204#define GL_MAX_VARYING_VECTORS 0x8DFC
205#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
206#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
207#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
208#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
209#define GL_SHADER_TYPE 0x8B4F
210#define GL_DELETE_STATUS 0x8B80
211#define GL_LINK_STATUS 0x8B82
212#define GL_VALIDATE_STATUS 0x8B83
213#define GL_ATTACHED_SHADERS 0x8B85
214#define GL_ACTIVE_UNIFORMS 0x8B86
215#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
216#define GL_ACTIVE_ATTRIBUTES 0x8B89
217#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
218#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
219#define GL_CURRENT_PROGRAM 0x8B8D
220#define GL_NEVER 0x0200
221#define GL_LESS 0x0201
222#define GL_EQUAL 0x0202
223#define GL_LEQUAL 0x0203
224#define GL_GREATER 0x0204
225#define GL_NOTEQUAL 0x0205
226#define GL_GEQUAL 0x0206
227#define GL_ALWAYS 0x0207
228#define GL_KEEP 0x1E00
229#define GL_REPLACE 0x1E01
230#define GL_INCR 0x1E02
231#define GL_DECR 0x1E03
232#define GL_INVERT 0x150A
233#define GL_INCR_WRAP 0x8507
234#define GL_DECR_WRAP 0x8508
235#define GL_VENDOR 0x1F00
236#define GL_RENDERER 0x1F01
237#define GL_VERSION 0x1F02
238#define GL_EXTENSIONS 0x1F03
239#define GL_NEAREST 0x2600
240#define GL_LINEAR 0x2601
241#define GL_NEAREST_MIPMAP_NEAREST 0x2700
242#define GL_LINEAR_MIPMAP_NEAREST 0x2701
243#define GL_NEAREST_MIPMAP_LINEAR 0x2702
244#define GL_LINEAR_MIPMAP_LINEAR 0x2703
245#define GL_TEXTURE_MAG_FILTER 0x2800
246#define GL_TEXTURE_MIN_FILTER 0x2801
247#define GL_TEXTURE_WRAP_S 0x2802
248#define GL_TEXTURE_WRAP_T 0x2803
249#define GL_TEXTURE 0x1702
250#define GL_TEXTURE_CUBE_MAP 0x8513
251#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
252#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
253#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
254#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
255#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
256#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
257#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
258#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
259#define GL_TEXTURE0 0x84C0
260#define GL_TEXTURE1 0x84C1
261#define GL_TEXTURE2 0x84C2
262#define GL_TEXTURE3 0x84C3
263#define GL_TEXTURE4 0x84C4
264#define GL_TEXTURE5 0x84C5
265#define GL_TEXTURE6 0x84C6
266#define GL_TEXTURE7 0x84C7
267#define GL_TEXTURE8 0x84C8
268#define GL_TEXTURE9 0x84C9
269#define GL_TEXTURE10 0x84CA
270#define GL_TEXTURE11 0x84CB
271#define GL_TEXTURE12 0x84CC
272#define GL_TEXTURE13 0x84CD
273#define GL_TEXTURE14 0x84CE
274#define GL_TEXTURE15 0x84CF
275#define GL_TEXTURE16 0x84D0
276#define GL_TEXTURE17 0x84D1
277#define GL_TEXTURE18 0x84D2
278#define GL_TEXTURE19 0x84D3
279#define GL_TEXTURE20 0x84D4
280#define GL_TEXTURE21 0x84D5
281#define GL_TEXTURE22 0x84D6
282#define GL_TEXTURE23 0x84D7
283#define GL_TEXTURE24 0x84D8
284#define GL_TEXTURE25 0x84D9
285#define GL_TEXTURE26 0x84DA
286#define GL_TEXTURE27 0x84DB
287#define GL_TEXTURE28 0x84DC
288#define GL_TEXTURE29 0x84DD
289#define GL_TEXTURE30 0x84DE
290#define GL_TEXTURE31 0x84DF
291#define GL_ACTIVE_TEXTURE 0x84E0
292#define GL_REPEAT 0x2901
293#define GL_CLAMP_TO_EDGE 0x812F
294#define GL_MIRRORED_REPEAT 0x8370
295#define GL_FLOAT_VEC2 0x8B50
296#define GL_FLOAT_VEC3 0x8B51
297#define GL_FLOAT_VEC4 0x8B52
298#define GL_INT_VEC2 0x8B53
299#define GL_INT_VEC3 0x8B54
300#define GL_INT_VEC4 0x8B55
301#define GL_BOOL 0x8B56
302#define GL_BOOL_VEC2 0x8B57
303#define GL_BOOL_VEC3 0x8B58
304#define GL_BOOL_VEC4 0x8B59
305#define GL_FLOAT_MAT2 0x8B5A
306#define GL_FLOAT_MAT3 0x8B5B
307#define GL_FLOAT_MAT4 0x8B5C
308#define GL_SAMPLER_2D 0x8B5E
309#define GL_SAMPLER_CUBE 0x8B60
310#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
311#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
312#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
313#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
314#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
315#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
316#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
317#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
318#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
319#define GL_COMPILE_STATUS 0x8B81
320#define GL_INFO_LOG_LENGTH 0x8B84
321#define GL_SHADER_SOURCE_LENGTH 0x8B88
322#define GL_SHADER_COMPILER 0x8DFA
323#define GL_SHADER_BINARY_FORMATS 0x8DF8
324#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
325#define GL_LOW_FLOAT 0x8DF0
326#define GL_MEDIUM_FLOAT 0x8DF1
327#define GL_HIGH_FLOAT 0x8DF2
328#define GL_LOW_INT 0x8DF3
329#define GL_MEDIUM_INT 0x8DF4
330#define GL_HIGH_INT 0x8DF5
331#define GL_FRAMEBUFFER 0x8D40
332#define GL_RENDERBUFFER 0x8D41
333#define GL_RGBA4 0x8056
334#define GL_RGB5_A1 0x8057
335#define GL_RGB565 0x8D62
336#define GL_DEPTH_COMPONENT16 0x81A5
337#define GL_STENCIL_INDEX8 0x8D48
338#define GL_RENDERBUFFER_WIDTH 0x8D42
339#define GL_RENDERBUFFER_HEIGHT 0x8D43
340#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
341#define GL_RENDERBUFFER_RED_SIZE 0x8D50
342#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
343#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
344#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
345#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
346#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
347#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
348#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
349#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
350#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
351#define GL_COLOR_ATTACHMENT0 0x8CE0
352#define GL_DEPTH_ATTACHMENT 0x8D00
353#define GL_STENCIL_ATTACHMENT 0x8D20
354#define GL_NONE 0
355#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
356#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
357#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
358#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
359#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
360#define GL_FRAMEBUFFER_BINDING 0x8CA6
361#define GL_RENDERBUFFER_BINDING 0x8CA7
362#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
363#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
364typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
365typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
366typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
367typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
368typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
369typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
370typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
371typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
372typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
373typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
374typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
375typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
376typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
377typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
378typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
379typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
380typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
381typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
382typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
383typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
384typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
385typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
386typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
387typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
388typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
389typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
390typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
391typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
392typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
393typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
394typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
395typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
396typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
397typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
398typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
399typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
400typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
401typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
402typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
403typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
404typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
405typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
406typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
407typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
408typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
409typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
410typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
411typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
412typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
413typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
414typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
415typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
416typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
417typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
418typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
419typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
420typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
421typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
422typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
423typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
424typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
425typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
426typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
427typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
428typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
429typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
430typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
431typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
432typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
433typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
434typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
435typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
436typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
437typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
438typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
439typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
440typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
441typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
442typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
443typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
444typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
445typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
446typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
447typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
448typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
449typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
450typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
451typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
452typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
453typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
454typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
455typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
456typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
457typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
458typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
459typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
460typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
461typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
462typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
463typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
464typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
465typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
466typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
467typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
468typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
469typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
470typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
471typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
472typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
473typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
474typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
475typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
476typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
477typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
478typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
479typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
480typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
481typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
482typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
483typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
484typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
485typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
486typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
487typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
488typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
489typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
490typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
491typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
492typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
493typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
494typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
495typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
496typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
497typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
498typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
499typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
500typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
501typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
502typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
503typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
504typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
505typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
506#if GL_GLES_PROTOTYPES
507GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
508GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
509GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
510GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
511GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
512GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
513GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
514GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
515GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
516GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
517GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
518GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
519GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
520GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
521GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
522GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
523GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
524GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
525GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
526GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
527GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
528GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
529GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
530GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
531GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
532GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
533GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
534GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
535GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
536GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
537GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
538GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
539GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
540GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
541GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
542GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
543GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
544GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
545GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
546GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
547GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
548GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
549GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
550GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
551GL_APICALL void GL_APIENTRY glFinish (void);
552GL_APICALL void GL_APIENTRY glFlush (void);
553GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
554GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
555GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
556GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
557GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
558GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
559GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
560GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
561GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
562GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
563GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
564GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
565GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
566GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
567GL_APICALL GLenum GL_APIENTRY glGetError (void);
568GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
569GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
570GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
571GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
572GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
573GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
574GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
575GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
576GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
577GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
578GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
579GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
580GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
581GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
582GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
583GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
584GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
585GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
586GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
587GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
588GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
589GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
590GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
591GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
592GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
593GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
594GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
595GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
596GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
597GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
598GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
599GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
600GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
601GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
602GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
603GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
604GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
605GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
606GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
607GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
608GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
609GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
610GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
611GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
612GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
613GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
614GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
615GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
616GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
617GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
618GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
619GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
620GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
621GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
622GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
623GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
624GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
625GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
626GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
627GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
628GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
629GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
630GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
631GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
632GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
633GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
634GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
635GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
636GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
637GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
638GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
639GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
640GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
641GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
642GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
643GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
644GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
645GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
646GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
647GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
648GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
649#endif
650#endif /* GL_ES_VERSION_2_0 */
651
652#ifdef __cplusplus
653}
654#endif
655
656#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2ext.h b/contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2ext.h
new file mode 100644
index 0000000..63b530b
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2ext.h
@@ -0,0 +1,4101 @@
1#ifndef __gles2_gl2ext_h_
2#define __gles2_gl2ext_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright 2013-2020 The Khronos Group Inc.
10** SPDX-License-Identifier: MIT
11**
12** This header is generated from the Khronos OpenGL / OpenGL ES XML
13** API Registry. The current version of the Registry, generator scripts
14** used to make the header, and the header can be found at
15** https://github.com/KhronosGroup/OpenGL-Registry
16*/
17
18#ifndef GL_APIENTRYP
19#define GL_APIENTRYP GL_APIENTRY*
20#endif
21
22/* Generated on date 20231129 */
23
24/* Generated C header for:
25 * API: gles2
26 * Profile: common
27 * Versions considered: 2\.[0-9]
28 * Versions emitted: _nomatch_^
29 * Default extensions included: gles2
30 * Additional extensions included: _nomatch_^
31 * Extensions removed: _nomatch_^
32 */
33
34#ifndef GL_KHR_blend_equation_advanced
35#define GL_KHR_blend_equation_advanced 1
36#define GL_MULTIPLY_KHR 0x9294
37#define GL_SCREEN_KHR 0x9295
38#define GL_OVERLAY_KHR 0x9296
39#define GL_DARKEN_KHR 0x9297
40#define GL_LIGHTEN_KHR 0x9298
41#define GL_COLORDODGE_KHR 0x9299
42#define GL_COLORBURN_KHR 0x929A
43#define GL_HARDLIGHT_KHR 0x929B
44#define GL_SOFTLIGHT_KHR 0x929C
45#define GL_DIFFERENCE_KHR 0x929E
46#define GL_EXCLUSION_KHR 0x92A0
47#define GL_HSL_HUE_KHR 0x92AD
48#define GL_HSL_SATURATION_KHR 0x92AE
49#define GL_HSL_COLOR_KHR 0x92AF
50#define GL_HSL_LUMINOSITY_KHR 0x92B0
51typedef void (GL_APIENTRYP PFNGLBLENDBARRIERKHRPROC) (void);
52#ifdef GL_GLEXT_PROTOTYPES
53GL_APICALL void GL_APIENTRY glBlendBarrierKHR (void);
54#endif
55#endif /* GL_KHR_blend_equation_advanced */
56
57#ifndef GL_KHR_blend_equation_advanced_coherent
58#define GL_KHR_blend_equation_advanced_coherent 1
59#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
60#endif /* GL_KHR_blend_equation_advanced_coherent */
61
62#ifndef GL_KHR_context_flush_control
63#define GL_KHR_context_flush_control 1
64#define GL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x82FB
65#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x82FC
66#endif /* GL_KHR_context_flush_control */
67
68#ifndef GL_KHR_debug
69#define GL_KHR_debug 1
70typedef void (GL_APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
71#define GL_SAMPLER 0x82E6
72#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242
73#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243
74#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244
75#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245
76#define GL_DEBUG_SOURCE_API_KHR 0x8246
77#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247
78#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248
79#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249
80#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A
81#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B
82#define GL_DEBUG_TYPE_ERROR_KHR 0x824C
83#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D
84#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E
85#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F
86#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250
87#define GL_DEBUG_TYPE_OTHER_KHR 0x8251
88#define GL_DEBUG_TYPE_MARKER_KHR 0x8268
89#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269
90#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A
91#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B
92#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C
93#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D
94#define GL_BUFFER_KHR 0x82E0
95#define GL_SHADER_KHR 0x82E1
96#define GL_PROGRAM_KHR 0x82E2
97#define GL_VERTEX_ARRAY_KHR 0x8074
98#define GL_QUERY_KHR 0x82E3
99#define GL_PROGRAM_PIPELINE_KHR 0x82E4
100#define GL_SAMPLER_KHR 0x82E6
101#define GL_MAX_LABEL_LENGTH_KHR 0x82E8
102#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143
103#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144
104#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145
105#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146
106#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147
107#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148
108#define GL_DEBUG_OUTPUT_KHR 0x92E0
109#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002
110#define GL_STACK_OVERFLOW_KHR 0x0503
111#define GL_STACK_UNDERFLOW_KHR 0x0504
112typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
113typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
114typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
115typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
116typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
117typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
118typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
119typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
120typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
121typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
122typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, void **params);
123#ifdef GL_GLEXT_PROTOTYPES
124GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
125GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
126GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
127GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
128GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
129GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
130GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
131GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
132GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
133GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
134GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, void **params);
135#endif
136#endif /* GL_KHR_debug */
137
138#ifndef GL_KHR_no_error
139#define GL_KHR_no_error 1
140#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
141#endif /* GL_KHR_no_error */
142
143#ifndef GL_KHR_parallel_shader_compile
144#define GL_KHR_parallel_shader_compile 1
145#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0
146#define GL_COMPLETION_STATUS_KHR 0x91B1
147typedef void (GL_APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSKHRPROC) (GLuint count);
148#ifdef GL_GLEXT_PROTOTYPES
149GL_APICALL void GL_APIENTRY glMaxShaderCompilerThreadsKHR (GLuint count);
150#endif
151#endif /* GL_KHR_parallel_shader_compile */
152
153#ifndef GL_KHR_robust_buffer_access_behavior
154#define GL_KHR_robust_buffer_access_behavior 1
155#endif /* GL_KHR_robust_buffer_access_behavior */
156
157#ifndef GL_KHR_robustness
158#define GL_KHR_robustness 1
159#define GL_CONTEXT_ROBUST_ACCESS_KHR 0x90F3
160#define GL_LOSE_CONTEXT_ON_RESET_KHR 0x8252
161#define GL_GUILTY_CONTEXT_RESET_KHR 0x8253
162#define GL_INNOCENT_CONTEXT_RESET_KHR 0x8254
163#define GL_UNKNOWN_CONTEXT_RESET_KHR 0x8255
164#define GL_RESET_NOTIFICATION_STRATEGY_KHR 0x8256
165#define GL_NO_RESET_NOTIFICATION_KHR 0x8261
166#define GL_CONTEXT_LOST_KHR 0x0507
167typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSKHRPROC) (void);
168typedef void (GL_APIENTRYP PFNGLREADNPIXELSKHRPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
169typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
170typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
171typedef void (GL_APIENTRYP PFNGLGETNUNIFORMUIVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
172#ifdef GL_GLEXT_PROTOTYPES
173GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusKHR (void);
174GL_APICALL void GL_APIENTRY glReadnPixelsKHR (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
175GL_APICALL void GL_APIENTRY glGetnUniformfvKHR (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
176GL_APICALL void GL_APIENTRY glGetnUniformivKHR (GLuint program, GLint location, GLsizei bufSize, GLint *params);
177GL_APICALL void GL_APIENTRY glGetnUniformuivKHR (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
178#endif
179#endif /* GL_KHR_robustness */
180
181#ifndef GL_KHR_shader_subgroup
182#define GL_KHR_shader_subgroup 1
183#define GL_SUBGROUP_SIZE_KHR 0x9532
184#define GL_SUBGROUP_SUPPORTED_STAGES_KHR 0x9533
185#define GL_SUBGROUP_SUPPORTED_FEATURES_KHR 0x9534
186#define GL_SUBGROUP_QUAD_ALL_STAGES_KHR 0x9535
187#define GL_SUBGROUP_FEATURE_BASIC_BIT_KHR 0x00000001
188#define GL_SUBGROUP_FEATURE_VOTE_BIT_KHR 0x00000002
189#define GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR 0x00000004
190#define GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR 0x00000008
191#define GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR 0x00000010
192#define GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR 0x00000020
193#define GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR 0x00000040
194#define GL_SUBGROUP_FEATURE_QUAD_BIT_KHR 0x00000080
195#endif /* GL_KHR_shader_subgroup */
196
197#ifndef GL_KHR_texture_compression_astc_hdr
198#define GL_KHR_texture_compression_astc_hdr 1
199#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
200#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
201#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
202#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
203#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
204#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
205#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
206#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
207#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
208#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
209#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
210#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
211#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
212#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
213#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
214#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
215#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
216#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
217#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
218#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
219#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
220#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
221#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
222#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
223#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
224#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
225#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
226#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
227#endif /* GL_KHR_texture_compression_astc_hdr */
228
229#ifndef GL_KHR_texture_compression_astc_ldr
230#define GL_KHR_texture_compression_astc_ldr 1
231#endif /* GL_KHR_texture_compression_astc_ldr */
232
233#ifndef GL_KHR_texture_compression_astc_sliced_3d
234#define GL_KHR_texture_compression_astc_sliced_3d 1
235#endif /* GL_KHR_texture_compression_astc_sliced_3d */
236
237#ifndef GL_OES_EGL_image
238#define GL_OES_EGL_image 1
239typedef void *GLeglImageOES;
240typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
241typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
242#ifdef GL_GLEXT_PROTOTYPES
243GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
244GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
245#endif
246#endif /* GL_OES_EGL_image */
247
248#ifndef GL_OES_EGL_image_external
249#define GL_OES_EGL_image_external 1
250#define GL_TEXTURE_EXTERNAL_OES 0x8D65
251#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
252#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
253#define GL_SAMPLER_EXTERNAL_OES 0x8D66
254#endif /* GL_OES_EGL_image_external */
255
256#ifndef GL_OES_EGL_image_external_essl3
257#define GL_OES_EGL_image_external_essl3 1
258#endif /* GL_OES_EGL_image_external_essl3 */
259
260#ifndef GL_OES_compressed_ETC1_RGB8_sub_texture
261#define GL_OES_compressed_ETC1_RGB8_sub_texture 1
262#endif /* GL_OES_compressed_ETC1_RGB8_sub_texture */
263
264#ifndef GL_OES_compressed_ETC1_RGB8_texture
265#define GL_OES_compressed_ETC1_RGB8_texture 1
266#define GL_ETC1_RGB8_OES 0x8D64
267#endif /* GL_OES_compressed_ETC1_RGB8_texture */
268
269#ifndef GL_OES_compressed_paletted_texture
270#define GL_OES_compressed_paletted_texture 1
271#define GL_PALETTE4_RGB8_OES 0x8B90
272#define GL_PALETTE4_RGBA8_OES 0x8B91
273#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
274#define GL_PALETTE4_RGBA4_OES 0x8B93
275#define GL_PALETTE4_RGB5_A1_OES 0x8B94
276#define GL_PALETTE8_RGB8_OES 0x8B95
277#define GL_PALETTE8_RGBA8_OES 0x8B96
278#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
279#define GL_PALETTE8_RGBA4_OES 0x8B98
280#define GL_PALETTE8_RGB5_A1_OES 0x8B99
281#endif /* GL_OES_compressed_paletted_texture */
282
283#ifndef GL_OES_copy_image
284#define GL_OES_copy_image 1
285typedef void (GL_APIENTRYP PFNGLCOPYIMAGESUBDATAOESPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
286#ifdef GL_GLEXT_PROTOTYPES
287GL_APICALL void GL_APIENTRY glCopyImageSubDataOES (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
288#endif
289#endif /* GL_OES_copy_image */
290
291#ifndef GL_OES_depth24
292#define GL_OES_depth24 1
293#define GL_DEPTH_COMPONENT24_OES 0x81A6
294#endif /* GL_OES_depth24 */
295
296#ifndef GL_OES_depth32
297#define GL_OES_depth32 1
298#define GL_DEPTH_COMPONENT32_OES 0x81A7
299#endif /* GL_OES_depth32 */
300
301#ifndef GL_OES_depth_texture
302#define GL_OES_depth_texture 1
303#endif /* GL_OES_depth_texture */
304
305#ifndef GL_OES_draw_buffers_indexed
306#define GL_OES_draw_buffers_indexed 1
307#define GL_MIN 0x8007
308#define GL_MAX 0x8008
309typedef void (GL_APIENTRYP PFNGLENABLEIOESPROC) (GLenum target, GLuint index);
310typedef void (GL_APIENTRYP PFNGLDISABLEIOESPROC) (GLenum target, GLuint index);
311typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONIOESPROC) (GLuint buf, GLenum mode);
312typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEIOESPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
313typedef void (GL_APIENTRYP PFNGLBLENDFUNCIOESPROC) (GLuint buf, GLenum src, GLenum dst);
314typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEIOESPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
315typedef void (GL_APIENTRYP PFNGLCOLORMASKIOESPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
316typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDIOESPROC) (GLenum target, GLuint index);
317#ifdef GL_GLEXT_PROTOTYPES
318GL_APICALL void GL_APIENTRY glEnableiOES (GLenum target, GLuint index);
319GL_APICALL void GL_APIENTRY glDisableiOES (GLenum target, GLuint index);
320GL_APICALL void GL_APIENTRY glBlendEquationiOES (GLuint buf, GLenum mode);
321GL_APICALL void GL_APIENTRY glBlendEquationSeparateiOES (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
322GL_APICALL void GL_APIENTRY glBlendFunciOES (GLuint buf, GLenum src, GLenum dst);
323GL_APICALL void GL_APIENTRY glBlendFuncSeparateiOES (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
324GL_APICALL void GL_APIENTRY glColorMaskiOES (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
325GL_APICALL GLboolean GL_APIENTRY glIsEnablediOES (GLenum target, GLuint index);
326#endif
327#endif /* GL_OES_draw_buffers_indexed */
328
329#ifndef GL_OES_draw_elements_base_vertex
330#define GL_OES_draw_elements_base_vertex 1
331typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXOESPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
332typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXOESPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
333typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXOESPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
334typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);
335#ifdef GL_GLEXT_PROTOTYPES
336GL_APICALL void GL_APIENTRY glDrawElementsBaseVertexOES (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
337GL_APICALL void GL_APIENTRY glDrawRangeElementsBaseVertexOES (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
338GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexOES (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
339GL_APICALL void GL_APIENTRY glMultiDrawElementsBaseVertexEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);
340#endif
341#endif /* GL_OES_draw_elements_base_vertex */
342
343#ifndef GL_OES_element_index_uint
344#define GL_OES_element_index_uint 1
345#endif /* GL_OES_element_index_uint */
346
347#ifndef GL_OES_fbo_render_mipmap
348#define GL_OES_fbo_render_mipmap 1
349#endif /* GL_OES_fbo_render_mipmap */
350
351#ifndef GL_OES_fragment_precision_high
352#define GL_OES_fragment_precision_high 1
353#endif /* GL_OES_fragment_precision_high */
354
355#ifndef GL_OES_geometry_point_size
356#define GL_OES_geometry_point_size 1
357#endif /* GL_OES_geometry_point_size */
358
359#ifndef GL_OES_geometry_shader
360#define GL_OES_geometry_shader 1
361#define GL_GEOMETRY_SHADER_OES 0x8DD9
362#define GL_GEOMETRY_SHADER_BIT_OES 0x00000004
363#define GL_GEOMETRY_LINKED_VERTICES_OUT_OES 0x8916
364#define GL_GEOMETRY_LINKED_INPUT_TYPE_OES 0x8917
365#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES 0x8918
366#define GL_GEOMETRY_SHADER_INVOCATIONS_OES 0x887F
367#define GL_LAYER_PROVOKING_VERTEX_OES 0x825E
368#define GL_LINES_ADJACENCY_OES 0x000A
369#define GL_LINE_STRIP_ADJACENCY_OES 0x000B
370#define GL_TRIANGLES_ADJACENCY_OES 0x000C
371#define GL_TRIANGLE_STRIP_ADJACENCY_OES 0x000D
372#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES 0x8DDF
373#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES 0x8A2C
374#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES 0x8A32
375#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES 0x9123
376#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES 0x9124
377#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES 0x8DE0
378#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES 0x8DE1
379#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES 0x8E5A
380#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES 0x8C29
381#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES 0x92CF
382#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES 0x92D5
383#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES 0x90CD
384#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES 0x90D7
385#define GL_FIRST_VERTEX_CONVENTION_OES 0x8E4D
386#define GL_LAST_VERTEX_CONVENTION_OES 0x8E4E
387#define GL_UNDEFINED_VERTEX_OES 0x8260
388#define GL_PRIMITIVES_GENERATED_OES 0x8C87
389#define GL_FRAMEBUFFER_DEFAULT_LAYERS_OES 0x9312
390#define GL_MAX_FRAMEBUFFER_LAYERS_OES 0x9317
391#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES 0x8DA8
392#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES 0x8DA7
393#define GL_REFERENCED_BY_GEOMETRY_SHADER_OES 0x9309
394typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREOESPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
395#ifdef GL_GLEXT_PROTOTYPES
396GL_APICALL void GL_APIENTRY glFramebufferTextureOES (GLenum target, GLenum attachment, GLuint texture, GLint level);
397#endif
398#endif /* GL_OES_geometry_shader */
399
400#ifndef GL_OES_get_program_binary
401#define GL_OES_get_program_binary 1
402#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
403#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
404#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
405typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
406typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
407#ifdef GL_GLEXT_PROTOTYPES
408GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
409GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
410#endif
411#endif /* GL_OES_get_program_binary */
412
413#ifndef GL_OES_gpu_shader5
414#define GL_OES_gpu_shader5 1
415#endif /* GL_OES_gpu_shader5 */
416
417#ifndef GL_OES_mapbuffer
418#define GL_OES_mapbuffer 1
419#define GL_WRITE_ONLY_OES 0x88B9
420#define GL_BUFFER_ACCESS_OES 0x88BB
421#define GL_BUFFER_MAPPED_OES 0x88BC
422#define GL_BUFFER_MAP_POINTER_OES 0x88BD
423typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
424typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
425typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params);
426#ifdef GL_GLEXT_PROTOTYPES
427GL_APICALL void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
428GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
429GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void **params);
430#endif
431#endif /* GL_OES_mapbuffer */
432
433#ifndef GL_OES_packed_depth_stencil
434#define GL_OES_packed_depth_stencil 1
435#define GL_DEPTH_STENCIL_OES 0x84F9
436#define GL_UNSIGNED_INT_24_8_OES 0x84FA
437#define GL_DEPTH24_STENCIL8_OES 0x88F0
438#endif /* GL_OES_packed_depth_stencil */
439
440#ifndef GL_OES_primitive_bounding_box
441#define GL_OES_primitive_bounding_box 1
442#define GL_PRIMITIVE_BOUNDING_BOX_OES 0x92BE
443typedef void (GL_APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXOESPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
444#ifdef GL_GLEXT_PROTOTYPES
445GL_APICALL void GL_APIENTRY glPrimitiveBoundingBoxOES (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
446#endif
447#endif /* GL_OES_primitive_bounding_box */
448
449#ifndef GL_OES_required_internalformat
450#define GL_OES_required_internalformat 1
451#define GL_ALPHA8_OES 0x803C
452#define GL_DEPTH_COMPONENT16_OES 0x81A5
453#define GL_LUMINANCE4_ALPHA4_OES 0x8043
454#define GL_LUMINANCE8_ALPHA8_OES 0x8045
455#define GL_LUMINANCE8_OES 0x8040
456#define GL_RGBA4_OES 0x8056
457#define GL_RGB5_A1_OES 0x8057
458#define GL_RGB565_OES 0x8D62
459#define GL_RGB8_OES 0x8051
460#define GL_RGBA8_OES 0x8058
461#define GL_RGB10_EXT 0x8052
462#define GL_RGB10_A2_EXT 0x8059
463#endif /* GL_OES_required_internalformat */
464
465#ifndef GL_OES_rgb8_rgba8
466#define GL_OES_rgb8_rgba8 1
467#endif /* GL_OES_rgb8_rgba8 */
468
469#ifndef GL_OES_sample_shading
470#define GL_OES_sample_shading 1
471#define GL_SAMPLE_SHADING_OES 0x8C36
472#define GL_MIN_SAMPLE_SHADING_VALUE_OES 0x8C37
473typedef void (GL_APIENTRYP PFNGLMINSAMPLESHADINGOESPROC) (GLfloat value);
474#ifdef GL_GLEXT_PROTOTYPES
475GL_APICALL void GL_APIENTRY glMinSampleShadingOES (GLfloat value);
476#endif
477#endif /* GL_OES_sample_shading */
478
479#ifndef GL_OES_sample_variables
480#define GL_OES_sample_variables 1
481#endif /* GL_OES_sample_variables */
482
483#ifndef GL_OES_shader_image_atomic
484#define GL_OES_shader_image_atomic 1
485#endif /* GL_OES_shader_image_atomic */
486
487#ifndef GL_OES_shader_io_blocks
488#define GL_OES_shader_io_blocks 1
489#endif /* GL_OES_shader_io_blocks */
490
491#ifndef GL_OES_shader_multisample_interpolation
492#define GL_OES_shader_multisample_interpolation 1
493#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5B
494#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5C
495#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES 0x8E5D
496#endif /* GL_OES_shader_multisample_interpolation */
497
498#ifndef GL_OES_standard_derivatives
499#define GL_OES_standard_derivatives 1
500#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
501#endif /* GL_OES_standard_derivatives */
502
503#ifndef GL_OES_stencil1
504#define GL_OES_stencil1 1
505#define GL_STENCIL_INDEX1_OES 0x8D46
506#endif /* GL_OES_stencil1 */
507
508#ifndef GL_OES_stencil4
509#define GL_OES_stencil4 1
510#define GL_STENCIL_INDEX4_OES 0x8D47
511#endif /* GL_OES_stencil4 */
512
513#ifndef GL_OES_surfaceless_context
514#define GL_OES_surfaceless_context 1
515#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
516#endif /* GL_OES_surfaceless_context */
517
518#ifndef GL_OES_tessellation_point_size
519#define GL_OES_tessellation_point_size 1
520#endif /* GL_OES_tessellation_point_size */
521
522#ifndef GL_OES_tessellation_shader
523#define GL_OES_tessellation_shader 1
524#define GL_PATCHES_OES 0x000E
525#define GL_PATCH_VERTICES_OES 0x8E72
526#define GL_TESS_CONTROL_OUTPUT_VERTICES_OES 0x8E75
527#define GL_TESS_GEN_MODE_OES 0x8E76
528#define GL_TESS_GEN_SPACING_OES 0x8E77
529#define GL_TESS_GEN_VERTEX_ORDER_OES 0x8E78
530#define GL_TESS_GEN_POINT_MODE_OES 0x8E79
531#define GL_ISOLINES_OES 0x8E7A
532#define GL_QUADS_OES 0x0007
533#define GL_FRACTIONAL_ODD_OES 0x8E7B
534#define GL_FRACTIONAL_EVEN_OES 0x8E7C
535#define GL_MAX_PATCH_VERTICES_OES 0x8E7D
536#define GL_MAX_TESS_GEN_LEVEL_OES 0x8E7E
537#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES 0x8E7F
538#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES 0x8E80
539#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES 0x8E81
540#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES 0x8E82
541#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES 0x8E83
542#define GL_MAX_TESS_PATCH_COMPONENTS_OES 0x8E84
543#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES 0x8E85
544#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES 0x8E86
545#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES 0x8E89
546#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES 0x8E8A
547#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES 0x886C
548#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES 0x886D
549#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES 0x8E1E
550#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES 0x8E1F
551#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES 0x92CD
552#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES 0x92CE
553#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES 0x92D3
554#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES 0x92D4
555#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES 0x90CB
556#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES 0x90CC
557#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES 0x90D8
558#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES 0x90D9
559#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES 0x8221
560#define GL_IS_PER_PATCH_OES 0x92E7
561#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES 0x9307
562#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES 0x9308
563#define GL_TESS_CONTROL_SHADER_OES 0x8E88
564#define GL_TESS_EVALUATION_SHADER_OES 0x8E87
565#define GL_TESS_CONTROL_SHADER_BIT_OES 0x00000008
566#define GL_TESS_EVALUATION_SHADER_BIT_OES 0x00000010
567typedef void (GL_APIENTRYP PFNGLPATCHPARAMETERIOESPROC) (GLenum pname, GLint value);
568#ifdef GL_GLEXT_PROTOTYPES
569GL_APICALL void GL_APIENTRY glPatchParameteriOES (GLenum pname, GLint value);
570#endif
571#endif /* GL_OES_tessellation_shader */
572
573#ifndef GL_OES_texture_3D
574#define GL_OES_texture_3D 1
575#define GL_TEXTURE_WRAP_R_OES 0x8072
576#define GL_TEXTURE_3D_OES 0x806F
577#define GL_TEXTURE_BINDING_3D_OES 0x806A
578#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
579#define GL_SAMPLER_3D_OES 0x8B5F
580#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
581typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
582typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
583typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
584typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
585typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
586typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
587#ifdef GL_GLEXT_PROTOTYPES
588GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
589GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
590GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
591GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
592GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
593GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
594#endif
595#endif /* GL_OES_texture_3D */
596
597#ifndef GL_OES_texture_border_clamp
598#define GL_OES_texture_border_clamp 1
599#define GL_TEXTURE_BORDER_COLOR_OES 0x1004
600#define GL_CLAMP_TO_BORDER_OES 0x812D
601typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVOESPROC) (GLenum target, GLenum pname, const GLint *params);
602typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVOESPROC) (GLenum target, GLenum pname, const GLuint *params);
603typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVOESPROC) (GLenum target, GLenum pname, GLint *params);
604typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVOESPROC) (GLenum target, GLenum pname, GLuint *params);
605typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVOESPROC) (GLuint sampler, GLenum pname, const GLint *param);
606typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVOESPROC) (GLuint sampler, GLenum pname, const GLuint *param);
607typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVOESPROC) (GLuint sampler, GLenum pname, GLint *params);
608typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVOESPROC) (GLuint sampler, GLenum pname, GLuint *params);
609#ifdef GL_GLEXT_PROTOTYPES
610GL_APICALL void GL_APIENTRY glTexParameterIivOES (GLenum target, GLenum pname, const GLint *params);
611GL_APICALL void GL_APIENTRY glTexParameterIuivOES (GLenum target, GLenum pname, const GLuint *params);
612GL_APICALL void GL_APIENTRY glGetTexParameterIivOES (GLenum target, GLenum pname, GLint *params);
613GL_APICALL void GL_APIENTRY glGetTexParameterIuivOES (GLenum target, GLenum pname, GLuint *params);
614GL_APICALL void GL_APIENTRY glSamplerParameterIivOES (GLuint sampler, GLenum pname, const GLint *param);
615GL_APICALL void GL_APIENTRY glSamplerParameterIuivOES (GLuint sampler, GLenum pname, const GLuint *param);
616GL_APICALL void GL_APIENTRY glGetSamplerParameterIivOES (GLuint sampler, GLenum pname, GLint *params);
617GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivOES (GLuint sampler, GLenum pname, GLuint *params);
618#endif
619#endif /* GL_OES_texture_border_clamp */
620
621#ifndef GL_OES_texture_buffer
622#define GL_OES_texture_buffer 1
623#define GL_TEXTURE_BUFFER_OES 0x8C2A
624#define GL_TEXTURE_BUFFER_BINDING_OES 0x8C2A
625#define GL_MAX_TEXTURE_BUFFER_SIZE_OES 0x8C2B
626#define GL_TEXTURE_BINDING_BUFFER_OES 0x8C2C
627#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES 0x8C2D
628#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES 0x919F
629#define GL_SAMPLER_BUFFER_OES 0x8DC2
630#define GL_INT_SAMPLER_BUFFER_OES 0x8DD0
631#define GL_UNSIGNED_INT_SAMPLER_BUFFER_OES 0x8DD8
632#define GL_IMAGE_BUFFER_OES 0x9051
633#define GL_INT_IMAGE_BUFFER_OES 0x905C
634#define GL_UNSIGNED_INT_IMAGE_BUFFER_OES 0x9067
635#define GL_TEXTURE_BUFFER_OFFSET_OES 0x919D
636#define GL_TEXTURE_BUFFER_SIZE_OES 0x919E
637typedef void (GL_APIENTRYP PFNGLTEXBUFFEROESPROC) (GLenum target, GLenum internalformat, GLuint buffer);
638typedef void (GL_APIENTRYP PFNGLTEXBUFFERRANGEOESPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
639#ifdef GL_GLEXT_PROTOTYPES
640GL_APICALL void GL_APIENTRY glTexBufferOES (GLenum target, GLenum internalformat, GLuint buffer);
641GL_APICALL void GL_APIENTRY glTexBufferRangeOES (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
642#endif
643#endif /* GL_OES_texture_buffer */
644
645#ifndef GL_OES_texture_compression_astc
646#define GL_OES_texture_compression_astc 1
647#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES 0x93C0
648#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES 0x93C1
649#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES 0x93C2
650#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES 0x93C3
651#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES 0x93C4
652#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES 0x93C5
653#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES 0x93C6
654#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES 0x93C7
655#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES 0x93C8
656#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES 0x93C9
657#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES 0x93E0
658#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES 0x93E1
659#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES 0x93E2
660#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES 0x93E3
661#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES 0x93E4
662#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES 0x93E5
663#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES 0x93E6
664#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES 0x93E7
665#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES 0x93E8
666#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES 0x93E9
667#endif /* GL_OES_texture_compression_astc */
668
669#ifndef GL_OES_texture_cube_map_array
670#define GL_OES_texture_cube_map_array 1
671#define GL_TEXTURE_CUBE_MAP_ARRAY_OES 0x9009
672#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES 0x900A
673#define GL_SAMPLER_CUBE_MAP_ARRAY_OES 0x900C
674#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES 0x900D
675#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES 0x900E
676#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES 0x900F
677#define GL_IMAGE_CUBE_MAP_ARRAY_OES 0x9054
678#define GL_INT_IMAGE_CUBE_MAP_ARRAY_OES 0x905F
679#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES 0x906A
680#endif /* GL_OES_texture_cube_map_array */
681
682#ifndef GL_OES_texture_float
683#define GL_OES_texture_float 1
684#endif /* GL_OES_texture_float */
685
686#ifndef GL_OES_texture_float_linear
687#define GL_OES_texture_float_linear 1
688#endif /* GL_OES_texture_float_linear */
689
690#ifndef GL_OES_texture_half_float
691#define GL_OES_texture_half_float 1
692#define GL_HALF_FLOAT_OES 0x8D61
693#endif /* GL_OES_texture_half_float */
694
695#ifndef GL_OES_texture_half_float_linear
696#define GL_OES_texture_half_float_linear 1
697#endif /* GL_OES_texture_half_float_linear */
698
699#ifndef GL_OES_texture_npot
700#define GL_OES_texture_npot 1
701#endif /* GL_OES_texture_npot */
702
703#ifndef GL_OES_texture_stencil8
704#define GL_OES_texture_stencil8 1
705#define GL_STENCIL_INDEX_OES 0x1901
706#define GL_STENCIL_INDEX8_OES 0x8D48
707#endif /* GL_OES_texture_stencil8 */
708
709#ifndef GL_OES_texture_storage_multisample_2d_array
710#define GL_OES_texture_storage_multisample_2d_array 1
711#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES 0x9102
712#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES 0x9105
713#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910B
714#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910C
715#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910D
716typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEOESPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
717#ifdef GL_GLEXT_PROTOTYPES
718GL_APICALL void GL_APIENTRY glTexStorage3DMultisampleOES (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
719#endif
720#endif /* GL_OES_texture_storage_multisample_2d_array */
721
722#ifndef GL_OES_texture_view
723#define GL_OES_texture_view 1
724#define GL_TEXTURE_VIEW_MIN_LEVEL_OES 0x82DB
725#define GL_TEXTURE_VIEW_NUM_LEVELS_OES 0x82DC
726#define GL_TEXTURE_VIEW_MIN_LAYER_OES 0x82DD
727#define GL_TEXTURE_VIEW_NUM_LAYERS_OES 0x82DE
728#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
729typedef void (GL_APIENTRYP PFNGLTEXTUREVIEWOESPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
730#ifdef GL_GLEXT_PROTOTYPES
731GL_APICALL void GL_APIENTRY glTextureViewOES (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
732#endif
733#endif /* GL_OES_texture_view */
734
735#ifndef GL_OES_vertex_array_object
736#define GL_OES_vertex_array_object 1
737#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
738typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
739typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
740typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
741typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
742#ifdef GL_GLEXT_PROTOTYPES
743GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
744GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
745GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
746GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
747#endif
748#endif /* GL_OES_vertex_array_object */
749
750#ifndef GL_OES_vertex_half_float
751#define GL_OES_vertex_half_float 1
752#endif /* GL_OES_vertex_half_float */
753
754#ifndef GL_OES_vertex_type_10_10_10_2
755#define GL_OES_vertex_type_10_10_10_2 1
756#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
757#define GL_INT_10_10_10_2_OES 0x8DF7
758#endif /* GL_OES_vertex_type_10_10_10_2 */
759
760#ifndef GL_OES_viewport_array
761#define GL_OES_viewport_array 1
762#define GL_MAX_VIEWPORTS_OES 0x825B
763#define GL_VIEWPORT_SUBPIXEL_BITS_OES 0x825C
764#define GL_VIEWPORT_BOUNDS_RANGE_OES 0x825D
765#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES 0x825F
766typedef void (GL_APIENTRYP PFNGLVIEWPORTARRAYVOESPROC) (GLuint first, GLsizei count, const GLfloat *v);
767typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFOESPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
768typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFVOESPROC) (GLuint index, const GLfloat *v);
769typedef void (GL_APIENTRYP PFNGLSCISSORARRAYVOESPROC) (GLuint first, GLsizei count, const GLint *v);
770typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDOESPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
771typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDVOESPROC) (GLuint index, const GLint *v);
772typedef void (GL_APIENTRYP PFNGLDEPTHRANGEARRAYFVOESPROC) (GLuint first, GLsizei count, const GLfloat *v);
773typedef void (GL_APIENTRYP PFNGLDEPTHRANGEINDEXEDFOESPROC) (GLuint index, GLfloat n, GLfloat f);
774typedef void (GL_APIENTRYP PFNGLGETFLOATI_VOESPROC) (GLenum target, GLuint index, GLfloat *data);
775#ifdef GL_GLEXT_PROTOTYPES
776GL_APICALL void GL_APIENTRY glViewportArrayvOES (GLuint first, GLsizei count, const GLfloat *v);
777GL_APICALL void GL_APIENTRY glViewportIndexedfOES (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
778GL_APICALL void GL_APIENTRY glViewportIndexedfvOES (GLuint index, const GLfloat *v);
779GL_APICALL void GL_APIENTRY glScissorArrayvOES (GLuint first, GLsizei count, const GLint *v);
780GL_APICALL void GL_APIENTRY glScissorIndexedOES (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
781GL_APICALL void GL_APIENTRY glScissorIndexedvOES (GLuint index, const GLint *v);
782GL_APICALL void GL_APIENTRY glDepthRangeArrayfvOES (GLuint first, GLsizei count, const GLfloat *v);
783GL_APICALL void GL_APIENTRY glDepthRangeIndexedfOES (GLuint index, GLfloat n, GLfloat f);
784GL_APICALL void GL_APIENTRY glGetFloati_vOES (GLenum target, GLuint index, GLfloat *data);
785#endif
786#endif /* GL_OES_viewport_array */
787
788#ifndef GL_AMD_compressed_3DC_texture
789#define GL_AMD_compressed_3DC_texture 1
790#define GL_3DC_X_AMD 0x87F9
791#define GL_3DC_XY_AMD 0x87FA
792#endif /* GL_AMD_compressed_3DC_texture */
793
794#ifndef GL_AMD_compressed_ATC_texture
795#define GL_AMD_compressed_ATC_texture 1
796#define GL_ATC_RGB_AMD 0x8C92
797#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
798#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
799#endif /* GL_AMD_compressed_ATC_texture */
800
801#ifndef GL_AMD_framebuffer_multisample_advanced
802#define GL_AMD_framebuffer_multisample_advanced 1
803#define GL_RENDERBUFFER_STORAGE_SAMPLES_AMD 0x91B2
804#define GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD 0x91B3
805#define GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD 0x91B4
806#define GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD 0x91B5
807#define GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B6
808#define GL_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B7
809typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height);
810typedef void (GL_APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height);
811#ifdef GL_GLEXT_PROTOTYPES
812GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAdvancedAMD (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height);
813GL_APICALL void GL_APIENTRY glNamedRenderbufferStorageMultisampleAdvancedAMD (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height);
814#endif
815#endif /* GL_AMD_framebuffer_multisample_advanced */
816
817#ifndef GL_AMD_performance_monitor
818#define GL_AMD_performance_monitor 1
819#define GL_COUNTER_TYPE_AMD 0x8BC0
820#define GL_COUNTER_RANGE_AMD 0x8BC1
821#define GL_UNSIGNED_INT64_AMD 0x8BC2
822#define GL_PERCENTAGE_AMD 0x8BC3
823#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
824#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
825#define GL_PERFMON_RESULT_AMD 0x8BC6
826typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
827typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
828typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
829typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
830typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
831typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
832typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
833typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
834typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
835typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
836typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
837#ifdef GL_GLEXT_PROTOTYPES
838GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
839GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
840GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
841GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
842GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);
843GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
844GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
845GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
846GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
847GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
848GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
849#endif
850#endif /* GL_AMD_performance_monitor */
851
852#ifndef GL_AMD_program_binary_Z400
853#define GL_AMD_program_binary_Z400 1
854#define GL_Z400_BINARY_AMD 0x8740
855#endif /* GL_AMD_program_binary_Z400 */
856
857#ifndef GL_ANDROID_extension_pack_es31a
858#define GL_ANDROID_extension_pack_es31a 1
859#endif /* GL_ANDROID_extension_pack_es31a */
860
861#ifndef GL_ANGLE_depth_texture
862#define GL_ANGLE_depth_texture 1
863#endif /* GL_ANGLE_depth_texture */
864
865#ifndef GL_ANGLE_framebuffer_blit
866#define GL_ANGLE_framebuffer_blit 1
867#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
868#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
869#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
870#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
871typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
872#ifdef GL_GLEXT_PROTOTYPES
873GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
874#endif
875#endif /* GL_ANGLE_framebuffer_blit */
876
877#ifndef GL_ANGLE_framebuffer_multisample
878#define GL_ANGLE_framebuffer_multisample 1
879#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
880#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
881#define GL_MAX_SAMPLES_ANGLE 0x8D57
882typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
883#ifdef GL_GLEXT_PROTOTYPES
884GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
885#endif
886#endif /* GL_ANGLE_framebuffer_multisample */
887
888#ifndef GL_ANGLE_instanced_arrays
889#define GL_ANGLE_instanced_arrays 1
890#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
891typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
892typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
893typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
894#ifdef GL_GLEXT_PROTOTYPES
895GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
896GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
897GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
898#endif
899#endif /* GL_ANGLE_instanced_arrays */
900
901#ifndef GL_ANGLE_pack_reverse_row_order
902#define GL_ANGLE_pack_reverse_row_order 1
903#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
904#endif /* GL_ANGLE_pack_reverse_row_order */
905
906#ifndef GL_ANGLE_program_binary
907#define GL_ANGLE_program_binary 1
908#define GL_PROGRAM_BINARY_ANGLE 0x93A6
909#endif /* GL_ANGLE_program_binary */
910
911#ifndef GL_ANGLE_texture_compression_dxt3
912#define GL_ANGLE_texture_compression_dxt3 1
913#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
914#endif /* GL_ANGLE_texture_compression_dxt3 */
915
916#ifndef GL_ANGLE_texture_compression_dxt5
917#define GL_ANGLE_texture_compression_dxt5 1
918#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
919#endif /* GL_ANGLE_texture_compression_dxt5 */
920
921#ifndef GL_ANGLE_texture_usage
922#define GL_ANGLE_texture_usage 1
923#define GL_TEXTURE_USAGE_ANGLE 0x93A2
924#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
925#endif /* GL_ANGLE_texture_usage */
926
927#ifndef GL_ANGLE_translated_shader_source
928#define GL_ANGLE_translated_shader_source 1
929#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
930typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
931#ifdef GL_GLEXT_PROTOTYPES
932GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
933#endif
934#endif /* GL_ANGLE_translated_shader_source */
935
936#ifndef GL_APPLE_clip_distance
937#define GL_APPLE_clip_distance 1
938#define GL_MAX_CLIP_DISTANCES_APPLE 0x0D32
939#define GL_CLIP_DISTANCE0_APPLE 0x3000
940#define GL_CLIP_DISTANCE1_APPLE 0x3001
941#define GL_CLIP_DISTANCE2_APPLE 0x3002
942#define GL_CLIP_DISTANCE3_APPLE 0x3003
943#define GL_CLIP_DISTANCE4_APPLE 0x3004
944#define GL_CLIP_DISTANCE5_APPLE 0x3005
945#define GL_CLIP_DISTANCE6_APPLE 0x3006
946#define GL_CLIP_DISTANCE7_APPLE 0x3007
947#endif /* GL_APPLE_clip_distance */
948
949#ifndef GL_APPLE_color_buffer_packed_float
950#define GL_APPLE_color_buffer_packed_float 1
951#endif /* GL_APPLE_color_buffer_packed_float */
952
953#ifndef GL_APPLE_copy_texture_levels
954#define GL_APPLE_copy_texture_levels 1
955typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
956#ifdef GL_GLEXT_PROTOTYPES
957GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
958#endif
959#endif /* GL_APPLE_copy_texture_levels */
960
961#ifndef GL_APPLE_framebuffer_multisample
962#define GL_APPLE_framebuffer_multisample 1
963#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
964#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
965#define GL_MAX_SAMPLES_APPLE 0x8D57
966#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
967#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
968#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
969#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
970typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
971typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
972#ifdef GL_GLEXT_PROTOTYPES
973GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
974GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
975#endif
976#endif /* GL_APPLE_framebuffer_multisample */
977
978#ifndef GL_APPLE_rgb_422
979#define GL_APPLE_rgb_422 1
980#define GL_RGB_422_APPLE 0x8A1F
981#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
982#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
983#define GL_RGB_RAW_422_APPLE 0x8A51
984#endif /* GL_APPLE_rgb_422 */
985
986#ifndef GL_APPLE_sync
987#define GL_APPLE_sync 1
988#define GL_SYNC_OBJECT_APPLE 0x8A53
989#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
990#define GL_OBJECT_TYPE_APPLE 0x9112
991#define GL_SYNC_CONDITION_APPLE 0x9113
992#define GL_SYNC_STATUS_APPLE 0x9114
993#define GL_SYNC_FLAGS_APPLE 0x9115
994#define GL_SYNC_FENCE_APPLE 0x9116
995#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
996#define GL_UNSIGNALED_APPLE 0x9118
997#define GL_SIGNALED_APPLE 0x9119
998#define GL_ALREADY_SIGNALED_APPLE 0x911A
999#define GL_TIMEOUT_EXPIRED_APPLE 0x911B
1000#define GL_CONDITION_SATISFIED_APPLE 0x911C
1001#define GL_WAIT_FAILED_APPLE 0x911D
1002#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
1003#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
1004typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
1005typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
1006typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
1007typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1008typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1009typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
1010typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);
1011#ifdef GL_GLEXT_PROTOTYPES
1012GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
1013GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
1014GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
1015GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
1016GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
1017GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
1018GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);
1019#endif
1020#endif /* GL_APPLE_sync */
1021
1022#ifndef GL_APPLE_texture_format_BGRA8888
1023#define GL_APPLE_texture_format_BGRA8888 1
1024#define GL_BGRA_EXT 0x80E1
1025#define GL_BGRA8_EXT 0x93A1
1026#endif /* GL_APPLE_texture_format_BGRA8888 */
1027
1028#ifndef GL_APPLE_texture_max_level
1029#define GL_APPLE_texture_max_level 1
1030#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
1031#endif /* GL_APPLE_texture_max_level */
1032
1033#ifndef GL_APPLE_texture_packed_float
1034#define GL_APPLE_texture_packed_float 1
1035#define GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE 0x8C3B
1036#define GL_UNSIGNED_INT_5_9_9_9_REV_APPLE 0x8C3E
1037#define GL_R11F_G11F_B10F_APPLE 0x8C3A
1038#define GL_RGB9_E5_APPLE 0x8C3D
1039#endif /* GL_APPLE_texture_packed_float */
1040
1041#ifndef GL_ARM_mali_program_binary
1042#define GL_ARM_mali_program_binary 1
1043#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61
1044#endif /* GL_ARM_mali_program_binary */
1045
1046#ifndef GL_ARM_mali_shader_binary
1047#define GL_ARM_mali_shader_binary 1
1048#define GL_MALI_SHADER_BINARY_ARM 0x8F60
1049#endif /* GL_ARM_mali_shader_binary */
1050
1051#ifndef GL_ARM_rgba8
1052#define GL_ARM_rgba8 1
1053#endif /* GL_ARM_rgba8 */
1054
1055#ifndef GL_ARM_shader_core_properties
1056#define GL_ARM_shader_core_properties 1
1057#define GL_SHADER_CORE_COUNT_ARM 0x96F0
1058#define GL_SHADER_CORE_ACTIVE_COUNT_ARM 0x96F1
1059#define GL_SHADER_CORE_PRESENT_MASK_ARM 0x96F2
1060#define GL_SHADER_CORE_MAX_WARP_COUNT_ARM 0x96F3
1061#define GL_SHADER_CORE_PIXEL_RATE_ARM 0x96F4
1062#define GL_SHADER_CORE_TEXEL_RATE_ARM 0x96F5
1063#define GL_SHADER_CORE_FMA_RATE_ARM 0x96F6
1064typedef void (GL_APIENTRYP PFNGLMAXACTIVESHADERCORESARMPROC) (GLuint count);
1065#ifdef GL_GLEXT_PROTOTYPES
1066GL_APICALL void GL_APIENTRY glMaxActiveShaderCoresARM (GLuint count);
1067#endif
1068#endif /* GL_ARM_shader_core_properties */
1069
1070#ifndef GL_ARM_shader_framebuffer_fetch
1071#define GL_ARM_shader_framebuffer_fetch 1
1072#define GL_FETCH_PER_SAMPLE_ARM 0x8F65
1073#define GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM 0x8F66
1074#endif /* GL_ARM_shader_framebuffer_fetch */
1075
1076#ifndef GL_ARM_shader_framebuffer_fetch_depth_stencil
1077#define GL_ARM_shader_framebuffer_fetch_depth_stencil 1
1078#endif /* GL_ARM_shader_framebuffer_fetch_depth_stencil */
1079
1080#ifndef GL_ARM_texture_unnormalized_coordinates
1081#define GL_ARM_texture_unnormalized_coordinates 1
1082#define GL_TEXTURE_UNNORMALIZED_COORDINATES_ARM 0x8F6A
1083#endif /* GL_ARM_texture_unnormalized_coordinates */
1084
1085#ifndef GL_DMP_program_binary
1086#define GL_DMP_program_binary 1
1087#define GL_SMAPHS30_PROGRAM_BINARY_DMP 0x9251
1088#define GL_SMAPHS_PROGRAM_BINARY_DMP 0x9252
1089#define GL_DMP_PROGRAM_BINARY_DMP 0x9253
1090#endif /* GL_DMP_program_binary */
1091
1092#ifndef GL_DMP_shader_binary
1093#define GL_DMP_shader_binary 1
1094#define GL_SHADER_BINARY_DMP 0x9250
1095#endif /* GL_DMP_shader_binary */
1096
1097#ifndef GL_EXT_EGL_image_array
1098#define GL_EXT_EGL_image_array 1
1099#endif /* GL_EXT_EGL_image_array */
1100
1101#ifndef GL_EXT_EGL_image_storage
1102#define GL_EXT_EGL_image_storage 1
1103typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC) (GLenum target, GLeglImageOES image, const GLint* attrib_list);
1104typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC) (GLuint texture, GLeglImageOES image, const GLint* attrib_list);
1105#ifdef GL_GLEXT_PROTOTYPES
1106GL_APICALL void GL_APIENTRY glEGLImageTargetTexStorageEXT (GLenum target, GLeglImageOES image, const GLint* attrib_list);
1107GL_APICALL void GL_APIENTRY glEGLImageTargetTextureStorageEXT (GLuint texture, GLeglImageOES image, const GLint* attrib_list);
1108#endif
1109#endif /* GL_EXT_EGL_image_storage */
1110
1111#ifndef GL_EXT_EGL_image_storage_compression
1112#define GL_EXT_EGL_image_storage_compression 1
1113#define GL_SURFACE_COMPRESSION_EXT 0x96C0
1114#define GL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT 0x96C1
1115#define GL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT 0x96C2
1116#endif /* GL_EXT_EGL_image_storage_compression */
1117
1118#ifndef GL_EXT_YUV_target
1119#define GL_EXT_YUV_target 1
1120#define GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT 0x8BE7
1121#endif /* GL_EXT_YUV_target */
1122
1123#ifndef GL_EXT_base_instance
1124#define GL_EXT_base_instance 1
1125typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
1126typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
1127typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
1128#ifdef GL_GLEXT_PROTOTYPES
1129GL_APICALL void GL_APIENTRY glDrawArraysInstancedBaseInstanceEXT (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
1130GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseInstanceEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
1131GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexBaseInstanceEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
1132#endif
1133#endif /* GL_EXT_base_instance */
1134
1135#ifndef GL_EXT_blend_func_extended
1136#define GL_EXT_blend_func_extended 1
1137#define GL_SRC1_COLOR_EXT 0x88F9
1138#define GL_SRC1_ALPHA_EXT 0x8589
1139#define GL_ONE_MINUS_SRC1_COLOR_EXT 0x88FA
1140#define GL_ONE_MINUS_SRC1_ALPHA_EXT 0x88FB
1141#define GL_SRC_ALPHA_SATURATE_EXT 0x0308
1142#define GL_LOCATION_INDEX_EXT 0x930F
1143#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT 0x88FC
1144typedef void (GL_APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
1145typedef void (GL_APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name);
1146typedef GLint (GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC) (GLuint program, GLenum programInterface, const GLchar *name);
1147typedef GLint (GL_APIENTRYP PFNGLGETFRAGDATAINDEXEXTPROC) (GLuint program, const GLchar *name);
1148#ifdef GL_GLEXT_PROTOTYPES
1149GL_APICALL void GL_APIENTRY glBindFragDataLocationIndexedEXT (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
1150GL_APICALL void GL_APIENTRY glBindFragDataLocationEXT (GLuint program, GLuint color, const GLchar *name);
1151GL_APICALL GLint GL_APIENTRY glGetProgramResourceLocationIndexEXT (GLuint program, GLenum programInterface, const GLchar *name);
1152GL_APICALL GLint GL_APIENTRY glGetFragDataIndexEXT (GLuint program, const GLchar *name);
1153#endif
1154#endif /* GL_EXT_blend_func_extended */
1155
1156#ifndef GL_EXT_blend_minmax
1157#define GL_EXT_blend_minmax 1
1158#define GL_MIN_EXT 0x8007
1159#define GL_MAX_EXT 0x8008
1160#endif /* GL_EXT_blend_minmax */
1161
1162#ifndef GL_EXT_buffer_storage
1163#define GL_EXT_buffer_storage 1
1164#define GL_MAP_READ_BIT 0x0001
1165#define GL_MAP_WRITE_BIT 0x0002
1166#define GL_MAP_PERSISTENT_BIT_EXT 0x0040
1167#define GL_MAP_COHERENT_BIT_EXT 0x0080
1168#define GL_DYNAMIC_STORAGE_BIT_EXT 0x0100
1169#define GL_CLIENT_STORAGE_BIT_EXT 0x0200
1170#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT 0x00004000
1171#define GL_BUFFER_IMMUTABLE_STORAGE_EXT 0x821F
1172#define GL_BUFFER_STORAGE_FLAGS_EXT 0x8220
1173typedef void (GL_APIENTRYP PFNGLBUFFERSTORAGEEXTPROC) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);
1174#ifdef GL_GLEXT_PROTOTYPES
1175GL_APICALL void GL_APIENTRY glBufferStorageEXT (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);
1176#endif
1177#endif /* GL_EXT_buffer_storage */
1178
1179#ifndef GL_EXT_clear_texture
1180#define GL_EXT_clear_texture 1
1181typedef void (GL_APIENTRYP PFNGLCLEARTEXIMAGEEXTPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data);
1182typedef void (GL_APIENTRYP PFNGLCLEARTEXSUBIMAGEEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
1183#ifdef GL_GLEXT_PROTOTYPES
1184GL_APICALL void GL_APIENTRY glClearTexImageEXT (GLuint texture, GLint level, GLenum format, GLenum type, const void *data);
1185GL_APICALL void GL_APIENTRY glClearTexSubImageEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
1186#endif
1187#endif /* GL_EXT_clear_texture */
1188
1189#ifndef GL_EXT_clip_control
1190#define GL_EXT_clip_control 1
1191#define GL_LOWER_LEFT_EXT 0x8CA1
1192#define GL_UPPER_LEFT_EXT 0x8CA2
1193#define GL_NEGATIVE_ONE_TO_ONE_EXT 0x935E
1194#define GL_ZERO_TO_ONE_EXT 0x935F
1195#define GL_CLIP_ORIGIN_EXT 0x935C
1196#define GL_CLIP_DEPTH_MODE_EXT 0x935D
1197typedef void (GL_APIENTRYP PFNGLCLIPCONTROLEXTPROC) (GLenum origin, GLenum depth);
1198#ifdef GL_GLEXT_PROTOTYPES
1199GL_APICALL void GL_APIENTRY glClipControlEXT (GLenum origin, GLenum depth);
1200#endif
1201#endif /* GL_EXT_clip_control */
1202
1203#ifndef GL_EXT_clip_cull_distance
1204#define GL_EXT_clip_cull_distance 1
1205#define GL_MAX_CLIP_DISTANCES_EXT 0x0D32
1206#define GL_MAX_CULL_DISTANCES_EXT 0x82F9
1207#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT 0x82FA
1208#define GL_CLIP_DISTANCE0_EXT 0x3000
1209#define GL_CLIP_DISTANCE1_EXT 0x3001
1210#define GL_CLIP_DISTANCE2_EXT 0x3002
1211#define GL_CLIP_DISTANCE3_EXT 0x3003
1212#define GL_CLIP_DISTANCE4_EXT 0x3004
1213#define GL_CLIP_DISTANCE5_EXT 0x3005
1214#define GL_CLIP_DISTANCE6_EXT 0x3006
1215#define GL_CLIP_DISTANCE7_EXT 0x3007
1216#endif /* GL_EXT_clip_cull_distance */
1217
1218#ifndef GL_EXT_color_buffer_float
1219#define GL_EXT_color_buffer_float 1
1220#endif /* GL_EXT_color_buffer_float */
1221
1222#ifndef GL_EXT_color_buffer_half_float
1223#define GL_EXT_color_buffer_half_float 1
1224#define GL_RGBA16F_EXT 0x881A
1225#define GL_RGB16F_EXT 0x881B
1226#define GL_RG16F_EXT 0x822F
1227#define GL_R16F_EXT 0x822D
1228#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
1229#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
1230#endif /* GL_EXT_color_buffer_half_float */
1231
1232#ifndef GL_EXT_conservative_depth
1233#define GL_EXT_conservative_depth 1
1234#endif /* GL_EXT_conservative_depth */
1235
1236#ifndef GL_EXT_copy_image
1237#define GL_EXT_copy_image 1
1238typedef void (GL_APIENTRYP PFNGLCOPYIMAGESUBDATAEXTPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
1239#ifdef GL_GLEXT_PROTOTYPES
1240GL_APICALL void GL_APIENTRY glCopyImageSubDataEXT (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
1241#endif
1242#endif /* GL_EXT_copy_image */
1243
1244#ifndef GL_EXT_debug_label
1245#define GL_EXT_debug_label 1
1246#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
1247#define GL_PROGRAM_OBJECT_EXT 0x8B40
1248#define GL_SHADER_OBJECT_EXT 0x8B48
1249#define GL_BUFFER_OBJECT_EXT 0x9151
1250#define GL_QUERY_OBJECT_EXT 0x9153
1251#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
1252#define GL_TRANSFORM_FEEDBACK 0x8E22
1253typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1254typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
1255#ifdef GL_GLEXT_PROTOTYPES
1256GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1257GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
1258#endif
1259#endif /* GL_EXT_debug_label */
1260
1261#ifndef GL_EXT_debug_marker
1262#define GL_EXT_debug_marker 1
1263typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1264typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1265typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
1266#ifdef GL_GLEXT_PROTOTYPES
1267GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
1268GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
1269GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
1270#endif
1271#endif /* GL_EXT_debug_marker */
1272
1273#ifndef GL_EXT_depth_clamp
1274#define GL_EXT_depth_clamp 1
1275#define GL_DEPTH_CLAMP_EXT 0x864F
1276#endif /* GL_EXT_depth_clamp */
1277
1278#ifndef GL_EXT_discard_framebuffer
1279#define GL_EXT_discard_framebuffer 1
1280#define GL_COLOR_EXT 0x1800
1281#define GL_DEPTH_EXT 0x1801
1282#define GL_STENCIL_EXT 0x1802
1283typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1284#ifdef GL_GLEXT_PROTOTYPES
1285GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1286#endif
1287#endif /* GL_EXT_discard_framebuffer */
1288
1289#ifndef GL_EXT_disjoint_timer_query
1290#define GL_EXT_disjoint_timer_query 1
1291#define GL_QUERY_COUNTER_BITS_EXT 0x8864
1292#define GL_CURRENT_QUERY_EXT 0x8865
1293#define GL_QUERY_RESULT_EXT 0x8866
1294#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
1295#define GL_TIME_ELAPSED_EXT 0x88BF
1296#define GL_TIMESTAMP_EXT 0x8E28
1297#define GL_GPU_DISJOINT_EXT 0x8FBB
1298typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
1299typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
1300typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
1301typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
1302typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
1303typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
1304typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
1305typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
1306typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
1307typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
1308typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
1309typedef void (GL_APIENTRYP PFNGLGETINTEGER64VEXTPROC) (GLenum pname, GLint64 *data);
1310#ifdef GL_GLEXT_PROTOTYPES
1311GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
1312GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
1313GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
1314GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
1315GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
1316GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
1317GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
1318GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
1319GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
1320GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
1321GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
1322GL_APICALL void GL_APIENTRY glGetInteger64vEXT (GLenum pname, GLint64 *data);
1323#endif
1324#endif /* GL_EXT_disjoint_timer_query */
1325
1326#ifndef GL_EXT_draw_buffers
1327#define GL_EXT_draw_buffers 1
1328#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
1329#define GL_MAX_DRAW_BUFFERS_EXT 0x8824
1330#define GL_DRAW_BUFFER0_EXT 0x8825
1331#define GL_DRAW_BUFFER1_EXT 0x8826
1332#define GL_DRAW_BUFFER2_EXT 0x8827
1333#define GL_DRAW_BUFFER3_EXT 0x8828
1334#define GL_DRAW_BUFFER4_EXT 0x8829
1335#define GL_DRAW_BUFFER5_EXT 0x882A
1336#define GL_DRAW_BUFFER6_EXT 0x882B
1337#define GL_DRAW_BUFFER7_EXT 0x882C
1338#define GL_DRAW_BUFFER8_EXT 0x882D
1339#define GL_DRAW_BUFFER9_EXT 0x882E
1340#define GL_DRAW_BUFFER10_EXT 0x882F
1341#define GL_DRAW_BUFFER11_EXT 0x8830
1342#define GL_DRAW_BUFFER12_EXT 0x8831
1343#define GL_DRAW_BUFFER13_EXT 0x8832
1344#define GL_DRAW_BUFFER14_EXT 0x8833
1345#define GL_DRAW_BUFFER15_EXT 0x8834
1346#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
1347#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
1348#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
1349#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
1350#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
1351#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
1352#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
1353#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
1354#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
1355#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
1356#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
1357#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
1358#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
1359#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
1360#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
1361#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
1362typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
1363#ifdef GL_GLEXT_PROTOTYPES
1364GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
1365#endif
1366#endif /* GL_EXT_draw_buffers */
1367
1368#ifndef GL_EXT_draw_buffers_indexed
1369#define GL_EXT_draw_buffers_indexed 1
1370typedef void (GL_APIENTRYP PFNGLENABLEIEXTPROC) (GLenum target, GLuint index);
1371typedef void (GL_APIENTRYP PFNGLDISABLEIEXTPROC) (GLenum target, GLuint index);
1372typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONIEXTPROC) (GLuint buf, GLenum mode);
1373typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEIEXTPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1374typedef void (GL_APIENTRYP PFNGLBLENDFUNCIEXTPROC) (GLuint buf, GLenum src, GLenum dst);
1375typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEIEXTPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1376typedef void (GL_APIENTRYP PFNGLCOLORMASKIEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
1377typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDIEXTPROC) (GLenum target, GLuint index);
1378#ifdef GL_GLEXT_PROTOTYPES
1379GL_APICALL void GL_APIENTRY glEnableiEXT (GLenum target, GLuint index);
1380GL_APICALL void GL_APIENTRY glDisableiEXT (GLenum target, GLuint index);
1381GL_APICALL void GL_APIENTRY glBlendEquationiEXT (GLuint buf, GLenum mode);
1382GL_APICALL void GL_APIENTRY glBlendEquationSeparateiEXT (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1383GL_APICALL void GL_APIENTRY glBlendFunciEXT (GLuint buf, GLenum src, GLenum dst);
1384GL_APICALL void GL_APIENTRY glBlendFuncSeparateiEXT (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1385GL_APICALL void GL_APIENTRY glColorMaskiEXT (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
1386GL_APICALL GLboolean GL_APIENTRY glIsEnablediEXT (GLenum target, GLuint index);
1387#endif
1388#endif /* GL_EXT_draw_buffers_indexed */
1389
1390#ifndef GL_EXT_draw_elements_base_vertex
1391#define GL_EXT_draw_elements_base_vertex 1
1392typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1393typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1394typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
1395#ifdef GL_GLEXT_PROTOTYPES
1396GL_APICALL void GL_APIENTRY glDrawElementsBaseVertexEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1397GL_APICALL void GL_APIENTRY glDrawRangeElementsBaseVertexEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1398GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
1399#endif
1400#endif /* GL_EXT_draw_elements_base_vertex */
1401
1402#ifndef GL_EXT_draw_instanced
1403#define GL_EXT_draw_instanced 1
1404typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
1405typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1406#ifdef GL_GLEXT_PROTOTYPES
1407GL_APICALL void GL_APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
1408GL_APICALL void GL_APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1409#endif
1410#endif /* GL_EXT_draw_instanced */
1411
1412#ifndef GL_EXT_draw_transform_feedback
1413#define GL_EXT_draw_transform_feedback 1
1414typedef void (GL_APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKEXTPROC) (GLenum mode, GLuint id);
1415typedef void (GL_APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDEXTPROC) (GLenum mode, GLuint id, GLsizei instancecount);
1416#ifdef GL_GLEXT_PROTOTYPES
1417GL_APICALL void GL_APIENTRY glDrawTransformFeedbackEXT (GLenum mode, GLuint id);
1418GL_APICALL void GL_APIENTRY glDrawTransformFeedbackInstancedEXT (GLenum mode, GLuint id, GLsizei instancecount);
1419#endif
1420#endif /* GL_EXT_draw_transform_feedback */
1421
1422#ifndef GL_EXT_external_buffer
1423#define GL_EXT_external_buffer 1
1424typedef void *GLeglClientBufferEXT;
1425typedef void (GL_APIENTRYP PFNGLBUFFERSTORAGEEXTERNALEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
1426typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
1427#ifdef GL_GLEXT_PROTOTYPES
1428GL_APICALL void GL_APIENTRY glBufferStorageExternalEXT (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
1429GL_APICALL void GL_APIENTRY glNamedBufferStorageExternalEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
1430#endif
1431#endif /* GL_EXT_external_buffer */
1432
1433#ifndef GL_EXT_float_blend
1434#define GL_EXT_float_blend 1
1435#endif /* GL_EXT_float_blend */
1436
1437#ifndef GL_EXT_fragment_shading_rate
1438#define GL_EXT_fragment_shading_rate 1
1439#define GL_SHADING_RATE_1X1_PIXELS_EXT 0x96A6
1440#define GL_SHADING_RATE_1X2_PIXELS_EXT 0x96A7
1441#define GL_SHADING_RATE_2X1_PIXELS_EXT 0x96A8
1442#define GL_SHADING_RATE_2X2_PIXELS_EXT 0x96A9
1443#define GL_SHADING_RATE_1X4_PIXELS_EXT 0x96AA
1444#define GL_SHADING_RATE_4X1_PIXELS_EXT 0x96AB
1445#define GL_SHADING_RATE_4X2_PIXELS_EXT 0x96AC
1446#define GL_SHADING_RATE_2X4_PIXELS_EXT 0x96AD
1447#define GL_SHADING_RATE_4X4_PIXELS_EXT 0x96AE
1448#define GL_SHADING_RATE_EXT 0x96D0
1449#define GL_SHADING_RATE_ATTACHMENT_EXT 0x96D1
1450#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_EXT 0x96D2
1451#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_EXT 0x96D3
1452#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_EXT 0x96D4
1453#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_EXT 0x96D5
1454#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_EXT 0x96D6
1455#define GL_MIN_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_WIDTH_EXT 0x96D7
1456#define GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_WIDTH_EXT 0x96D8
1457#define GL_MIN_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_HEIGHT_EXT 0x96D9
1458#define GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_HEIGHT_EXT 0x96DA
1459#define GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_ASPECT_RATIO_EXT 0x96DB
1460#define GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_LAYERS_EXT 0x96DC
1461#define GL_FRAGMENT_SHADING_RATE_WITH_SHADER_DEPTH_STENCIL_WRITES_SUPPORTED_EXT 0x96DD
1462#define GL_FRAGMENT_SHADING_RATE_WITH_SAMPLE_MASK_SUPPORTED_EXT 0x96DE
1463#define GL_FRAGMENT_SHADING_RATE_ATTACHMENT_WITH_DEFAULT_FRAMEBUFFER_SUPPORTED_EXT 0x96DF
1464#define GL_FRAGMENT_SHADING_RATE_NON_TRIVIAL_COMBINERS_SUPPORTED_EXT 0x8F6F
1465typedef void (GL_APIENTRYP PFNGLGETFRAGMENTSHADINGRATESEXTPROC) (GLsizei samples, GLsizei maxCount, GLsizei *count, GLenum *shadingRates);
1466typedef void (GL_APIENTRYP PFNGLSHADINGRATEEXTPROC) (GLenum rate);
1467typedef void (GL_APIENTRYP PFNGLSHADINGRATECOMBINEROPSEXTPROC) (GLenum combinerOp0, GLenum combinerOp1);
1468typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERSHADINGRATEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint baseLayer, GLsizei numLayers, GLsizei texelWidth, GLsizei texelHeight);
1469#ifdef GL_GLEXT_PROTOTYPES
1470GL_APICALL void GL_APIENTRY glGetFragmentShadingRatesEXT (GLsizei samples, GLsizei maxCount, GLsizei *count, GLenum *shadingRates);
1471GL_APICALL void GL_APIENTRY glShadingRateEXT (GLenum rate);
1472GL_APICALL void GL_APIENTRY glShadingRateCombinerOpsEXT (GLenum combinerOp0, GLenum combinerOp1);
1473GL_APICALL void GL_APIENTRY glFramebufferShadingRateEXT (GLenum target, GLenum attachment, GLuint texture, GLint baseLayer, GLsizei numLayers, GLsizei texelWidth, GLsizei texelHeight);
1474#endif
1475#endif /* GL_EXT_fragment_shading_rate */
1476
1477#ifndef GL_EXT_framebuffer_blit_layers
1478#define GL_EXT_framebuffer_blit_layers 1
1479typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERLAYERSEXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1480typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERLAYEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint srcLayer, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLint dstLayer, GLbitfield mask, GLenum filter);
1481#ifdef GL_GLEXT_PROTOTYPES
1482GL_APICALL void GL_APIENTRY glBlitFramebufferLayersEXT (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1483GL_APICALL void GL_APIENTRY glBlitFramebufferLayerEXT (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint srcLayer, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLint dstLayer, GLbitfield mask, GLenum filter);
1484#endif
1485#endif /* GL_EXT_framebuffer_blit_layers */
1486
1487#ifndef GL_EXT_geometry_point_size
1488#define GL_EXT_geometry_point_size 1
1489#endif /* GL_EXT_geometry_point_size */
1490
1491#ifndef GL_EXT_geometry_shader
1492#define GL_EXT_geometry_shader 1
1493#define GL_GEOMETRY_SHADER_EXT 0x8DD9
1494#define GL_GEOMETRY_SHADER_BIT_EXT 0x00000004
1495#define GL_GEOMETRY_LINKED_VERTICES_OUT_EXT 0x8916
1496#define GL_GEOMETRY_LINKED_INPUT_TYPE_EXT 0x8917
1497#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT 0x8918
1498#define GL_GEOMETRY_SHADER_INVOCATIONS_EXT 0x887F
1499#define GL_LAYER_PROVOKING_VERTEX_EXT 0x825E
1500#define GL_LINES_ADJACENCY_EXT 0x000A
1501#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B
1502#define GL_TRIANGLES_ADJACENCY_EXT 0x000C
1503#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D
1504#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
1505#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT 0x8A2C
1506#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8A32
1507#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT 0x9123
1508#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT 0x9124
1509#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
1510#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
1511#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT 0x8E5A
1512#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
1513#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT 0x92CF
1514#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT 0x92D5
1515#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT 0x90CD
1516#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT 0x90D7
1517#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D
1518#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E
1519#define GL_UNDEFINED_VERTEX_EXT 0x8260
1520#define GL_PRIMITIVES_GENERATED_EXT 0x8C87
1521#define GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT 0x9312
1522#define GL_MAX_FRAMEBUFFER_LAYERS_EXT 0x9317
1523#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
1524#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
1525#define GL_REFERENCED_BY_GEOMETRY_SHADER_EXT 0x9309
1526typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
1527#ifdef GL_GLEXT_PROTOTYPES
1528GL_APICALL void GL_APIENTRY glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level);
1529#endif
1530#endif /* GL_EXT_geometry_shader */
1531
1532#ifndef GL_EXT_gpu_shader5
1533#define GL_EXT_gpu_shader5 1
1534#endif /* GL_EXT_gpu_shader5 */
1535
1536#ifndef GL_EXT_instanced_arrays
1537#define GL_EXT_instanced_arrays 1
1538#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT 0x88FE
1539typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor);
1540#ifdef GL_GLEXT_PROTOTYPES
1541GL_APICALL void GL_APIENTRY glVertexAttribDivisorEXT (GLuint index, GLuint divisor);
1542#endif
1543#endif /* GL_EXT_instanced_arrays */
1544
1545#ifndef GL_EXT_map_buffer_range
1546#define GL_EXT_map_buffer_range 1
1547#define GL_MAP_READ_BIT_EXT 0x0001
1548#define GL_MAP_WRITE_BIT_EXT 0x0002
1549#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
1550#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
1551#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
1552#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
1553typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1554typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
1555#ifdef GL_GLEXT_PROTOTYPES
1556GL_APICALL void *GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1557GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
1558#endif
1559#endif /* GL_EXT_map_buffer_range */
1560
1561#ifndef GL_EXT_memory_object
1562#define GL_EXT_memory_object 1
1563#define GL_TEXTURE_TILING_EXT 0x9580
1564#define GL_DEDICATED_MEMORY_OBJECT_EXT 0x9581
1565#define GL_PROTECTED_MEMORY_OBJECT_EXT 0x959B
1566#define GL_NUM_TILING_TYPES_EXT 0x9582
1567#define GL_TILING_TYPES_EXT 0x9583
1568#define GL_OPTIMAL_TILING_EXT 0x9584
1569#define GL_LINEAR_TILING_EXT 0x9585
1570#define GL_NUM_DEVICE_UUIDS_EXT 0x9596
1571#define GL_DEVICE_UUID_EXT 0x9597
1572#define GL_DRIVER_UUID_EXT 0x9598
1573#define GL_UUID_SIZE_EXT 16
1574typedef void (GL_APIENTRYP PFNGLGETUNSIGNEDBYTEVEXTPROC) (GLenum pname, GLubyte *data);
1575typedef void (GL_APIENTRYP PFNGLGETUNSIGNEDBYTEI_VEXTPROC) (GLenum target, GLuint index, GLubyte *data);
1576typedef void (GL_APIENTRYP PFNGLDELETEMEMORYOBJECTSEXTPROC) (GLsizei n, const GLuint *memoryObjects);
1577typedef GLboolean (GL_APIENTRYP PFNGLISMEMORYOBJECTEXTPROC) (GLuint memoryObject);
1578typedef void (GL_APIENTRYP PFNGLCREATEMEMORYOBJECTSEXTPROC) (GLsizei n, GLuint *memoryObjects);
1579typedef void (GL_APIENTRYP PFNGLMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, const GLint *params);
1580typedef void (GL_APIENTRYP PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, GLint *params);
1581typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
1582typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1583typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
1584typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1585typedef void (GL_APIENTRYP PFNGLBUFFERSTORAGEMEMEXTPROC) (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset);
1586typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM2DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
1587typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1588typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM3DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
1589typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1590typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC) (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset);
1591#ifdef GL_GLEXT_PROTOTYPES
1592GL_APICALL void GL_APIENTRY glGetUnsignedBytevEXT (GLenum pname, GLubyte *data);
1593GL_APICALL void GL_APIENTRY glGetUnsignedBytei_vEXT (GLenum target, GLuint index, GLubyte *data);
1594GL_APICALL void GL_APIENTRY glDeleteMemoryObjectsEXT (GLsizei n, const GLuint *memoryObjects);
1595GL_APICALL GLboolean GL_APIENTRY glIsMemoryObjectEXT (GLuint memoryObject);
1596GL_APICALL void GL_APIENTRY glCreateMemoryObjectsEXT (GLsizei n, GLuint *memoryObjects);
1597GL_APICALL void GL_APIENTRY glMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, const GLint *params);
1598GL_APICALL void GL_APIENTRY glGetMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, GLint *params);
1599GL_APICALL void GL_APIENTRY glTexStorageMem2DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
1600GL_APICALL void GL_APIENTRY glTexStorageMem2DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1601GL_APICALL void GL_APIENTRY glTexStorageMem3DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
1602GL_APICALL void GL_APIENTRY glTexStorageMem3DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1603GL_APICALL void GL_APIENTRY glBufferStorageMemEXT (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset);
1604GL_APICALL void GL_APIENTRY glTextureStorageMem2DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
1605GL_APICALL void GL_APIENTRY glTextureStorageMem2DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1606GL_APICALL void GL_APIENTRY glTextureStorageMem3DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
1607GL_APICALL void GL_APIENTRY glTextureStorageMem3DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1608GL_APICALL void GL_APIENTRY glNamedBufferStorageMemEXT (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset);
1609#endif
1610#endif /* GL_EXT_memory_object */
1611
1612#ifndef GL_EXT_memory_object_fd
1613#define GL_EXT_memory_object_fd 1
1614#define GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586
1615typedef void (GL_APIENTRYP PFNGLIMPORTMEMORYFDEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, GLint fd);
1616#ifdef GL_GLEXT_PROTOTYPES
1617GL_APICALL void GL_APIENTRY glImportMemoryFdEXT (GLuint memory, GLuint64 size, GLenum handleType, GLint fd);
1618#endif
1619#endif /* GL_EXT_memory_object_fd */
1620
1621#ifndef GL_EXT_memory_object_win32
1622#define GL_EXT_memory_object_win32 1
1623#define GL_HANDLE_TYPE_OPAQUE_WIN32_EXT 0x9587
1624#define GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT 0x9588
1625#define GL_DEVICE_LUID_EXT 0x9599
1626#define GL_DEVICE_NODE_MASK_EXT 0x959A
1627#define GL_LUID_SIZE_EXT 8
1628#define GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT 0x9589
1629#define GL_HANDLE_TYPE_D3D12_RESOURCE_EXT 0x958A
1630#define GL_HANDLE_TYPE_D3D11_IMAGE_EXT 0x958B
1631#define GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT 0x958C
1632typedef void (GL_APIENTRYP PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, void *handle);
1633typedef void (GL_APIENTRYP PFNGLIMPORTMEMORYWIN32NAMEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, const void *name);
1634#ifdef GL_GLEXT_PROTOTYPES
1635GL_APICALL void GL_APIENTRY glImportMemoryWin32HandleEXT (GLuint memory, GLuint64 size, GLenum handleType, void *handle);
1636GL_APICALL void GL_APIENTRY glImportMemoryWin32NameEXT (GLuint memory, GLuint64 size, GLenum handleType, const void *name);
1637#endif
1638#endif /* GL_EXT_memory_object_win32 */
1639
1640#ifndef GL_EXT_multi_draw_arrays
1641#define GL_EXT_multi_draw_arrays 1
1642typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
1643typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
1644#ifdef GL_GLEXT_PROTOTYPES
1645GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
1646GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
1647#endif
1648#endif /* GL_EXT_multi_draw_arrays */
1649
1650#ifndef GL_EXT_multi_draw_indirect
1651#define GL_EXT_multi_draw_indirect 1
1652typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTEXTPROC) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
1653typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTEXTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
1654#ifdef GL_GLEXT_PROTOTYPES
1655GL_APICALL void GL_APIENTRY glMultiDrawArraysIndirectEXT (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
1656GL_APICALL void GL_APIENTRY glMultiDrawElementsIndirectEXT (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
1657#endif
1658#endif /* GL_EXT_multi_draw_indirect */
1659
1660#ifndef GL_EXT_multisampled_compatibility
1661#define GL_EXT_multisampled_compatibility 1
1662#define GL_MULTISAMPLE_EXT 0x809D
1663#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
1664#endif /* GL_EXT_multisampled_compatibility */
1665
1666#ifndef GL_EXT_multisampled_render_to_texture
1667#define GL_EXT_multisampled_render_to_texture 1
1668#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
1669#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
1670#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
1671#define GL_MAX_SAMPLES_EXT 0x8D57
1672typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1673typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1674#ifdef GL_GLEXT_PROTOTYPES
1675GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1676GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1677#endif
1678#endif /* GL_EXT_multisampled_render_to_texture */
1679
1680#ifndef GL_EXT_multisampled_render_to_texture2
1681#define GL_EXT_multisampled_render_to_texture2 1
1682#endif /* GL_EXT_multisampled_render_to_texture2 */
1683
1684#ifndef GL_EXT_multiview_draw_buffers
1685#define GL_EXT_multiview_draw_buffers 1
1686#define GL_COLOR_ATTACHMENT_EXT 0x90F0
1687#define GL_MULTIVIEW_EXT 0x90F1
1688#define GL_DRAW_BUFFER_EXT 0x0C01
1689#define GL_READ_BUFFER_EXT 0x0C02
1690#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2
1691typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
1692typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
1693typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
1694#ifdef GL_GLEXT_PROTOTYPES
1695GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
1696GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
1697GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
1698#endif
1699#endif /* GL_EXT_multiview_draw_buffers */
1700
1701#ifndef GL_EXT_multiview_tessellation_geometry_shader
1702#define GL_EXT_multiview_tessellation_geometry_shader 1
1703#endif /* GL_EXT_multiview_tessellation_geometry_shader */
1704
1705#ifndef GL_EXT_multiview_texture_multisample
1706#define GL_EXT_multiview_texture_multisample 1
1707#endif /* GL_EXT_multiview_texture_multisample */
1708
1709#ifndef GL_EXT_multiview_timer_query
1710#define GL_EXT_multiview_timer_query 1
1711#endif /* GL_EXT_multiview_timer_query */
1712
1713#ifndef GL_EXT_occlusion_query_boolean
1714#define GL_EXT_occlusion_query_boolean 1
1715#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
1716#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
1717#endif /* GL_EXT_occlusion_query_boolean */
1718
1719#ifndef GL_EXT_polygon_offset_clamp
1720#define GL_EXT_polygon_offset_clamp 1
1721#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B
1722typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC) (GLfloat factor, GLfloat units, GLfloat clamp);
1723#ifdef GL_GLEXT_PROTOTYPES
1724GL_APICALL void GL_APIENTRY glPolygonOffsetClampEXT (GLfloat factor, GLfloat units, GLfloat clamp);
1725#endif
1726#endif /* GL_EXT_polygon_offset_clamp */
1727
1728#ifndef GL_EXT_post_depth_coverage
1729#define GL_EXT_post_depth_coverage 1
1730#endif /* GL_EXT_post_depth_coverage */
1731
1732#ifndef GL_EXT_primitive_bounding_box
1733#define GL_EXT_primitive_bounding_box 1
1734#define GL_PRIMITIVE_BOUNDING_BOX_EXT 0x92BE
1735typedef void (GL_APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXEXTPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
1736#ifdef GL_GLEXT_PROTOTYPES
1737GL_APICALL void GL_APIENTRY glPrimitiveBoundingBoxEXT (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
1738#endif
1739#endif /* GL_EXT_primitive_bounding_box */
1740
1741#ifndef GL_EXT_protected_textures
1742#define GL_EXT_protected_textures 1
1743#define GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT 0x00000010
1744#define GL_TEXTURE_PROTECTED_EXT 0x8BFA
1745#endif /* GL_EXT_protected_textures */
1746
1747#ifndef GL_EXT_pvrtc_sRGB
1748#define GL_EXT_pvrtc_sRGB 1
1749#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54
1750#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55
1751#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56
1752#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57
1753#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG 0x93F0
1754#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG 0x93F1
1755#endif /* GL_EXT_pvrtc_sRGB */
1756
1757#ifndef GL_EXT_raster_multisample
1758#define GL_EXT_raster_multisample 1
1759#define GL_RASTER_MULTISAMPLE_EXT 0x9327
1760#define GL_RASTER_SAMPLES_EXT 0x9328
1761#define GL_MAX_RASTER_SAMPLES_EXT 0x9329
1762#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A
1763#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B
1764#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C
1765typedef void (GL_APIENTRYP PFNGLRASTERSAMPLESEXTPROC) (GLuint samples, GLboolean fixedsamplelocations);
1766#ifdef GL_GLEXT_PROTOTYPES
1767GL_APICALL void GL_APIENTRY glRasterSamplesEXT (GLuint samples, GLboolean fixedsamplelocations);
1768#endif
1769#endif /* GL_EXT_raster_multisample */
1770
1771#ifndef GL_EXT_read_format_bgra
1772#define GL_EXT_read_format_bgra 1
1773#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
1774#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
1775#endif /* GL_EXT_read_format_bgra */
1776
1777#ifndef GL_EXT_render_snorm
1778#define GL_EXT_render_snorm 1
1779#define GL_R8_SNORM 0x8F94
1780#define GL_RG8_SNORM 0x8F95
1781#define GL_RGBA8_SNORM 0x8F97
1782#define GL_R16_SNORM_EXT 0x8F98
1783#define GL_RG16_SNORM_EXT 0x8F99
1784#define GL_RGBA16_SNORM_EXT 0x8F9B
1785#endif /* GL_EXT_render_snorm */
1786
1787#ifndef GL_EXT_robustness
1788#define GL_EXT_robustness 1
1789#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
1790#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
1791#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
1792#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
1793#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
1794#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
1795#define GL_NO_RESET_NOTIFICATION_EXT 0x8261
1796typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
1797typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1798typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
1799typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1800#ifdef GL_GLEXT_PROTOTYPES
1801GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
1802GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1803GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
1804GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1805#endif
1806#endif /* GL_EXT_robustness */
1807
1808#ifndef GL_EXT_sRGB
1809#define GL_EXT_sRGB 1
1810#define GL_SRGB_EXT 0x8C40
1811#define GL_SRGB_ALPHA_EXT 0x8C42
1812#define GL_SRGB8_ALPHA8_EXT 0x8C43
1813#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
1814#endif /* GL_EXT_sRGB */
1815
1816#ifndef GL_EXT_sRGB_write_control
1817#define GL_EXT_sRGB_write_control 1
1818#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
1819#endif /* GL_EXT_sRGB_write_control */
1820
1821#ifndef GL_EXT_semaphore
1822#define GL_EXT_semaphore 1
1823#define GL_LAYOUT_GENERAL_EXT 0x958D
1824#define GL_LAYOUT_COLOR_ATTACHMENT_EXT 0x958E
1825#define GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT 0x958F
1826#define GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT 0x9590
1827#define GL_LAYOUT_SHADER_READ_ONLY_EXT 0x9591
1828#define GL_LAYOUT_TRANSFER_SRC_EXT 0x9592
1829#define GL_LAYOUT_TRANSFER_DST_EXT 0x9593
1830#define GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT 0x9530
1831#define GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT 0x9531
1832typedef void (GL_APIENTRYP PFNGLGENSEMAPHORESEXTPROC) (GLsizei n, GLuint *semaphores);
1833typedef void (GL_APIENTRYP PFNGLDELETESEMAPHORESEXTPROC) (GLsizei n, const GLuint *semaphores);
1834typedef GLboolean (GL_APIENTRYP PFNGLISSEMAPHOREEXTPROC) (GLuint semaphore);
1835typedef void (GL_APIENTRYP PFNGLSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, const GLuint64 *params);
1836typedef void (GL_APIENTRYP PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, GLuint64 *params);
1837typedef void (GL_APIENTRYP PFNGLWAITSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts);
1838typedef void (GL_APIENTRYP PFNGLSIGNALSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts);
1839#ifdef GL_GLEXT_PROTOTYPES
1840GL_APICALL void GL_APIENTRY glGenSemaphoresEXT (GLsizei n, GLuint *semaphores);
1841GL_APICALL void GL_APIENTRY glDeleteSemaphoresEXT (GLsizei n, const GLuint *semaphores);
1842GL_APICALL GLboolean GL_APIENTRY glIsSemaphoreEXT (GLuint semaphore);
1843GL_APICALL void GL_APIENTRY glSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, const GLuint64 *params);
1844GL_APICALL void GL_APIENTRY glGetSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, GLuint64 *params);
1845GL_APICALL void GL_APIENTRY glWaitSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts);
1846GL_APICALL void GL_APIENTRY glSignalSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts);
1847#endif
1848#endif /* GL_EXT_semaphore */
1849
1850#ifndef GL_EXT_semaphore_fd
1851#define GL_EXT_semaphore_fd 1
1852typedef void (GL_APIENTRYP PFNGLIMPORTSEMAPHOREFDEXTPROC) (GLuint semaphore, GLenum handleType, GLint fd);
1853#ifdef GL_GLEXT_PROTOTYPES
1854GL_APICALL void GL_APIENTRY glImportSemaphoreFdEXT (GLuint semaphore, GLenum handleType, GLint fd);
1855#endif
1856#endif /* GL_EXT_semaphore_fd */
1857
1858#ifndef GL_EXT_semaphore_win32
1859#define GL_EXT_semaphore_win32 1
1860#define GL_HANDLE_TYPE_D3D12_FENCE_EXT 0x9594
1861#define GL_D3D12_FENCE_VALUE_EXT 0x9595
1862typedef void (GL_APIENTRYP PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC) (GLuint semaphore, GLenum handleType, void *handle);
1863typedef void (GL_APIENTRYP PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC) (GLuint semaphore, GLenum handleType, const void *name);
1864#ifdef GL_GLEXT_PROTOTYPES
1865GL_APICALL void GL_APIENTRY glImportSemaphoreWin32HandleEXT (GLuint semaphore, GLenum handleType, void *handle);
1866GL_APICALL void GL_APIENTRY glImportSemaphoreWin32NameEXT (GLuint semaphore, GLenum handleType, const void *name);
1867#endif
1868#endif /* GL_EXT_semaphore_win32 */
1869
1870#ifndef GL_EXT_separate_depth_stencil
1871#define GL_EXT_separate_depth_stencil 1
1872#endif /* GL_EXT_separate_depth_stencil */
1873
1874#ifndef GL_EXT_separate_shader_objects
1875#define GL_EXT_separate_shader_objects 1
1876#define GL_ACTIVE_PROGRAM_EXT 0x8259
1877#define GL_VERTEX_SHADER_BIT_EXT 0x00000001
1878#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
1879#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
1880#define GL_PROGRAM_SEPARABLE_EXT 0x8258
1881#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
1882typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
1883typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1884typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar *const*strings);
1885typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
1886typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
1887typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1888typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
1889typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1890typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
1891typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
1892typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1893typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
1894typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1895typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1896typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1897typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
1898typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1899typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1900typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1901typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1902typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1903typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1904typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1905typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1906typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1907typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1908typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1909typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1910typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
1911typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1912typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
1913typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
1914typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1915typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1916typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1917typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1918typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1919typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1920typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1921typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1922typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1923typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1924typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1925typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1926#ifdef GL_GLEXT_PROTOTYPES
1927GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
1928GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
1929GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar *const*strings);
1930GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
1931GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
1932GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1933GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
1934GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
1935GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
1936GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
1937GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1938GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
1939GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1940GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1941GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1942GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
1943GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1944GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1945GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1946GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1947GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1948GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1949GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1950GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1951GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1952GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1953GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1954GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1955GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
1956GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
1957GL_APICALL void GL_APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
1958GL_APICALL void GL_APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
1959GL_APICALL void GL_APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1960GL_APICALL void GL_APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1961GL_APICALL void GL_APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1962GL_APICALL void GL_APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1963GL_APICALL void GL_APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1964GL_APICALL void GL_APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1965GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1966GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1967GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1968GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1969GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1970GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1971#endif
1972#endif /* GL_EXT_separate_shader_objects */
1973
1974#ifndef GL_EXT_shader_framebuffer_fetch
1975#define GL_EXT_shader_framebuffer_fetch 1
1976#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
1977#endif /* GL_EXT_shader_framebuffer_fetch */
1978
1979#ifndef GL_EXT_shader_framebuffer_fetch_non_coherent
1980#define GL_EXT_shader_framebuffer_fetch_non_coherent 1
1981typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC) (void);
1982#ifdef GL_GLEXT_PROTOTYPES
1983GL_APICALL void GL_APIENTRY glFramebufferFetchBarrierEXT (void);
1984#endif
1985#endif /* GL_EXT_shader_framebuffer_fetch_non_coherent */
1986
1987#ifndef GL_EXT_shader_group_vote
1988#define GL_EXT_shader_group_vote 1
1989#endif /* GL_EXT_shader_group_vote */
1990
1991#ifndef GL_EXT_shader_implicit_conversions
1992#define GL_EXT_shader_implicit_conversions 1
1993#endif /* GL_EXT_shader_implicit_conversions */
1994
1995#ifndef GL_EXT_shader_integer_mix
1996#define GL_EXT_shader_integer_mix 1
1997#endif /* GL_EXT_shader_integer_mix */
1998
1999#ifndef GL_EXT_shader_io_blocks
2000#define GL_EXT_shader_io_blocks 1
2001#endif /* GL_EXT_shader_io_blocks */
2002
2003#ifndef GL_EXT_shader_non_constant_global_initializers
2004#define GL_EXT_shader_non_constant_global_initializers 1
2005#endif /* GL_EXT_shader_non_constant_global_initializers */
2006
2007#ifndef GL_EXT_shader_pixel_local_storage
2008#define GL_EXT_shader_pixel_local_storage 1
2009#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT 0x8F63
2010#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT 0x8F67
2011#define GL_SHADER_PIXEL_LOCAL_STORAGE_EXT 0x8F64
2012#endif /* GL_EXT_shader_pixel_local_storage */
2013
2014#ifndef GL_EXT_shader_pixel_local_storage2
2015#define GL_EXT_shader_pixel_local_storage2 1
2016#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT 0x9650
2017#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT 0x9651
2018#define GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT 0x9652
2019typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target, GLsizei size);
2020typedef GLsizei (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target);
2021typedef void (GL_APIENTRYP PFNGLCLEARPIXELLOCALSTORAGEUIEXTPROC) (GLsizei offset, GLsizei n, const GLuint *values);
2022#ifdef GL_GLEXT_PROTOTYPES
2023GL_APICALL void GL_APIENTRY glFramebufferPixelLocalStorageSizeEXT (GLuint target, GLsizei size);
2024GL_APICALL GLsizei GL_APIENTRY glGetFramebufferPixelLocalStorageSizeEXT (GLuint target);
2025GL_APICALL void GL_APIENTRY glClearPixelLocalStorageuiEXT (GLsizei offset, GLsizei n, const GLuint *values);
2026#endif
2027#endif /* GL_EXT_shader_pixel_local_storage2 */
2028
2029#ifndef GL_EXT_shader_samples_identical
2030#define GL_EXT_shader_samples_identical 1
2031#endif /* GL_EXT_shader_samples_identical */
2032
2033#ifndef GL_EXT_shader_texture_lod
2034#define GL_EXT_shader_texture_lod 1
2035#endif /* GL_EXT_shader_texture_lod */
2036
2037#ifndef GL_EXT_shadow_samplers
2038#define GL_EXT_shadow_samplers 1
2039#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
2040#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
2041#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
2042#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
2043#endif /* GL_EXT_shadow_samplers */
2044
2045#ifndef GL_EXT_sparse_texture
2046#define GL_EXT_sparse_texture 1
2047#define GL_TEXTURE_SPARSE_EXT 0x91A6
2048#define GL_VIRTUAL_PAGE_SIZE_INDEX_EXT 0x91A7
2049#define GL_NUM_SPARSE_LEVELS_EXT 0x91AA
2050#define GL_NUM_VIRTUAL_PAGE_SIZES_EXT 0x91A8
2051#define GL_VIRTUAL_PAGE_SIZE_X_EXT 0x9195
2052#define GL_VIRTUAL_PAGE_SIZE_Y_EXT 0x9196
2053#define GL_VIRTUAL_PAGE_SIZE_Z_EXT 0x9197
2054#define GL_TEXTURE_2D_ARRAY 0x8C1A
2055#define GL_TEXTURE_3D 0x806F
2056#define GL_MAX_SPARSE_TEXTURE_SIZE_EXT 0x9198
2057#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT 0x9199
2058#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT 0x919A
2059#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT 0x91A9
2060typedef void (GL_APIENTRYP PFNGLTEXPAGECOMMITMENTEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
2061#ifdef GL_GLEXT_PROTOTYPES
2062GL_APICALL void GL_APIENTRY glTexPageCommitmentEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
2063#endif
2064#endif /* GL_EXT_sparse_texture */
2065
2066#ifndef GL_EXT_sparse_texture2
2067#define GL_EXT_sparse_texture2 1
2068#endif /* GL_EXT_sparse_texture2 */
2069
2070#ifndef GL_EXT_tessellation_point_size
2071#define GL_EXT_tessellation_point_size 1
2072#endif /* GL_EXT_tessellation_point_size */
2073
2074#ifndef GL_EXT_tessellation_shader
2075#define GL_EXT_tessellation_shader 1
2076#define GL_PATCHES_EXT 0x000E
2077#define GL_PATCH_VERTICES_EXT 0x8E72
2078#define GL_TESS_CONTROL_OUTPUT_VERTICES_EXT 0x8E75
2079#define GL_TESS_GEN_MODE_EXT 0x8E76
2080#define GL_TESS_GEN_SPACING_EXT 0x8E77
2081#define GL_TESS_GEN_VERTEX_ORDER_EXT 0x8E78
2082#define GL_TESS_GEN_POINT_MODE_EXT 0x8E79
2083#define GL_ISOLINES_EXT 0x8E7A
2084#define GL_QUADS_EXT 0x0007
2085#define GL_FRACTIONAL_ODD_EXT 0x8E7B
2086#define GL_FRACTIONAL_EVEN_EXT 0x8E7C
2087#define GL_MAX_PATCH_VERTICES_EXT 0x8E7D
2088#define GL_MAX_TESS_GEN_LEVEL_EXT 0x8E7E
2089#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E7F
2090#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E80
2091#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT 0x8E81
2092#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT 0x8E82
2093#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT 0x8E83
2094#define GL_MAX_TESS_PATCH_COMPONENTS_EXT 0x8E84
2095#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT 0x8E85
2096#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT 0x8E86
2097#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT 0x8E89
2098#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT 0x8E8A
2099#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT 0x886C
2100#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT 0x886D
2101#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E1E
2102#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E1F
2103#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT 0x92CD
2104#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT 0x92CE
2105#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT 0x92D3
2106#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT 0x92D4
2107#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT 0x90CB
2108#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT 0x90CC
2109#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT 0x90D8
2110#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT 0x90D9
2111#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221
2112#define GL_IS_PER_PATCH_EXT 0x92E7
2113#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT 0x9307
2114#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT 0x9308
2115#define GL_TESS_CONTROL_SHADER_EXT 0x8E88
2116#define GL_TESS_EVALUATION_SHADER_EXT 0x8E87
2117#define GL_TESS_CONTROL_SHADER_BIT_EXT 0x00000008
2118#define GL_TESS_EVALUATION_SHADER_BIT_EXT 0x00000010
2119typedef void (GL_APIENTRYP PFNGLPATCHPARAMETERIEXTPROC) (GLenum pname, GLint value);
2120#ifdef GL_GLEXT_PROTOTYPES
2121GL_APICALL void GL_APIENTRY glPatchParameteriEXT (GLenum pname, GLint value);
2122#endif
2123#endif /* GL_EXT_tessellation_shader */
2124
2125#ifndef GL_EXT_texture_border_clamp
2126#define GL_EXT_texture_border_clamp 1
2127#define GL_TEXTURE_BORDER_COLOR_EXT 0x1004
2128#define GL_CLAMP_TO_BORDER_EXT 0x812D
2129typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
2130typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params);
2131typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
2132typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params);
2133typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVEXTPROC) (GLuint sampler, GLenum pname, const GLint *param);
2134typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVEXTPROC) (GLuint sampler, GLenum pname, const GLuint *param);
2135typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVEXTPROC) (GLuint sampler, GLenum pname, GLint *params);
2136typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVEXTPROC) (GLuint sampler, GLenum pname, GLuint *params);
2137#ifdef GL_GLEXT_PROTOTYPES
2138GL_APICALL void GL_APIENTRY glTexParameterIivEXT (GLenum target, GLenum pname, const GLint *params);
2139GL_APICALL void GL_APIENTRY glTexParameterIuivEXT (GLenum target, GLenum pname, const GLuint *params);
2140GL_APICALL void GL_APIENTRY glGetTexParameterIivEXT (GLenum target, GLenum pname, GLint *params);
2141GL_APICALL void GL_APIENTRY glGetTexParameterIuivEXT (GLenum target, GLenum pname, GLuint *params);
2142GL_APICALL void GL_APIENTRY glSamplerParameterIivEXT (GLuint sampler, GLenum pname, const GLint *param);
2143GL_APICALL void GL_APIENTRY glSamplerParameterIuivEXT (GLuint sampler, GLenum pname, const GLuint *param);
2144GL_APICALL void GL_APIENTRY glGetSamplerParameterIivEXT (GLuint sampler, GLenum pname, GLint *params);
2145GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivEXT (GLuint sampler, GLenum pname, GLuint *params);
2146#endif
2147#endif /* GL_EXT_texture_border_clamp */
2148
2149#ifndef GL_EXT_texture_buffer
2150#define GL_EXT_texture_buffer 1
2151#define GL_TEXTURE_BUFFER_EXT 0x8C2A
2152#define GL_TEXTURE_BUFFER_BINDING_EXT 0x8C2A
2153#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
2154#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
2155#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
2156#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT 0x919F
2157#define GL_SAMPLER_BUFFER_EXT 0x8DC2
2158#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
2159#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
2160#define GL_IMAGE_BUFFER_EXT 0x9051
2161#define GL_INT_IMAGE_BUFFER_EXT 0x905C
2162#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067
2163#define GL_TEXTURE_BUFFER_OFFSET_EXT 0x919D
2164#define GL_TEXTURE_BUFFER_SIZE_EXT 0x919E
2165typedef void (GL_APIENTRYP PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer);
2166typedef void (GL_APIENTRYP PFNGLTEXBUFFERRANGEEXTPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
2167#ifdef GL_GLEXT_PROTOTYPES
2168GL_APICALL void GL_APIENTRY glTexBufferEXT (GLenum target, GLenum internalformat, GLuint buffer);
2169GL_APICALL void GL_APIENTRY glTexBufferRangeEXT (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
2170#endif
2171#endif /* GL_EXT_texture_buffer */
2172
2173#ifndef GL_EXT_texture_compression_astc_decode_mode
2174#define GL_EXT_texture_compression_astc_decode_mode 1
2175#define GL_TEXTURE_ASTC_DECODE_PRECISION_EXT 0x8F69
2176#endif /* GL_EXT_texture_compression_astc_decode_mode */
2177
2178#ifndef GL_EXT_texture_compression_bptc
2179#define GL_EXT_texture_compression_bptc 1
2180#define GL_COMPRESSED_RGBA_BPTC_UNORM_EXT 0x8E8C
2181#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT 0x8E8D
2182#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT 0x8E8E
2183#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT 0x8E8F
2184#endif /* GL_EXT_texture_compression_bptc */
2185
2186#ifndef GL_EXT_texture_compression_dxt1
2187#define GL_EXT_texture_compression_dxt1 1
2188#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
2189#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
2190#endif /* GL_EXT_texture_compression_dxt1 */
2191
2192#ifndef GL_EXT_texture_compression_rgtc
2193#define GL_EXT_texture_compression_rgtc 1
2194#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
2195#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
2196#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
2197#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
2198#endif /* GL_EXT_texture_compression_rgtc */
2199
2200#ifndef GL_EXT_texture_compression_s3tc
2201#define GL_EXT_texture_compression_s3tc 1
2202#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
2203#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
2204#endif /* GL_EXT_texture_compression_s3tc */
2205
2206#ifndef GL_EXT_texture_compression_s3tc_srgb
2207#define GL_EXT_texture_compression_s3tc_srgb 1
2208#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
2209#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
2210#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
2211#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
2212#endif /* GL_EXT_texture_compression_s3tc_srgb */
2213
2214#ifndef GL_EXT_texture_cube_map_array
2215#define GL_EXT_texture_cube_map_array 1
2216#define GL_TEXTURE_CUBE_MAP_ARRAY_EXT 0x9009
2217#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT 0x900A
2218#define GL_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900C
2219#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT 0x900D
2220#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900E
2221#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900F
2222#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054
2223#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F
2224#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A
2225#endif /* GL_EXT_texture_cube_map_array */
2226
2227#ifndef GL_EXT_texture_filter_anisotropic
2228#define GL_EXT_texture_filter_anisotropic 1
2229#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
2230#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
2231#endif /* GL_EXT_texture_filter_anisotropic */
2232
2233#ifndef GL_EXT_texture_filter_minmax
2234#define GL_EXT_texture_filter_minmax 1
2235#define GL_TEXTURE_REDUCTION_MODE_EXT 0x9366
2236#define GL_WEIGHTED_AVERAGE_EXT 0x9367
2237#endif /* GL_EXT_texture_filter_minmax */
2238
2239#ifndef GL_EXT_texture_format_BGRA8888
2240#define GL_EXT_texture_format_BGRA8888 1
2241#endif /* GL_EXT_texture_format_BGRA8888 */
2242
2243#ifndef GL_EXT_texture_format_sRGB_override
2244#define GL_EXT_texture_format_sRGB_override 1
2245#define GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT 0x8FBF
2246#endif /* GL_EXT_texture_format_sRGB_override */
2247
2248#ifndef GL_EXT_texture_mirror_clamp_to_edge
2249#define GL_EXT_texture_mirror_clamp_to_edge 1
2250#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
2251#endif /* GL_EXT_texture_mirror_clamp_to_edge */
2252
2253#ifndef GL_EXT_texture_norm16
2254#define GL_EXT_texture_norm16 1
2255#define GL_R16_EXT 0x822A
2256#define GL_RG16_EXT 0x822C
2257#define GL_RGBA16_EXT 0x805B
2258#define GL_RGB16_EXT 0x8054
2259#define GL_RGB16_SNORM_EXT 0x8F9A
2260#endif /* GL_EXT_texture_norm16 */
2261
2262#ifndef GL_EXT_texture_query_lod
2263#define GL_EXT_texture_query_lod 1
2264#endif /* GL_EXT_texture_query_lod */
2265
2266#ifndef GL_EXT_texture_rg
2267#define GL_EXT_texture_rg 1
2268#define GL_RED_EXT 0x1903
2269#define GL_RG_EXT 0x8227
2270#define GL_R8_EXT 0x8229
2271#define GL_RG8_EXT 0x822B
2272#endif /* GL_EXT_texture_rg */
2273
2274#ifndef GL_EXT_texture_sRGB_R8
2275#define GL_EXT_texture_sRGB_R8 1
2276#define GL_SR8_EXT 0x8FBD
2277#endif /* GL_EXT_texture_sRGB_R8 */
2278
2279#ifndef GL_EXT_texture_sRGB_RG8
2280#define GL_EXT_texture_sRGB_RG8 1
2281#define GL_SRG8_EXT 0x8FBE
2282#endif /* GL_EXT_texture_sRGB_RG8 */
2283
2284#ifndef GL_EXT_texture_sRGB_decode
2285#define GL_EXT_texture_sRGB_decode 1
2286#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48
2287#define GL_DECODE_EXT 0x8A49
2288#define GL_SKIP_DECODE_EXT 0x8A4A
2289#endif /* GL_EXT_texture_sRGB_decode */
2290
2291#ifndef GL_EXT_texture_shadow_lod
2292#define GL_EXT_texture_shadow_lod 1
2293#endif /* GL_EXT_texture_shadow_lod */
2294
2295#ifndef GL_EXT_texture_storage
2296#define GL_EXT_texture_storage 1
2297#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
2298#define GL_ALPHA8_EXT 0x803C
2299#define GL_LUMINANCE8_EXT 0x8040
2300#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
2301#define GL_RGBA32F_EXT 0x8814
2302#define GL_RGB32F_EXT 0x8815
2303#define GL_ALPHA32F_EXT 0x8816
2304#define GL_LUMINANCE32F_EXT 0x8818
2305#define GL_LUMINANCE_ALPHA32F_EXT 0x8819
2306#define GL_ALPHA16F_EXT 0x881C
2307#define GL_LUMINANCE16F_EXT 0x881E
2308#define GL_LUMINANCE_ALPHA16F_EXT 0x881F
2309#define GL_R32F_EXT 0x822E
2310#define GL_RG32F_EXT 0x8230
2311typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2312typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2313typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
2314typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2315typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2316typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
2317#ifdef GL_GLEXT_PROTOTYPES
2318GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2319GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2320GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
2321GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2322GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2323GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
2324#endif
2325#endif /* GL_EXT_texture_storage */
2326
2327#ifndef GL_EXT_texture_storage_compression
2328#define GL_EXT_texture_storage_compression 1
2329#define GL_NUM_SURFACE_COMPRESSION_FIXED_RATES_EXT 0x8F6E
2330#define GL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT 0x96C4
2331#define GL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT 0x96C5
2332#define GL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT 0x96C6
2333#define GL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT 0x96C7
2334#define GL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT 0x96C8
2335#define GL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT 0x96C9
2336#define GL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT 0x96CA
2337#define GL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT 0x96CB
2338#define GL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT 0x96CC
2339#define GL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT 0x96CD
2340#define GL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT 0x96CE
2341#define GL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT 0x96CF
2342typedef void (GL_APIENTRYP PFNGLTEXSTORAGEATTRIBS2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, const GLint* attrib_list);
2343typedef void (GL_APIENTRYP PFNGLTEXSTORAGEATTRIBS3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, const GLint* attrib_list);
2344#ifdef GL_GLEXT_PROTOTYPES
2345GL_APICALL void GL_APIENTRY glTexStorageAttribs2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, const GLint* attrib_list);
2346GL_APICALL void GL_APIENTRY glTexStorageAttribs3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, const GLint* attrib_list);
2347#endif
2348#endif /* GL_EXT_texture_storage_compression */
2349
2350#ifndef GL_EXT_texture_type_2_10_10_10_REV
2351#define GL_EXT_texture_type_2_10_10_10_REV 1
2352#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
2353#endif /* GL_EXT_texture_type_2_10_10_10_REV */
2354
2355#ifndef GL_EXT_texture_view
2356#define GL_EXT_texture_view 1
2357#define GL_TEXTURE_VIEW_MIN_LEVEL_EXT 0x82DB
2358#define GL_TEXTURE_VIEW_NUM_LEVELS_EXT 0x82DC
2359#define GL_TEXTURE_VIEW_MIN_LAYER_EXT 0x82DD
2360#define GL_TEXTURE_VIEW_NUM_LAYERS_EXT 0x82DE
2361typedef void (GL_APIENTRYP PFNGLTEXTUREVIEWEXTPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
2362#ifdef GL_GLEXT_PROTOTYPES
2363GL_APICALL void GL_APIENTRY glTextureViewEXT (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
2364#endif
2365#endif /* GL_EXT_texture_view */
2366
2367#ifndef GL_EXT_unpack_subimage
2368#define GL_EXT_unpack_subimage 1
2369#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2
2370#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3
2371#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4
2372#endif /* GL_EXT_unpack_subimage */
2373
2374#ifndef GL_EXT_win32_keyed_mutex
2375#define GL_EXT_win32_keyed_mutex 1
2376typedef GLboolean (GL_APIENTRYP PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key, GLuint timeout);
2377typedef GLboolean (GL_APIENTRYP PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key);
2378#ifdef GL_GLEXT_PROTOTYPES
2379GL_APICALL GLboolean GL_APIENTRY glAcquireKeyedMutexWin32EXT (GLuint memory, GLuint64 key, GLuint timeout);
2380GL_APICALL GLboolean GL_APIENTRY glReleaseKeyedMutexWin32EXT (GLuint memory, GLuint64 key);
2381#endif
2382#endif /* GL_EXT_win32_keyed_mutex */
2383
2384#ifndef GL_EXT_window_rectangles
2385#define GL_EXT_window_rectangles 1
2386#define GL_INCLUSIVE_EXT 0x8F10
2387#define GL_EXCLUSIVE_EXT 0x8F11
2388#define GL_WINDOW_RECTANGLE_EXT 0x8F12
2389#define GL_WINDOW_RECTANGLE_MODE_EXT 0x8F13
2390#define GL_MAX_WINDOW_RECTANGLES_EXT 0x8F14
2391#define GL_NUM_WINDOW_RECTANGLES_EXT 0x8F15
2392typedef void (GL_APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei count, const GLint *box);
2393#ifdef GL_GLEXT_PROTOTYPES
2394GL_APICALL void GL_APIENTRY glWindowRectanglesEXT (GLenum mode, GLsizei count, const GLint *box);
2395#endif
2396#endif /* GL_EXT_window_rectangles */
2397
2398#ifndef GL_FJ_shader_binary_GCCSO
2399#define GL_FJ_shader_binary_GCCSO 1
2400#define GL_GCCSO_SHADER_BINARY_FJ 0x9260
2401#endif /* GL_FJ_shader_binary_GCCSO */
2402
2403#ifndef GL_IMG_bindless_texture
2404#define GL_IMG_bindless_texture 1
2405typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTUREHANDLEIMGPROC) (GLuint texture);
2406typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEIMGPROC) (GLuint texture, GLuint sampler);
2407typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64IMGPROC) (GLint location, GLuint64 value);
2408typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64VIMGPROC) (GLint location, GLsizei count, const GLuint64 *value);
2409typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64IMGPROC) (GLuint program, GLint location, GLuint64 value);
2410typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VIMGPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
2411#ifdef GL_GLEXT_PROTOTYPES
2412GL_APICALL GLuint64 GL_APIENTRY glGetTextureHandleIMG (GLuint texture);
2413GL_APICALL GLuint64 GL_APIENTRY glGetTextureSamplerHandleIMG (GLuint texture, GLuint sampler);
2414GL_APICALL void GL_APIENTRY glUniformHandleui64IMG (GLint location, GLuint64 value);
2415GL_APICALL void GL_APIENTRY glUniformHandleui64vIMG (GLint location, GLsizei count, const GLuint64 *value);
2416GL_APICALL void GL_APIENTRY glProgramUniformHandleui64IMG (GLuint program, GLint location, GLuint64 value);
2417GL_APICALL void GL_APIENTRY glProgramUniformHandleui64vIMG (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
2418#endif
2419#endif /* GL_IMG_bindless_texture */
2420
2421#ifndef GL_IMG_framebuffer_downsample
2422#define GL_IMG_framebuffer_downsample 1
2423#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG 0x913C
2424#define GL_NUM_DOWNSAMPLE_SCALES_IMG 0x913D
2425#define GL_DOWNSAMPLE_SCALES_IMG 0x913E
2426#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG 0x913F
2427typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DDOWNSAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale);
2428typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERDOWNSAMPLEIMGPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale);
2429#ifdef GL_GLEXT_PROTOTYPES
2430GL_APICALL void GL_APIENTRY glFramebufferTexture2DDownsampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale);
2431GL_APICALL void GL_APIENTRY glFramebufferTextureLayerDownsampleIMG (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale);
2432#endif
2433#endif /* GL_IMG_framebuffer_downsample */
2434
2435#ifndef GL_IMG_multisampled_render_to_texture
2436#define GL_IMG_multisampled_render_to_texture 1
2437#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
2438#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
2439#define GL_MAX_SAMPLES_IMG 0x9135
2440#define GL_TEXTURE_SAMPLES_IMG 0x9136
2441typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
2442typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
2443#ifdef GL_GLEXT_PROTOTYPES
2444GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
2445GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
2446#endif
2447#endif /* GL_IMG_multisampled_render_to_texture */
2448
2449#ifndef GL_IMG_program_binary
2450#define GL_IMG_program_binary 1
2451#define GL_SGX_PROGRAM_BINARY_IMG 0x9130
2452#endif /* GL_IMG_program_binary */
2453
2454#ifndef GL_IMG_read_format
2455#define GL_IMG_read_format 1
2456#define GL_BGRA_IMG 0x80E1
2457#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
2458#endif /* GL_IMG_read_format */
2459
2460#ifndef GL_IMG_shader_binary
2461#define GL_IMG_shader_binary 1
2462#define GL_SGX_BINARY_IMG 0x8C0A
2463#endif /* GL_IMG_shader_binary */
2464
2465#ifndef GL_IMG_texture_compression_pvrtc
2466#define GL_IMG_texture_compression_pvrtc 1
2467#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
2468#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
2469#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
2470#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
2471#endif /* GL_IMG_texture_compression_pvrtc */
2472
2473#ifndef GL_IMG_texture_compression_pvrtc2
2474#define GL_IMG_texture_compression_pvrtc2 1
2475#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137
2476#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
2477#endif /* GL_IMG_texture_compression_pvrtc2 */
2478
2479#ifndef GL_IMG_texture_filter_cubic
2480#define GL_IMG_texture_filter_cubic 1
2481#define GL_CUBIC_IMG 0x9139
2482#define GL_CUBIC_MIPMAP_NEAREST_IMG 0x913A
2483#define GL_CUBIC_MIPMAP_LINEAR_IMG 0x913B
2484#endif /* GL_IMG_texture_filter_cubic */
2485
2486#ifndef GL_INTEL_blackhole_render
2487#define GL_INTEL_blackhole_render 1
2488#define GL_BLACKHOLE_RENDER_INTEL 0x83FC
2489#endif /* GL_INTEL_blackhole_render */
2490
2491#ifndef GL_INTEL_conservative_rasterization
2492#define GL_INTEL_conservative_rasterization 1
2493#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE
2494#endif /* GL_INTEL_conservative_rasterization */
2495
2496#ifndef GL_INTEL_framebuffer_CMAA
2497#define GL_INTEL_framebuffer_CMAA 1
2498typedef void (GL_APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void);
2499#ifdef GL_GLEXT_PROTOTYPES
2500GL_APICALL void GL_APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void);
2501#endif
2502#endif /* GL_INTEL_framebuffer_CMAA */
2503
2504#ifndef GL_INTEL_performance_query
2505#define GL_INTEL_performance_query 1
2506#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000
2507#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001
2508#define GL_PERFQUERY_WAIT_INTEL 0x83FB
2509#define GL_PERFQUERY_FLUSH_INTEL 0x83FA
2510#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9
2511#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0
2512#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1
2513#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2
2514#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3
2515#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4
2516#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5
2517#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8
2518#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9
2519#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA
2520#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB
2521#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC
2522#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD
2523#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE
2524#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF
2525#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500
2526typedef void (GL_APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle);
2527typedef void (GL_APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle);
2528typedef void (GL_APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle);
2529typedef void (GL_APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle);
2530typedef void (GL_APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId);
2531typedef void (GL_APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId);
2532typedef void (GL_APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);
2533typedef void (GL_APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten);
2534typedef void (GL_APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId);
2535typedef void (GL_APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
2536#ifdef GL_GLEXT_PROTOTYPES
2537GL_APICALL void GL_APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle);
2538GL_APICALL void GL_APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle);
2539GL_APICALL void GL_APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle);
2540GL_APICALL void GL_APIENTRY glEndPerfQueryINTEL (GLuint queryHandle);
2541GL_APICALL void GL_APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId);
2542GL_APICALL void GL_APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId);
2543GL_APICALL void GL_APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);
2544GL_APICALL void GL_APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten);
2545GL_APICALL void GL_APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId);
2546GL_APICALL void GL_APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
2547#endif
2548#endif /* GL_INTEL_performance_query */
2549
2550#ifndef GL_MESA_bgra
2551#define GL_MESA_bgra 1
2552#define GL_BGR_EXT 0x80E0
2553#endif /* GL_MESA_bgra */
2554
2555#ifndef GL_MESA_framebuffer_flip_x
2556#define GL_MESA_framebuffer_flip_x 1
2557#define GL_FRAMEBUFFER_FLIP_X_MESA 0x8BBC
2558#endif /* GL_MESA_framebuffer_flip_x */
2559
2560#ifndef GL_MESA_framebuffer_flip_y
2561#define GL_MESA_framebuffer_flip_y 1
2562#define GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB
2563typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPARAMETERIMESAPROC) (GLenum target, GLenum pname, GLint param);
2564typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC) (GLenum target, GLenum pname, GLint *params);
2565#ifdef GL_GLEXT_PROTOTYPES
2566GL_APICALL void GL_APIENTRY glFramebufferParameteriMESA (GLenum target, GLenum pname, GLint param);
2567GL_APICALL void GL_APIENTRY glGetFramebufferParameterivMESA (GLenum target, GLenum pname, GLint *params);
2568#endif
2569#endif /* GL_MESA_framebuffer_flip_y */
2570
2571#ifndef GL_MESA_framebuffer_swap_xy
2572#define GL_MESA_framebuffer_swap_xy 1
2573#define GL_FRAMEBUFFER_SWAP_XY_MESA 0x8BBD
2574#endif /* GL_MESA_framebuffer_swap_xy */
2575
2576#ifndef GL_MESA_program_binary_formats
2577#define GL_MESA_program_binary_formats 1
2578#define GL_PROGRAM_BINARY_FORMAT_MESA 0x875F
2579#endif /* GL_MESA_program_binary_formats */
2580
2581#ifndef GL_MESA_sampler_objects
2582#define GL_MESA_sampler_objects 1
2583#define GL_SAMPLER_BINDING 0x8919
2584typedef void (GL_APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
2585typedef void (GL_APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
2586typedef GLboolean (GL_APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);
2587typedef void (GL_APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
2588typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
2589typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
2590typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
2591typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
2592typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
2593typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
2594#ifdef GL_GLEXT_PROTOTYPES
2595GL_APICALL void GL_APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
2596GL_APICALL void GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
2597GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler);
2598GL_APICALL void GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler);
2599GL_APICALL void GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
2600GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
2601GL_APICALL void GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
2602GL_APICALL void GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
2603GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
2604GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
2605#endif
2606#endif /* GL_MESA_sampler_objects */
2607
2608#ifndef GL_MESA_shader_integer_functions
2609#define GL_MESA_shader_integer_functions 1
2610#endif /* GL_MESA_shader_integer_functions */
2611
2612#ifndef GL_NVX_blend_equation_advanced_multi_draw_buffers
2613#define GL_NVX_blend_equation_advanced_multi_draw_buffers 1
2614#endif /* GL_NVX_blend_equation_advanced_multi_draw_buffers */
2615
2616#ifndef GL_NV_bindless_texture
2617#define GL_NV_bindless_texture 1
2618typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture);
2619typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler);
2620typedef void (GL_APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle);
2621typedef void (GL_APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle);
2622typedef GLuint64 (GL_APIENTRYP PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
2623typedef void (GL_APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access);
2624typedef void (GL_APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle);
2625typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value);
2626typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64 *value);
2627typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value);
2628typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
2629typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle);
2630typedef GLboolean (GL_APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle);
2631#ifdef GL_GLEXT_PROTOTYPES
2632GL_APICALL GLuint64 GL_APIENTRY glGetTextureHandleNV (GLuint texture);
2633GL_APICALL GLuint64 GL_APIENTRY glGetTextureSamplerHandleNV (GLuint texture, GLuint sampler);
2634GL_APICALL void GL_APIENTRY glMakeTextureHandleResidentNV (GLuint64 handle);
2635GL_APICALL void GL_APIENTRY glMakeTextureHandleNonResidentNV (GLuint64 handle);
2636GL_APICALL GLuint64 GL_APIENTRY glGetImageHandleNV (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
2637GL_APICALL void GL_APIENTRY glMakeImageHandleResidentNV (GLuint64 handle, GLenum access);
2638GL_APICALL void GL_APIENTRY glMakeImageHandleNonResidentNV (GLuint64 handle);
2639GL_APICALL void GL_APIENTRY glUniformHandleui64NV (GLint location, GLuint64 value);
2640GL_APICALL void GL_APIENTRY glUniformHandleui64vNV (GLint location, GLsizei count, const GLuint64 *value);
2641GL_APICALL void GL_APIENTRY glProgramUniformHandleui64NV (GLuint program, GLint location, GLuint64 value);
2642GL_APICALL void GL_APIENTRY glProgramUniformHandleui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
2643GL_APICALL GLboolean GL_APIENTRY glIsTextureHandleResidentNV (GLuint64 handle);
2644GL_APICALL GLboolean GL_APIENTRY glIsImageHandleResidentNV (GLuint64 handle);
2645#endif
2646#endif /* GL_NV_bindless_texture */
2647
2648#ifndef GL_NV_blend_equation_advanced
2649#define GL_NV_blend_equation_advanced 1
2650#define GL_BLEND_OVERLAP_NV 0x9281
2651#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280
2652#define GL_BLUE_NV 0x1905
2653#define GL_COLORBURN_NV 0x929A
2654#define GL_COLORDODGE_NV 0x9299
2655#define GL_CONJOINT_NV 0x9284
2656#define GL_CONTRAST_NV 0x92A1
2657#define GL_DARKEN_NV 0x9297
2658#define GL_DIFFERENCE_NV 0x929E
2659#define GL_DISJOINT_NV 0x9283
2660#define GL_DST_ATOP_NV 0x928F
2661#define GL_DST_IN_NV 0x928B
2662#define GL_DST_NV 0x9287
2663#define GL_DST_OUT_NV 0x928D
2664#define GL_DST_OVER_NV 0x9289
2665#define GL_EXCLUSION_NV 0x92A0
2666#define GL_GREEN_NV 0x1904
2667#define GL_HARDLIGHT_NV 0x929B
2668#define GL_HARDMIX_NV 0x92A9
2669#define GL_HSL_COLOR_NV 0x92AF
2670#define GL_HSL_HUE_NV 0x92AD
2671#define GL_HSL_LUMINOSITY_NV 0x92B0
2672#define GL_HSL_SATURATION_NV 0x92AE
2673#define GL_INVERT_OVG_NV 0x92B4
2674#define GL_INVERT_RGB_NV 0x92A3
2675#define GL_LIGHTEN_NV 0x9298
2676#define GL_LINEARBURN_NV 0x92A5
2677#define GL_LINEARDODGE_NV 0x92A4
2678#define GL_LINEARLIGHT_NV 0x92A7
2679#define GL_MINUS_CLAMPED_NV 0x92B3
2680#define GL_MINUS_NV 0x929F
2681#define GL_MULTIPLY_NV 0x9294
2682#define GL_OVERLAY_NV 0x9296
2683#define GL_PINLIGHT_NV 0x92A8
2684#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2
2685#define GL_PLUS_CLAMPED_NV 0x92B1
2686#define GL_PLUS_DARKER_NV 0x9292
2687#define GL_PLUS_NV 0x9291
2688#define GL_RED_NV 0x1903
2689#define GL_SCREEN_NV 0x9295
2690#define GL_SOFTLIGHT_NV 0x929C
2691#define GL_SRC_ATOP_NV 0x928E
2692#define GL_SRC_IN_NV 0x928A
2693#define GL_SRC_NV 0x9286
2694#define GL_SRC_OUT_NV 0x928C
2695#define GL_SRC_OVER_NV 0x9288
2696#define GL_UNCORRELATED_NV 0x9282
2697#define GL_VIVIDLIGHT_NV 0x92A6
2698#define GL_XOR_NV 0x1506
2699typedef void (GL_APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);
2700typedef void (GL_APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);
2701#ifdef GL_GLEXT_PROTOTYPES
2702GL_APICALL void GL_APIENTRY glBlendParameteriNV (GLenum pname, GLint value);
2703GL_APICALL void GL_APIENTRY glBlendBarrierNV (void);
2704#endif
2705#endif /* GL_NV_blend_equation_advanced */
2706
2707#ifndef GL_NV_blend_equation_advanced_coherent
2708#define GL_NV_blend_equation_advanced_coherent 1
2709#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285
2710#endif /* GL_NV_blend_equation_advanced_coherent */
2711
2712#ifndef GL_NV_blend_minmax_factor
2713#define GL_NV_blend_minmax_factor 1
2714#define GL_FACTOR_MIN_AMD 0x901C
2715#define GL_FACTOR_MAX_AMD 0x901D
2716#endif /* GL_NV_blend_minmax_factor */
2717
2718#ifndef GL_NV_clip_space_w_scaling
2719#define GL_NV_clip_space_w_scaling 1
2720#define GL_VIEWPORT_POSITION_W_SCALE_NV 0x937C
2721#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV 0x937D
2722#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV 0x937E
2723typedef void (GL_APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC) (GLuint index, GLfloat xcoeff, GLfloat ycoeff);
2724#ifdef GL_GLEXT_PROTOTYPES
2725GL_APICALL void GL_APIENTRY glViewportPositionWScaleNV (GLuint index, GLfloat xcoeff, GLfloat ycoeff);
2726#endif
2727#endif /* GL_NV_clip_space_w_scaling */
2728
2729#ifndef GL_NV_compute_shader_derivatives
2730#define GL_NV_compute_shader_derivatives 1
2731#endif /* GL_NV_compute_shader_derivatives */
2732
2733#ifndef GL_NV_conditional_render
2734#define GL_NV_conditional_render 1
2735#define GL_QUERY_WAIT_NV 0x8E13
2736#define GL_QUERY_NO_WAIT_NV 0x8E14
2737#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15
2738#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16
2739typedef void (GL_APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);
2740typedef void (GL_APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void);
2741#ifdef GL_GLEXT_PROTOTYPES
2742GL_APICALL void GL_APIENTRY glBeginConditionalRenderNV (GLuint id, GLenum mode);
2743GL_APICALL void GL_APIENTRY glEndConditionalRenderNV (void);
2744#endif
2745#endif /* GL_NV_conditional_render */
2746
2747#ifndef GL_NV_conservative_raster
2748#define GL_NV_conservative_raster 1
2749#define GL_CONSERVATIVE_RASTERIZATION_NV 0x9346
2750#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347
2751#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348
2752#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349
2753typedef void (GL_APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, GLuint ybits);
2754#ifdef GL_GLEXT_PROTOTYPES
2755GL_APICALL void GL_APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits);
2756#endif
2757#endif /* GL_NV_conservative_raster */
2758
2759#ifndef GL_NV_conservative_raster_pre_snap
2760#define GL_NV_conservative_raster_pre_snap 1
2761#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV 0x9550
2762#endif /* GL_NV_conservative_raster_pre_snap */
2763
2764#ifndef GL_NV_conservative_raster_pre_snap_triangles
2765#define GL_NV_conservative_raster_pre_snap_triangles 1
2766#define GL_CONSERVATIVE_RASTER_MODE_NV 0x954D
2767#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E
2768#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F
2769typedef void (GL_APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum pname, GLint param);
2770#ifdef GL_GLEXT_PROTOTYPES
2771GL_APICALL void GL_APIENTRY glConservativeRasterParameteriNV (GLenum pname, GLint param);
2772#endif
2773#endif /* GL_NV_conservative_raster_pre_snap_triangles */
2774
2775#ifndef GL_NV_copy_buffer
2776#define GL_NV_copy_buffer 1
2777#define GL_COPY_READ_BUFFER_NV 0x8F36
2778#define GL_COPY_WRITE_BUFFER_NV 0x8F37
2779typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATANVPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
2780#ifdef GL_GLEXT_PROTOTYPES
2781GL_APICALL void GL_APIENTRY glCopyBufferSubDataNV (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
2782#endif
2783#endif /* GL_NV_copy_buffer */
2784
2785#ifndef GL_NV_coverage_sample
2786#define GL_NV_coverage_sample 1
2787#define GL_COVERAGE_COMPONENT_NV 0x8ED0
2788#define GL_COVERAGE_COMPONENT4_NV 0x8ED1
2789#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
2790#define GL_COVERAGE_BUFFERS_NV 0x8ED3
2791#define GL_COVERAGE_SAMPLES_NV 0x8ED4
2792#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
2793#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
2794#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
2795#define GL_COVERAGE_BUFFER_BIT_NV 0x00008000
2796typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
2797typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
2798#ifdef GL_GLEXT_PROTOTYPES
2799GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
2800GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
2801#endif
2802#endif /* GL_NV_coverage_sample */
2803
2804#ifndef GL_NV_depth_nonlinear
2805#define GL_NV_depth_nonlinear 1
2806#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
2807#endif /* GL_NV_depth_nonlinear */
2808
2809#ifndef GL_NV_draw_buffers
2810#define GL_NV_draw_buffers 1
2811#define GL_MAX_DRAW_BUFFERS_NV 0x8824
2812#define GL_DRAW_BUFFER0_NV 0x8825
2813#define GL_DRAW_BUFFER1_NV 0x8826
2814#define GL_DRAW_BUFFER2_NV 0x8827
2815#define GL_DRAW_BUFFER3_NV 0x8828
2816#define GL_DRAW_BUFFER4_NV 0x8829
2817#define GL_DRAW_BUFFER5_NV 0x882A
2818#define GL_DRAW_BUFFER6_NV 0x882B
2819#define GL_DRAW_BUFFER7_NV 0x882C
2820#define GL_DRAW_BUFFER8_NV 0x882D
2821#define GL_DRAW_BUFFER9_NV 0x882E
2822#define GL_DRAW_BUFFER10_NV 0x882F
2823#define GL_DRAW_BUFFER11_NV 0x8830
2824#define GL_DRAW_BUFFER12_NV 0x8831
2825#define GL_DRAW_BUFFER13_NV 0x8832
2826#define GL_DRAW_BUFFER14_NV 0x8833
2827#define GL_DRAW_BUFFER15_NV 0x8834
2828#define GL_COLOR_ATTACHMENT0_NV 0x8CE0
2829#define GL_COLOR_ATTACHMENT1_NV 0x8CE1
2830#define GL_COLOR_ATTACHMENT2_NV 0x8CE2
2831#define GL_COLOR_ATTACHMENT3_NV 0x8CE3
2832#define GL_COLOR_ATTACHMENT4_NV 0x8CE4
2833#define GL_COLOR_ATTACHMENT5_NV 0x8CE5
2834#define GL_COLOR_ATTACHMENT6_NV 0x8CE6
2835#define GL_COLOR_ATTACHMENT7_NV 0x8CE7
2836#define GL_COLOR_ATTACHMENT8_NV 0x8CE8
2837#define GL_COLOR_ATTACHMENT9_NV 0x8CE9
2838#define GL_COLOR_ATTACHMENT10_NV 0x8CEA
2839#define GL_COLOR_ATTACHMENT11_NV 0x8CEB
2840#define GL_COLOR_ATTACHMENT12_NV 0x8CEC
2841#define GL_COLOR_ATTACHMENT13_NV 0x8CED
2842#define GL_COLOR_ATTACHMENT14_NV 0x8CEE
2843#define GL_COLOR_ATTACHMENT15_NV 0x8CEF
2844typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
2845#ifdef GL_GLEXT_PROTOTYPES
2846GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
2847#endif
2848#endif /* GL_NV_draw_buffers */
2849
2850#ifndef GL_NV_draw_instanced
2851#define GL_NV_draw_instanced 1
2852typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
2853typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
2854#ifdef GL_GLEXT_PROTOTYPES
2855GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
2856GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
2857#endif
2858#endif /* GL_NV_draw_instanced */
2859
2860#ifndef GL_NV_draw_vulkan_image
2861#define GL_NV_draw_vulkan_image 1
2862typedef void (GL_APIENTRY *GLVULKANPROCNV)(void);
2863typedef void (GL_APIENTRYP PFNGLDRAWVKIMAGENVPROC) (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
2864typedef GLVULKANPROCNV (GL_APIENTRYP PFNGLGETVKPROCADDRNVPROC) (const GLchar *name);
2865typedef void (GL_APIENTRYP PFNGLWAITVKSEMAPHORENVPROC) (GLuint64 vkSemaphore);
2866typedef void (GL_APIENTRYP PFNGLSIGNALVKSEMAPHORENVPROC) (GLuint64 vkSemaphore);
2867typedef void (GL_APIENTRYP PFNGLSIGNALVKFENCENVPROC) (GLuint64 vkFence);
2868#ifdef GL_GLEXT_PROTOTYPES
2869GL_APICALL void GL_APIENTRY glDrawVkImageNV (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
2870GL_APICALL GLVULKANPROCNV GL_APIENTRY glGetVkProcAddrNV (const GLchar *name);
2871GL_APICALL void GL_APIENTRY glWaitVkSemaphoreNV (GLuint64 vkSemaphore);
2872GL_APICALL void GL_APIENTRY glSignalVkSemaphoreNV (GLuint64 vkSemaphore);
2873GL_APICALL void GL_APIENTRY glSignalVkFenceNV (GLuint64 vkFence);
2874#endif
2875#endif /* GL_NV_draw_vulkan_image */
2876
2877#ifndef GL_NV_explicit_attrib_location
2878#define GL_NV_explicit_attrib_location 1
2879#endif /* GL_NV_explicit_attrib_location */
2880
2881#ifndef GL_NV_fbo_color_attachments
2882#define GL_NV_fbo_color_attachments 1
2883#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
2884#endif /* GL_NV_fbo_color_attachments */
2885
2886#ifndef GL_NV_fence
2887#define GL_NV_fence 1
2888#define GL_ALL_COMPLETED_NV 0x84F2
2889#define GL_FENCE_STATUS_NV 0x84F3
2890#define GL_FENCE_CONDITION_NV 0x84F4
2891typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
2892typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
2893typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
2894typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
2895typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
2896typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
2897typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
2898#ifdef GL_GLEXT_PROTOTYPES
2899GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
2900GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
2901GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
2902GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
2903GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
2904GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
2905GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
2906#endif
2907#endif /* GL_NV_fence */
2908
2909#ifndef GL_NV_fill_rectangle
2910#define GL_NV_fill_rectangle 1
2911#define GL_FILL_RECTANGLE_NV 0x933C
2912#endif /* GL_NV_fill_rectangle */
2913
2914#ifndef GL_NV_fragment_coverage_to_color
2915#define GL_NV_fragment_coverage_to_color 1
2916#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV 0x92DD
2917#define GL_FRAGMENT_COVERAGE_COLOR_NV 0x92DE
2918typedef void (GL_APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC) (GLuint color);
2919#ifdef GL_GLEXT_PROTOTYPES
2920GL_APICALL void GL_APIENTRY glFragmentCoverageColorNV (GLuint color);
2921#endif
2922#endif /* GL_NV_fragment_coverage_to_color */
2923
2924#ifndef GL_NV_fragment_shader_barycentric
2925#define GL_NV_fragment_shader_barycentric 1
2926#endif /* GL_NV_fragment_shader_barycentric */
2927
2928#ifndef GL_NV_fragment_shader_interlock
2929#define GL_NV_fragment_shader_interlock 1
2930#endif /* GL_NV_fragment_shader_interlock */
2931
2932#ifndef GL_NV_framebuffer_blit
2933#define GL_NV_framebuffer_blit 1
2934#define GL_READ_FRAMEBUFFER_NV 0x8CA8
2935#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9
2936#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6
2937#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA
2938typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
2939#ifdef GL_GLEXT_PROTOTYPES
2940GL_APICALL void GL_APIENTRY glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
2941#endif
2942#endif /* GL_NV_framebuffer_blit */
2943
2944#ifndef GL_NV_framebuffer_mixed_samples
2945#define GL_NV_framebuffer_mixed_samples 1
2946#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331
2947#define GL_COLOR_SAMPLES_NV 0x8E20
2948#define GL_DEPTH_SAMPLES_NV 0x932D
2949#define GL_STENCIL_SAMPLES_NV 0x932E
2950#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F
2951#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330
2952#define GL_COVERAGE_MODULATION_NV 0x9332
2953#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333
2954typedef void (GL_APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC) (GLsizei n, const GLfloat *v);
2955typedef void (GL_APIENTRYP PFNGLGETCOVERAGEMODULATIONTABLENVPROC) (GLsizei bufSize, GLfloat *v);
2956typedef void (GL_APIENTRYP PFNGLCOVERAGEMODULATIONNVPROC) (GLenum components);
2957#ifdef GL_GLEXT_PROTOTYPES
2958GL_APICALL void GL_APIENTRY glCoverageModulationTableNV (GLsizei n, const GLfloat *v);
2959GL_APICALL void GL_APIENTRY glGetCoverageModulationTableNV (GLsizei bufSize, GLfloat *v);
2960GL_APICALL void GL_APIENTRY glCoverageModulationNV (GLenum components);
2961#endif
2962#endif /* GL_NV_framebuffer_mixed_samples */
2963
2964#ifndef GL_NV_framebuffer_multisample
2965#define GL_NV_framebuffer_multisample 1
2966#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB
2967#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56
2968#define GL_MAX_SAMPLES_NV 0x8D57
2969typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
2970#ifdef GL_GLEXT_PROTOTYPES
2971GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
2972#endif
2973#endif /* GL_NV_framebuffer_multisample */
2974
2975#ifndef GL_NV_generate_mipmap_sRGB
2976#define GL_NV_generate_mipmap_sRGB 1
2977#endif /* GL_NV_generate_mipmap_sRGB */
2978
2979#ifndef GL_NV_geometry_shader_passthrough
2980#define GL_NV_geometry_shader_passthrough 1
2981#endif /* GL_NV_geometry_shader_passthrough */
2982
2983#ifndef GL_NV_gpu_shader5
2984#define GL_NV_gpu_shader5 1
2985typedef khronos_int64_t GLint64EXT;
2986typedef khronos_uint64_t GLuint64EXT;
2987#define GL_INT64_NV 0x140E
2988#define GL_UNSIGNED_INT64_NV 0x140F
2989#define GL_INT8_NV 0x8FE0
2990#define GL_INT8_VEC2_NV 0x8FE1
2991#define GL_INT8_VEC3_NV 0x8FE2
2992#define GL_INT8_VEC4_NV 0x8FE3
2993#define GL_INT16_NV 0x8FE4
2994#define GL_INT16_VEC2_NV 0x8FE5
2995#define GL_INT16_VEC3_NV 0x8FE6
2996#define GL_INT16_VEC4_NV 0x8FE7
2997#define GL_INT64_VEC2_NV 0x8FE9
2998#define GL_INT64_VEC3_NV 0x8FEA
2999#define GL_INT64_VEC4_NV 0x8FEB
3000#define GL_UNSIGNED_INT8_NV 0x8FEC
3001#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED
3002#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE
3003#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF
3004#define GL_UNSIGNED_INT16_NV 0x8FF0
3005#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1
3006#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2
3007#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3
3008#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
3009#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
3010#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
3011#define GL_FLOAT16_NV 0x8FF8
3012#define GL_FLOAT16_VEC2_NV 0x8FF9
3013#define GL_FLOAT16_VEC3_NV 0x8FFA
3014#define GL_FLOAT16_VEC4_NV 0x8FFB
3015#define GL_PATCHES 0x000E
3016typedef void (GL_APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
3017typedef void (GL_APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
3018typedef void (GL_APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
3019typedef void (GL_APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
3020typedef void (GL_APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
3021typedef void (GL_APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
3022typedef void (GL_APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
3023typedef void (GL_APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
3024typedef void (GL_APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);
3025typedef void (GL_APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);
3026typedef void (GL_APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
3027typedef void (GL_APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
3028typedef void (GL_APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
3029typedef void (GL_APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
3030typedef void (GL_APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
3031typedef void (GL_APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
3032typedef void (GL_APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params);
3033typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);
3034typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
3035typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
3036typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
3037typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
3038typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
3039typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
3040typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
3041typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);
3042typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
3043typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
3044typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
3045typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
3046typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
3047typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
3048typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
3049#ifdef GL_GLEXT_PROTOTYPES
3050GL_APICALL void GL_APIENTRY glUniform1i64NV (GLint location, GLint64EXT x);
3051GL_APICALL void GL_APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y);
3052GL_APICALL void GL_APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
3053GL_APICALL void GL_APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
3054GL_APICALL void GL_APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
3055GL_APICALL void GL_APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
3056GL_APICALL void GL_APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
3057GL_APICALL void GL_APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
3058GL_APICALL void GL_APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x);
3059GL_APICALL void GL_APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y);
3060GL_APICALL void GL_APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
3061GL_APICALL void GL_APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
3062GL_APICALL void GL_APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
3063GL_APICALL void GL_APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
3064GL_APICALL void GL_APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
3065GL_APICALL void GL_APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
3066GL_APICALL void GL_APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params);
3067GL_APICALL void GL_APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x);
3068GL_APICALL void GL_APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
3069GL_APICALL void GL_APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
3070GL_APICALL void GL_APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
3071GL_APICALL void GL_APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
3072GL_APICALL void GL_APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
3073GL_APICALL void GL_APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
3074GL_APICALL void GL_APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
3075GL_APICALL void GL_APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x);
3076GL_APICALL void GL_APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
3077GL_APICALL void GL_APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
3078GL_APICALL void GL_APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
3079GL_APICALL void GL_APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
3080GL_APICALL void GL_APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
3081GL_APICALL void GL_APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
3082GL_APICALL void GL_APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
3083#endif
3084#endif /* GL_NV_gpu_shader5 */
3085
3086#ifndef GL_NV_image_formats
3087#define GL_NV_image_formats 1
3088#endif /* GL_NV_image_formats */
3089
3090#ifndef GL_NV_instanced_arrays
3091#define GL_NV_instanced_arrays 1
3092#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE
3093typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
3094#ifdef GL_GLEXT_PROTOTYPES
3095GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
3096#endif
3097#endif /* GL_NV_instanced_arrays */
3098
3099#ifndef GL_NV_internalformat_sample_query
3100#define GL_NV_internalformat_sample_query 1
3101#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
3102#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
3103#define GL_MULTISAMPLES_NV 0x9371
3104#define GL_SUPERSAMPLE_SCALE_X_NV 0x9372
3105#define GL_SUPERSAMPLE_SCALE_Y_NV 0x9373
3106#define GL_CONFORMANT_NV 0x9374
3107typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params);
3108#ifdef GL_GLEXT_PROTOTYPES
3109GL_APICALL void GL_APIENTRY glGetInternalformatSampleivNV (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params);
3110#endif
3111#endif /* GL_NV_internalformat_sample_query */
3112
3113#ifndef GL_NV_memory_attachment
3114#define GL_NV_memory_attachment 1
3115#define GL_ATTACHED_MEMORY_OBJECT_NV 0x95A4
3116#define GL_ATTACHED_MEMORY_OFFSET_NV 0x95A5
3117#define GL_MEMORY_ATTACHABLE_ALIGNMENT_NV 0x95A6
3118#define GL_MEMORY_ATTACHABLE_SIZE_NV 0x95A7
3119#define GL_MEMORY_ATTACHABLE_NV 0x95A8
3120#define GL_DETACHED_MEMORY_INCARNATION_NV 0x95A9
3121#define GL_DETACHED_TEXTURES_NV 0x95AA
3122#define GL_DETACHED_BUFFERS_NV 0x95AB
3123#define GL_MAX_DETACHED_TEXTURES_NV 0x95AC
3124#define GL_MAX_DETACHED_BUFFERS_NV 0x95AD
3125typedef void (GL_APIENTRYP PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC) (GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params);
3126typedef void (GL_APIENTRYP PFNGLRESETMEMORYOBJECTPARAMETERNVPROC) (GLuint memory, GLenum pname);
3127typedef void (GL_APIENTRYP PFNGLTEXATTACHMEMORYNVPROC) (GLenum target, GLuint memory, GLuint64 offset);
3128typedef void (GL_APIENTRYP PFNGLBUFFERATTACHMEMORYNVPROC) (GLenum target, GLuint memory, GLuint64 offset);
3129typedef void (GL_APIENTRYP PFNGLTEXTUREATTACHMEMORYNVPROC) (GLuint texture, GLuint memory, GLuint64 offset);
3130typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERATTACHMEMORYNVPROC) (GLuint buffer, GLuint memory, GLuint64 offset);
3131#ifdef GL_GLEXT_PROTOTYPES
3132GL_APICALL void GL_APIENTRY glGetMemoryObjectDetachedResourcesuivNV (GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params);
3133GL_APICALL void GL_APIENTRY glResetMemoryObjectParameterNV (GLuint memory, GLenum pname);
3134GL_APICALL void GL_APIENTRY glTexAttachMemoryNV (GLenum target, GLuint memory, GLuint64 offset);
3135GL_APICALL void GL_APIENTRY glBufferAttachMemoryNV (GLenum target, GLuint memory, GLuint64 offset);
3136GL_APICALL void GL_APIENTRY glTextureAttachMemoryNV (GLuint texture, GLuint memory, GLuint64 offset);
3137GL_APICALL void GL_APIENTRY glNamedBufferAttachMemoryNV (GLuint buffer, GLuint memory, GLuint64 offset);
3138#endif
3139#endif /* GL_NV_memory_attachment */
3140
3141#ifndef GL_NV_memory_object_sparse
3142#define GL_NV_memory_object_sparse 1
3143typedef void (GL_APIENTRYP PFNGLBUFFERPAGECOMMITMENTMEMNVPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit);
3144typedef void (GL_APIENTRYP PFNGLTEXPAGECOMMITMENTMEMNVPROC) (GLenum target, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit);
3145typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTMEMNVPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit);
3146typedef void (GL_APIENTRYP PFNGLTEXTUREPAGECOMMITMENTMEMNVPROC) (GLuint texture, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit);
3147#ifdef GL_GLEXT_PROTOTYPES
3148GL_APICALL void GL_APIENTRY glBufferPageCommitmentMemNV (GLenum target, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit);
3149GL_APICALL void GL_APIENTRY glTexPageCommitmentMemNV (GLenum target, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit);
3150GL_APICALL void GL_APIENTRY glNamedBufferPageCommitmentMemNV (GLuint buffer, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit);
3151GL_APICALL void GL_APIENTRY glTexturePageCommitmentMemNV (GLuint texture, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit);
3152#endif
3153#endif /* GL_NV_memory_object_sparse */
3154
3155#ifndef GL_NV_mesh_shader
3156#define GL_NV_mesh_shader 1
3157#define GL_MESH_SHADER_NV 0x9559
3158#define GL_TASK_SHADER_NV 0x955A
3159#define GL_MAX_MESH_UNIFORM_BLOCKS_NV 0x8E60
3160#define GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV 0x8E61
3161#define GL_MAX_MESH_IMAGE_UNIFORMS_NV 0x8E62
3162#define GL_MAX_MESH_UNIFORM_COMPONENTS_NV 0x8E63
3163#define GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV 0x8E64
3164#define GL_MAX_MESH_ATOMIC_COUNTERS_NV 0x8E65
3165#define GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV 0x8E66
3166#define GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV 0x8E67
3167#define GL_MAX_TASK_UNIFORM_BLOCKS_NV 0x8E68
3168#define GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV 0x8E69
3169#define GL_MAX_TASK_IMAGE_UNIFORMS_NV 0x8E6A
3170#define GL_MAX_TASK_UNIFORM_COMPONENTS_NV 0x8E6B
3171#define GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV 0x8E6C
3172#define GL_MAX_TASK_ATOMIC_COUNTERS_NV 0x8E6D
3173#define GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV 0x8E6E
3174#define GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV 0x8E6F
3175#define GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV 0x95A2
3176#define GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV 0x95A3
3177#define GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV 0x9536
3178#define GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV 0x9537
3179#define GL_MAX_MESH_OUTPUT_VERTICES_NV 0x9538
3180#define GL_MAX_MESH_OUTPUT_PRIMITIVES_NV 0x9539
3181#define GL_MAX_TASK_OUTPUT_COUNT_NV 0x953A
3182#define GL_MAX_DRAW_MESH_TASKS_COUNT_NV 0x953D
3183#define GL_MAX_MESH_VIEWS_NV 0x9557
3184#define GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV 0x92DF
3185#define GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV 0x9543
3186#define GL_MAX_MESH_WORK_GROUP_SIZE_NV 0x953B
3187#define GL_MAX_TASK_WORK_GROUP_SIZE_NV 0x953C
3188#define GL_MESH_WORK_GROUP_SIZE_NV 0x953E
3189#define GL_TASK_WORK_GROUP_SIZE_NV 0x953F
3190#define GL_MESH_VERTICES_OUT_NV 0x9579
3191#define GL_MESH_PRIMITIVES_OUT_NV 0x957A
3192#define GL_MESH_OUTPUT_TYPE_NV 0x957B
3193#define GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV 0x959C
3194#define GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV 0x959D
3195#define GL_REFERENCED_BY_MESH_SHADER_NV 0x95A0
3196#define GL_REFERENCED_BY_TASK_SHADER_NV 0x95A1
3197#define GL_MESH_SHADER_BIT_NV 0x00000040
3198#define GL_TASK_SHADER_BIT_NV 0x00000080
3199#define GL_MESH_SUBROUTINE_NV 0x957C
3200#define GL_TASK_SUBROUTINE_NV 0x957D
3201#define GL_MESH_SUBROUTINE_UNIFORM_NV 0x957E
3202#define GL_TASK_SUBROUTINE_UNIFORM_NV 0x957F
3203#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV 0x959E
3204#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV 0x959F
3205typedef void (GL_APIENTRYP PFNGLDRAWMESHTASKSNVPROC) (GLuint first, GLuint count);
3206typedef void (GL_APIENTRYP PFNGLDRAWMESHTASKSINDIRECTNVPROC) (GLintptr indirect);
3207typedef void (GL_APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC) (GLintptr indirect, GLsizei drawcount, GLsizei stride);
3208typedef void (GL_APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC) (GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
3209#ifdef GL_GLEXT_PROTOTYPES
3210GL_APICALL void GL_APIENTRY glDrawMeshTasksNV (GLuint first, GLuint count);
3211GL_APICALL void GL_APIENTRY glDrawMeshTasksIndirectNV (GLintptr indirect);
3212GL_APICALL void GL_APIENTRY glMultiDrawMeshTasksIndirectNV (GLintptr indirect, GLsizei drawcount, GLsizei stride);
3213GL_APICALL void GL_APIENTRY glMultiDrawMeshTasksIndirectCountNV (GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
3214#endif
3215#endif /* GL_NV_mesh_shader */
3216
3217#ifndef GL_NV_non_square_matrices
3218#define GL_NV_non_square_matrices 1
3219#define GL_FLOAT_MAT2x3_NV 0x8B65
3220#define GL_FLOAT_MAT2x4_NV 0x8B66
3221#define GL_FLOAT_MAT3x2_NV 0x8B67
3222#define GL_FLOAT_MAT3x4_NV 0x8B68
3223#define GL_FLOAT_MAT4x2_NV 0x8B69
3224#define GL_FLOAT_MAT4x3_NV 0x8B6A
3225typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3226typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3227typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3228typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3229typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3230typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3231#ifdef GL_GLEXT_PROTOTYPES
3232GL_APICALL void GL_APIENTRY glUniformMatrix2x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3233GL_APICALL void GL_APIENTRY glUniformMatrix3x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3234GL_APICALL void GL_APIENTRY glUniformMatrix2x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3235GL_APICALL void GL_APIENTRY glUniformMatrix4x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3236GL_APICALL void GL_APIENTRY glUniformMatrix3x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3237GL_APICALL void GL_APIENTRY glUniformMatrix4x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3238#endif
3239#endif /* GL_NV_non_square_matrices */
3240
3241#ifndef GL_NV_pack_subimage
3242#define GL_NV_pack_subimage 1
3243#define GL_PACK_ROW_LENGTH_NV 0x0D02
3244#define GL_PACK_SKIP_ROWS_NV 0x0D03
3245#define GL_PACK_SKIP_PIXELS_NV 0x0D04
3246#endif /* GL_NV_pack_subimage */
3247
3248#ifndef GL_NV_path_rendering
3249#define GL_NV_path_rendering 1
3250typedef double GLdouble;
3251#define GL_PATH_FORMAT_SVG_NV 0x9070
3252#define GL_PATH_FORMAT_PS_NV 0x9071
3253#define GL_STANDARD_FONT_NAME_NV 0x9072
3254#define GL_SYSTEM_FONT_NAME_NV 0x9073
3255#define GL_FILE_NAME_NV 0x9074
3256#define GL_PATH_STROKE_WIDTH_NV 0x9075
3257#define GL_PATH_END_CAPS_NV 0x9076
3258#define GL_PATH_INITIAL_END_CAP_NV 0x9077
3259#define GL_PATH_TERMINAL_END_CAP_NV 0x9078
3260#define GL_PATH_JOIN_STYLE_NV 0x9079
3261#define GL_PATH_MITER_LIMIT_NV 0x907A
3262#define GL_PATH_DASH_CAPS_NV 0x907B
3263#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C
3264#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D
3265#define GL_PATH_DASH_OFFSET_NV 0x907E
3266#define GL_PATH_CLIENT_LENGTH_NV 0x907F
3267#define GL_PATH_FILL_MODE_NV 0x9080
3268#define GL_PATH_FILL_MASK_NV 0x9081
3269#define GL_PATH_FILL_COVER_MODE_NV 0x9082
3270#define GL_PATH_STROKE_COVER_MODE_NV 0x9083
3271#define GL_PATH_STROKE_MASK_NV 0x9084
3272#define GL_COUNT_UP_NV 0x9088
3273#define GL_COUNT_DOWN_NV 0x9089
3274#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A
3275#define GL_CONVEX_HULL_NV 0x908B
3276#define GL_BOUNDING_BOX_NV 0x908D
3277#define GL_TRANSLATE_X_NV 0x908E
3278#define GL_TRANSLATE_Y_NV 0x908F
3279#define GL_TRANSLATE_2D_NV 0x9090
3280#define GL_TRANSLATE_3D_NV 0x9091
3281#define GL_AFFINE_2D_NV 0x9092
3282#define GL_AFFINE_3D_NV 0x9094
3283#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096
3284#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098
3285#define GL_UTF8_NV 0x909A
3286#define GL_UTF16_NV 0x909B
3287#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C
3288#define GL_PATH_COMMAND_COUNT_NV 0x909D
3289#define GL_PATH_COORD_COUNT_NV 0x909E
3290#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F
3291#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0
3292#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1
3293#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2
3294#define GL_SQUARE_NV 0x90A3
3295#define GL_ROUND_NV 0x90A4
3296#define GL_TRIANGULAR_NV 0x90A5
3297#define GL_BEVEL_NV 0x90A6
3298#define GL_MITER_REVERT_NV 0x90A7
3299#define GL_MITER_TRUNCATE_NV 0x90A8
3300#define GL_SKIP_MISSING_GLYPH_NV 0x90A9
3301#define GL_USE_MISSING_GLYPH_NV 0x90AA
3302#define GL_PATH_ERROR_POSITION_NV 0x90AB
3303#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD
3304#define GL_ADJACENT_PAIRS_NV 0x90AE
3305#define GL_FIRST_TO_REST_NV 0x90AF
3306#define GL_PATH_GEN_MODE_NV 0x90B0
3307#define GL_PATH_GEN_COEFF_NV 0x90B1
3308#define GL_PATH_GEN_COMPONENTS_NV 0x90B3
3309#define GL_PATH_STENCIL_FUNC_NV 0x90B7
3310#define GL_PATH_STENCIL_REF_NV 0x90B8
3311#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9
3312#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD
3313#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE
3314#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF
3315#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4
3316#define GL_MOVE_TO_RESETS_NV 0x90B5
3317#define GL_MOVE_TO_CONTINUES_NV 0x90B6
3318#define GL_CLOSE_PATH_NV 0x00
3319#define GL_MOVE_TO_NV 0x02
3320#define GL_RELATIVE_MOVE_TO_NV 0x03
3321#define GL_LINE_TO_NV 0x04
3322#define GL_RELATIVE_LINE_TO_NV 0x05
3323#define GL_HORIZONTAL_LINE_TO_NV 0x06
3324#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07
3325#define GL_VERTICAL_LINE_TO_NV 0x08
3326#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09
3327#define GL_QUADRATIC_CURVE_TO_NV 0x0A
3328#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B
3329#define GL_CUBIC_CURVE_TO_NV 0x0C
3330#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D
3331#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E
3332#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F
3333#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10
3334#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11
3335#define GL_SMALL_CCW_ARC_TO_NV 0x12
3336#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13
3337#define GL_SMALL_CW_ARC_TO_NV 0x14
3338#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15
3339#define GL_LARGE_CCW_ARC_TO_NV 0x16
3340#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17
3341#define GL_LARGE_CW_ARC_TO_NV 0x18
3342#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19
3343#define GL_RESTART_PATH_NV 0xF0
3344#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2
3345#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4
3346#define GL_RECT_NV 0xF6
3347#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8
3348#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA
3349#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC
3350#define GL_ARC_TO_NV 0xFE
3351#define GL_RELATIVE_ARC_TO_NV 0xFF
3352#define GL_BOLD_BIT_NV 0x01
3353#define GL_ITALIC_BIT_NV 0x02
3354#define GL_GLYPH_WIDTH_BIT_NV 0x01
3355#define GL_GLYPH_HEIGHT_BIT_NV 0x02
3356#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04
3357#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08
3358#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10
3359#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20
3360#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40
3361#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80
3362#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100
3363#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000
3364#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000
3365#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000
3366#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000
3367#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000
3368#define GL_FONT_ASCENDER_BIT_NV 0x00200000
3369#define GL_FONT_DESCENDER_BIT_NV 0x00400000
3370#define GL_FONT_HEIGHT_BIT_NV 0x00800000
3371#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000
3372#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000
3373#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000
3374#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000
3375#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000
3376#define GL_ROUNDED_RECT_NV 0xE8
3377#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9
3378#define GL_ROUNDED_RECT2_NV 0xEA
3379#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB
3380#define GL_ROUNDED_RECT4_NV 0xEC
3381#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED
3382#define GL_ROUNDED_RECT8_NV 0xEE
3383#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF
3384#define GL_RELATIVE_RECT_NV 0xF7
3385#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368
3386#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369
3387#define GL_FONT_UNAVAILABLE_NV 0x936A
3388#define GL_FONT_UNINTELLIGIBLE_NV 0x936B
3389#define GL_CONIC_CURVE_TO_NV 0x1A
3390#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B
3391#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000
3392#define GL_STANDARD_FONT_FORMAT_NV 0x936C
3393#define GL_PATH_PROJECTION_NV 0x1701
3394#define GL_PATH_MODELVIEW_NV 0x1700
3395#define GL_PATH_MODELVIEW_STACK_DEPTH_NV 0x0BA3
3396#define GL_PATH_MODELVIEW_MATRIX_NV 0x0BA6
3397#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV 0x0D36
3398#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV 0x84E3
3399#define GL_PATH_PROJECTION_STACK_DEPTH_NV 0x0BA4
3400#define GL_PATH_PROJECTION_MATRIX_NV 0x0BA7
3401#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV 0x0D38
3402#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV 0x84E4
3403#define GL_FRAGMENT_INPUT_NV 0x936D
3404typedef GLuint (GL_APIENTRYP PFNGLGENPATHSNVPROC) (GLsizei range);
3405typedef void (GL_APIENTRYP PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range);
3406typedef GLboolean (GL_APIENTRYP PFNGLISPATHNVPROC) (GLuint path);
3407typedef void (GL_APIENTRYP PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
3408typedef void (GL_APIENTRYP PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords);
3409typedef void (GL_APIENTRYP PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
3410typedef void (GL_APIENTRYP PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords);
3411typedef void (GL_APIENTRYP PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void *pathString);
3412typedef void (GL_APIENTRYP PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3413typedef void (GL_APIENTRYP PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3414typedef void (GL_APIENTRYP PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);
3415typedef void (GL_APIENTRYP PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath);
3416typedef void (GL_APIENTRYP PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
3417typedef void (GL_APIENTRYP PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);
3418typedef void (GL_APIENTRYP PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint *value);
3419typedef void (GL_APIENTRYP PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value);
3420typedef void (GL_APIENTRYP PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat *value);
3421typedef void (GL_APIENTRYP PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value);
3422typedef void (GL_APIENTRYP PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat *dashArray);
3423typedef void (GL_APIENTRYP PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask);
3424typedef void (GL_APIENTRYP PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units);
3425typedef void (GL_APIENTRYP PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask);
3426typedef void (GL_APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask);
3427typedef void (GL_APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);
3428typedef void (GL_APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);
3429typedef void (GL_APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func);
3430typedef void (GL_APIENTRYP PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode);
3431typedef void (GL_APIENTRYP PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode);
3432typedef void (GL_APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3433typedef void (GL_APIENTRYP PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3434typedef void (GL_APIENTRYP PFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint *value);
3435typedef void (GL_APIENTRYP PFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat *value);
3436typedef void (GL_APIENTRYP PFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte *commands);
3437typedef void (GL_APIENTRYP PFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat *coords);
3438typedef void (GL_APIENTRYP PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat *dashArray);
3439typedef void (GL_APIENTRYP PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);
3440typedef void (GL_APIENTRYP PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);
3441typedef void (GL_APIENTRYP PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);
3442typedef GLboolean (GL_APIENTRYP PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y);
3443typedef GLboolean (GL_APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y);
3444typedef GLfloat (GL_APIENTRYP PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments);
3445typedef GLboolean (GL_APIENTRYP PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);
3446typedef void (GL_APIENTRYP PFNGLMATRIXLOAD3X2FNVPROC) (GLenum matrixMode, const GLfloat *m);
3447typedef void (GL_APIENTRYP PFNGLMATRIXLOAD3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
3448typedef void (GL_APIENTRYP PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
3449typedef void (GL_APIENTRYP PFNGLMATRIXMULT3X2FNVPROC) (GLenum matrixMode, const GLfloat *m);
3450typedef void (GL_APIENTRYP PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
3451typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
3452typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);
3453typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask, GLenum coverMode);
3454typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3455typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3456typedef GLenum (GL_APIENTRYP PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint *baseAndCount);
3457typedef GLenum (GL_APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3458typedef GLenum (GL_APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3459typedef void (GL_APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);
3460typedef void (GL_APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params);
3461typedef void (GL_APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
3462typedef void (GL_APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode);
3463typedef void (GL_APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
3464typedef void (GL_APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
3465typedef void (GL_APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m);
3466typedef void (GL_APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m);
3467typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
3468typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
3469typedef void (GL_APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m);
3470typedef void (GL_APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m);
3471typedef void (GL_APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
3472typedef void (GL_APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode);
3473typedef void (GL_APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode);
3474typedef void (GL_APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
3475typedef void (GL_APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
3476typedef void (GL_APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
3477typedef void (GL_APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
3478typedef void (GL_APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
3479typedef void (GL_APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
3480#ifdef GL_GLEXT_PROTOTYPES
3481GL_APICALL GLuint GL_APIENTRY glGenPathsNV (GLsizei range);
3482GL_APICALL void GL_APIENTRY glDeletePathsNV (GLuint path, GLsizei range);
3483GL_APICALL GLboolean GL_APIENTRY glIsPathNV (GLuint path);
3484GL_APICALL void GL_APIENTRY glPathCommandsNV (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
3485GL_APICALL void GL_APIENTRY glPathCoordsNV (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords);
3486GL_APICALL void GL_APIENTRY glPathSubCommandsNV (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
3487GL_APICALL void GL_APIENTRY glPathSubCoordsNV (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords);
3488GL_APICALL void GL_APIENTRY glPathStringNV (GLuint path, GLenum format, GLsizei length, const void *pathString);
3489GL_APICALL void GL_APIENTRY glPathGlyphsNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3490GL_APICALL void GL_APIENTRY glPathGlyphRangeNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3491GL_APICALL void GL_APIENTRY glWeightPathsNV (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);
3492GL_APICALL void GL_APIENTRY glCopyPathNV (GLuint resultPath, GLuint srcPath);
3493GL_APICALL void GL_APIENTRY glInterpolatePathsNV (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
3494GL_APICALL void GL_APIENTRY glTransformPathNV (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);
3495GL_APICALL void GL_APIENTRY glPathParameterivNV (GLuint path, GLenum pname, const GLint *value);
3496GL_APICALL void GL_APIENTRY glPathParameteriNV (GLuint path, GLenum pname, GLint value);
3497GL_APICALL void GL_APIENTRY glPathParameterfvNV (GLuint path, GLenum pname, const GLfloat *value);
3498GL_APICALL void GL_APIENTRY glPathParameterfNV (GLuint path, GLenum pname, GLfloat value);
3499GL_APICALL void GL_APIENTRY glPathDashArrayNV (GLuint path, GLsizei dashCount, const GLfloat *dashArray);
3500GL_APICALL void GL_APIENTRY glPathStencilFuncNV (GLenum func, GLint ref, GLuint mask);
3501GL_APICALL void GL_APIENTRY glPathStencilDepthOffsetNV (GLfloat factor, GLfloat units);
3502GL_APICALL void GL_APIENTRY glStencilFillPathNV (GLuint path, GLenum fillMode, GLuint mask);
3503GL_APICALL void GL_APIENTRY glStencilStrokePathNV (GLuint path, GLint reference, GLuint mask);
3504GL_APICALL void GL_APIENTRY glStencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);
3505GL_APICALL void GL_APIENTRY glStencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);
3506GL_APICALL void GL_APIENTRY glPathCoverDepthFuncNV (GLenum func);
3507GL_APICALL void GL_APIENTRY glCoverFillPathNV (GLuint path, GLenum coverMode);
3508GL_APICALL void GL_APIENTRY glCoverStrokePathNV (GLuint path, GLenum coverMode);
3509GL_APICALL void GL_APIENTRY glCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3510GL_APICALL void GL_APIENTRY glCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3511GL_APICALL void GL_APIENTRY glGetPathParameterivNV (GLuint path, GLenum pname, GLint *value);
3512GL_APICALL void GL_APIENTRY glGetPathParameterfvNV (GLuint path, GLenum pname, GLfloat *value);
3513GL_APICALL void GL_APIENTRY glGetPathCommandsNV (GLuint path, GLubyte *commands);
3514GL_APICALL void GL_APIENTRY glGetPathCoordsNV (GLuint path, GLfloat *coords);
3515GL_APICALL void GL_APIENTRY glGetPathDashArrayNV (GLuint path, GLfloat *dashArray);
3516GL_APICALL void GL_APIENTRY glGetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);
3517GL_APICALL void GL_APIENTRY glGetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);
3518GL_APICALL void GL_APIENTRY glGetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);
3519GL_APICALL GLboolean GL_APIENTRY glIsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y);
3520GL_APICALL GLboolean GL_APIENTRY glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y);
3521GL_APICALL GLfloat GL_APIENTRY glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments);
3522GL_APICALL GLboolean GL_APIENTRY glPointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);
3523GL_APICALL void GL_APIENTRY glMatrixLoad3x2fNV (GLenum matrixMode, const GLfloat *m);
3524GL_APICALL void GL_APIENTRY glMatrixLoad3x3fNV (GLenum matrixMode, const GLfloat *m);
3525GL_APICALL void GL_APIENTRY glMatrixLoadTranspose3x3fNV (GLenum matrixMode, const GLfloat *m);
3526GL_APICALL void GL_APIENTRY glMatrixMult3x2fNV (GLenum matrixMode, const GLfloat *m);
3527GL_APICALL void GL_APIENTRY glMatrixMult3x3fNV (GLenum matrixMode, const GLfloat *m);
3528GL_APICALL void GL_APIENTRY glMatrixMultTranspose3x3fNV (GLenum matrixMode, const GLfloat *m);
3529GL_APICALL void GL_APIENTRY glStencilThenCoverFillPathNV (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);
3530GL_APICALL void GL_APIENTRY glStencilThenCoverStrokePathNV (GLuint path, GLint reference, GLuint mask, GLenum coverMode);
3531GL_APICALL void GL_APIENTRY glStencilThenCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3532GL_APICALL void GL_APIENTRY glStencilThenCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3533GL_APICALL GLenum GL_APIENTRY glPathGlyphIndexRangeNV (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint *baseAndCount);
3534GL_APICALL GLenum GL_APIENTRY glPathGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3535GL_APICALL GLenum GL_APIENTRY glPathMemoryGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3536GL_APICALL void GL_APIENTRY glProgramPathFragmentInputGenNV (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);
3537GL_APICALL void GL_APIENTRY glGetProgramResourcefvNV (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params);
3538GL_APICALL void GL_APIENTRY glMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
3539GL_APICALL void GL_APIENTRY glMatrixLoadIdentityEXT (GLenum mode);
3540GL_APICALL void GL_APIENTRY glMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m);
3541GL_APICALL void GL_APIENTRY glMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m);
3542GL_APICALL void GL_APIENTRY glMatrixLoadfEXT (GLenum mode, const GLfloat *m);
3543GL_APICALL void GL_APIENTRY glMatrixLoaddEXT (GLenum mode, const GLdouble *m);
3544GL_APICALL void GL_APIENTRY glMatrixMultTransposefEXT (GLenum mode, const GLfloat *m);
3545GL_APICALL void GL_APIENTRY glMatrixMultTransposedEXT (GLenum mode, const GLdouble *m);
3546GL_APICALL void GL_APIENTRY glMatrixMultfEXT (GLenum mode, const GLfloat *m);
3547GL_APICALL void GL_APIENTRY glMatrixMultdEXT (GLenum mode, const GLdouble *m);
3548GL_APICALL void GL_APIENTRY glMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
3549GL_APICALL void GL_APIENTRY glMatrixPopEXT (GLenum mode);
3550GL_APICALL void GL_APIENTRY glMatrixPushEXT (GLenum mode);
3551GL_APICALL void GL_APIENTRY glMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
3552GL_APICALL void GL_APIENTRY glMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
3553GL_APICALL void GL_APIENTRY glMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
3554GL_APICALL void GL_APIENTRY glMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
3555GL_APICALL void GL_APIENTRY glMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
3556GL_APICALL void GL_APIENTRY glMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
3557#endif
3558#endif /* GL_NV_path_rendering */
3559
3560#ifndef GL_NV_path_rendering_shared_edge
3561#define GL_NV_path_rendering_shared_edge 1
3562#define GL_SHARED_EDGE_NV 0xC0
3563#endif /* GL_NV_path_rendering_shared_edge */
3564
3565#ifndef GL_NV_pixel_buffer_object
3566#define GL_NV_pixel_buffer_object 1
3567#define GL_PIXEL_PACK_BUFFER_NV 0x88EB
3568#define GL_PIXEL_UNPACK_BUFFER_NV 0x88EC
3569#define GL_PIXEL_PACK_BUFFER_BINDING_NV 0x88ED
3570#define GL_PIXEL_UNPACK_BUFFER_BINDING_NV 0x88EF
3571#endif /* GL_NV_pixel_buffer_object */
3572
3573#ifndef GL_NV_polygon_mode
3574#define GL_NV_polygon_mode 1
3575#define GL_POLYGON_MODE_NV 0x0B40
3576#define GL_POLYGON_OFFSET_POINT_NV 0x2A01
3577#define GL_POLYGON_OFFSET_LINE_NV 0x2A02
3578#define GL_POINT_NV 0x1B00
3579#define GL_LINE_NV 0x1B01
3580#define GL_FILL_NV 0x1B02
3581typedef void (GL_APIENTRYP PFNGLPOLYGONMODENVPROC) (GLenum face, GLenum mode);
3582#ifdef GL_GLEXT_PROTOTYPES
3583GL_APICALL void GL_APIENTRY glPolygonModeNV (GLenum face, GLenum mode);
3584#endif
3585#endif /* GL_NV_polygon_mode */
3586
3587#ifndef GL_NV_primitive_shading_rate
3588#define GL_NV_primitive_shading_rate 1
3589#define GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV 0x95B1
3590#define GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV 0x95B2
3591#endif /* GL_NV_primitive_shading_rate */
3592
3593#ifndef GL_NV_read_buffer
3594#define GL_NV_read_buffer 1
3595#define GL_READ_BUFFER_NV 0x0C02
3596typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
3597#ifdef GL_GLEXT_PROTOTYPES
3598GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
3599#endif
3600#endif /* GL_NV_read_buffer */
3601
3602#ifndef GL_NV_read_buffer_front
3603#define GL_NV_read_buffer_front 1
3604#endif /* GL_NV_read_buffer_front */
3605
3606#ifndef GL_NV_read_depth
3607#define GL_NV_read_depth 1
3608#endif /* GL_NV_read_depth */
3609
3610#ifndef GL_NV_read_depth_stencil
3611#define GL_NV_read_depth_stencil 1
3612#endif /* GL_NV_read_depth_stencil */
3613
3614#ifndef GL_NV_read_stencil
3615#define GL_NV_read_stencil 1
3616#endif /* GL_NV_read_stencil */
3617
3618#ifndef GL_NV_representative_fragment_test
3619#define GL_NV_representative_fragment_test 1
3620#define GL_REPRESENTATIVE_FRAGMENT_TEST_NV 0x937F
3621#endif /* GL_NV_representative_fragment_test */
3622
3623#ifndef GL_NV_sRGB_formats
3624#define GL_NV_sRGB_formats 1
3625#define GL_SLUMINANCE_NV 0x8C46
3626#define GL_SLUMINANCE_ALPHA_NV 0x8C44
3627#define GL_SRGB8_NV 0x8C41
3628#define GL_SLUMINANCE8_NV 0x8C47
3629#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45
3630#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C
3631#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D
3632#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E
3633#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F
3634#define GL_ETC1_SRGB8_NV 0x88EE
3635#endif /* GL_NV_sRGB_formats */
3636
3637#ifndef GL_NV_sample_locations
3638#define GL_NV_sample_locations 1
3639#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D
3640#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E
3641#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F
3642#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340
3643#define GL_SAMPLE_LOCATION_NV 0x8E50
3644#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341
3645#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342
3646#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343
3647typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
3648typedef void (GL_APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
3649typedef void (GL_APIENTRYP PFNGLRESOLVEDEPTHVALUESNVPROC) (void);
3650#ifdef GL_GLEXT_PROTOTYPES
3651GL_APICALL void GL_APIENTRY glFramebufferSampleLocationsfvNV (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
3652GL_APICALL void GL_APIENTRY glNamedFramebufferSampleLocationsfvNV (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
3653GL_APICALL void GL_APIENTRY glResolveDepthValuesNV (void);
3654#endif
3655#endif /* GL_NV_sample_locations */
3656
3657#ifndef GL_NV_sample_mask_override_coverage
3658#define GL_NV_sample_mask_override_coverage 1
3659#endif /* GL_NV_sample_mask_override_coverage */
3660
3661#ifndef GL_NV_scissor_exclusive
3662#define GL_NV_scissor_exclusive 1
3663#define GL_SCISSOR_TEST_EXCLUSIVE_NV 0x9555
3664#define GL_SCISSOR_BOX_EXCLUSIVE_NV 0x9556
3665typedef void (GL_APIENTRYP PFNGLSCISSOREXCLUSIVENVPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
3666typedef void (GL_APIENTRYP PFNGLSCISSOREXCLUSIVEARRAYVNVPROC) (GLuint first, GLsizei count, const GLint *v);
3667#ifdef GL_GLEXT_PROTOTYPES
3668GL_APICALL void GL_APIENTRY glScissorExclusiveNV (GLint x, GLint y, GLsizei width, GLsizei height);
3669GL_APICALL void GL_APIENTRY glScissorExclusiveArrayvNV (GLuint first, GLsizei count, const GLint *v);
3670#endif
3671#endif /* GL_NV_scissor_exclusive */
3672
3673#ifndef GL_NV_shader_atomic_fp16_vector
3674#define GL_NV_shader_atomic_fp16_vector 1
3675#endif /* GL_NV_shader_atomic_fp16_vector */
3676
3677#ifndef GL_NV_shader_noperspective_interpolation
3678#define GL_NV_shader_noperspective_interpolation 1
3679#endif /* GL_NV_shader_noperspective_interpolation */
3680
3681#ifndef GL_NV_shader_subgroup_partitioned
3682#define GL_NV_shader_subgroup_partitioned 1
3683#define GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV 0x00000100
3684#endif /* GL_NV_shader_subgroup_partitioned */
3685
3686#ifndef GL_NV_shader_texture_footprint
3687#define GL_NV_shader_texture_footprint 1
3688#endif /* GL_NV_shader_texture_footprint */
3689
3690#ifndef GL_NV_shading_rate_image
3691#define GL_NV_shading_rate_image 1
3692#define GL_SHADING_RATE_IMAGE_NV 0x9563
3693#define GL_SHADING_RATE_NO_INVOCATIONS_NV 0x9564
3694#define GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV 0x9565
3695#define GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV 0x9566
3696#define GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV 0x9567
3697#define GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV 0x9568
3698#define GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV 0x9569
3699#define GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV 0x956A
3700#define GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV 0x956B
3701#define GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV 0x956C
3702#define GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV 0x956D
3703#define GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV 0x956E
3704#define GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV 0x956F
3705#define GL_SHADING_RATE_IMAGE_BINDING_NV 0x955B
3706#define GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV 0x955C
3707#define GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV 0x955D
3708#define GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV 0x955E
3709#define GL_MAX_COARSE_FRAGMENT_SAMPLES_NV 0x955F
3710#define GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV 0x95AE
3711#define GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV 0x95AF
3712#define GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV 0x95B0
3713typedef void (GL_APIENTRYP PFNGLBINDSHADINGRATEIMAGENVPROC) (GLuint texture);
3714typedef void (GL_APIENTRYP PFNGLGETSHADINGRATEIMAGEPALETTENVPROC) (GLuint viewport, GLuint entry, GLenum *rate);
3715typedef void (GL_APIENTRYP PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC) (GLenum rate, GLuint samples, GLuint index, GLint *location);
3716typedef void (GL_APIENTRYP PFNGLSHADINGRATEIMAGEBARRIERNVPROC) (GLboolean synchronize);
3717typedef void (GL_APIENTRYP PFNGLSHADINGRATEIMAGEPALETTENVPROC) (GLuint viewport, GLuint first, GLsizei count, const GLenum *rates);
3718typedef void (GL_APIENTRYP PFNGLSHADINGRATESAMPLEORDERNVPROC) (GLenum order);
3719typedef void (GL_APIENTRYP PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC) (GLenum rate, GLuint samples, const GLint *locations);
3720#ifdef GL_GLEXT_PROTOTYPES
3721GL_APICALL void GL_APIENTRY glBindShadingRateImageNV (GLuint texture);
3722GL_APICALL void GL_APIENTRY glGetShadingRateImagePaletteNV (GLuint viewport, GLuint entry, GLenum *rate);
3723GL_APICALL void GL_APIENTRY glGetShadingRateSampleLocationivNV (GLenum rate, GLuint samples, GLuint index, GLint *location);
3724GL_APICALL void GL_APIENTRY glShadingRateImageBarrierNV (GLboolean synchronize);
3725GL_APICALL void GL_APIENTRY glShadingRateImagePaletteNV (GLuint viewport, GLuint first, GLsizei count, const GLenum *rates);
3726GL_APICALL void GL_APIENTRY glShadingRateSampleOrderNV (GLenum order);
3727GL_APICALL void GL_APIENTRY glShadingRateSampleOrderCustomNV (GLenum rate, GLuint samples, const GLint *locations);
3728#endif
3729#endif /* GL_NV_shading_rate_image */
3730
3731#ifndef GL_NV_shadow_samplers_array
3732#define GL_NV_shadow_samplers_array 1
3733#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4
3734#endif /* GL_NV_shadow_samplers_array */
3735
3736#ifndef GL_NV_shadow_samplers_cube
3737#define GL_NV_shadow_samplers_cube 1
3738#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5
3739#endif /* GL_NV_shadow_samplers_cube */
3740
3741#ifndef GL_NV_stereo_view_rendering
3742#define GL_NV_stereo_view_rendering 1
3743#endif /* GL_NV_stereo_view_rendering */
3744
3745#ifndef GL_NV_texture_border_clamp
3746#define GL_NV_texture_border_clamp 1
3747#define GL_TEXTURE_BORDER_COLOR_NV 0x1004
3748#define GL_CLAMP_TO_BORDER_NV 0x812D
3749#endif /* GL_NV_texture_border_clamp */
3750
3751#ifndef GL_NV_texture_compression_s3tc_update
3752#define GL_NV_texture_compression_s3tc_update 1
3753#endif /* GL_NV_texture_compression_s3tc_update */
3754
3755#ifndef GL_NV_texture_npot_2D_mipmap
3756#define GL_NV_texture_npot_2D_mipmap 1
3757#endif /* GL_NV_texture_npot_2D_mipmap */
3758
3759#ifndef GL_NV_timeline_semaphore
3760#define GL_NV_timeline_semaphore 1
3761#define GL_TIMELINE_SEMAPHORE_VALUE_NV 0x9595
3762#define GL_SEMAPHORE_TYPE_NV 0x95B3
3763#define GL_SEMAPHORE_TYPE_BINARY_NV 0x95B4
3764#define GL_SEMAPHORE_TYPE_TIMELINE_NV 0x95B5
3765#define GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV 0x95B6
3766typedef void (GL_APIENTRYP PFNGLCREATESEMAPHORESNVPROC) (GLsizei n, GLuint *semaphores);
3767typedef void (GL_APIENTRYP PFNGLSEMAPHOREPARAMETERIVNVPROC) (GLuint semaphore, GLenum pname, const GLint *params);
3768typedef void (GL_APIENTRYP PFNGLGETSEMAPHOREPARAMETERIVNVPROC) (GLuint semaphore, GLenum pname, GLint *params);
3769#ifdef GL_GLEXT_PROTOTYPES
3770GL_APICALL void GL_APIENTRY glCreateSemaphoresNV (GLsizei n, GLuint *semaphores);
3771GL_APICALL void GL_APIENTRY glSemaphoreParameterivNV (GLuint semaphore, GLenum pname, const GLint *params);
3772GL_APICALL void GL_APIENTRY glGetSemaphoreParameterivNV (GLuint semaphore, GLenum pname, GLint *params);
3773#endif
3774#endif /* GL_NV_timeline_semaphore */
3775
3776#ifndef GL_NV_viewport_array
3777#define GL_NV_viewport_array 1
3778#define GL_MAX_VIEWPORTS_NV 0x825B
3779#define GL_VIEWPORT_SUBPIXEL_BITS_NV 0x825C
3780#define GL_VIEWPORT_BOUNDS_RANGE_NV 0x825D
3781#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV 0x825F
3782typedef void (GL_APIENTRYP PFNGLVIEWPORTARRAYVNVPROC) (GLuint first, GLsizei count, const GLfloat *v);
3783typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
3784typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFVNVPROC) (GLuint index, const GLfloat *v);
3785typedef void (GL_APIENTRYP PFNGLSCISSORARRAYVNVPROC) (GLuint first, GLsizei count, const GLint *v);
3786typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDNVPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
3787typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDVNVPROC) (GLuint index, const GLint *v);
3788typedef void (GL_APIENTRYP PFNGLDEPTHRANGEARRAYFVNVPROC) (GLuint first, GLsizei count, const GLfloat *v);
3789typedef void (GL_APIENTRYP PFNGLDEPTHRANGEINDEXEDFNVPROC) (GLuint index, GLfloat n, GLfloat f);
3790typedef void (GL_APIENTRYP PFNGLGETFLOATI_VNVPROC) (GLenum target, GLuint index, GLfloat *data);
3791typedef void (GL_APIENTRYP PFNGLENABLEINVPROC) (GLenum target, GLuint index);
3792typedef void (GL_APIENTRYP PFNGLDISABLEINVPROC) (GLenum target, GLuint index);
3793typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDINVPROC) (GLenum target, GLuint index);
3794#ifdef GL_GLEXT_PROTOTYPES
3795GL_APICALL void GL_APIENTRY glViewportArrayvNV (GLuint first, GLsizei count, const GLfloat *v);
3796GL_APICALL void GL_APIENTRY glViewportIndexedfNV (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
3797GL_APICALL void GL_APIENTRY glViewportIndexedfvNV (GLuint index, const GLfloat *v);
3798GL_APICALL void GL_APIENTRY glScissorArrayvNV (GLuint first, GLsizei count, const GLint *v);
3799GL_APICALL void GL_APIENTRY glScissorIndexedNV (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
3800GL_APICALL void GL_APIENTRY glScissorIndexedvNV (GLuint index, const GLint *v);
3801GL_APICALL void GL_APIENTRY glDepthRangeArrayfvNV (GLuint first, GLsizei count, const GLfloat *v);
3802GL_APICALL void GL_APIENTRY glDepthRangeIndexedfNV (GLuint index, GLfloat n, GLfloat f);
3803GL_APICALL void GL_APIENTRY glGetFloati_vNV (GLenum target, GLuint index, GLfloat *data);
3804GL_APICALL void GL_APIENTRY glEnableiNV (GLenum target, GLuint index);
3805GL_APICALL void GL_APIENTRY glDisableiNV (GLenum target, GLuint index);
3806GL_APICALL GLboolean GL_APIENTRY glIsEnablediNV (GLenum target, GLuint index);
3807#endif
3808#endif /* GL_NV_viewport_array */
3809
3810#ifndef GL_NV_viewport_array2
3811#define GL_NV_viewport_array2 1
3812#endif /* GL_NV_viewport_array2 */
3813
3814#ifndef GL_NV_viewport_swizzle
3815#define GL_NV_viewport_swizzle 1
3816#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV 0x9350
3817#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV 0x9351
3818#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV 0x9352
3819#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV 0x9353
3820#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV 0x9354
3821#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV 0x9355
3822#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV 0x9356
3823#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV 0x9357
3824#define GL_VIEWPORT_SWIZZLE_X_NV 0x9358
3825#define GL_VIEWPORT_SWIZZLE_Y_NV 0x9359
3826#define GL_VIEWPORT_SWIZZLE_Z_NV 0x935A
3827#define GL_VIEWPORT_SWIZZLE_W_NV 0x935B
3828typedef void (GL_APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
3829#ifdef GL_GLEXT_PROTOTYPES
3830GL_APICALL void GL_APIENTRY glViewportSwizzleNV (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
3831#endif
3832#endif /* GL_NV_viewport_swizzle */
3833
3834#ifndef GL_OVR_multiview
3835#define GL_OVR_multiview 1
3836#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630
3837#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632
3838#define GL_MAX_VIEWS_OVR 0x9631
3839#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633
3840typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
3841#ifdef GL_GLEXT_PROTOTYPES
3842GL_APICALL void GL_APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
3843#endif
3844#endif /* GL_OVR_multiview */
3845
3846#ifndef GL_OVR_multiview2
3847#define GL_OVR_multiview2 1
3848#endif /* GL_OVR_multiview2 */
3849
3850#ifndef GL_OVR_multiview_multisampled_render_to_texture
3851#define GL_OVR_multiview_multisampled_render_to_texture 1
3852typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTISAMPLEMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews);
3853#ifdef GL_GLEXT_PROTOTYPES
3854GL_APICALL void GL_APIENTRY glFramebufferTextureMultisampleMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews);
3855#endif
3856#endif /* GL_OVR_multiview_multisampled_render_to_texture */
3857
3858#ifndef GL_QCOM_YUV_texture_gather
3859#define GL_QCOM_YUV_texture_gather 1
3860#endif /* GL_QCOM_YUV_texture_gather */
3861
3862#ifndef GL_QCOM_alpha_test
3863#define GL_QCOM_alpha_test 1
3864#define GL_ALPHA_TEST_QCOM 0x0BC0
3865#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
3866#define GL_ALPHA_TEST_REF_QCOM 0x0BC2
3867typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
3868#ifdef GL_GLEXT_PROTOTYPES
3869GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
3870#endif
3871#endif /* GL_QCOM_alpha_test */
3872
3873#ifndef GL_QCOM_binning_control
3874#define GL_QCOM_binning_control 1
3875#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
3876#define GL_CPU_OPTIMIZED_QCOM 0x8FB1
3877#define GL_GPU_OPTIMIZED_QCOM 0x8FB2
3878#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
3879#endif /* GL_QCOM_binning_control */
3880
3881#ifndef GL_QCOM_driver_control
3882#define GL_QCOM_driver_control 1
3883typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
3884typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
3885typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
3886typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
3887#ifdef GL_GLEXT_PROTOTYPES
3888GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
3889GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
3890GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
3891GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
3892#endif
3893#endif /* GL_QCOM_driver_control */
3894
3895#ifndef GL_QCOM_extended_get
3896#define GL_QCOM_extended_get 1
3897#define GL_TEXTURE_WIDTH_QCOM 0x8BD2
3898#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
3899#define GL_TEXTURE_DEPTH_QCOM 0x8BD4
3900#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
3901#define GL_TEXTURE_FORMAT_QCOM 0x8BD6
3902#define GL_TEXTURE_TYPE_QCOM 0x8BD7
3903#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
3904#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
3905#define GL_TEXTURE_TARGET_QCOM 0x8BDA
3906#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
3907#define GL_STATE_RESTORE 0x8BDC
3908typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
3909typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
3910typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
3911typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
3912typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
3913typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
3914typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
3915typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params);
3916#ifdef GL_GLEXT_PROTOTYPES
3917GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
3918GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
3919GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
3920GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
3921GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
3922GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
3923GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
3924GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params);
3925#endif
3926#endif /* GL_QCOM_extended_get */
3927
3928#ifndef GL_QCOM_extended_get2
3929#define GL_QCOM_extended_get2 1
3930typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
3931typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
3932typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
3933typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
3934#ifdef GL_GLEXT_PROTOTYPES
3935GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
3936GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
3937GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
3938GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
3939#endif
3940#endif /* GL_QCOM_extended_get2 */
3941
3942#ifndef GL_QCOM_frame_extrapolation
3943#define GL_QCOM_frame_extrapolation 1
3944typedef void (GL_APIENTRYP PFNGLEXTRAPOLATETEX2DQCOMPROC) (GLuint src1, GLuint src2, GLuint output, GLfloat scaleFactor);
3945#ifdef GL_GLEXT_PROTOTYPES
3946GL_APICALL void GL_APIENTRY glExtrapolateTex2DQCOM (GLuint src1, GLuint src2, GLuint output, GLfloat scaleFactor);
3947#endif
3948#endif /* GL_QCOM_frame_extrapolation */
3949
3950#ifndef GL_QCOM_framebuffer_foveated
3951#define GL_QCOM_framebuffer_foveated 1
3952#define GL_FOVEATION_ENABLE_BIT_QCOM 0x00000001
3953#define GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM 0x00000002
3954typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC) (GLuint framebuffer, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint *providedFeatures);
3955typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC) (GLuint framebuffer, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
3956#ifdef GL_GLEXT_PROTOTYPES
3957GL_APICALL void GL_APIENTRY glFramebufferFoveationConfigQCOM (GLuint framebuffer, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint *providedFeatures);
3958GL_APICALL void GL_APIENTRY glFramebufferFoveationParametersQCOM (GLuint framebuffer, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
3959#endif
3960#endif /* GL_QCOM_framebuffer_foveated */
3961
3962#ifndef GL_QCOM_motion_estimation
3963#define GL_QCOM_motion_estimation 1
3964#define GL_MOTION_ESTIMATION_SEARCH_BLOCK_X_QCOM 0x8C90
3965#define GL_MOTION_ESTIMATION_SEARCH_BLOCK_Y_QCOM 0x8C91
3966typedef void (GL_APIENTRYP PFNGLTEXESTIMATEMOTIONQCOMPROC) (GLuint ref, GLuint target, GLuint output);
3967typedef void (GL_APIENTRYP PFNGLTEXESTIMATEMOTIONREGIONSQCOMPROC) (GLuint ref, GLuint target, GLuint output, GLuint mask);
3968#ifdef GL_GLEXT_PROTOTYPES
3969GL_APICALL void GL_APIENTRY glTexEstimateMotionQCOM (GLuint ref, GLuint target, GLuint output);
3970GL_APICALL void GL_APIENTRY glTexEstimateMotionRegionsQCOM (GLuint ref, GLuint target, GLuint output, GLuint mask);
3971#endif
3972#endif /* GL_QCOM_motion_estimation */
3973
3974#ifndef GL_QCOM_perfmon_global_mode
3975#define GL_QCOM_perfmon_global_mode 1
3976#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
3977#endif /* GL_QCOM_perfmon_global_mode */
3978
3979#ifndef GL_QCOM_render_sRGB_R8_RG8
3980#define GL_QCOM_render_sRGB_R8_RG8 1
3981#endif /* GL_QCOM_render_sRGB_R8_RG8 */
3982
3983#ifndef GL_QCOM_render_shared_exponent
3984#define GL_QCOM_render_shared_exponent 1
3985#endif /* GL_QCOM_render_shared_exponent */
3986
3987#ifndef GL_QCOM_shader_framebuffer_fetch_noncoherent
3988#define GL_QCOM_shader_framebuffer_fetch_noncoherent 1
3989#define GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM 0x96A2
3990typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC) (void);
3991#ifdef GL_GLEXT_PROTOTYPES
3992GL_APICALL void GL_APIENTRY glFramebufferFetchBarrierQCOM (void);
3993#endif
3994#endif /* GL_QCOM_shader_framebuffer_fetch_noncoherent */
3995
3996#ifndef GL_QCOM_shader_framebuffer_fetch_rate
3997#define GL_QCOM_shader_framebuffer_fetch_rate 1
3998#endif /* GL_QCOM_shader_framebuffer_fetch_rate */
3999
4000#ifndef GL_QCOM_shading_rate
4001#define GL_QCOM_shading_rate 1
4002#define GL_SHADING_RATE_QCOM 0x96A4
4003#define GL_SHADING_RATE_PRESERVE_ASPECT_RATIO_QCOM 0x96A5
4004#define GL_SHADING_RATE_1X1_PIXELS_QCOM 0x96A6
4005#define GL_SHADING_RATE_1X2_PIXELS_QCOM 0x96A7
4006#define GL_SHADING_RATE_2X1_PIXELS_QCOM 0x96A8
4007#define GL_SHADING_RATE_2X2_PIXELS_QCOM 0x96A9
4008#define GL_SHADING_RATE_4X2_PIXELS_QCOM 0x96AC
4009#define GL_SHADING_RATE_4X4_PIXELS_QCOM 0x96AE
4010typedef void (GL_APIENTRYP PFNGLSHADINGRATEQCOMPROC) (GLenum rate);
4011#ifdef GL_GLEXT_PROTOTYPES
4012GL_APICALL void GL_APIENTRY glShadingRateQCOM (GLenum rate);
4013#endif
4014#endif /* GL_QCOM_shading_rate */
4015
4016#ifndef GL_QCOM_texture_foveated
4017#define GL_QCOM_texture_foveated 1
4018#define GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM 0x8BFB
4019#define GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM 0x8BFC
4020#define GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM 0x8BFD
4021#define GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM 0x8BFE
4022#define GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM 0x8BFF
4023typedef void (GL_APIENTRYP PFNGLTEXTUREFOVEATIONPARAMETERSQCOMPROC) (GLuint texture, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
4024#ifdef GL_GLEXT_PROTOTYPES
4025GL_APICALL void GL_APIENTRY glTextureFoveationParametersQCOM (GLuint texture, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
4026#endif
4027#endif /* GL_QCOM_texture_foveated */
4028
4029#ifndef GL_QCOM_texture_foveated2
4030#define GL_QCOM_texture_foveated2 1
4031#define GL_TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM 0x96A0
4032#endif /* GL_QCOM_texture_foveated2 */
4033
4034#ifndef GL_QCOM_texture_foveated_subsampled_layout
4035#define GL_QCOM_texture_foveated_subsampled_layout 1
4036#define GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM 0x00000004
4037#define GL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM 0x8FA1
4038#endif /* GL_QCOM_texture_foveated_subsampled_layout */
4039
4040#ifndef GL_QCOM_texture_lod_bias
4041#define GL_QCOM_texture_lod_bias 1
4042#define GL_TEXTURE_LOD_BIAS_QCOM 0x8C96
4043#endif /* GL_QCOM_texture_lod_bias */
4044
4045#ifndef GL_QCOM_tiled_rendering
4046#define GL_QCOM_tiled_rendering 1
4047#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
4048#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
4049#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
4050#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
4051#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
4052#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
4053#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
4054#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
4055#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
4056#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
4057#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
4058#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
4059#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
4060#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
4061#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
4062#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
4063#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
4064#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
4065#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
4066#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
4067#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
4068#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
4069#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
4070#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
4071#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
4072#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
4073#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
4074#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
4075#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
4076#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
4077#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
4078#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
4079typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
4080typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
4081#ifdef GL_GLEXT_PROTOTYPES
4082GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
4083GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
4084#endif
4085#endif /* GL_QCOM_tiled_rendering */
4086
4087#ifndef GL_QCOM_writeonly_rendering
4088#define GL_QCOM_writeonly_rendering 1
4089#define GL_WRITEONLY_RENDERING_QCOM 0x8823
4090#endif /* GL_QCOM_writeonly_rendering */
4091
4092#ifndef GL_VIV_shader_binary
4093#define GL_VIV_shader_binary 1
4094#define GL_SHADER_BINARY_VIV 0x8FC4
4095#endif /* GL_VIV_shader_binary */
4096
4097#ifdef __cplusplus
4098}
4099#endif
4100
4101#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2platform.h b/contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2platform.h
new file mode 100644
index 0000000..5bcce6d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/GLES2/gl2platform.h
@@ -0,0 +1,27 @@
1#ifndef __gl2platform_h_
2#define __gl2platform_h_
3
4/*
5** Copyright 2017-2020 The Khronos Group Inc.
6** SPDX-License-Identifier: Apache-2.0
7*/
8
9/* Platform-specific types and definitions for OpenGL ES 2.X gl2.h
10 *
11 * Adopters may modify khrplatform.h and this file to suit their platform.
12 * Please contribute modifications back to Khronos as pull requests on the
13 * public github repository:
14 * https://github.com/KhronosGroup/OpenGL-Registry
15 */
16
17#include <KHR/khrplatform.h>
18
19#ifndef GL_APICALL
20#define GL_APICALL KHRONOS_APICALL
21#endif
22
23#ifndef GL_APIENTRY
24#define GL_APIENTRY KHRONOS_APIENTRY
25#endif
26
27#endif /* __gl2platform_h_ */
diff --git a/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl3.h b/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl3.h
new file mode 100644
index 0000000..850eb83
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl3.h
@@ -0,0 +1,1192 @@
1#ifndef __gles2_gl3_h_
2#define __gles2_gl3_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright 2013-2020 The Khronos Group Inc.
10** SPDX-License-Identifier: MIT
11**
12** This header is generated from the Khronos OpenGL / OpenGL ES XML
13** API Registry. The current version of the Registry, generator scripts
14** used to make the header, and the header can be found at
15** https://github.com/KhronosGroup/OpenGL-Registry
16*/
17
18#include <GLES3/gl3platform.h>
19
20#ifndef GL_APIENTRYP
21#define GL_APIENTRYP GL_APIENTRY*
22#endif
23
24#ifndef GL_GLES_PROTOTYPES
25#define GL_GLES_PROTOTYPES 1
26#endif
27
28/* Generated on date 20240815 */
29
30/* Generated C header for:
31 * API: gles2
32 * Profile: common
33 * Versions considered: 2\.[0-9]|3\.0
34 * Versions emitted: .*
35 * Default extensions included: None
36 * Additional extensions included: _nomatch_^
37 * Extensions removed: _nomatch_^
38 */
39
40#ifndef GL_ES_VERSION_2_0
41#define GL_ES_VERSION_2_0 1
42#include <KHR/khrplatform.h>
43typedef khronos_int8_t GLbyte;
44typedef khronos_float_t GLclampf;
45typedef khronos_int32_t GLfixed;
46typedef khronos_int16_t GLshort;
47typedef khronos_uint16_t GLushort;
48typedef void GLvoid;
49typedef struct __GLsync *GLsync;
50typedef khronos_int64_t GLint64;
51typedef khronos_uint64_t GLuint64;
52typedef unsigned int GLenum;
53typedef unsigned int GLuint;
54typedef char GLchar;
55typedef khronos_float_t GLfloat;
56typedef khronos_ssize_t GLsizeiptr;
57typedef khronos_intptr_t GLintptr;
58typedef unsigned int GLbitfield;
59typedef int GLint;
60typedef unsigned char GLboolean;
61typedef int GLsizei;
62typedef khronos_uint8_t GLubyte;
63#define GL_DEPTH_BUFFER_BIT 0x00000100
64#define GL_STENCIL_BUFFER_BIT 0x00000400
65#define GL_COLOR_BUFFER_BIT 0x00004000
66#define GL_FALSE 0
67#define GL_TRUE 1
68#define GL_POINTS 0x0000
69#define GL_LINES 0x0001
70#define GL_LINE_LOOP 0x0002
71#define GL_LINE_STRIP 0x0003
72#define GL_TRIANGLES 0x0004
73#define GL_TRIANGLE_STRIP 0x0005
74#define GL_TRIANGLE_FAN 0x0006
75#define GL_ZERO 0
76#define GL_ONE 1
77#define GL_SRC_COLOR 0x0300
78#define GL_ONE_MINUS_SRC_COLOR 0x0301
79#define GL_SRC_ALPHA 0x0302
80#define GL_ONE_MINUS_SRC_ALPHA 0x0303
81#define GL_DST_ALPHA 0x0304
82#define GL_ONE_MINUS_DST_ALPHA 0x0305
83#define GL_DST_COLOR 0x0306
84#define GL_ONE_MINUS_DST_COLOR 0x0307
85#define GL_SRC_ALPHA_SATURATE 0x0308
86#define GL_FUNC_ADD 0x8006
87#define GL_BLEND_EQUATION 0x8009
88#define GL_BLEND_EQUATION_RGB 0x8009
89#define GL_BLEND_EQUATION_ALPHA 0x883D
90#define GL_FUNC_SUBTRACT 0x800A
91#define GL_FUNC_REVERSE_SUBTRACT 0x800B
92#define GL_BLEND_DST_RGB 0x80C8
93#define GL_BLEND_SRC_RGB 0x80C9
94#define GL_BLEND_DST_ALPHA 0x80CA
95#define GL_BLEND_SRC_ALPHA 0x80CB
96#define GL_CONSTANT_COLOR 0x8001
97#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
98#define GL_CONSTANT_ALPHA 0x8003
99#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
100#define GL_BLEND_COLOR 0x8005
101#define GL_ARRAY_BUFFER 0x8892
102#define GL_ELEMENT_ARRAY_BUFFER 0x8893
103#define GL_ARRAY_BUFFER_BINDING 0x8894
104#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
105#define GL_STREAM_DRAW 0x88E0
106#define GL_STATIC_DRAW 0x88E4
107#define GL_DYNAMIC_DRAW 0x88E8
108#define GL_BUFFER_SIZE 0x8764
109#define GL_BUFFER_USAGE 0x8765
110#define GL_CURRENT_VERTEX_ATTRIB 0x8626
111#define GL_FRONT 0x0404
112#define GL_BACK 0x0405
113#define GL_FRONT_AND_BACK 0x0408
114#define GL_TEXTURE_2D 0x0DE1
115#define GL_CULL_FACE 0x0B44
116#define GL_BLEND 0x0BE2
117#define GL_DITHER 0x0BD0
118#define GL_STENCIL_TEST 0x0B90
119#define GL_DEPTH_TEST 0x0B71
120#define GL_SCISSOR_TEST 0x0C11
121#define GL_POLYGON_OFFSET_FILL 0x8037
122#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
123#define GL_SAMPLE_COVERAGE 0x80A0
124#define GL_NO_ERROR 0
125#define GL_INVALID_ENUM 0x0500
126#define GL_INVALID_VALUE 0x0501
127#define GL_INVALID_OPERATION 0x0502
128#define GL_OUT_OF_MEMORY 0x0505
129#define GL_CW 0x0900
130#define GL_CCW 0x0901
131#define GL_LINE_WIDTH 0x0B21
132#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
133#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
134#define GL_CULL_FACE_MODE 0x0B45
135#define GL_FRONT_FACE 0x0B46
136#define GL_DEPTH_RANGE 0x0B70
137#define GL_DEPTH_WRITEMASK 0x0B72
138#define GL_DEPTH_CLEAR_VALUE 0x0B73
139#define GL_DEPTH_FUNC 0x0B74
140#define GL_STENCIL_CLEAR_VALUE 0x0B91
141#define GL_STENCIL_FUNC 0x0B92
142#define GL_STENCIL_FAIL 0x0B94
143#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
144#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
145#define GL_STENCIL_REF 0x0B97
146#define GL_STENCIL_VALUE_MASK 0x0B93
147#define GL_STENCIL_WRITEMASK 0x0B98
148#define GL_STENCIL_BACK_FUNC 0x8800
149#define GL_STENCIL_BACK_FAIL 0x8801
150#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
151#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
152#define GL_STENCIL_BACK_REF 0x8CA3
153#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
154#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
155#define GL_VIEWPORT 0x0BA2
156#define GL_SCISSOR_BOX 0x0C10
157#define GL_COLOR_CLEAR_VALUE 0x0C22
158#define GL_COLOR_WRITEMASK 0x0C23
159#define GL_UNPACK_ALIGNMENT 0x0CF5
160#define GL_PACK_ALIGNMENT 0x0D05
161#define GL_MAX_TEXTURE_SIZE 0x0D33
162#define GL_MAX_VIEWPORT_DIMS 0x0D3A
163#define GL_SUBPIXEL_BITS 0x0D50
164#define GL_RED_BITS 0x0D52
165#define GL_GREEN_BITS 0x0D53
166#define GL_BLUE_BITS 0x0D54
167#define GL_ALPHA_BITS 0x0D55
168#define GL_DEPTH_BITS 0x0D56
169#define GL_STENCIL_BITS 0x0D57
170#define GL_POLYGON_OFFSET_UNITS 0x2A00
171#define GL_POLYGON_OFFSET_FACTOR 0x8038
172#define GL_TEXTURE_BINDING_2D 0x8069
173#define GL_SAMPLE_BUFFERS 0x80A8
174#define GL_SAMPLES 0x80A9
175#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
176#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
177#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
178#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
179#define GL_DONT_CARE 0x1100
180#define GL_FASTEST 0x1101
181#define GL_NICEST 0x1102
182#define GL_GENERATE_MIPMAP_HINT 0x8192
183#define GL_BYTE 0x1400
184#define GL_UNSIGNED_BYTE 0x1401
185#define GL_SHORT 0x1402
186#define GL_UNSIGNED_SHORT 0x1403
187#define GL_INT 0x1404
188#define GL_UNSIGNED_INT 0x1405
189#define GL_FLOAT 0x1406
190#define GL_FIXED 0x140C
191#define GL_DEPTH_COMPONENT 0x1902
192#define GL_ALPHA 0x1906
193#define GL_RGB 0x1907
194#define GL_RGBA 0x1908
195#define GL_LUMINANCE 0x1909
196#define GL_LUMINANCE_ALPHA 0x190A
197#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
198#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
199#define GL_UNSIGNED_SHORT_5_6_5 0x8363
200#define GL_FRAGMENT_SHADER 0x8B30
201#define GL_VERTEX_SHADER 0x8B31
202#define GL_MAX_VERTEX_ATTRIBS 0x8869
203#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
204#define GL_MAX_VARYING_VECTORS 0x8DFC
205#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
206#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
207#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
208#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
209#define GL_SHADER_TYPE 0x8B4F
210#define GL_DELETE_STATUS 0x8B80
211#define GL_LINK_STATUS 0x8B82
212#define GL_VALIDATE_STATUS 0x8B83
213#define GL_ATTACHED_SHADERS 0x8B85
214#define GL_ACTIVE_UNIFORMS 0x8B86
215#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
216#define GL_ACTIVE_ATTRIBUTES 0x8B89
217#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
218#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
219#define GL_CURRENT_PROGRAM 0x8B8D
220#define GL_NEVER 0x0200
221#define GL_LESS 0x0201
222#define GL_EQUAL 0x0202
223#define GL_LEQUAL 0x0203
224#define GL_GREATER 0x0204
225#define GL_NOTEQUAL 0x0205
226#define GL_GEQUAL 0x0206
227#define GL_ALWAYS 0x0207
228#define GL_KEEP 0x1E00
229#define GL_REPLACE 0x1E01
230#define GL_INCR 0x1E02
231#define GL_DECR 0x1E03
232#define GL_INVERT 0x150A
233#define GL_INCR_WRAP 0x8507
234#define GL_DECR_WRAP 0x8508
235#define GL_VENDOR 0x1F00
236#define GL_RENDERER 0x1F01
237#define GL_VERSION 0x1F02
238#define GL_EXTENSIONS 0x1F03
239#define GL_NEAREST 0x2600
240#define GL_LINEAR 0x2601
241#define GL_NEAREST_MIPMAP_NEAREST 0x2700
242#define GL_LINEAR_MIPMAP_NEAREST 0x2701
243#define GL_NEAREST_MIPMAP_LINEAR 0x2702
244#define GL_LINEAR_MIPMAP_LINEAR 0x2703
245#define GL_TEXTURE_MAG_FILTER 0x2800
246#define GL_TEXTURE_MIN_FILTER 0x2801
247#define GL_TEXTURE_WRAP_S 0x2802
248#define GL_TEXTURE_WRAP_T 0x2803
249#define GL_TEXTURE 0x1702
250#define GL_TEXTURE_CUBE_MAP 0x8513
251#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
252#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
253#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
254#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
255#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
256#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
257#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
258#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
259#define GL_TEXTURE0 0x84C0
260#define GL_TEXTURE1 0x84C1
261#define GL_TEXTURE2 0x84C2
262#define GL_TEXTURE3 0x84C3
263#define GL_TEXTURE4 0x84C4
264#define GL_TEXTURE5 0x84C5
265#define GL_TEXTURE6 0x84C6
266#define GL_TEXTURE7 0x84C7
267#define GL_TEXTURE8 0x84C8
268#define GL_TEXTURE9 0x84C9
269#define GL_TEXTURE10 0x84CA
270#define GL_TEXTURE11 0x84CB
271#define GL_TEXTURE12 0x84CC
272#define GL_TEXTURE13 0x84CD
273#define GL_TEXTURE14 0x84CE
274#define GL_TEXTURE15 0x84CF
275#define GL_TEXTURE16 0x84D0
276#define GL_TEXTURE17 0x84D1
277#define GL_TEXTURE18 0x84D2
278#define GL_TEXTURE19 0x84D3
279#define GL_TEXTURE20 0x84D4
280#define GL_TEXTURE21 0x84D5
281#define GL_TEXTURE22 0x84D6
282#define GL_TEXTURE23 0x84D7
283#define GL_TEXTURE24 0x84D8
284#define GL_TEXTURE25 0x84D9
285#define GL_TEXTURE26 0x84DA
286#define GL_TEXTURE27 0x84DB
287#define GL_TEXTURE28 0x84DC
288#define GL_TEXTURE29 0x84DD
289#define GL_TEXTURE30 0x84DE
290#define GL_TEXTURE31 0x84DF
291#define GL_ACTIVE_TEXTURE 0x84E0
292#define GL_REPEAT 0x2901
293#define GL_CLAMP_TO_EDGE 0x812F
294#define GL_MIRRORED_REPEAT 0x8370
295#define GL_FLOAT_VEC2 0x8B50
296#define GL_FLOAT_VEC3 0x8B51
297#define GL_FLOAT_VEC4 0x8B52
298#define GL_INT_VEC2 0x8B53
299#define GL_INT_VEC3 0x8B54
300#define GL_INT_VEC4 0x8B55
301#define GL_BOOL 0x8B56
302#define GL_BOOL_VEC2 0x8B57
303#define GL_BOOL_VEC3 0x8B58
304#define GL_BOOL_VEC4 0x8B59
305#define GL_FLOAT_MAT2 0x8B5A
306#define GL_FLOAT_MAT3 0x8B5B
307#define GL_FLOAT_MAT4 0x8B5C
308#define GL_SAMPLER_2D 0x8B5E
309#define GL_SAMPLER_CUBE 0x8B60
310#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
311#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
312#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
313#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
314#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
315#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
316#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
317#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
318#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
319#define GL_COMPILE_STATUS 0x8B81
320#define GL_INFO_LOG_LENGTH 0x8B84
321#define GL_SHADER_SOURCE_LENGTH 0x8B88
322#define GL_SHADER_COMPILER 0x8DFA
323#define GL_SHADER_BINARY_FORMATS 0x8DF8
324#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
325#define GL_LOW_FLOAT 0x8DF0
326#define GL_MEDIUM_FLOAT 0x8DF1
327#define GL_HIGH_FLOAT 0x8DF2
328#define GL_LOW_INT 0x8DF3
329#define GL_MEDIUM_INT 0x8DF4
330#define GL_HIGH_INT 0x8DF5
331#define GL_FRAMEBUFFER 0x8D40
332#define GL_RENDERBUFFER 0x8D41
333#define GL_RGBA4 0x8056
334#define GL_RGB5_A1 0x8057
335#define GL_RGB565 0x8D62
336#define GL_DEPTH_COMPONENT16 0x81A5
337#define GL_STENCIL_INDEX8 0x8D48
338#define GL_RENDERBUFFER_WIDTH 0x8D42
339#define GL_RENDERBUFFER_HEIGHT 0x8D43
340#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
341#define GL_RENDERBUFFER_RED_SIZE 0x8D50
342#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
343#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
344#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
345#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
346#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
347#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
348#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
349#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
350#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
351#define GL_COLOR_ATTACHMENT0 0x8CE0
352#define GL_DEPTH_ATTACHMENT 0x8D00
353#define GL_STENCIL_ATTACHMENT 0x8D20
354#define GL_NONE 0
355#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
356#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
357#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
358#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
359#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
360#define GL_FRAMEBUFFER_BINDING 0x8CA6
361#define GL_RENDERBUFFER_BINDING 0x8CA7
362#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
363#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
364typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
365typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
366typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
367typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
368typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
369typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
370typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
371typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
372typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
373typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
374typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
375typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
376typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
377typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
378typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
379typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
380typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
381typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
382typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
383typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
384typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
385typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
386typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
387typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
388typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
389typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
390typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
391typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
392typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
393typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
394typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
395typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
396typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
397typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
398typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
399typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
400typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
401typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
402typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
403typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
404typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
405typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
406typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
407typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
408typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
409typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
410typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
411typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
412typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
413typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
414typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
415typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
416typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
417typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
418typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
419typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
420typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
421typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
422typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
423typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
424typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
425typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
426typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
427typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
428typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
429typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
430typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
431typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
432typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
433typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
434typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
435typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
436typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
437typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
438typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
439typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
440typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
441typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
442typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
443typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
444typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
445typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
446typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
447typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
448typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
449typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
450typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
451typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
452typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
453typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
454typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
455typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
456typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
457typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
458typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
459typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
460typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
461typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
462typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
463typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
464typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
465typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
466typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
467typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
468typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
469typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
470typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
471typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
472typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
473typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
474typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
475typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
476typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
477typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
478typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
479typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
480typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
481typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
482typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
483typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
484typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
485typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
486typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
487typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
488typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
489typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
490typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
491typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
492typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
493typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
494typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
495typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
496typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
497typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
498typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
499typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
500typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
501typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
502typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
503typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
504typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
505typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
506#if GL_GLES_PROTOTYPES
507GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
508GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
509GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
510GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
511GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
512GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
513GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
514GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
515GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
516GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
517GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
518GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
519GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
520GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
521GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
522GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
523GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
524GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
525GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
526GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
527GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
528GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
529GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
530GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
531GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
532GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
533GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
534GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
535GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
536GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
537GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
538GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
539GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
540GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
541GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
542GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
543GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
544GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
545GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
546GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
547GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
548GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
549GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
550GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
551GL_APICALL void GL_APIENTRY glFinish (void);
552GL_APICALL void GL_APIENTRY glFlush (void);
553GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
554GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
555GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
556GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
557GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
558GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
559GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
560GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
561GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
562GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
563GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
564GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
565GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
566GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
567GL_APICALL GLenum GL_APIENTRY glGetError (void);
568GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
569GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
570GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
571GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
572GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
573GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
574GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
575GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
576GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
577GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
578GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
579GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
580GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
581GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
582GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
583GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
584GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
585GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
586GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
587GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
588GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
589GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
590GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
591GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
592GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
593GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
594GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
595GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
596GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
597GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
598GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
599GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
600GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
601GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
602GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
603GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
604GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
605GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
606GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
607GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
608GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
609GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
610GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
611GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
612GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
613GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
614GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
615GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
616GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
617GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
618GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
619GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
620GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
621GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
622GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
623GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
624GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
625GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
626GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
627GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
628GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
629GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
630GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
631GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
632GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
633GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
634GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
635GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
636GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
637GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
638GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
639GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
640GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
641GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
642GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
643GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
644GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
645GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
646GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
647GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
648GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
649#endif
650#endif /* GL_ES_VERSION_2_0 */
651
652#ifndef GL_ES_VERSION_3_0
653#define GL_ES_VERSION_3_0 1
654typedef khronos_uint16_t GLhalf;
655#define GL_READ_BUFFER 0x0C02
656#define GL_UNPACK_ROW_LENGTH 0x0CF2
657#define GL_UNPACK_SKIP_ROWS 0x0CF3
658#define GL_UNPACK_SKIP_PIXELS 0x0CF4
659#define GL_PACK_ROW_LENGTH 0x0D02
660#define GL_PACK_SKIP_ROWS 0x0D03
661#define GL_PACK_SKIP_PIXELS 0x0D04
662#define GL_COLOR 0x1800
663#define GL_DEPTH 0x1801
664#define GL_STENCIL 0x1802
665#define GL_RED 0x1903
666#define GL_RGB8 0x8051
667#define GL_RGBA8 0x8058
668#define GL_RGB10_A2 0x8059
669#define GL_TEXTURE_BINDING_3D 0x806A
670#define GL_UNPACK_SKIP_IMAGES 0x806D
671#define GL_UNPACK_IMAGE_HEIGHT 0x806E
672#define GL_TEXTURE_3D 0x806F
673#define GL_TEXTURE_WRAP_R 0x8072
674#define GL_MAX_3D_TEXTURE_SIZE 0x8073
675#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
676#define GL_MAX_ELEMENTS_VERTICES 0x80E8
677#define GL_MAX_ELEMENTS_INDICES 0x80E9
678#define GL_TEXTURE_MIN_LOD 0x813A
679#define GL_TEXTURE_MAX_LOD 0x813B
680#define GL_TEXTURE_BASE_LEVEL 0x813C
681#define GL_TEXTURE_MAX_LEVEL 0x813D
682#define GL_MIN 0x8007
683#define GL_MAX 0x8008
684#define GL_DEPTH_COMPONENT24 0x81A6
685#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
686#define GL_TEXTURE_COMPARE_MODE 0x884C
687#define GL_TEXTURE_COMPARE_FUNC 0x884D
688#define GL_CURRENT_QUERY 0x8865
689#define GL_QUERY_RESULT 0x8866
690#define GL_QUERY_RESULT_AVAILABLE 0x8867
691#define GL_BUFFER_MAPPED 0x88BC
692#define GL_BUFFER_MAP_POINTER 0x88BD
693#define GL_STREAM_READ 0x88E1
694#define GL_STREAM_COPY 0x88E2
695#define GL_STATIC_READ 0x88E5
696#define GL_STATIC_COPY 0x88E6
697#define GL_DYNAMIC_READ 0x88E9
698#define GL_DYNAMIC_COPY 0x88EA
699#define GL_MAX_DRAW_BUFFERS 0x8824
700#define GL_DRAW_BUFFER0 0x8825
701#define GL_DRAW_BUFFER1 0x8826
702#define GL_DRAW_BUFFER2 0x8827
703#define GL_DRAW_BUFFER3 0x8828
704#define GL_DRAW_BUFFER4 0x8829
705#define GL_DRAW_BUFFER5 0x882A
706#define GL_DRAW_BUFFER6 0x882B
707#define GL_DRAW_BUFFER7 0x882C
708#define GL_DRAW_BUFFER8 0x882D
709#define GL_DRAW_BUFFER9 0x882E
710#define GL_DRAW_BUFFER10 0x882F
711#define GL_DRAW_BUFFER11 0x8830
712#define GL_DRAW_BUFFER12 0x8831
713#define GL_DRAW_BUFFER13 0x8832
714#define GL_DRAW_BUFFER14 0x8833
715#define GL_DRAW_BUFFER15 0x8834
716#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
717#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
718#define GL_SAMPLER_3D 0x8B5F
719#define GL_SAMPLER_2D_SHADOW 0x8B62
720#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
721#define GL_PIXEL_PACK_BUFFER 0x88EB
722#define GL_PIXEL_UNPACK_BUFFER 0x88EC
723#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
724#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
725#define GL_FLOAT_MAT2x3 0x8B65
726#define GL_FLOAT_MAT2x4 0x8B66
727#define GL_FLOAT_MAT3x2 0x8B67
728#define GL_FLOAT_MAT3x4 0x8B68
729#define GL_FLOAT_MAT4x2 0x8B69
730#define GL_FLOAT_MAT4x3 0x8B6A
731#define GL_SRGB 0x8C40
732#define GL_SRGB8 0x8C41
733#define GL_SRGB8_ALPHA8 0x8C43
734#define GL_COMPARE_REF_TO_TEXTURE 0x884E
735#define GL_MAJOR_VERSION 0x821B
736#define GL_MINOR_VERSION 0x821C
737#define GL_NUM_EXTENSIONS 0x821D
738#define GL_RGBA32F 0x8814
739#define GL_RGB32F 0x8815
740#define GL_RGBA16F 0x881A
741#define GL_RGB16F 0x881B
742#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
743#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
744#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
745#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
746#define GL_MAX_VARYING_COMPONENTS 0x8B4B
747#define GL_TEXTURE_2D_ARRAY 0x8C1A
748#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
749#define GL_R11F_G11F_B10F 0x8C3A
750#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
751#define GL_RGB9_E5 0x8C3D
752#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
753#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
754#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
755#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
756#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
757#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
758#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
759#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
760#define GL_RASTERIZER_DISCARD 0x8C89
761#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
762#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
763#define GL_INTERLEAVED_ATTRIBS 0x8C8C
764#define GL_SEPARATE_ATTRIBS 0x8C8D
765#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
766#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
767#define GL_RGBA32UI 0x8D70
768#define GL_RGB32UI 0x8D71
769#define GL_RGBA16UI 0x8D76
770#define GL_RGB16UI 0x8D77
771#define GL_RGBA8UI 0x8D7C
772#define GL_RGB8UI 0x8D7D
773#define GL_RGBA32I 0x8D82
774#define GL_RGB32I 0x8D83
775#define GL_RGBA16I 0x8D88
776#define GL_RGB16I 0x8D89
777#define GL_RGBA8I 0x8D8E
778#define GL_RGB8I 0x8D8F
779#define GL_RED_INTEGER 0x8D94
780#define GL_RGB_INTEGER 0x8D98
781#define GL_RGBA_INTEGER 0x8D99
782#define GL_SAMPLER_2D_ARRAY 0x8DC1
783#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
784#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
785#define GL_UNSIGNED_INT_VEC2 0x8DC6
786#define GL_UNSIGNED_INT_VEC3 0x8DC7
787#define GL_UNSIGNED_INT_VEC4 0x8DC8
788#define GL_INT_SAMPLER_2D 0x8DCA
789#define GL_INT_SAMPLER_3D 0x8DCB
790#define GL_INT_SAMPLER_CUBE 0x8DCC
791#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
792#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
793#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
794#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
795#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
796#define GL_BUFFER_ACCESS_FLAGS 0x911F
797#define GL_BUFFER_MAP_LENGTH 0x9120
798#define GL_BUFFER_MAP_OFFSET 0x9121
799#define GL_DEPTH_COMPONENT32F 0x8CAC
800#define GL_DEPTH32F_STENCIL8 0x8CAD
801#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
802#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
803#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
804#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
805#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
806#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
807#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
808#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
809#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
810#define GL_FRAMEBUFFER_DEFAULT 0x8218
811#define GL_FRAMEBUFFER_UNDEFINED 0x8219
812#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
813#define GL_DEPTH_STENCIL 0x84F9
814#define GL_UNSIGNED_INT_24_8 0x84FA
815#define GL_DEPTH24_STENCIL8 0x88F0
816#define GL_UNSIGNED_NORMALIZED 0x8C17
817#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
818#define GL_READ_FRAMEBUFFER 0x8CA8
819#define GL_DRAW_FRAMEBUFFER 0x8CA9
820#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
821#define GL_RENDERBUFFER_SAMPLES 0x8CAB
822#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
823#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
824#define GL_COLOR_ATTACHMENT1 0x8CE1
825#define GL_COLOR_ATTACHMENT2 0x8CE2
826#define GL_COLOR_ATTACHMENT3 0x8CE3
827#define GL_COLOR_ATTACHMENT4 0x8CE4
828#define GL_COLOR_ATTACHMENT5 0x8CE5
829#define GL_COLOR_ATTACHMENT6 0x8CE6
830#define GL_COLOR_ATTACHMENT7 0x8CE7
831#define GL_COLOR_ATTACHMENT8 0x8CE8
832#define GL_COLOR_ATTACHMENT9 0x8CE9
833#define GL_COLOR_ATTACHMENT10 0x8CEA
834#define GL_COLOR_ATTACHMENT11 0x8CEB
835#define GL_COLOR_ATTACHMENT12 0x8CEC
836#define GL_COLOR_ATTACHMENT13 0x8CED
837#define GL_COLOR_ATTACHMENT14 0x8CEE
838#define GL_COLOR_ATTACHMENT15 0x8CEF
839#define GL_COLOR_ATTACHMENT16 0x8CF0
840#define GL_COLOR_ATTACHMENT17 0x8CF1
841#define GL_COLOR_ATTACHMENT18 0x8CF2
842#define GL_COLOR_ATTACHMENT19 0x8CF3
843#define GL_COLOR_ATTACHMENT20 0x8CF4
844#define GL_COLOR_ATTACHMENT21 0x8CF5
845#define GL_COLOR_ATTACHMENT22 0x8CF6
846#define GL_COLOR_ATTACHMENT23 0x8CF7
847#define GL_COLOR_ATTACHMENT24 0x8CF8
848#define GL_COLOR_ATTACHMENT25 0x8CF9
849#define GL_COLOR_ATTACHMENT26 0x8CFA
850#define GL_COLOR_ATTACHMENT27 0x8CFB
851#define GL_COLOR_ATTACHMENT28 0x8CFC
852#define GL_COLOR_ATTACHMENT29 0x8CFD
853#define GL_COLOR_ATTACHMENT30 0x8CFE
854#define GL_COLOR_ATTACHMENT31 0x8CFF
855#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
856#define GL_MAX_SAMPLES 0x8D57
857#define GL_HALF_FLOAT 0x140B
858#define GL_MAP_READ_BIT 0x0001
859#define GL_MAP_WRITE_BIT 0x0002
860#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
861#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
862#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
863#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
864#define GL_RG 0x8227
865#define GL_RG_INTEGER 0x8228
866#define GL_R8 0x8229
867#define GL_RG8 0x822B
868#define GL_R16F 0x822D
869#define GL_R32F 0x822E
870#define GL_RG16F 0x822F
871#define GL_RG32F 0x8230
872#define GL_R8I 0x8231
873#define GL_R8UI 0x8232
874#define GL_R16I 0x8233
875#define GL_R16UI 0x8234
876#define GL_R32I 0x8235
877#define GL_R32UI 0x8236
878#define GL_RG8I 0x8237
879#define GL_RG8UI 0x8238
880#define GL_RG16I 0x8239
881#define GL_RG16UI 0x823A
882#define GL_RG32I 0x823B
883#define GL_RG32UI 0x823C
884#define GL_VERTEX_ARRAY_BINDING 0x85B5
885#define GL_R8_SNORM 0x8F94
886#define GL_RG8_SNORM 0x8F95
887#define GL_RGB8_SNORM 0x8F96
888#define GL_RGBA8_SNORM 0x8F97
889#define GL_SIGNED_NORMALIZED 0x8F9C
890#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
891#define GL_COPY_READ_BUFFER 0x8F36
892#define GL_COPY_WRITE_BUFFER 0x8F37
893#define GL_COPY_READ_BUFFER_BINDING 0x8F36
894#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
895#define GL_UNIFORM_BUFFER 0x8A11
896#define GL_UNIFORM_BUFFER_BINDING 0x8A28
897#define GL_UNIFORM_BUFFER_START 0x8A29
898#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
899#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
900#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
901#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
902#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
903#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
904#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
905#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
906#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
907#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
908#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
909#define GL_UNIFORM_TYPE 0x8A37
910#define GL_UNIFORM_SIZE 0x8A38
911#define GL_UNIFORM_NAME_LENGTH 0x8A39
912#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
913#define GL_UNIFORM_OFFSET 0x8A3B
914#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
915#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
916#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
917#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
918#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
919#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
920#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
921#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
922#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
923#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
924#define GL_INVALID_INDEX 0xFFFFFFFFu
925#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
926#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
927#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
928#define GL_OBJECT_TYPE 0x9112
929#define GL_SYNC_CONDITION 0x9113
930#define GL_SYNC_STATUS 0x9114
931#define GL_SYNC_FLAGS 0x9115
932#define GL_SYNC_FENCE 0x9116
933#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
934#define GL_UNSIGNALED 0x9118
935#define GL_SIGNALED 0x9119
936#define GL_ALREADY_SIGNALED 0x911A
937#define GL_TIMEOUT_EXPIRED 0x911B
938#define GL_CONDITION_SATISFIED 0x911C
939#define GL_WAIT_FAILED 0x911D
940#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
941#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull
942#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
943#define GL_ANY_SAMPLES_PASSED 0x8C2F
944#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
945#define GL_SAMPLER_BINDING 0x8919
946#define GL_RGB10_A2UI 0x906F
947#define GL_TEXTURE_SWIZZLE_R 0x8E42
948#define GL_TEXTURE_SWIZZLE_G 0x8E43
949#define GL_TEXTURE_SWIZZLE_B 0x8E44
950#define GL_TEXTURE_SWIZZLE_A 0x8E45
951#define GL_GREEN 0x1904
952#define GL_BLUE 0x1905
953#define GL_INT_2_10_10_10_REV 0x8D9F
954#define GL_TRANSFORM_FEEDBACK 0x8E22
955#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
956#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
957#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
958#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
959#define GL_PROGRAM_BINARY_LENGTH 0x8741
960#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
961#define GL_PROGRAM_BINARY_FORMATS 0x87FF
962#define GL_COMPRESSED_R11_EAC 0x9270
963#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
964#define GL_COMPRESSED_RG11_EAC 0x9272
965#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
966#define GL_COMPRESSED_RGB8_ETC2 0x9274
967#define GL_COMPRESSED_SRGB8_ETC2 0x9275
968#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
969#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
970#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
971#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
972#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
973#define GL_MAX_ELEMENT_INDEX 0x8D6B
974#define GL_NUM_SAMPLE_COUNTS 0x9380
975#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
976typedef void (GL_APIENTRYP PFNGLREADBUFFERPROC) (GLenum src);
977typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
978typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
979typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
980typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
981typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
982typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
983typedef void (GL_APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
984typedef void (GL_APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
985typedef GLboolean (GL_APIENTRYP PFNGLISQUERYPROC) (GLuint id);
986typedef void (GL_APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
987typedef void (GL_APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
988typedef void (GL_APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
989typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
990typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
991typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void **params);
992typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
993typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
994typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
995typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
996typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
997typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
998typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
999typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1000typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1001typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1002typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1003typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
1004typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
1005typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
1006typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
1007typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
1008typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
1009typedef void (GL_APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
1010typedef void (GL_APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
1011typedef void (GL_APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1012typedef void (GL_APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
1013typedef void (GL_APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
1014typedef void (GL_APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
1015typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
1016typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
1017typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
1018typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
1019typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1020typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
1021typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
1022typedef void (GL_APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
1023typedef GLint (GL_APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
1024typedef void (GL_APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
1025typedef void (GL_APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
1026typedef void (GL_APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
1027typedef void (GL_APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1028typedef void (GL_APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1029typedef void (GL_APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1030typedef void (GL_APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1031typedef void (GL_APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1032typedef void (GL_APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
1033typedef void (GL_APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
1034typedef void (GL_APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
1035typedef void (GL_APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1036typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
1037typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1038typedef void (GL_APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
1039typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
1040typedef GLuint (GL_APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
1041typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
1042typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
1043typedef void (GL_APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1044typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1045typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
1046typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);
1047typedef GLboolean (GL_APIENTRYP PFNGLISSYNCPROC) (GLsync sync);
1048typedef void (GL_APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);
1049typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1050typedef void (GL_APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1051typedef void (GL_APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *data);
1052typedef void (GL_APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);
1053typedef void (GL_APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);
1054typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);
1055typedef void (GL_APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
1056typedef void (GL_APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
1057typedef GLboolean (GL_APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);
1058typedef void (GL_APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
1059typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
1060typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
1061typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
1062typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
1063typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
1064typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
1065typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
1066typedef void (GL_APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
1067typedef void (GL_APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);
1068typedef void (GL_APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
1069typedef GLboolean (GL_APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
1070typedef void (GL_APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
1071typedef void (GL_APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
1072typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
1073typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
1074typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
1075typedef void (GL_APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1076typedef void (GL_APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
1077typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1078typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1079typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params);
1080#if GL_GLES_PROTOTYPES
1081GL_APICALL void GL_APIENTRY glReadBuffer (GLenum src);
1082GL_APICALL void GL_APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
1083GL_APICALL void GL_APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
1084GL_APICALL void GL_APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
1085GL_APICALL void GL_APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1086GL_APICALL void GL_APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
1087GL_APICALL void GL_APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
1088GL_APICALL void GL_APIENTRY glGenQueries (GLsizei n, GLuint *ids);
1089GL_APICALL void GL_APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
1090GL_APICALL GLboolean GL_APIENTRY glIsQuery (GLuint id);
1091GL_APICALL void GL_APIENTRY glBeginQuery (GLenum target, GLuint id);
1092GL_APICALL void GL_APIENTRY glEndQuery (GLenum target);
1093GL_APICALL void GL_APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
1094GL_APICALL void GL_APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
1095GL_APICALL GLboolean GL_APIENTRY glUnmapBuffer (GLenum target);
1096GL_APICALL void GL_APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);
1097GL_APICALL void GL_APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
1098GL_APICALL void GL_APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1099GL_APICALL void GL_APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1100GL_APICALL void GL_APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1101GL_APICALL void GL_APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1102GL_APICALL void GL_APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1103GL_APICALL void GL_APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1104GL_APICALL void GL_APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1105GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1106GL_APICALL void GL_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1107GL_APICALL void *GL_APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1108GL_APICALL void GL_APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
1109GL_APICALL void GL_APIENTRY glBindVertexArray (GLuint array);
1110GL_APICALL void GL_APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
1111GL_APICALL void GL_APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
1112GL_APICALL GLboolean GL_APIENTRY glIsVertexArray (GLuint array);
1113GL_APICALL void GL_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
1114GL_APICALL void GL_APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
1115GL_APICALL void GL_APIENTRY glEndTransformFeedback (void);
1116GL_APICALL void GL_APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1117GL_APICALL void GL_APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
1118GL_APICALL void GL_APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
1119GL_APICALL void GL_APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
1120GL_APICALL void GL_APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
1121GL_APICALL void GL_APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
1122GL_APICALL void GL_APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
1123GL_APICALL void GL_APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
1124GL_APICALL void GL_APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1125GL_APICALL void GL_APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
1126GL_APICALL void GL_APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
1127GL_APICALL void GL_APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
1128GL_APICALL GLint GL_APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
1129GL_APICALL void GL_APIENTRY glUniform1ui (GLint location, GLuint v0);
1130GL_APICALL void GL_APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
1131GL_APICALL void GL_APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
1132GL_APICALL void GL_APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1133GL_APICALL void GL_APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
1134GL_APICALL void GL_APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
1135GL_APICALL void GL_APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
1136GL_APICALL void GL_APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
1137GL_APICALL void GL_APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
1138GL_APICALL void GL_APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
1139GL_APICALL void GL_APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
1140GL_APICALL void GL_APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1141GL_APICALL const GLubyte *GL_APIENTRY glGetStringi (GLenum name, GLuint index);
1142GL_APICALL void GL_APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1143GL_APICALL void GL_APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
1144GL_APICALL void GL_APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
1145GL_APICALL GLuint GL_APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
1146GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
1147GL_APICALL void GL_APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
1148GL_APICALL void GL_APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1149GL_APICALL void GL_APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1150GL_APICALL void GL_APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
1151GL_APICALL GLsync GL_APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
1152GL_APICALL GLboolean GL_APIENTRY glIsSync (GLsync sync);
1153GL_APICALL void GL_APIENTRY glDeleteSync (GLsync sync);
1154GL_APICALL GLenum GL_APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1155GL_APICALL void GL_APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1156GL_APICALL void GL_APIENTRY glGetInteger64v (GLenum pname, GLint64 *data);
1157GL_APICALL void GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);
1158GL_APICALL void GL_APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
1159GL_APICALL void GL_APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
1160GL_APICALL void GL_APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
1161GL_APICALL void GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
1162GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler);
1163GL_APICALL void GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler);
1164GL_APICALL void GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
1165GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
1166GL_APICALL void GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
1167GL_APICALL void GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
1168GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
1169GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
1170GL_APICALL void GL_APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
1171GL_APICALL void GL_APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
1172GL_APICALL void GL_APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
1173GL_APICALL void GL_APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
1174GL_APICALL GLboolean GL_APIENTRY glIsTransformFeedback (GLuint id);
1175GL_APICALL void GL_APIENTRY glPauseTransformFeedback (void);
1176GL_APICALL void GL_APIENTRY glResumeTransformFeedback (void);
1177GL_APICALL void GL_APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
1178GL_APICALL void GL_APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
1179GL_APICALL void GL_APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
1180GL_APICALL void GL_APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1181GL_APICALL void GL_APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
1182GL_APICALL void GL_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1183GL_APICALL void GL_APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1184GL_APICALL void GL_APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params);
1185#endif
1186#endif /* GL_ES_VERSION_3_0 */
1187
1188#ifdef __cplusplus
1189}
1190#endif
1191
1192#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl31.h b/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl31.h
new file mode 100644
index 0000000..502d6fe
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl31.h
@@ -0,0 +1,1507 @@
1#ifndef __gles2_gl31_h_
2#define __gles2_gl31_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright 2013-2020 The Khronos Group Inc.
10** SPDX-License-Identifier: MIT
11**
12** This header is generated from the Khronos OpenGL / OpenGL ES XML
13** API Registry. The current version of the Registry, generator scripts
14** used to make the header, and the header can be found at
15** https://github.com/KhronosGroup/OpenGL-Registry
16*/
17
18#include <GLES3/gl3platform.h>
19
20#ifndef GL_APIENTRYP
21#define GL_APIENTRYP GL_APIENTRY*
22#endif
23
24#ifndef GL_GLES_PROTOTYPES
25#define GL_GLES_PROTOTYPES 1
26#endif
27
28/* Generated on date 20191013 */
29
30/* Generated C header for:
31 * API: gles2
32 * Profile: common
33 * Versions considered: 2\.[0-9]|3\.[01]
34 * Versions emitted: .*
35 * Default extensions included: None
36 * Additional extensions included: _nomatch_^
37 * Extensions removed: _nomatch_^
38 */
39
40#ifndef GL_ES_VERSION_2_0
41#define GL_ES_VERSION_2_0 1
42#include <KHR/khrplatform.h>
43typedef khronos_int8_t GLbyte;
44typedef khronos_float_t GLclampf;
45typedef khronos_int32_t GLfixed;
46typedef khronos_int16_t GLshort;
47typedef khronos_uint16_t GLushort;
48typedef void GLvoid;
49typedef struct __GLsync *GLsync;
50typedef khronos_int64_t GLint64;
51typedef khronos_uint64_t GLuint64;
52typedef unsigned int GLenum;
53typedef unsigned int GLuint;
54typedef char GLchar;
55typedef khronos_float_t GLfloat;
56typedef khronos_ssize_t GLsizeiptr;
57typedef khronos_intptr_t GLintptr;
58typedef unsigned int GLbitfield;
59typedef int GLint;
60typedef unsigned char GLboolean;
61typedef int GLsizei;
62typedef khronos_uint8_t GLubyte;
63#define GL_DEPTH_BUFFER_BIT 0x00000100
64#define GL_STENCIL_BUFFER_BIT 0x00000400
65#define GL_COLOR_BUFFER_BIT 0x00004000
66#define GL_FALSE 0
67#define GL_TRUE 1
68#define GL_POINTS 0x0000
69#define GL_LINES 0x0001
70#define GL_LINE_LOOP 0x0002
71#define GL_LINE_STRIP 0x0003
72#define GL_TRIANGLES 0x0004
73#define GL_TRIANGLE_STRIP 0x0005
74#define GL_TRIANGLE_FAN 0x0006
75#define GL_ZERO 0
76#define GL_ONE 1
77#define GL_SRC_COLOR 0x0300
78#define GL_ONE_MINUS_SRC_COLOR 0x0301
79#define GL_SRC_ALPHA 0x0302
80#define GL_ONE_MINUS_SRC_ALPHA 0x0303
81#define GL_DST_ALPHA 0x0304
82#define GL_ONE_MINUS_DST_ALPHA 0x0305
83#define GL_DST_COLOR 0x0306
84#define GL_ONE_MINUS_DST_COLOR 0x0307
85#define GL_SRC_ALPHA_SATURATE 0x0308
86#define GL_FUNC_ADD 0x8006
87#define GL_BLEND_EQUATION 0x8009
88#define GL_BLEND_EQUATION_RGB 0x8009
89#define GL_BLEND_EQUATION_ALPHA 0x883D
90#define GL_FUNC_SUBTRACT 0x800A
91#define GL_FUNC_REVERSE_SUBTRACT 0x800B
92#define GL_BLEND_DST_RGB 0x80C8
93#define GL_BLEND_SRC_RGB 0x80C9
94#define GL_BLEND_DST_ALPHA 0x80CA
95#define GL_BLEND_SRC_ALPHA 0x80CB
96#define GL_CONSTANT_COLOR 0x8001
97#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
98#define GL_CONSTANT_ALPHA 0x8003
99#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
100#define GL_BLEND_COLOR 0x8005
101#define GL_ARRAY_BUFFER 0x8892
102#define GL_ELEMENT_ARRAY_BUFFER 0x8893
103#define GL_ARRAY_BUFFER_BINDING 0x8894
104#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
105#define GL_STREAM_DRAW 0x88E0
106#define GL_STATIC_DRAW 0x88E4
107#define GL_DYNAMIC_DRAW 0x88E8
108#define GL_BUFFER_SIZE 0x8764
109#define GL_BUFFER_USAGE 0x8765
110#define GL_CURRENT_VERTEX_ATTRIB 0x8626
111#define GL_FRONT 0x0404
112#define GL_BACK 0x0405
113#define GL_FRONT_AND_BACK 0x0408
114#define GL_TEXTURE_2D 0x0DE1
115#define GL_CULL_FACE 0x0B44
116#define GL_BLEND 0x0BE2
117#define GL_DITHER 0x0BD0
118#define GL_STENCIL_TEST 0x0B90
119#define GL_DEPTH_TEST 0x0B71
120#define GL_SCISSOR_TEST 0x0C11
121#define GL_POLYGON_OFFSET_FILL 0x8037
122#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
123#define GL_SAMPLE_COVERAGE 0x80A0
124#define GL_NO_ERROR 0
125#define GL_INVALID_ENUM 0x0500
126#define GL_INVALID_VALUE 0x0501
127#define GL_INVALID_OPERATION 0x0502
128#define GL_OUT_OF_MEMORY 0x0505
129#define GL_CW 0x0900
130#define GL_CCW 0x0901
131#define GL_LINE_WIDTH 0x0B21
132#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
133#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
134#define GL_CULL_FACE_MODE 0x0B45
135#define GL_FRONT_FACE 0x0B46
136#define GL_DEPTH_RANGE 0x0B70
137#define GL_DEPTH_WRITEMASK 0x0B72
138#define GL_DEPTH_CLEAR_VALUE 0x0B73
139#define GL_DEPTH_FUNC 0x0B74
140#define GL_STENCIL_CLEAR_VALUE 0x0B91
141#define GL_STENCIL_FUNC 0x0B92
142#define GL_STENCIL_FAIL 0x0B94
143#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
144#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
145#define GL_STENCIL_REF 0x0B97
146#define GL_STENCIL_VALUE_MASK 0x0B93
147#define GL_STENCIL_WRITEMASK 0x0B98
148#define GL_STENCIL_BACK_FUNC 0x8800
149#define GL_STENCIL_BACK_FAIL 0x8801
150#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
151#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
152#define GL_STENCIL_BACK_REF 0x8CA3
153#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
154#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
155#define GL_VIEWPORT 0x0BA2
156#define GL_SCISSOR_BOX 0x0C10
157#define GL_COLOR_CLEAR_VALUE 0x0C22
158#define GL_COLOR_WRITEMASK 0x0C23
159#define GL_UNPACK_ALIGNMENT 0x0CF5
160#define GL_PACK_ALIGNMENT 0x0D05
161#define GL_MAX_TEXTURE_SIZE 0x0D33
162#define GL_MAX_VIEWPORT_DIMS 0x0D3A
163#define GL_SUBPIXEL_BITS 0x0D50
164#define GL_RED_BITS 0x0D52
165#define GL_GREEN_BITS 0x0D53
166#define GL_BLUE_BITS 0x0D54
167#define GL_ALPHA_BITS 0x0D55
168#define GL_DEPTH_BITS 0x0D56
169#define GL_STENCIL_BITS 0x0D57
170#define GL_POLYGON_OFFSET_UNITS 0x2A00
171#define GL_POLYGON_OFFSET_FACTOR 0x8038
172#define GL_TEXTURE_BINDING_2D 0x8069
173#define GL_SAMPLE_BUFFERS 0x80A8
174#define GL_SAMPLES 0x80A9
175#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
176#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
177#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
178#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
179#define GL_DONT_CARE 0x1100
180#define GL_FASTEST 0x1101
181#define GL_NICEST 0x1102
182#define GL_GENERATE_MIPMAP_HINT 0x8192
183#define GL_BYTE 0x1400
184#define GL_UNSIGNED_BYTE 0x1401
185#define GL_SHORT 0x1402
186#define GL_UNSIGNED_SHORT 0x1403
187#define GL_INT 0x1404
188#define GL_UNSIGNED_INT 0x1405
189#define GL_FLOAT 0x1406
190#define GL_FIXED 0x140C
191#define GL_DEPTH_COMPONENT 0x1902
192#define GL_ALPHA 0x1906
193#define GL_RGB 0x1907
194#define GL_RGBA 0x1908
195#define GL_LUMINANCE 0x1909
196#define GL_LUMINANCE_ALPHA 0x190A
197#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
198#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
199#define GL_UNSIGNED_SHORT_5_6_5 0x8363
200#define GL_FRAGMENT_SHADER 0x8B30
201#define GL_VERTEX_SHADER 0x8B31
202#define GL_MAX_VERTEX_ATTRIBS 0x8869
203#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
204#define GL_MAX_VARYING_VECTORS 0x8DFC
205#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
206#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
207#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
208#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
209#define GL_SHADER_TYPE 0x8B4F
210#define GL_DELETE_STATUS 0x8B80
211#define GL_LINK_STATUS 0x8B82
212#define GL_VALIDATE_STATUS 0x8B83
213#define GL_ATTACHED_SHADERS 0x8B85
214#define GL_ACTIVE_UNIFORMS 0x8B86
215#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
216#define GL_ACTIVE_ATTRIBUTES 0x8B89
217#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
218#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
219#define GL_CURRENT_PROGRAM 0x8B8D
220#define GL_NEVER 0x0200
221#define GL_LESS 0x0201
222#define GL_EQUAL 0x0202
223#define GL_LEQUAL 0x0203
224#define GL_GREATER 0x0204
225#define GL_NOTEQUAL 0x0205
226#define GL_GEQUAL 0x0206
227#define GL_ALWAYS 0x0207
228#define GL_KEEP 0x1E00
229#define GL_REPLACE 0x1E01
230#define GL_INCR 0x1E02
231#define GL_DECR 0x1E03
232#define GL_INVERT 0x150A
233#define GL_INCR_WRAP 0x8507
234#define GL_DECR_WRAP 0x8508
235#define GL_VENDOR 0x1F00
236#define GL_RENDERER 0x1F01
237#define GL_VERSION 0x1F02
238#define GL_EXTENSIONS 0x1F03
239#define GL_NEAREST 0x2600
240#define GL_LINEAR 0x2601
241#define GL_NEAREST_MIPMAP_NEAREST 0x2700
242#define GL_LINEAR_MIPMAP_NEAREST 0x2701
243#define GL_NEAREST_MIPMAP_LINEAR 0x2702
244#define GL_LINEAR_MIPMAP_LINEAR 0x2703
245#define GL_TEXTURE_MAG_FILTER 0x2800
246#define GL_TEXTURE_MIN_FILTER 0x2801
247#define GL_TEXTURE_WRAP_S 0x2802
248#define GL_TEXTURE_WRAP_T 0x2803
249#define GL_TEXTURE 0x1702
250#define GL_TEXTURE_CUBE_MAP 0x8513
251#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
252#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
253#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
254#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
255#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
256#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
257#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
258#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
259#define GL_TEXTURE0 0x84C0
260#define GL_TEXTURE1 0x84C1
261#define GL_TEXTURE2 0x84C2
262#define GL_TEXTURE3 0x84C3
263#define GL_TEXTURE4 0x84C4
264#define GL_TEXTURE5 0x84C5
265#define GL_TEXTURE6 0x84C6
266#define GL_TEXTURE7 0x84C7
267#define GL_TEXTURE8 0x84C8
268#define GL_TEXTURE9 0x84C9
269#define GL_TEXTURE10 0x84CA
270#define GL_TEXTURE11 0x84CB
271#define GL_TEXTURE12 0x84CC
272#define GL_TEXTURE13 0x84CD
273#define GL_TEXTURE14 0x84CE
274#define GL_TEXTURE15 0x84CF
275#define GL_TEXTURE16 0x84D0
276#define GL_TEXTURE17 0x84D1
277#define GL_TEXTURE18 0x84D2
278#define GL_TEXTURE19 0x84D3
279#define GL_TEXTURE20 0x84D4
280#define GL_TEXTURE21 0x84D5
281#define GL_TEXTURE22 0x84D6
282#define GL_TEXTURE23 0x84D7
283#define GL_TEXTURE24 0x84D8
284#define GL_TEXTURE25 0x84D9
285#define GL_TEXTURE26 0x84DA
286#define GL_TEXTURE27 0x84DB
287#define GL_TEXTURE28 0x84DC
288#define GL_TEXTURE29 0x84DD
289#define GL_TEXTURE30 0x84DE
290#define GL_TEXTURE31 0x84DF
291#define GL_ACTIVE_TEXTURE 0x84E0
292#define GL_REPEAT 0x2901
293#define GL_CLAMP_TO_EDGE 0x812F
294#define GL_MIRRORED_REPEAT 0x8370
295#define GL_FLOAT_VEC2 0x8B50
296#define GL_FLOAT_VEC3 0x8B51
297#define GL_FLOAT_VEC4 0x8B52
298#define GL_INT_VEC2 0x8B53
299#define GL_INT_VEC3 0x8B54
300#define GL_INT_VEC4 0x8B55
301#define GL_BOOL 0x8B56
302#define GL_BOOL_VEC2 0x8B57
303#define GL_BOOL_VEC3 0x8B58
304#define GL_BOOL_VEC4 0x8B59
305#define GL_FLOAT_MAT2 0x8B5A
306#define GL_FLOAT_MAT3 0x8B5B
307#define GL_FLOAT_MAT4 0x8B5C
308#define GL_SAMPLER_2D 0x8B5E
309#define GL_SAMPLER_CUBE 0x8B60
310#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
311#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
312#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
313#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
314#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
315#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
316#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
317#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
318#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
319#define GL_COMPILE_STATUS 0x8B81
320#define GL_INFO_LOG_LENGTH 0x8B84
321#define GL_SHADER_SOURCE_LENGTH 0x8B88
322#define GL_SHADER_COMPILER 0x8DFA
323#define GL_SHADER_BINARY_FORMATS 0x8DF8
324#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
325#define GL_LOW_FLOAT 0x8DF0
326#define GL_MEDIUM_FLOAT 0x8DF1
327#define GL_HIGH_FLOAT 0x8DF2
328#define GL_LOW_INT 0x8DF3
329#define GL_MEDIUM_INT 0x8DF4
330#define GL_HIGH_INT 0x8DF5
331#define GL_FRAMEBUFFER 0x8D40
332#define GL_RENDERBUFFER 0x8D41
333#define GL_RGBA4 0x8056
334#define GL_RGB5_A1 0x8057
335#define GL_RGB565 0x8D62
336#define GL_DEPTH_COMPONENT16 0x81A5
337#define GL_STENCIL_INDEX8 0x8D48
338#define GL_RENDERBUFFER_WIDTH 0x8D42
339#define GL_RENDERBUFFER_HEIGHT 0x8D43
340#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
341#define GL_RENDERBUFFER_RED_SIZE 0x8D50
342#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
343#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
344#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
345#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
346#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
347#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
348#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
349#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
350#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
351#define GL_COLOR_ATTACHMENT0 0x8CE0
352#define GL_DEPTH_ATTACHMENT 0x8D00
353#define GL_STENCIL_ATTACHMENT 0x8D20
354#define GL_NONE 0
355#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
356#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
357#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
358#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
359#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
360#define GL_FRAMEBUFFER_BINDING 0x8CA6
361#define GL_RENDERBUFFER_BINDING 0x8CA7
362#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
363#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
364typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
365typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
366typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
367typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
368typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
369typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
370typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
371typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
372typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
373typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
374typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
375typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
376typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
377typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
378typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
379typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
380typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
381typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
382typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
383typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
384typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
385typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
386typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
387typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
388typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
389typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
390typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
391typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
392typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
393typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
394typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
395typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
396typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
397typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
398typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
399typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
400typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
401typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
402typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
403typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
404typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
405typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
406typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
407typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
408typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
409typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
410typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
411typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
412typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
413typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
414typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
415typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
416typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
417typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
418typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
419typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
420typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
421typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
422typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
423typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
424typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
425typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
426typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
427typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
428typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
429typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
430typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
431typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
432typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
433typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
434typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
435typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
436typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
437typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
438typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
439typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
440typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
441typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
442typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
443typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
444typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
445typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
446typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
447typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
448typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
449typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
450typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
451typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
452typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
453typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
454typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
455typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
456typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
457typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
458typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
459typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
460typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
461typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
462typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
463typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
464typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
465typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
466typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
467typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
468typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
469typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
470typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
471typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
472typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
473typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
474typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
475typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
476typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
477typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
478typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
479typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
480typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
481typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
482typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
483typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
484typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
485typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
486typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
487typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
488typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
489typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
490typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
491typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
492typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
493typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
494typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
495typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
496typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
497typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
498typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
499typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
500typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
501typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
502typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
503typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
504typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
505typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
506#if GL_GLES_PROTOTYPES
507GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
508GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
509GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
510GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
511GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
512GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
513GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
514GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
515GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
516GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
517GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
518GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
519GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
520GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
521GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
522GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
523GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
524GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
525GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
526GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
527GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
528GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
529GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
530GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
531GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
532GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
533GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
534GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
535GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
536GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
537GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
538GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
539GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
540GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
541GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
542GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
543GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
544GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
545GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
546GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
547GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
548GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
549GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
550GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
551GL_APICALL void GL_APIENTRY glFinish (void);
552GL_APICALL void GL_APIENTRY glFlush (void);
553GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
554GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
555GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
556GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
557GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
558GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
559GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
560GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
561GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
562GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
563GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
564GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
565GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
566GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
567GL_APICALL GLenum GL_APIENTRY glGetError (void);
568GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
569GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
570GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
571GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
572GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
573GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
574GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
575GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
576GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
577GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
578GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
579GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
580GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
581GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
582GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
583GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
584GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
585GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
586GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
587GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
588GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
589GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
590GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
591GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
592GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
593GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
594GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
595GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
596GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
597GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
598GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
599GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
600GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
601GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
602GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
603GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
604GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
605GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
606GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
607GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
608GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
609GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
610GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
611GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
612GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
613GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
614GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
615GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
616GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
617GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
618GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
619GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
620GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
621GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
622GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
623GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
624GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
625GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
626GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
627GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
628GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
629GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
630GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
631GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
632GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
633GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
634GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
635GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
636GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
637GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
638GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
639GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
640GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
641GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
642GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
643GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
644GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
645GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
646GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
647GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
648GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
649#endif
650#endif /* GL_ES_VERSION_2_0 */
651
652#ifndef GL_ES_VERSION_3_0
653#define GL_ES_VERSION_3_0 1
654typedef khronos_uint16_t GLhalf;
655#define GL_READ_BUFFER 0x0C02
656#define GL_UNPACK_ROW_LENGTH 0x0CF2
657#define GL_UNPACK_SKIP_ROWS 0x0CF3
658#define GL_UNPACK_SKIP_PIXELS 0x0CF4
659#define GL_PACK_ROW_LENGTH 0x0D02
660#define GL_PACK_SKIP_ROWS 0x0D03
661#define GL_PACK_SKIP_PIXELS 0x0D04
662#define GL_COLOR 0x1800
663#define GL_DEPTH 0x1801
664#define GL_STENCIL 0x1802
665#define GL_RED 0x1903
666#define GL_RGB8 0x8051
667#define GL_RGBA8 0x8058
668#define GL_RGB10_A2 0x8059
669#define GL_TEXTURE_BINDING_3D 0x806A
670#define GL_UNPACK_SKIP_IMAGES 0x806D
671#define GL_UNPACK_IMAGE_HEIGHT 0x806E
672#define GL_TEXTURE_3D 0x806F
673#define GL_TEXTURE_WRAP_R 0x8072
674#define GL_MAX_3D_TEXTURE_SIZE 0x8073
675#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
676#define GL_MAX_ELEMENTS_VERTICES 0x80E8
677#define GL_MAX_ELEMENTS_INDICES 0x80E9
678#define GL_TEXTURE_MIN_LOD 0x813A
679#define GL_TEXTURE_MAX_LOD 0x813B
680#define GL_TEXTURE_BASE_LEVEL 0x813C
681#define GL_TEXTURE_MAX_LEVEL 0x813D
682#define GL_MIN 0x8007
683#define GL_MAX 0x8008
684#define GL_DEPTH_COMPONENT24 0x81A6
685#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
686#define GL_TEXTURE_COMPARE_MODE 0x884C
687#define GL_TEXTURE_COMPARE_FUNC 0x884D
688#define GL_CURRENT_QUERY 0x8865
689#define GL_QUERY_RESULT 0x8866
690#define GL_QUERY_RESULT_AVAILABLE 0x8867
691#define GL_BUFFER_MAPPED 0x88BC
692#define GL_BUFFER_MAP_POINTER 0x88BD
693#define GL_STREAM_READ 0x88E1
694#define GL_STREAM_COPY 0x88E2
695#define GL_STATIC_READ 0x88E5
696#define GL_STATIC_COPY 0x88E6
697#define GL_DYNAMIC_READ 0x88E9
698#define GL_DYNAMIC_COPY 0x88EA
699#define GL_MAX_DRAW_BUFFERS 0x8824
700#define GL_DRAW_BUFFER0 0x8825
701#define GL_DRAW_BUFFER1 0x8826
702#define GL_DRAW_BUFFER2 0x8827
703#define GL_DRAW_BUFFER3 0x8828
704#define GL_DRAW_BUFFER4 0x8829
705#define GL_DRAW_BUFFER5 0x882A
706#define GL_DRAW_BUFFER6 0x882B
707#define GL_DRAW_BUFFER7 0x882C
708#define GL_DRAW_BUFFER8 0x882D
709#define GL_DRAW_BUFFER9 0x882E
710#define GL_DRAW_BUFFER10 0x882F
711#define GL_DRAW_BUFFER11 0x8830
712#define GL_DRAW_BUFFER12 0x8831
713#define GL_DRAW_BUFFER13 0x8832
714#define GL_DRAW_BUFFER14 0x8833
715#define GL_DRAW_BUFFER15 0x8834
716#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
717#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
718#define GL_SAMPLER_3D 0x8B5F
719#define GL_SAMPLER_2D_SHADOW 0x8B62
720#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
721#define GL_PIXEL_PACK_BUFFER 0x88EB
722#define GL_PIXEL_UNPACK_BUFFER 0x88EC
723#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
724#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
725#define GL_FLOAT_MAT2x3 0x8B65
726#define GL_FLOAT_MAT2x4 0x8B66
727#define GL_FLOAT_MAT3x2 0x8B67
728#define GL_FLOAT_MAT3x4 0x8B68
729#define GL_FLOAT_MAT4x2 0x8B69
730#define GL_FLOAT_MAT4x3 0x8B6A
731#define GL_SRGB 0x8C40
732#define GL_SRGB8 0x8C41
733#define GL_SRGB8_ALPHA8 0x8C43
734#define GL_COMPARE_REF_TO_TEXTURE 0x884E
735#define GL_MAJOR_VERSION 0x821B
736#define GL_MINOR_VERSION 0x821C
737#define GL_NUM_EXTENSIONS 0x821D
738#define GL_RGBA32F 0x8814
739#define GL_RGB32F 0x8815
740#define GL_RGBA16F 0x881A
741#define GL_RGB16F 0x881B
742#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
743#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
744#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
745#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
746#define GL_MAX_VARYING_COMPONENTS 0x8B4B
747#define GL_TEXTURE_2D_ARRAY 0x8C1A
748#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
749#define GL_R11F_G11F_B10F 0x8C3A
750#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
751#define GL_RGB9_E5 0x8C3D
752#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
753#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
754#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
755#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
756#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
757#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
758#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
759#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
760#define GL_RASTERIZER_DISCARD 0x8C89
761#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
762#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
763#define GL_INTERLEAVED_ATTRIBS 0x8C8C
764#define GL_SEPARATE_ATTRIBS 0x8C8D
765#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
766#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
767#define GL_RGBA32UI 0x8D70
768#define GL_RGB32UI 0x8D71
769#define GL_RGBA16UI 0x8D76
770#define GL_RGB16UI 0x8D77
771#define GL_RGBA8UI 0x8D7C
772#define GL_RGB8UI 0x8D7D
773#define GL_RGBA32I 0x8D82
774#define GL_RGB32I 0x8D83
775#define GL_RGBA16I 0x8D88
776#define GL_RGB16I 0x8D89
777#define GL_RGBA8I 0x8D8E
778#define GL_RGB8I 0x8D8F
779#define GL_RED_INTEGER 0x8D94
780#define GL_RGB_INTEGER 0x8D98
781#define GL_RGBA_INTEGER 0x8D99
782#define GL_SAMPLER_2D_ARRAY 0x8DC1
783#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
784#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
785#define GL_UNSIGNED_INT_VEC2 0x8DC6
786#define GL_UNSIGNED_INT_VEC3 0x8DC7
787#define GL_UNSIGNED_INT_VEC4 0x8DC8
788#define GL_INT_SAMPLER_2D 0x8DCA
789#define GL_INT_SAMPLER_3D 0x8DCB
790#define GL_INT_SAMPLER_CUBE 0x8DCC
791#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
792#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
793#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
794#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
795#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
796#define GL_BUFFER_ACCESS_FLAGS 0x911F
797#define GL_BUFFER_MAP_LENGTH 0x9120
798#define GL_BUFFER_MAP_OFFSET 0x9121
799#define GL_DEPTH_COMPONENT32F 0x8CAC
800#define GL_DEPTH32F_STENCIL8 0x8CAD
801#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
802#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
803#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
804#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
805#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
806#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
807#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
808#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
809#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
810#define GL_FRAMEBUFFER_DEFAULT 0x8218
811#define GL_FRAMEBUFFER_UNDEFINED 0x8219
812#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
813#define GL_DEPTH_STENCIL 0x84F9
814#define GL_UNSIGNED_INT_24_8 0x84FA
815#define GL_DEPTH24_STENCIL8 0x88F0
816#define GL_UNSIGNED_NORMALIZED 0x8C17
817#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
818#define GL_READ_FRAMEBUFFER 0x8CA8
819#define GL_DRAW_FRAMEBUFFER 0x8CA9
820#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
821#define GL_RENDERBUFFER_SAMPLES 0x8CAB
822#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
823#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
824#define GL_COLOR_ATTACHMENT1 0x8CE1
825#define GL_COLOR_ATTACHMENT2 0x8CE2
826#define GL_COLOR_ATTACHMENT3 0x8CE3
827#define GL_COLOR_ATTACHMENT4 0x8CE4
828#define GL_COLOR_ATTACHMENT5 0x8CE5
829#define GL_COLOR_ATTACHMENT6 0x8CE6
830#define GL_COLOR_ATTACHMENT7 0x8CE7
831#define GL_COLOR_ATTACHMENT8 0x8CE8
832#define GL_COLOR_ATTACHMENT9 0x8CE9
833#define GL_COLOR_ATTACHMENT10 0x8CEA
834#define GL_COLOR_ATTACHMENT11 0x8CEB
835#define GL_COLOR_ATTACHMENT12 0x8CEC
836#define GL_COLOR_ATTACHMENT13 0x8CED
837#define GL_COLOR_ATTACHMENT14 0x8CEE
838#define GL_COLOR_ATTACHMENT15 0x8CEF
839#define GL_COLOR_ATTACHMENT16 0x8CF0
840#define GL_COLOR_ATTACHMENT17 0x8CF1
841#define GL_COLOR_ATTACHMENT18 0x8CF2
842#define GL_COLOR_ATTACHMENT19 0x8CF3
843#define GL_COLOR_ATTACHMENT20 0x8CF4
844#define GL_COLOR_ATTACHMENT21 0x8CF5
845#define GL_COLOR_ATTACHMENT22 0x8CF6
846#define GL_COLOR_ATTACHMENT23 0x8CF7
847#define GL_COLOR_ATTACHMENT24 0x8CF8
848#define GL_COLOR_ATTACHMENT25 0x8CF9
849#define GL_COLOR_ATTACHMENT26 0x8CFA
850#define GL_COLOR_ATTACHMENT27 0x8CFB
851#define GL_COLOR_ATTACHMENT28 0x8CFC
852#define GL_COLOR_ATTACHMENT29 0x8CFD
853#define GL_COLOR_ATTACHMENT30 0x8CFE
854#define GL_COLOR_ATTACHMENT31 0x8CFF
855#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
856#define GL_MAX_SAMPLES 0x8D57
857#define GL_HALF_FLOAT 0x140B
858#define GL_MAP_READ_BIT 0x0001
859#define GL_MAP_WRITE_BIT 0x0002
860#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
861#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
862#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
863#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
864#define GL_RG 0x8227
865#define GL_RG_INTEGER 0x8228
866#define GL_R8 0x8229
867#define GL_RG8 0x822B
868#define GL_R16F 0x822D
869#define GL_R32F 0x822E
870#define GL_RG16F 0x822F
871#define GL_RG32F 0x8230
872#define GL_R8I 0x8231
873#define GL_R8UI 0x8232
874#define GL_R16I 0x8233
875#define GL_R16UI 0x8234
876#define GL_R32I 0x8235
877#define GL_R32UI 0x8236
878#define GL_RG8I 0x8237
879#define GL_RG8UI 0x8238
880#define GL_RG16I 0x8239
881#define GL_RG16UI 0x823A
882#define GL_RG32I 0x823B
883#define GL_RG32UI 0x823C
884#define GL_VERTEX_ARRAY_BINDING 0x85B5
885#define GL_R8_SNORM 0x8F94
886#define GL_RG8_SNORM 0x8F95
887#define GL_RGB8_SNORM 0x8F96
888#define GL_RGBA8_SNORM 0x8F97
889#define GL_SIGNED_NORMALIZED 0x8F9C
890#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
891#define GL_COPY_READ_BUFFER 0x8F36
892#define GL_COPY_WRITE_BUFFER 0x8F37
893#define GL_COPY_READ_BUFFER_BINDING 0x8F36
894#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
895#define GL_UNIFORM_BUFFER 0x8A11
896#define GL_UNIFORM_BUFFER_BINDING 0x8A28
897#define GL_UNIFORM_BUFFER_START 0x8A29
898#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
899#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
900#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
901#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
902#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
903#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
904#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
905#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
906#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
907#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
908#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
909#define GL_UNIFORM_TYPE 0x8A37
910#define GL_UNIFORM_SIZE 0x8A38
911#define GL_UNIFORM_NAME_LENGTH 0x8A39
912#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
913#define GL_UNIFORM_OFFSET 0x8A3B
914#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
915#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
916#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
917#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
918#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
919#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
920#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
921#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
922#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
923#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
924#define GL_INVALID_INDEX 0xFFFFFFFFu
925#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
926#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
927#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
928#define GL_OBJECT_TYPE 0x9112
929#define GL_SYNC_CONDITION 0x9113
930#define GL_SYNC_STATUS 0x9114
931#define GL_SYNC_FLAGS 0x9115
932#define GL_SYNC_FENCE 0x9116
933#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
934#define GL_UNSIGNALED 0x9118
935#define GL_SIGNALED 0x9119
936#define GL_ALREADY_SIGNALED 0x911A
937#define GL_TIMEOUT_EXPIRED 0x911B
938#define GL_CONDITION_SATISFIED 0x911C
939#define GL_WAIT_FAILED 0x911D
940#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
941#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull
942#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
943#define GL_ANY_SAMPLES_PASSED 0x8C2F
944#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
945#define GL_SAMPLER_BINDING 0x8919
946#define GL_RGB10_A2UI 0x906F
947#define GL_TEXTURE_SWIZZLE_R 0x8E42
948#define GL_TEXTURE_SWIZZLE_G 0x8E43
949#define GL_TEXTURE_SWIZZLE_B 0x8E44
950#define GL_TEXTURE_SWIZZLE_A 0x8E45
951#define GL_GREEN 0x1904
952#define GL_BLUE 0x1905
953#define GL_INT_2_10_10_10_REV 0x8D9F
954#define GL_TRANSFORM_FEEDBACK 0x8E22
955#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
956#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
957#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
958#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
959#define GL_PROGRAM_BINARY_LENGTH 0x8741
960#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
961#define GL_PROGRAM_BINARY_FORMATS 0x87FF
962#define GL_COMPRESSED_R11_EAC 0x9270
963#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
964#define GL_COMPRESSED_RG11_EAC 0x9272
965#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
966#define GL_COMPRESSED_RGB8_ETC2 0x9274
967#define GL_COMPRESSED_SRGB8_ETC2 0x9275
968#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
969#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
970#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
971#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
972#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
973#define GL_MAX_ELEMENT_INDEX 0x8D6B
974#define GL_NUM_SAMPLE_COUNTS 0x9380
975#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
976typedef void (GL_APIENTRYP PFNGLREADBUFFERPROC) (GLenum src);
977typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
978typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
979typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
980typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
981typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
982typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
983typedef void (GL_APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
984typedef void (GL_APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
985typedef GLboolean (GL_APIENTRYP PFNGLISQUERYPROC) (GLuint id);
986typedef void (GL_APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
987typedef void (GL_APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
988typedef void (GL_APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
989typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
990typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
991typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void **params);
992typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
993typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
994typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
995typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
996typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
997typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
998typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
999typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1000typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1001typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1002typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1003typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
1004typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
1005typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
1006typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
1007typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
1008typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
1009typedef void (GL_APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
1010typedef void (GL_APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
1011typedef void (GL_APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1012typedef void (GL_APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
1013typedef void (GL_APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
1014typedef void (GL_APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
1015typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
1016typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
1017typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
1018typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
1019typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1020typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
1021typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
1022typedef void (GL_APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
1023typedef GLint (GL_APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
1024typedef void (GL_APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
1025typedef void (GL_APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
1026typedef void (GL_APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
1027typedef void (GL_APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1028typedef void (GL_APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1029typedef void (GL_APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1030typedef void (GL_APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1031typedef void (GL_APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1032typedef void (GL_APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
1033typedef void (GL_APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
1034typedef void (GL_APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
1035typedef void (GL_APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1036typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
1037typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1038typedef void (GL_APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
1039typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
1040typedef GLuint (GL_APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
1041typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
1042typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
1043typedef void (GL_APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1044typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1045typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
1046typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);
1047typedef GLboolean (GL_APIENTRYP PFNGLISSYNCPROC) (GLsync sync);
1048typedef void (GL_APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);
1049typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1050typedef void (GL_APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1051typedef void (GL_APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *data);
1052typedef void (GL_APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
1053typedef void (GL_APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);
1054typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);
1055typedef void (GL_APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
1056typedef void (GL_APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
1057typedef GLboolean (GL_APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);
1058typedef void (GL_APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
1059typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
1060typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
1061typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
1062typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
1063typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
1064typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
1065typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
1066typedef void (GL_APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
1067typedef void (GL_APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);
1068typedef void (GL_APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
1069typedef GLboolean (GL_APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
1070typedef void (GL_APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
1071typedef void (GL_APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
1072typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
1073typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
1074typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
1075typedef void (GL_APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1076typedef void (GL_APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
1077typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1078typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1079typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
1080#if GL_GLES_PROTOTYPES
1081GL_APICALL void GL_APIENTRY glReadBuffer (GLenum src);
1082GL_APICALL void GL_APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
1083GL_APICALL void GL_APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
1084GL_APICALL void GL_APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
1085GL_APICALL void GL_APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1086GL_APICALL void GL_APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
1087GL_APICALL void GL_APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
1088GL_APICALL void GL_APIENTRY glGenQueries (GLsizei n, GLuint *ids);
1089GL_APICALL void GL_APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
1090GL_APICALL GLboolean GL_APIENTRY glIsQuery (GLuint id);
1091GL_APICALL void GL_APIENTRY glBeginQuery (GLenum target, GLuint id);
1092GL_APICALL void GL_APIENTRY glEndQuery (GLenum target);
1093GL_APICALL void GL_APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
1094GL_APICALL void GL_APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
1095GL_APICALL GLboolean GL_APIENTRY glUnmapBuffer (GLenum target);
1096GL_APICALL void GL_APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);
1097GL_APICALL void GL_APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
1098GL_APICALL void GL_APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1099GL_APICALL void GL_APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1100GL_APICALL void GL_APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1101GL_APICALL void GL_APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1102GL_APICALL void GL_APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1103GL_APICALL void GL_APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1104GL_APICALL void GL_APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1105GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1106GL_APICALL void GL_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1107GL_APICALL void *GL_APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1108GL_APICALL void GL_APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
1109GL_APICALL void GL_APIENTRY glBindVertexArray (GLuint array);
1110GL_APICALL void GL_APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
1111GL_APICALL void GL_APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
1112GL_APICALL GLboolean GL_APIENTRY glIsVertexArray (GLuint array);
1113GL_APICALL void GL_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
1114GL_APICALL void GL_APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
1115GL_APICALL void GL_APIENTRY glEndTransformFeedback (void);
1116GL_APICALL void GL_APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1117GL_APICALL void GL_APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
1118GL_APICALL void GL_APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
1119GL_APICALL void GL_APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
1120GL_APICALL void GL_APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
1121GL_APICALL void GL_APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
1122GL_APICALL void GL_APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
1123GL_APICALL void GL_APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
1124GL_APICALL void GL_APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1125GL_APICALL void GL_APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
1126GL_APICALL void GL_APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
1127GL_APICALL void GL_APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
1128GL_APICALL GLint GL_APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
1129GL_APICALL void GL_APIENTRY glUniform1ui (GLint location, GLuint v0);
1130GL_APICALL void GL_APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
1131GL_APICALL void GL_APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
1132GL_APICALL void GL_APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1133GL_APICALL void GL_APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
1134GL_APICALL void GL_APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
1135GL_APICALL void GL_APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
1136GL_APICALL void GL_APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
1137GL_APICALL void GL_APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
1138GL_APICALL void GL_APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
1139GL_APICALL void GL_APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
1140GL_APICALL void GL_APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1141GL_APICALL const GLubyte *GL_APIENTRY glGetStringi (GLenum name, GLuint index);
1142GL_APICALL void GL_APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1143GL_APICALL void GL_APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
1144GL_APICALL void GL_APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
1145GL_APICALL GLuint GL_APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
1146GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
1147GL_APICALL void GL_APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
1148GL_APICALL void GL_APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1149GL_APICALL void GL_APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1150GL_APICALL void GL_APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
1151GL_APICALL GLsync GL_APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
1152GL_APICALL GLboolean GL_APIENTRY glIsSync (GLsync sync);
1153GL_APICALL void GL_APIENTRY glDeleteSync (GLsync sync);
1154GL_APICALL GLenum GL_APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1155GL_APICALL void GL_APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1156GL_APICALL void GL_APIENTRY glGetInteger64v (GLenum pname, GLint64 *data);
1157GL_APICALL void GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
1158GL_APICALL void GL_APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
1159GL_APICALL void GL_APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
1160GL_APICALL void GL_APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
1161GL_APICALL void GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
1162GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler);
1163GL_APICALL void GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler);
1164GL_APICALL void GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
1165GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
1166GL_APICALL void GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
1167GL_APICALL void GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
1168GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
1169GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
1170GL_APICALL void GL_APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
1171GL_APICALL void GL_APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
1172GL_APICALL void GL_APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
1173GL_APICALL void GL_APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
1174GL_APICALL GLboolean GL_APIENTRY glIsTransformFeedback (GLuint id);
1175GL_APICALL void GL_APIENTRY glPauseTransformFeedback (void);
1176GL_APICALL void GL_APIENTRY glResumeTransformFeedback (void);
1177GL_APICALL void GL_APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
1178GL_APICALL void GL_APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
1179GL_APICALL void GL_APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
1180GL_APICALL void GL_APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1181GL_APICALL void GL_APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
1182GL_APICALL void GL_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1183GL_APICALL void GL_APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1184GL_APICALL void GL_APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
1185#endif
1186#endif /* GL_ES_VERSION_3_0 */
1187
1188#ifndef GL_ES_VERSION_3_1
1189#define GL_ES_VERSION_3_1 1
1190#define GL_COMPUTE_SHADER 0x91B9
1191#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB
1192#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
1193#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
1194#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
1195#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263
1196#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
1197#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265
1198#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266
1199#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB
1200#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE
1201#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF
1202#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267
1203#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
1204#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
1205#define GL_COMPUTE_SHADER_BIT 0x00000020
1206#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
1207#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
1208#define GL_MAX_UNIFORM_LOCATIONS 0x826E
1209#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310
1210#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311
1211#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313
1212#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314
1213#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315
1214#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316
1215#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318
1216#define GL_UNIFORM 0x92E1
1217#define GL_UNIFORM_BLOCK 0x92E2
1218#define GL_PROGRAM_INPUT 0x92E3
1219#define GL_PROGRAM_OUTPUT 0x92E4
1220#define GL_BUFFER_VARIABLE 0x92E5
1221#define GL_SHADER_STORAGE_BLOCK 0x92E6
1222#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
1223#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4
1224#define GL_ACTIVE_RESOURCES 0x92F5
1225#define GL_MAX_NAME_LENGTH 0x92F6
1226#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7
1227#define GL_NAME_LENGTH 0x92F9
1228#define GL_TYPE 0x92FA
1229#define GL_ARRAY_SIZE 0x92FB
1230#define GL_OFFSET 0x92FC
1231#define GL_BLOCK_INDEX 0x92FD
1232#define GL_ARRAY_STRIDE 0x92FE
1233#define GL_MATRIX_STRIDE 0x92FF
1234#define GL_IS_ROW_MAJOR 0x9300
1235#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301
1236#define GL_BUFFER_BINDING 0x9302
1237#define GL_BUFFER_DATA_SIZE 0x9303
1238#define GL_NUM_ACTIVE_VARIABLES 0x9304
1239#define GL_ACTIVE_VARIABLES 0x9305
1240#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306
1241#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A
1242#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B
1243#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C
1244#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D
1245#define GL_LOCATION 0x930E
1246#define GL_VERTEX_SHADER_BIT 0x00000001
1247#define GL_FRAGMENT_SHADER_BIT 0x00000002
1248#define GL_ALL_SHADER_BITS 0xFFFFFFFF
1249#define GL_PROGRAM_SEPARABLE 0x8258
1250#define GL_ACTIVE_PROGRAM 0x8259
1251#define GL_PROGRAM_PIPELINE_BINDING 0x825A
1252#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
1253#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
1254#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
1255#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
1256#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
1257#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
1258#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
1259#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
1260#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
1261#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
1262#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
1263#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
1264#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
1265#define GL_MAX_IMAGE_UNITS 0x8F38
1266#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
1267#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
1268#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
1269#define GL_IMAGE_BINDING_NAME 0x8F3A
1270#define GL_IMAGE_BINDING_LEVEL 0x8F3B
1271#define GL_IMAGE_BINDING_LAYERED 0x8F3C
1272#define GL_IMAGE_BINDING_LAYER 0x8F3D
1273#define GL_IMAGE_BINDING_ACCESS 0x8F3E
1274#define GL_IMAGE_BINDING_FORMAT 0x906E
1275#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
1276#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
1277#define GL_UNIFORM_BARRIER_BIT 0x00000004
1278#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
1279#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
1280#define GL_COMMAND_BARRIER_BIT 0x00000040
1281#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
1282#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
1283#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
1284#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
1285#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
1286#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
1287#define GL_ALL_BARRIER_BITS 0xFFFFFFFF
1288#define GL_IMAGE_2D 0x904D
1289#define GL_IMAGE_3D 0x904E
1290#define GL_IMAGE_CUBE 0x9050
1291#define GL_IMAGE_2D_ARRAY 0x9053
1292#define GL_INT_IMAGE_2D 0x9058
1293#define GL_INT_IMAGE_3D 0x9059
1294#define GL_INT_IMAGE_CUBE 0x905B
1295#define GL_INT_IMAGE_2D_ARRAY 0x905E
1296#define GL_UNSIGNED_INT_IMAGE_2D 0x9063
1297#define GL_UNSIGNED_INT_IMAGE_3D 0x9064
1298#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
1299#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
1300#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
1301#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
1302#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
1303#define GL_READ_ONLY 0x88B8
1304#define GL_WRITE_ONLY 0x88B9
1305#define GL_READ_WRITE 0x88BA
1306#define GL_SHADER_STORAGE_BUFFER 0x90D2
1307#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
1308#define GL_SHADER_STORAGE_BUFFER_START 0x90D4
1309#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
1310#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
1311#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
1312#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
1313#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
1314#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
1315#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
1316#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
1317#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000
1318#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39
1319#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA
1320#define GL_STENCIL_INDEX 0x1901
1321#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
1322#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
1323#define GL_SAMPLE_POSITION 0x8E50
1324#define GL_SAMPLE_MASK 0x8E51
1325#define GL_SAMPLE_MASK_VALUE 0x8E52
1326#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
1327#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
1328#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
1329#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
1330#define GL_MAX_INTEGER_SAMPLES 0x9110
1331#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
1332#define GL_TEXTURE_SAMPLES 0x9106
1333#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
1334#define GL_TEXTURE_WIDTH 0x1000
1335#define GL_TEXTURE_HEIGHT 0x1001
1336#define GL_TEXTURE_DEPTH 0x8071
1337#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
1338#define GL_TEXTURE_RED_SIZE 0x805C
1339#define GL_TEXTURE_GREEN_SIZE 0x805D
1340#define GL_TEXTURE_BLUE_SIZE 0x805E
1341#define GL_TEXTURE_ALPHA_SIZE 0x805F
1342#define GL_TEXTURE_DEPTH_SIZE 0x884A
1343#define GL_TEXTURE_STENCIL_SIZE 0x88F1
1344#define GL_TEXTURE_SHARED_SIZE 0x8C3F
1345#define GL_TEXTURE_RED_TYPE 0x8C10
1346#define GL_TEXTURE_GREEN_TYPE 0x8C11
1347#define GL_TEXTURE_BLUE_TYPE 0x8C12
1348#define GL_TEXTURE_ALPHA_TYPE 0x8C13
1349#define GL_TEXTURE_DEPTH_TYPE 0x8C16
1350#define GL_TEXTURE_COMPRESSED 0x86A1
1351#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
1352#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
1353#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
1354#define GL_VERTEX_ATTRIB_BINDING 0x82D4
1355#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5
1356#define GL_VERTEX_BINDING_DIVISOR 0x82D6
1357#define GL_VERTEX_BINDING_OFFSET 0x82D7
1358#define GL_VERTEX_BINDING_STRIDE 0x82D8
1359#define GL_VERTEX_BINDING_BUFFER 0x8F4F
1360#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
1361#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
1362#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5
1363typedef void (GL_APIENTRYP PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
1364typedef void (GL_APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect);
1365typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect);
1366typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect);
1367typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
1368typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
1369typedef void (GL_APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint *params);
1370typedef GLuint (GL_APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name);
1371typedef void (GL_APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
1372typedef void (GL_APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
1373typedef GLint (GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar *name);
1374typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
1375typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);
1376typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar *const*strings);
1377typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);
1378typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines);
1379typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);
1380typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);
1381typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params);
1382typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0);
1383typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1);
1384typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1385typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1386typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0);
1387typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
1388typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1389typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1390typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0);
1391typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1392typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1393typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1394typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1395typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1396typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1397typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1398typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1399typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1400typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1401typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1402typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1403typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1404typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1405typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1406typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1407typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1408typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1409typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1410typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1411typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1412typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1413typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1414typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1415typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline);
1416typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1417typedef void (GL_APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
1418typedef void (GL_APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
1419typedef void (GL_APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers);
1420typedef void (GL_APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC) (GLbitfield barriers);
1421typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
1422typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);
1423typedef void (GL_APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint maskNumber, GLbitfield mask);
1424typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params);
1425typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC) (GLenum target, GLint level, GLenum pname, GLfloat *params);
1426typedef void (GL_APIENTRYP PFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
1427typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
1428typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
1429typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex);
1430typedef void (GL_APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor);
1431#if GL_GLES_PROTOTYPES
1432GL_APICALL void GL_APIENTRY glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
1433GL_APICALL void GL_APIENTRY glDispatchComputeIndirect (GLintptr indirect);
1434GL_APICALL void GL_APIENTRY glDrawArraysIndirect (GLenum mode, const void *indirect);
1435GL_APICALL void GL_APIENTRY glDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect);
1436GL_APICALL void GL_APIENTRY glFramebufferParameteri (GLenum target, GLenum pname, GLint param);
1437GL_APICALL void GL_APIENTRY glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint *params);
1438GL_APICALL void GL_APIENTRY glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint *params);
1439GL_APICALL GLuint GL_APIENTRY glGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar *name);
1440GL_APICALL void GL_APIENTRY glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
1441GL_APICALL void GL_APIENTRY glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
1442GL_APICALL GLint GL_APIENTRY glGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar *name);
1443GL_APICALL void GL_APIENTRY glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program);
1444GL_APICALL void GL_APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program);
1445GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar *const*strings);
1446GL_APICALL void GL_APIENTRY glBindProgramPipeline (GLuint pipeline);
1447GL_APICALL void GL_APIENTRY glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines);
1448GL_APICALL void GL_APIENTRY glGenProgramPipelines (GLsizei n, GLuint *pipelines);
1449GL_APICALL GLboolean GL_APIENTRY glIsProgramPipeline (GLuint pipeline);
1450GL_APICALL void GL_APIENTRY glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params);
1451GL_APICALL void GL_APIENTRY glProgramUniform1i (GLuint program, GLint location, GLint v0);
1452GL_APICALL void GL_APIENTRY glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1);
1453GL_APICALL void GL_APIENTRY glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1454GL_APICALL void GL_APIENTRY glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1455GL_APICALL void GL_APIENTRY glProgramUniform1ui (GLuint program, GLint location, GLuint v0);
1456GL_APICALL void GL_APIENTRY glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1);
1457GL_APICALL void GL_APIENTRY glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1458GL_APICALL void GL_APIENTRY glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1459GL_APICALL void GL_APIENTRY glProgramUniform1f (GLuint program, GLint location, GLfloat v0);
1460GL_APICALL void GL_APIENTRY glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1461GL_APICALL void GL_APIENTRY glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1462GL_APICALL void GL_APIENTRY glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1463GL_APICALL void GL_APIENTRY glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1464GL_APICALL void GL_APIENTRY glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1465GL_APICALL void GL_APIENTRY glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1466GL_APICALL void GL_APIENTRY glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1467GL_APICALL void GL_APIENTRY glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1468GL_APICALL void GL_APIENTRY glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1469GL_APICALL void GL_APIENTRY glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1470GL_APICALL void GL_APIENTRY glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1471GL_APICALL void GL_APIENTRY glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1472GL_APICALL void GL_APIENTRY glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1473GL_APICALL void GL_APIENTRY glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1474GL_APICALL void GL_APIENTRY glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1475GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1476GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1477GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1478GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1479GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1480GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1481GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1482GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1483GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1484GL_APICALL void GL_APIENTRY glValidateProgramPipeline (GLuint pipeline);
1485GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1486GL_APICALL void GL_APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
1487GL_APICALL void GL_APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
1488GL_APICALL void GL_APIENTRY glMemoryBarrier (GLbitfield barriers);
1489GL_APICALL void GL_APIENTRY glMemoryBarrierByRegion (GLbitfield barriers);
1490GL_APICALL void GL_APIENTRY glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
1491GL_APICALL void GL_APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val);
1492GL_APICALL void GL_APIENTRY glSampleMaski (GLuint maskNumber, GLbitfield mask);
1493GL_APICALL void GL_APIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params);
1494GL_APICALL void GL_APIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params);
1495GL_APICALL void GL_APIENTRY glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
1496GL_APICALL void GL_APIENTRY glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
1497GL_APICALL void GL_APIENTRY glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
1498GL_APICALL void GL_APIENTRY glVertexAttribBinding (GLuint attribindex, GLuint bindingindex);
1499GL_APICALL void GL_APIENTRY glVertexBindingDivisor (GLuint bindingindex, GLuint divisor);
1500#endif
1501#endif /* GL_ES_VERSION_3_1 */
1502
1503#ifdef __cplusplus
1504}
1505#endif
1506
1507#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl32.h b/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl32.h
new file mode 100644
index 0000000..ae56b0e
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl32.h
@@ -0,0 +1,1808 @@
1#ifndef __gles2_gl32_h_
2#define __gles2_gl32_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright 2013-2020 The Khronos Group Inc.
10** SPDX-License-Identifier: MIT
11**
12** This header is generated from the Khronos OpenGL / OpenGL ES XML
13** API Registry. The current version of the Registry, generator scripts
14** used to make the header, and the header can be found at
15** https://github.com/KhronosGroup/OpenGL-Registry
16*/
17
18#include <GLES3/gl3platform.h>
19
20#ifndef GL_APIENTRYP
21#define GL_APIENTRYP GL_APIENTRY*
22#endif
23
24#ifndef GL_GLES_PROTOTYPES
25#define GL_GLES_PROTOTYPES 1
26#endif
27
28/* Generated on date 20191013 */
29
30/* Generated C header for:
31 * API: gles2
32 * Profile: common
33 * Versions considered: 2\.[0-9]|3\.[012]
34 * Versions emitted: .*
35 * Default extensions included: None
36 * Additional extensions included: _nomatch_^
37 * Extensions removed: _nomatch_^
38 */
39
40#ifndef GL_ES_VERSION_2_0
41#define GL_ES_VERSION_2_0 1
42#include <KHR/khrplatform.h>
43typedef khronos_int8_t GLbyte;
44typedef khronos_float_t GLclampf;
45typedef khronos_int32_t GLfixed;
46typedef khronos_int16_t GLshort;
47typedef khronos_uint16_t GLushort;
48typedef void GLvoid;
49typedef struct __GLsync *GLsync;
50typedef khronos_int64_t GLint64;
51typedef khronos_uint64_t GLuint64;
52typedef unsigned int GLenum;
53typedef unsigned int GLuint;
54typedef char GLchar;
55typedef khronos_float_t GLfloat;
56typedef khronos_ssize_t GLsizeiptr;
57typedef khronos_intptr_t GLintptr;
58typedef unsigned int GLbitfield;
59typedef int GLint;
60typedef unsigned char GLboolean;
61typedef int GLsizei;
62typedef khronos_uint8_t GLubyte;
63#define GL_DEPTH_BUFFER_BIT 0x00000100
64#define GL_STENCIL_BUFFER_BIT 0x00000400
65#define GL_COLOR_BUFFER_BIT 0x00004000
66#define GL_FALSE 0
67#define GL_TRUE 1
68#define GL_POINTS 0x0000
69#define GL_LINES 0x0001
70#define GL_LINE_LOOP 0x0002
71#define GL_LINE_STRIP 0x0003
72#define GL_TRIANGLES 0x0004
73#define GL_TRIANGLE_STRIP 0x0005
74#define GL_TRIANGLE_FAN 0x0006
75#define GL_ZERO 0
76#define GL_ONE 1
77#define GL_SRC_COLOR 0x0300
78#define GL_ONE_MINUS_SRC_COLOR 0x0301
79#define GL_SRC_ALPHA 0x0302
80#define GL_ONE_MINUS_SRC_ALPHA 0x0303
81#define GL_DST_ALPHA 0x0304
82#define GL_ONE_MINUS_DST_ALPHA 0x0305
83#define GL_DST_COLOR 0x0306
84#define GL_ONE_MINUS_DST_COLOR 0x0307
85#define GL_SRC_ALPHA_SATURATE 0x0308
86#define GL_FUNC_ADD 0x8006
87#define GL_BLEND_EQUATION 0x8009
88#define GL_BLEND_EQUATION_RGB 0x8009
89#define GL_BLEND_EQUATION_ALPHA 0x883D
90#define GL_FUNC_SUBTRACT 0x800A
91#define GL_FUNC_REVERSE_SUBTRACT 0x800B
92#define GL_BLEND_DST_RGB 0x80C8
93#define GL_BLEND_SRC_RGB 0x80C9
94#define GL_BLEND_DST_ALPHA 0x80CA
95#define GL_BLEND_SRC_ALPHA 0x80CB
96#define GL_CONSTANT_COLOR 0x8001
97#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
98#define GL_CONSTANT_ALPHA 0x8003
99#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
100#define GL_BLEND_COLOR 0x8005
101#define GL_ARRAY_BUFFER 0x8892
102#define GL_ELEMENT_ARRAY_BUFFER 0x8893
103#define GL_ARRAY_BUFFER_BINDING 0x8894
104#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
105#define GL_STREAM_DRAW 0x88E0
106#define GL_STATIC_DRAW 0x88E4
107#define GL_DYNAMIC_DRAW 0x88E8
108#define GL_BUFFER_SIZE 0x8764
109#define GL_BUFFER_USAGE 0x8765
110#define GL_CURRENT_VERTEX_ATTRIB 0x8626
111#define GL_FRONT 0x0404
112#define GL_BACK 0x0405
113#define GL_FRONT_AND_BACK 0x0408
114#define GL_TEXTURE_2D 0x0DE1
115#define GL_CULL_FACE 0x0B44
116#define GL_BLEND 0x0BE2
117#define GL_DITHER 0x0BD0
118#define GL_STENCIL_TEST 0x0B90
119#define GL_DEPTH_TEST 0x0B71
120#define GL_SCISSOR_TEST 0x0C11
121#define GL_POLYGON_OFFSET_FILL 0x8037
122#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
123#define GL_SAMPLE_COVERAGE 0x80A0
124#define GL_NO_ERROR 0
125#define GL_INVALID_ENUM 0x0500
126#define GL_INVALID_VALUE 0x0501
127#define GL_INVALID_OPERATION 0x0502
128#define GL_OUT_OF_MEMORY 0x0505
129#define GL_CW 0x0900
130#define GL_CCW 0x0901
131#define GL_LINE_WIDTH 0x0B21
132#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
133#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
134#define GL_CULL_FACE_MODE 0x0B45
135#define GL_FRONT_FACE 0x0B46
136#define GL_DEPTH_RANGE 0x0B70
137#define GL_DEPTH_WRITEMASK 0x0B72
138#define GL_DEPTH_CLEAR_VALUE 0x0B73
139#define GL_DEPTH_FUNC 0x0B74
140#define GL_STENCIL_CLEAR_VALUE 0x0B91
141#define GL_STENCIL_FUNC 0x0B92
142#define GL_STENCIL_FAIL 0x0B94
143#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
144#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
145#define GL_STENCIL_REF 0x0B97
146#define GL_STENCIL_VALUE_MASK 0x0B93
147#define GL_STENCIL_WRITEMASK 0x0B98
148#define GL_STENCIL_BACK_FUNC 0x8800
149#define GL_STENCIL_BACK_FAIL 0x8801
150#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
151#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
152#define GL_STENCIL_BACK_REF 0x8CA3
153#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
154#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
155#define GL_VIEWPORT 0x0BA2
156#define GL_SCISSOR_BOX 0x0C10
157#define GL_COLOR_CLEAR_VALUE 0x0C22
158#define GL_COLOR_WRITEMASK 0x0C23
159#define GL_UNPACK_ALIGNMENT 0x0CF5
160#define GL_PACK_ALIGNMENT 0x0D05
161#define GL_MAX_TEXTURE_SIZE 0x0D33
162#define GL_MAX_VIEWPORT_DIMS 0x0D3A
163#define GL_SUBPIXEL_BITS 0x0D50
164#define GL_RED_BITS 0x0D52
165#define GL_GREEN_BITS 0x0D53
166#define GL_BLUE_BITS 0x0D54
167#define GL_ALPHA_BITS 0x0D55
168#define GL_DEPTH_BITS 0x0D56
169#define GL_STENCIL_BITS 0x0D57
170#define GL_POLYGON_OFFSET_UNITS 0x2A00
171#define GL_POLYGON_OFFSET_FACTOR 0x8038
172#define GL_TEXTURE_BINDING_2D 0x8069
173#define GL_SAMPLE_BUFFERS 0x80A8
174#define GL_SAMPLES 0x80A9
175#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
176#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
177#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
178#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
179#define GL_DONT_CARE 0x1100
180#define GL_FASTEST 0x1101
181#define GL_NICEST 0x1102
182#define GL_GENERATE_MIPMAP_HINT 0x8192
183#define GL_BYTE 0x1400
184#define GL_UNSIGNED_BYTE 0x1401
185#define GL_SHORT 0x1402
186#define GL_UNSIGNED_SHORT 0x1403
187#define GL_INT 0x1404
188#define GL_UNSIGNED_INT 0x1405
189#define GL_FLOAT 0x1406
190#define GL_FIXED 0x140C
191#define GL_DEPTH_COMPONENT 0x1902
192#define GL_ALPHA 0x1906
193#define GL_RGB 0x1907
194#define GL_RGBA 0x1908
195#define GL_LUMINANCE 0x1909
196#define GL_LUMINANCE_ALPHA 0x190A
197#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
198#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
199#define GL_UNSIGNED_SHORT_5_6_5 0x8363
200#define GL_FRAGMENT_SHADER 0x8B30
201#define GL_VERTEX_SHADER 0x8B31
202#define GL_MAX_VERTEX_ATTRIBS 0x8869
203#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
204#define GL_MAX_VARYING_VECTORS 0x8DFC
205#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
206#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
207#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
208#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
209#define GL_SHADER_TYPE 0x8B4F
210#define GL_DELETE_STATUS 0x8B80
211#define GL_LINK_STATUS 0x8B82
212#define GL_VALIDATE_STATUS 0x8B83
213#define GL_ATTACHED_SHADERS 0x8B85
214#define GL_ACTIVE_UNIFORMS 0x8B86
215#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
216#define GL_ACTIVE_ATTRIBUTES 0x8B89
217#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
218#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
219#define GL_CURRENT_PROGRAM 0x8B8D
220#define GL_NEVER 0x0200
221#define GL_LESS 0x0201
222#define GL_EQUAL 0x0202
223#define GL_LEQUAL 0x0203
224#define GL_GREATER 0x0204
225#define GL_NOTEQUAL 0x0205
226#define GL_GEQUAL 0x0206
227#define GL_ALWAYS 0x0207
228#define GL_KEEP 0x1E00
229#define GL_REPLACE 0x1E01
230#define GL_INCR 0x1E02
231#define GL_DECR 0x1E03
232#define GL_INVERT 0x150A
233#define GL_INCR_WRAP 0x8507
234#define GL_DECR_WRAP 0x8508
235#define GL_VENDOR 0x1F00
236#define GL_RENDERER 0x1F01
237#define GL_VERSION 0x1F02
238#define GL_EXTENSIONS 0x1F03
239#define GL_NEAREST 0x2600
240#define GL_LINEAR 0x2601
241#define GL_NEAREST_MIPMAP_NEAREST 0x2700
242#define GL_LINEAR_MIPMAP_NEAREST 0x2701
243#define GL_NEAREST_MIPMAP_LINEAR 0x2702
244#define GL_LINEAR_MIPMAP_LINEAR 0x2703
245#define GL_TEXTURE_MAG_FILTER 0x2800
246#define GL_TEXTURE_MIN_FILTER 0x2801
247#define GL_TEXTURE_WRAP_S 0x2802
248#define GL_TEXTURE_WRAP_T 0x2803
249#define GL_TEXTURE 0x1702
250#define GL_TEXTURE_CUBE_MAP 0x8513
251#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
252#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
253#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
254#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
255#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
256#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
257#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
258#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
259#define GL_TEXTURE0 0x84C0
260#define GL_TEXTURE1 0x84C1
261#define GL_TEXTURE2 0x84C2
262#define GL_TEXTURE3 0x84C3
263#define GL_TEXTURE4 0x84C4
264#define GL_TEXTURE5 0x84C5
265#define GL_TEXTURE6 0x84C6
266#define GL_TEXTURE7 0x84C7
267#define GL_TEXTURE8 0x84C8
268#define GL_TEXTURE9 0x84C9
269#define GL_TEXTURE10 0x84CA
270#define GL_TEXTURE11 0x84CB
271#define GL_TEXTURE12 0x84CC
272#define GL_TEXTURE13 0x84CD
273#define GL_TEXTURE14 0x84CE
274#define GL_TEXTURE15 0x84CF
275#define GL_TEXTURE16 0x84D0
276#define GL_TEXTURE17 0x84D1
277#define GL_TEXTURE18 0x84D2
278#define GL_TEXTURE19 0x84D3
279#define GL_TEXTURE20 0x84D4
280#define GL_TEXTURE21 0x84D5
281#define GL_TEXTURE22 0x84D6
282#define GL_TEXTURE23 0x84D7
283#define GL_TEXTURE24 0x84D8
284#define GL_TEXTURE25 0x84D9
285#define GL_TEXTURE26 0x84DA
286#define GL_TEXTURE27 0x84DB
287#define GL_TEXTURE28 0x84DC
288#define GL_TEXTURE29 0x84DD
289#define GL_TEXTURE30 0x84DE
290#define GL_TEXTURE31 0x84DF
291#define GL_ACTIVE_TEXTURE 0x84E0
292#define GL_REPEAT 0x2901
293#define GL_CLAMP_TO_EDGE 0x812F
294#define GL_MIRRORED_REPEAT 0x8370
295#define GL_FLOAT_VEC2 0x8B50
296#define GL_FLOAT_VEC3 0x8B51
297#define GL_FLOAT_VEC4 0x8B52
298#define GL_INT_VEC2 0x8B53
299#define GL_INT_VEC3 0x8B54
300#define GL_INT_VEC4 0x8B55
301#define GL_BOOL 0x8B56
302#define GL_BOOL_VEC2 0x8B57
303#define GL_BOOL_VEC3 0x8B58
304#define GL_BOOL_VEC4 0x8B59
305#define GL_FLOAT_MAT2 0x8B5A
306#define GL_FLOAT_MAT3 0x8B5B
307#define GL_FLOAT_MAT4 0x8B5C
308#define GL_SAMPLER_2D 0x8B5E
309#define GL_SAMPLER_CUBE 0x8B60
310#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
311#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
312#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
313#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
314#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
315#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
316#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
317#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
318#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
319#define GL_COMPILE_STATUS 0x8B81
320#define GL_INFO_LOG_LENGTH 0x8B84
321#define GL_SHADER_SOURCE_LENGTH 0x8B88
322#define GL_SHADER_COMPILER 0x8DFA
323#define GL_SHADER_BINARY_FORMATS 0x8DF8
324#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
325#define GL_LOW_FLOAT 0x8DF0
326#define GL_MEDIUM_FLOAT 0x8DF1
327#define GL_HIGH_FLOAT 0x8DF2
328#define GL_LOW_INT 0x8DF3
329#define GL_MEDIUM_INT 0x8DF4
330#define GL_HIGH_INT 0x8DF5
331#define GL_FRAMEBUFFER 0x8D40
332#define GL_RENDERBUFFER 0x8D41
333#define GL_RGBA4 0x8056
334#define GL_RGB5_A1 0x8057
335#define GL_RGB565 0x8D62
336#define GL_DEPTH_COMPONENT16 0x81A5
337#define GL_STENCIL_INDEX8 0x8D48
338#define GL_RENDERBUFFER_WIDTH 0x8D42
339#define GL_RENDERBUFFER_HEIGHT 0x8D43
340#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
341#define GL_RENDERBUFFER_RED_SIZE 0x8D50
342#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
343#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
344#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
345#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
346#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
347#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
348#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
349#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
350#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
351#define GL_COLOR_ATTACHMENT0 0x8CE0
352#define GL_DEPTH_ATTACHMENT 0x8D00
353#define GL_STENCIL_ATTACHMENT 0x8D20
354#define GL_NONE 0
355#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
356#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
357#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
358#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
359#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
360#define GL_FRAMEBUFFER_BINDING 0x8CA6
361#define GL_RENDERBUFFER_BINDING 0x8CA7
362#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
363#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
364typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
365typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
366typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
367typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
368typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
369typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
370typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
371typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
372typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
373typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
374typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
375typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
376typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
377typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
378typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
379typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
380typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
381typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
382typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
383typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
384typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
385typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
386typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
387typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
388typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
389typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
390typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
391typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
392typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
393typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
394typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
395typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
396typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
397typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
398typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
399typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
400typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
401typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
402typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
403typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
404typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
405typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
406typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
407typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
408typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
409typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
410typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
411typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
412typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
413typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
414typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
415typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
416typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
417typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
418typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
419typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
420typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
421typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
422typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
423typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
424typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
425typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
426typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
427typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
428typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
429typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
430typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
431typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
432typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
433typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
434typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
435typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
436typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
437typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
438typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
439typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
440typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
441typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
442typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
443typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
444typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
445typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
446typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
447typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
448typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
449typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
450typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
451typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
452typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
453typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
454typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
455typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
456typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
457typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
458typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
459typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
460typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
461typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
462typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
463typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
464typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
465typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
466typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
467typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
468typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
469typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
470typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
471typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
472typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
473typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
474typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
475typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
476typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
477typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
478typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
479typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
480typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
481typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
482typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
483typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
484typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
485typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
486typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
487typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
488typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
489typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
490typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
491typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
492typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
493typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
494typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
495typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
496typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
497typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
498typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
499typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
500typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
501typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
502typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
503typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
504typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
505typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
506#if GL_GLES_PROTOTYPES
507GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
508GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
509GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
510GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
511GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
512GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
513GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
514GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
515GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
516GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
517GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
518GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
519GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
520GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
521GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
522GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
523GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
524GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
525GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
526GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
527GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
528GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
529GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
530GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
531GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
532GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
533GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
534GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
535GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
536GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
537GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
538GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
539GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
540GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
541GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
542GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
543GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
544GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
545GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
546GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
547GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
548GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
549GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
550GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
551GL_APICALL void GL_APIENTRY glFinish (void);
552GL_APICALL void GL_APIENTRY glFlush (void);
553GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
554GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
555GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
556GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
557GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
558GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
559GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
560GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
561GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
562GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
563GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
564GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
565GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
566GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
567GL_APICALL GLenum GL_APIENTRY glGetError (void);
568GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
569GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
570GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
571GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
572GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
573GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
574GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
575GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
576GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
577GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
578GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
579GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
580GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
581GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
582GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
583GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
584GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
585GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
586GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
587GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
588GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
589GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
590GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
591GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
592GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
593GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
594GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
595GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
596GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
597GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
598GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
599GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
600GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
601GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
602GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
603GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
604GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
605GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
606GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
607GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
608GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
609GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
610GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
611GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
612GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
613GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
614GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
615GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
616GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
617GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
618GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
619GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
620GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
621GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
622GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
623GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
624GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
625GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
626GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
627GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
628GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
629GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
630GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
631GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
632GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
633GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
634GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
635GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
636GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
637GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
638GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
639GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
640GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
641GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
642GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
643GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
644GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
645GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
646GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
647GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
648GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
649#endif
650#endif /* GL_ES_VERSION_2_0 */
651
652#ifndef GL_ES_VERSION_3_0
653#define GL_ES_VERSION_3_0 1
654typedef khronos_uint16_t GLhalf;
655#define GL_READ_BUFFER 0x0C02
656#define GL_UNPACK_ROW_LENGTH 0x0CF2
657#define GL_UNPACK_SKIP_ROWS 0x0CF3
658#define GL_UNPACK_SKIP_PIXELS 0x0CF4
659#define GL_PACK_ROW_LENGTH 0x0D02
660#define GL_PACK_SKIP_ROWS 0x0D03
661#define GL_PACK_SKIP_PIXELS 0x0D04
662#define GL_COLOR 0x1800
663#define GL_DEPTH 0x1801
664#define GL_STENCIL 0x1802
665#define GL_RED 0x1903
666#define GL_RGB8 0x8051
667#define GL_RGBA8 0x8058
668#define GL_RGB10_A2 0x8059
669#define GL_TEXTURE_BINDING_3D 0x806A
670#define GL_UNPACK_SKIP_IMAGES 0x806D
671#define GL_UNPACK_IMAGE_HEIGHT 0x806E
672#define GL_TEXTURE_3D 0x806F
673#define GL_TEXTURE_WRAP_R 0x8072
674#define GL_MAX_3D_TEXTURE_SIZE 0x8073
675#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
676#define GL_MAX_ELEMENTS_VERTICES 0x80E8
677#define GL_MAX_ELEMENTS_INDICES 0x80E9
678#define GL_TEXTURE_MIN_LOD 0x813A
679#define GL_TEXTURE_MAX_LOD 0x813B
680#define GL_TEXTURE_BASE_LEVEL 0x813C
681#define GL_TEXTURE_MAX_LEVEL 0x813D
682#define GL_MIN 0x8007
683#define GL_MAX 0x8008
684#define GL_DEPTH_COMPONENT24 0x81A6
685#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
686#define GL_TEXTURE_COMPARE_MODE 0x884C
687#define GL_TEXTURE_COMPARE_FUNC 0x884D
688#define GL_CURRENT_QUERY 0x8865
689#define GL_QUERY_RESULT 0x8866
690#define GL_QUERY_RESULT_AVAILABLE 0x8867
691#define GL_BUFFER_MAPPED 0x88BC
692#define GL_BUFFER_MAP_POINTER 0x88BD
693#define GL_STREAM_READ 0x88E1
694#define GL_STREAM_COPY 0x88E2
695#define GL_STATIC_READ 0x88E5
696#define GL_STATIC_COPY 0x88E6
697#define GL_DYNAMIC_READ 0x88E9
698#define GL_DYNAMIC_COPY 0x88EA
699#define GL_MAX_DRAW_BUFFERS 0x8824
700#define GL_DRAW_BUFFER0 0x8825
701#define GL_DRAW_BUFFER1 0x8826
702#define GL_DRAW_BUFFER2 0x8827
703#define GL_DRAW_BUFFER3 0x8828
704#define GL_DRAW_BUFFER4 0x8829
705#define GL_DRAW_BUFFER5 0x882A
706#define GL_DRAW_BUFFER6 0x882B
707#define GL_DRAW_BUFFER7 0x882C
708#define GL_DRAW_BUFFER8 0x882D
709#define GL_DRAW_BUFFER9 0x882E
710#define GL_DRAW_BUFFER10 0x882F
711#define GL_DRAW_BUFFER11 0x8830
712#define GL_DRAW_BUFFER12 0x8831
713#define GL_DRAW_BUFFER13 0x8832
714#define GL_DRAW_BUFFER14 0x8833
715#define GL_DRAW_BUFFER15 0x8834
716#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
717#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
718#define GL_SAMPLER_3D 0x8B5F
719#define GL_SAMPLER_2D_SHADOW 0x8B62
720#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
721#define GL_PIXEL_PACK_BUFFER 0x88EB
722#define GL_PIXEL_UNPACK_BUFFER 0x88EC
723#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
724#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
725#define GL_FLOAT_MAT2x3 0x8B65
726#define GL_FLOAT_MAT2x4 0x8B66
727#define GL_FLOAT_MAT3x2 0x8B67
728#define GL_FLOAT_MAT3x4 0x8B68
729#define GL_FLOAT_MAT4x2 0x8B69
730#define GL_FLOAT_MAT4x3 0x8B6A
731#define GL_SRGB 0x8C40
732#define GL_SRGB8 0x8C41
733#define GL_SRGB8_ALPHA8 0x8C43
734#define GL_COMPARE_REF_TO_TEXTURE 0x884E
735#define GL_MAJOR_VERSION 0x821B
736#define GL_MINOR_VERSION 0x821C
737#define GL_NUM_EXTENSIONS 0x821D
738#define GL_RGBA32F 0x8814
739#define GL_RGB32F 0x8815
740#define GL_RGBA16F 0x881A
741#define GL_RGB16F 0x881B
742#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
743#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
744#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
745#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
746#define GL_MAX_VARYING_COMPONENTS 0x8B4B
747#define GL_TEXTURE_2D_ARRAY 0x8C1A
748#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
749#define GL_R11F_G11F_B10F 0x8C3A
750#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
751#define GL_RGB9_E5 0x8C3D
752#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
753#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
754#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
755#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
756#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
757#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
758#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
759#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
760#define GL_RASTERIZER_DISCARD 0x8C89
761#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
762#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
763#define GL_INTERLEAVED_ATTRIBS 0x8C8C
764#define GL_SEPARATE_ATTRIBS 0x8C8D
765#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
766#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
767#define GL_RGBA32UI 0x8D70
768#define GL_RGB32UI 0x8D71
769#define GL_RGBA16UI 0x8D76
770#define GL_RGB16UI 0x8D77
771#define GL_RGBA8UI 0x8D7C
772#define GL_RGB8UI 0x8D7D
773#define GL_RGBA32I 0x8D82
774#define GL_RGB32I 0x8D83
775#define GL_RGBA16I 0x8D88
776#define GL_RGB16I 0x8D89
777#define GL_RGBA8I 0x8D8E
778#define GL_RGB8I 0x8D8F
779#define GL_RED_INTEGER 0x8D94
780#define GL_RGB_INTEGER 0x8D98
781#define GL_RGBA_INTEGER 0x8D99
782#define GL_SAMPLER_2D_ARRAY 0x8DC1
783#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
784#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
785#define GL_UNSIGNED_INT_VEC2 0x8DC6
786#define GL_UNSIGNED_INT_VEC3 0x8DC7
787#define GL_UNSIGNED_INT_VEC4 0x8DC8
788#define GL_INT_SAMPLER_2D 0x8DCA
789#define GL_INT_SAMPLER_3D 0x8DCB
790#define GL_INT_SAMPLER_CUBE 0x8DCC
791#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
792#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
793#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
794#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
795#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
796#define GL_BUFFER_ACCESS_FLAGS 0x911F
797#define GL_BUFFER_MAP_LENGTH 0x9120
798#define GL_BUFFER_MAP_OFFSET 0x9121
799#define GL_DEPTH_COMPONENT32F 0x8CAC
800#define GL_DEPTH32F_STENCIL8 0x8CAD
801#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
802#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
803#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
804#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
805#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
806#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
807#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
808#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
809#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
810#define GL_FRAMEBUFFER_DEFAULT 0x8218
811#define GL_FRAMEBUFFER_UNDEFINED 0x8219
812#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
813#define GL_DEPTH_STENCIL 0x84F9
814#define GL_UNSIGNED_INT_24_8 0x84FA
815#define GL_DEPTH24_STENCIL8 0x88F0
816#define GL_UNSIGNED_NORMALIZED 0x8C17
817#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
818#define GL_READ_FRAMEBUFFER 0x8CA8
819#define GL_DRAW_FRAMEBUFFER 0x8CA9
820#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
821#define GL_RENDERBUFFER_SAMPLES 0x8CAB
822#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
823#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
824#define GL_COLOR_ATTACHMENT1 0x8CE1
825#define GL_COLOR_ATTACHMENT2 0x8CE2
826#define GL_COLOR_ATTACHMENT3 0x8CE3
827#define GL_COLOR_ATTACHMENT4 0x8CE4
828#define GL_COLOR_ATTACHMENT5 0x8CE5
829#define GL_COLOR_ATTACHMENT6 0x8CE6
830#define GL_COLOR_ATTACHMENT7 0x8CE7
831#define GL_COLOR_ATTACHMENT8 0x8CE8
832#define GL_COLOR_ATTACHMENT9 0x8CE9
833#define GL_COLOR_ATTACHMENT10 0x8CEA
834#define GL_COLOR_ATTACHMENT11 0x8CEB
835#define GL_COLOR_ATTACHMENT12 0x8CEC
836#define GL_COLOR_ATTACHMENT13 0x8CED
837#define GL_COLOR_ATTACHMENT14 0x8CEE
838#define GL_COLOR_ATTACHMENT15 0x8CEF
839#define GL_COLOR_ATTACHMENT16 0x8CF0
840#define GL_COLOR_ATTACHMENT17 0x8CF1
841#define GL_COLOR_ATTACHMENT18 0x8CF2
842#define GL_COLOR_ATTACHMENT19 0x8CF3
843#define GL_COLOR_ATTACHMENT20 0x8CF4
844#define GL_COLOR_ATTACHMENT21 0x8CF5
845#define GL_COLOR_ATTACHMENT22 0x8CF6
846#define GL_COLOR_ATTACHMENT23 0x8CF7
847#define GL_COLOR_ATTACHMENT24 0x8CF8
848#define GL_COLOR_ATTACHMENT25 0x8CF9
849#define GL_COLOR_ATTACHMENT26 0x8CFA
850#define GL_COLOR_ATTACHMENT27 0x8CFB
851#define GL_COLOR_ATTACHMENT28 0x8CFC
852#define GL_COLOR_ATTACHMENT29 0x8CFD
853#define GL_COLOR_ATTACHMENT30 0x8CFE
854#define GL_COLOR_ATTACHMENT31 0x8CFF
855#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
856#define GL_MAX_SAMPLES 0x8D57
857#define GL_HALF_FLOAT 0x140B
858#define GL_MAP_READ_BIT 0x0001
859#define GL_MAP_WRITE_BIT 0x0002
860#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
861#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
862#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
863#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
864#define GL_RG 0x8227
865#define GL_RG_INTEGER 0x8228
866#define GL_R8 0x8229
867#define GL_RG8 0x822B
868#define GL_R16F 0x822D
869#define GL_R32F 0x822E
870#define GL_RG16F 0x822F
871#define GL_RG32F 0x8230
872#define GL_R8I 0x8231
873#define GL_R8UI 0x8232
874#define GL_R16I 0x8233
875#define GL_R16UI 0x8234
876#define GL_R32I 0x8235
877#define GL_R32UI 0x8236
878#define GL_RG8I 0x8237
879#define GL_RG8UI 0x8238
880#define GL_RG16I 0x8239
881#define GL_RG16UI 0x823A
882#define GL_RG32I 0x823B
883#define GL_RG32UI 0x823C
884#define GL_VERTEX_ARRAY_BINDING 0x85B5
885#define GL_R8_SNORM 0x8F94
886#define GL_RG8_SNORM 0x8F95
887#define GL_RGB8_SNORM 0x8F96
888#define GL_RGBA8_SNORM 0x8F97
889#define GL_SIGNED_NORMALIZED 0x8F9C
890#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
891#define GL_COPY_READ_BUFFER 0x8F36
892#define GL_COPY_WRITE_BUFFER 0x8F37
893#define GL_COPY_READ_BUFFER_BINDING 0x8F36
894#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
895#define GL_UNIFORM_BUFFER 0x8A11
896#define GL_UNIFORM_BUFFER_BINDING 0x8A28
897#define GL_UNIFORM_BUFFER_START 0x8A29
898#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
899#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
900#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
901#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
902#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
903#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
904#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
905#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
906#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
907#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
908#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
909#define GL_UNIFORM_TYPE 0x8A37
910#define GL_UNIFORM_SIZE 0x8A38
911#define GL_UNIFORM_NAME_LENGTH 0x8A39
912#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
913#define GL_UNIFORM_OFFSET 0x8A3B
914#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
915#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
916#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
917#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
918#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
919#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
920#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
921#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
922#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
923#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
924#define GL_INVALID_INDEX 0xFFFFFFFFu
925#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
926#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
927#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
928#define GL_OBJECT_TYPE 0x9112
929#define GL_SYNC_CONDITION 0x9113
930#define GL_SYNC_STATUS 0x9114
931#define GL_SYNC_FLAGS 0x9115
932#define GL_SYNC_FENCE 0x9116
933#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
934#define GL_UNSIGNALED 0x9118
935#define GL_SIGNALED 0x9119
936#define GL_ALREADY_SIGNALED 0x911A
937#define GL_TIMEOUT_EXPIRED 0x911B
938#define GL_CONDITION_SATISFIED 0x911C
939#define GL_WAIT_FAILED 0x911D
940#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
941#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull
942#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
943#define GL_ANY_SAMPLES_PASSED 0x8C2F
944#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
945#define GL_SAMPLER_BINDING 0x8919
946#define GL_RGB10_A2UI 0x906F
947#define GL_TEXTURE_SWIZZLE_R 0x8E42
948#define GL_TEXTURE_SWIZZLE_G 0x8E43
949#define GL_TEXTURE_SWIZZLE_B 0x8E44
950#define GL_TEXTURE_SWIZZLE_A 0x8E45
951#define GL_GREEN 0x1904
952#define GL_BLUE 0x1905
953#define GL_INT_2_10_10_10_REV 0x8D9F
954#define GL_TRANSFORM_FEEDBACK 0x8E22
955#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
956#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
957#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
958#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
959#define GL_PROGRAM_BINARY_LENGTH 0x8741
960#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
961#define GL_PROGRAM_BINARY_FORMATS 0x87FF
962#define GL_COMPRESSED_R11_EAC 0x9270
963#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
964#define GL_COMPRESSED_RG11_EAC 0x9272
965#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
966#define GL_COMPRESSED_RGB8_ETC2 0x9274
967#define GL_COMPRESSED_SRGB8_ETC2 0x9275
968#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
969#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
970#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
971#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
972#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
973#define GL_MAX_ELEMENT_INDEX 0x8D6B
974#define GL_NUM_SAMPLE_COUNTS 0x9380
975#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
976typedef void (GL_APIENTRYP PFNGLREADBUFFERPROC) (GLenum src);
977typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
978typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
979typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
980typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
981typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
982typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
983typedef void (GL_APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
984typedef void (GL_APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
985typedef GLboolean (GL_APIENTRYP PFNGLISQUERYPROC) (GLuint id);
986typedef void (GL_APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
987typedef void (GL_APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
988typedef void (GL_APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
989typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
990typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
991typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void **params);
992typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
993typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
994typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
995typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
996typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
997typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
998typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
999typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1000typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1001typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1002typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1003typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
1004typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYPROC) (GLuint array);
1005typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
1006typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
1007typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYPROC) (GLuint array);
1008typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
1009typedef void (GL_APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
1010typedef void (GL_APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC) (void);
1011typedef void (GL_APIENTRYP PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1012typedef void (GL_APIENTRYP PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
1013typedef void (GL_APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
1014typedef void (GL_APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
1015typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
1016typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
1017typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
1018typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
1019typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1020typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
1021typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
1022typedef void (GL_APIENTRYP PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
1023typedef GLint (GL_APIENTRYP PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
1024typedef void (GL_APIENTRYP PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
1025typedef void (GL_APIENTRYP PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
1026typedef void (GL_APIENTRYP PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
1027typedef void (GL_APIENTRYP PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1028typedef void (GL_APIENTRYP PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1029typedef void (GL_APIENTRYP PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1030typedef void (GL_APIENTRYP PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1031typedef void (GL_APIENTRYP PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
1032typedef void (GL_APIENTRYP PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
1033typedef void (GL_APIENTRYP PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
1034typedef void (GL_APIENTRYP PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
1035typedef void (GL_APIENTRYP PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1036typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
1037typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1038typedef void (GL_APIENTRYP PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
1039typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
1040typedef GLuint (GL_APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
1041typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
1042typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
1043typedef void (GL_APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1044typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1045typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
1046typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);
1047typedef GLboolean (GL_APIENTRYP PFNGLISSYNCPROC) (GLsync sync);
1048typedef void (GL_APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync);
1049typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1050typedef void (GL_APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
1051typedef void (GL_APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *data);
1052typedef void (GL_APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
1053typedef void (GL_APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);
1054typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);
1055typedef void (GL_APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
1056typedef void (GL_APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
1057typedef GLboolean (GL_APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler);
1058typedef void (GL_APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
1059typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
1060typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
1061typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
1062typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
1063typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
1064typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
1065typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
1066typedef void (GL_APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
1067typedef void (GL_APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);
1068typedef void (GL_APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
1069typedef GLboolean (GL_APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
1070typedef void (GL_APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
1071typedef void (GL_APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
1072typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
1073typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
1074typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
1075typedef void (GL_APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1076typedef void (GL_APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
1077typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1078typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1079typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
1080#if GL_GLES_PROTOTYPES
1081GL_APICALL void GL_APIENTRY glReadBuffer (GLenum src);
1082GL_APICALL void GL_APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
1083GL_APICALL void GL_APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
1084GL_APICALL void GL_APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
1085GL_APICALL void GL_APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1086GL_APICALL void GL_APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
1087GL_APICALL void GL_APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
1088GL_APICALL void GL_APIENTRY glGenQueries (GLsizei n, GLuint *ids);
1089GL_APICALL void GL_APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
1090GL_APICALL GLboolean GL_APIENTRY glIsQuery (GLuint id);
1091GL_APICALL void GL_APIENTRY glBeginQuery (GLenum target, GLuint id);
1092GL_APICALL void GL_APIENTRY glEndQuery (GLenum target);
1093GL_APICALL void GL_APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
1094GL_APICALL void GL_APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
1095GL_APICALL GLboolean GL_APIENTRY glUnmapBuffer (GLenum target);
1096GL_APICALL void GL_APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);
1097GL_APICALL void GL_APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
1098GL_APICALL void GL_APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1099GL_APICALL void GL_APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1100GL_APICALL void GL_APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1101GL_APICALL void GL_APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1102GL_APICALL void GL_APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1103GL_APICALL void GL_APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1104GL_APICALL void GL_APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1105GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1106GL_APICALL void GL_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1107GL_APICALL void *GL_APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1108GL_APICALL void GL_APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
1109GL_APICALL void GL_APIENTRY glBindVertexArray (GLuint array);
1110GL_APICALL void GL_APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
1111GL_APICALL void GL_APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
1112GL_APICALL GLboolean GL_APIENTRY glIsVertexArray (GLuint array);
1113GL_APICALL void GL_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
1114GL_APICALL void GL_APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
1115GL_APICALL void GL_APIENTRY glEndTransformFeedback (void);
1116GL_APICALL void GL_APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
1117GL_APICALL void GL_APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
1118GL_APICALL void GL_APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
1119GL_APICALL void GL_APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
1120GL_APICALL void GL_APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
1121GL_APICALL void GL_APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
1122GL_APICALL void GL_APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
1123GL_APICALL void GL_APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
1124GL_APICALL void GL_APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
1125GL_APICALL void GL_APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
1126GL_APICALL void GL_APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
1127GL_APICALL void GL_APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
1128GL_APICALL GLint GL_APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
1129GL_APICALL void GL_APIENTRY glUniform1ui (GLint location, GLuint v0);
1130GL_APICALL void GL_APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
1131GL_APICALL void GL_APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
1132GL_APICALL void GL_APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1133GL_APICALL void GL_APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
1134GL_APICALL void GL_APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
1135GL_APICALL void GL_APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
1136GL_APICALL void GL_APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
1137GL_APICALL void GL_APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
1138GL_APICALL void GL_APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
1139GL_APICALL void GL_APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
1140GL_APICALL void GL_APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
1141GL_APICALL const GLubyte *GL_APIENTRY glGetStringi (GLenum name, GLuint index);
1142GL_APICALL void GL_APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1143GL_APICALL void GL_APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
1144GL_APICALL void GL_APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
1145GL_APICALL GLuint GL_APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
1146GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
1147GL_APICALL void GL_APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
1148GL_APICALL void GL_APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
1149GL_APICALL void GL_APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
1150GL_APICALL void GL_APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
1151GL_APICALL GLsync GL_APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
1152GL_APICALL GLboolean GL_APIENTRY glIsSync (GLsync sync);
1153GL_APICALL void GL_APIENTRY glDeleteSync (GLsync sync);
1154GL_APICALL GLenum GL_APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1155GL_APICALL void GL_APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
1156GL_APICALL void GL_APIENTRY glGetInteger64v (GLenum pname, GLint64 *data);
1157GL_APICALL void GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
1158GL_APICALL void GL_APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
1159GL_APICALL void GL_APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
1160GL_APICALL void GL_APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
1161GL_APICALL void GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
1162GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler);
1163GL_APICALL void GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler);
1164GL_APICALL void GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
1165GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
1166GL_APICALL void GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
1167GL_APICALL void GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
1168GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
1169GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
1170GL_APICALL void GL_APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
1171GL_APICALL void GL_APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
1172GL_APICALL void GL_APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
1173GL_APICALL void GL_APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
1174GL_APICALL GLboolean GL_APIENTRY glIsTransformFeedback (GLuint id);
1175GL_APICALL void GL_APIENTRY glPauseTransformFeedback (void);
1176GL_APICALL void GL_APIENTRY glResumeTransformFeedback (void);
1177GL_APICALL void GL_APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
1178GL_APICALL void GL_APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
1179GL_APICALL void GL_APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
1180GL_APICALL void GL_APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1181GL_APICALL void GL_APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
1182GL_APICALL void GL_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1183GL_APICALL void GL_APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1184GL_APICALL void GL_APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
1185#endif
1186#endif /* GL_ES_VERSION_3_0 */
1187
1188#ifndef GL_ES_VERSION_3_1
1189#define GL_ES_VERSION_3_1 1
1190#define GL_COMPUTE_SHADER 0x91B9
1191#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB
1192#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
1193#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
1194#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
1195#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263
1196#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
1197#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265
1198#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266
1199#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB
1200#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE
1201#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF
1202#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267
1203#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
1204#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
1205#define GL_COMPUTE_SHADER_BIT 0x00000020
1206#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
1207#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
1208#define GL_MAX_UNIFORM_LOCATIONS 0x826E
1209#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310
1210#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311
1211#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313
1212#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314
1213#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315
1214#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316
1215#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318
1216#define GL_UNIFORM 0x92E1
1217#define GL_UNIFORM_BLOCK 0x92E2
1218#define GL_PROGRAM_INPUT 0x92E3
1219#define GL_PROGRAM_OUTPUT 0x92E4
1220#define GL_BUFFER_VARIABLE 0x92E5
1221#define GL_SHADER_STORAGE_BLOCK 0x92E6
1222#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
1223#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4
1224#define GL_ACTIVE_RESOURCES 0x92F5
1225#define GL_MAX_NAME_LENGTH 0x92F6
1226#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7
1227#define GL_NAME_LENGTH 0x92F9
1228#define GL_TYPE 0x92FA
1229#define GL_ARRAY_SIZE 0x92FB
1230#define GL_OFFSET 0x92FC
1231#define GL_BLOCK_INDEX 0x92FD
1232#define GL_ARRAY_STRIDE 0x92FE
1233#define GL_MATRIX_STRIDE 0x92FF
1234#define GL_IS_ROW_MAJOR 0x9300
1235#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301
1236#define GL_BUFFER_BINDING 0x9302
1237#define GL_BUFFER_DATA_SIZE 0x9303
1238#define GL_NUM_ACTIVE_VARIABLES 0x9304
1239#define GL_ACTIVE_VARIABLES 0x9305
1240#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306
1241#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A
1242#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B
1243#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C
1244#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D
1245#define GL_LOCATION 0x930E
1246#define GL_VERTEX_SHADER_BIT 0x00000001
1247#define GL_FRAGMENT_SHADER_BIT 0x00000002
1248#define GL_ALL_SHADER_BITS 0xFFFFFFFF
1249#define GL_PROGRAM_SEPARABLE 0x8258
1250#define GL_ACTIVE_PROGRAM 0x8259
1251#define GL_PROGRAM_PIPELINE_BINDING 0x825A
1252#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
1253#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
1254#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
1255#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
1256#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
1257#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
1258#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
1259#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
1260#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
1261#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
1262#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
1263#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
1264#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
1265#define GL_MAX_IMAGE_UNITS 0x8F38
1266#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
1267#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
1268#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
1269#define GL_IMAGE_BINDING_NAME 0x8F3A
1270#define GL_IMAGE_BINDING_LEVEL 0x8F3B
1271#define GL_IMAGE_BINDING_LAYERED 0x8F3C
1272#define GL_IMAGE_BINDING_LAYER 0x8F3D
1273#define GL_IMAGE_BINDING_ACCESS 0x8F3E
1274#define GL_IMAGE_BINDING_FORMAT 0x906E
1275#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
1276#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
1277#define GL_UNIFORM_BARRIER_BIT 0x00000004
1278#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
1279#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
1280#define GL_COMMAND_BARRIER_BIT 0x00000040
1281#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
1282#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
1283#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
1284#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
1285#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
1286#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
1287#define GL_ALL_BARRIER_BITS 0xFFFFFFFF
1288#define GL_IMAGE_2D 0x904D
1289#define GL_IMAGE_3D 0x904E
1290#define GL_IMAGE_CUBE 0x9050
1291#define GL_IMAGE_2D_ARRAY 0x9053
1292#define GL_INT_IMAGE_2D 0x9058
1293#define GL_INT_IMAGE_3D 0x9059
1294#define GL_INT_IMAGE_CUBE 0x905B
1295#define GL_INT_IMAGE_2D_ARRAY 0x905E
1296#define GL_UNSIGNED_INT_IMAGE_2D 0x9063
1297#define GL_UNSIGNED_INT_IMAGE_3D 0x9064
1298#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
1299#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
1300#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
1301#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
1302#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
1303#define GL_READ_ONLY 0x88B8
1304#define GL_WRITE_ONLY 0x88B9
1305#define GL_READ_WRITE 0x88BA
1306#define GL_SHADER_STORAGE_BUFFER 0x90D2
1307#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
1308#define GL_SHADER_STORAGE_BUFFER_START 0x90D4
1309#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
1310#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
1311#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
1312#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
1313#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
1314#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
1315#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
1316#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
1317#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000
1318#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39
1319#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA
1320#define GL_STENCIL_INDEX 0x1901
1321#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
1322#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
1323#define GL_SAMPLE_POSITION 0x8E50
1324#define GL_SAMPLE_MASK 0x8E51
1325#define GL_SAMPLE_MASK_VALUE 0x8E52
1326#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
1327#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
1328#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
1329#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
1330#define GL_MAX_INTEGER_SAMPLES 0x9110
1331#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
1332#define GL_TEXTURE_SAMPLES 0x9106
1333#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
1334#define GL_TEXTURE_WIDTH 0x1000
1335#define GL_TEXTURE_HEIGHT 0x1001
1336#define GL_TEXTURE_DEPTH 0x8071
1337#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
1338#define GL_TEXTURE_RED_SIZE 0x805C
1339#define GL_TEXTURE_GREEN_SIZE 0x805D
1340#define GL_TEXTURE_BLUE_SIZE 0x805E
1341#define GL_TEXTURE_ALPHA_SIZE 0x805F
1342#define GL_TEXTURE_DEPTH_SIZE 0x884A
1343#define GL_TEXTURE_STENCIL_SIZE 0x88F1
1344#define GL_TEXTURE_SHARED_SIZE 0x8C3F
1345#define GL_TEXTURE_RED_TYPE 0x8C10
1346#define GL_TEXTURE_GREEN_TYPE 0x8C11
1347#define GL_TEXTURE_BLUE_TYPE 0x8C12
1348#define GL_TEXTURE_ALPHA_TYPE 0x8C13
1349#define GL_TEXTURE_DEPTH_TYPE 0x8C16
1350#define GL_TEXTURE_COMPRESSED 0x86A1
1351#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
1352#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
1353#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
1354#define GL_VERTEX_ATTRIB_BINDING 0x82D4
1355#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5
1356#define GL_VERTEX_BINDING_DIVISOR 0x82D6
1357#define GL_VERTEX_BINDING_OFFSET 0x82D7
1358#define GL_VERTEX_BINDING_STRIDE 0x82D8
1359#define GL_VERTEX_BINDING_BUFFER 0x8F4F
1360#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
1361#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
1362#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5
1363typedef void (GL_APIENTRYP PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
1364typedef void (GL_APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect);
1365typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect);
1366typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect);
1367typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
1368typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
1369typedef void (GL_APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint *params);
1370typedef GLuint (GL_APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name);
1371typedef void (GL_APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
1372typedef void (GL_APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
1373typedef GLint (GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar *name);
1374typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
1375typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);
1376typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar *const*strings);
1377typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);
1378typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines);
1379typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);
1380typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);
1381typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params);
1382typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0);
1383typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1);
1384typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1385typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1386typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0);
1387typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
1388typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1389typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1390typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0);
1391typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1392typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1393typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1394typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1395typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1396typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1397typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1398typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1399typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1400typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1401typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1402typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1403typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1404typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1405typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1406typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1407typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1408typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1409typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1410typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1411typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1412typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1413typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1414typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1415typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline);
1416typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1417typedef void (GL_APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
1418typedef void (GL_APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
1419typedef void (GL_APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers);
1420typedef void (GL_APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC) (GLbitfield barriers);
1421typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
1422typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);
1423typedef void (GL_APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint maskNumber, GLbitfield mask);
1424typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params);
1425typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC) (GLenum target, GLint level, GLenum pname, GLfloat *params);
1426typedef void (GL_APIENTRYP PFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
1427typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
1428typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
1429typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex);
1430typedef void (GL_APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor);
1431#if GL_GLES_PROTOTYPES
1432GL_APICALL void GL_APIENTRY glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
1433GL_APICALL void GL_APIENTRY glDispatchComputeIndirect (GLintptr indirect);
1434GL_APICALL void GL_APIENTRY glDrawArraysIndirect (GLenum mode, const void *indirect);
1435GL_APICALL void GL_APIENTRY glDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect);
1436GL_APICALL void GL_APIENTRY glFramebufferParameteri (GLenum target, GLenum pname, GLint param);
1437GL_APICALL void GL_APIENTRY glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint *params);
1438GL_APICALL void GL_APIENTRY glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint *params);
1439GL_APICALL GLuint GL_APIENTRY glGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar *name);
1440GL_APICALL void GL_APIENTRY glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
1441GL_APICALL void GL_APIENTRY glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
1442GL_APICALL GLint GL_APIENTRY glGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar *name);
1443GL_APICALL void GL_APIENTRY glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program);
1444GL_APICALL void GL_APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program);
1445GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar *const*strings);
1446GL_APICALL void GL_APIENTRY glBindProgramPipeline (GLuint pipeline);
1447GL_APICALL void GL_APIENTRY glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines);
1448GL_APICALL void GL_APIENTRY glGenProgramPipelines (GLsizei n, GLuint *pipelines);
1449GL_APICALL GLboolean GL_APIENTRY glIsProgramPipeline (GLuint pipeline);
1450GL_APICALL void GL_APIENTRY glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params);
1451GL_APICALL void GL_APIENTRY glProgramUniform1i (GLuint program, GLint location, GLint v0);
1452GL_APICALL void GL_APIENTRY glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1);
1453GL_APICALL void GL_APIENTRY glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1454GL_APICALL void GL_APIENTRY glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1455GL_APICALL void GL_APIENTRY glProgramUniform1ui (GLuint program, GLint location, GLuint v0);
1456GL_APICALL void GL_APIENTRY glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1);
1457GL_APICALL void GL_APIENTRY glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1458GL_APICALL void GL_APIENTRY glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1459GL_APICALL void GL_APIENTRY glProgramUniform1f (GLuint program, GLint location, GLfloat v0);
1460GL_APICALL void GL_APIENTRY glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1461GL_APICALL void GL_APIENTRY glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1462GL_APICALL void GL_APIENTRY glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1463GL_APICALL void GL_APIENTRY glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1464GL_APICALL void GL_APIENTRY glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1465GL_APICALL void GL_APIENTRY glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1466GL_APICALL void GL_APIENTRY glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1467GL_APICALL void GL_APIENTRY glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1468GL_APICALL void GL_APIENTRY glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1469GL_APICALL void GL_APIENTRY glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1470GL_APICALL void GL_APIENTRY glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1471GL_APICALL void GL_APIENTRY glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1472GL_APICALL void GL_APIENTRY glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1473GL_APICALL void GL_APIENTRY glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1474GL_APICALL void GL_APIENTRY glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1475GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1476GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1477GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1478GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1479GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1480GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1481GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1482GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1483GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1484GL_APICALL void GL_APIENTRY glValidateProgramPipeline (GLuint pipeline);
1485GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1486GL_APICALL void GL_APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
1487GL_APICALL void GL_APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
1488GL_APICALL void GL_APIENTRY glMemoryBarrier (GLbitfield barriers);
1489GL_APICALL void GL_APIENTRY glMemoryBarrierByRegion (GLbitfield barriers);
1490GL_APICALL void GL_APIENTRY glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
1491GL_APICALL void GL_APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val);
1492GL_APICALL void GL_APIENTRY glSampleMaski (GLuint maskNumber, GLbitfield mask);
1493GL_APICALL void GL_APIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params);
1494GL_APICALL void GL_APIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params);
1495GL_APICALL void GL_APIENTRY glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
1496GL_APICALL void GL_APIENTRY glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
1497GL_APICALL void GL_APIENTRY glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
1498GL_APICALL void GL_APIENTRY glVertexAttribBinding (GLuint attribindex, GLuint bindingindex);
1499GL_APICALL void GL_APIENTRY glVertexBindingDivisor (GLuint bindingindex, GLuint divisor);
1500#endif
1501#endif /* GL_ES_VERSION_3_1 */
1502
1503#ifndef GL_ES_VERSION_3_2
1504#define GL_ES_VERSION_3_2 1
1505typedef void (GL_APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
1506#define GL_MULTISAMPLE_LINE_WIDTH_RANGE 0x9381
1507#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY 0x9382
1508#define GL_MULTIPLY 0x9294
1509#define GL_SCREEN 0x9295
1510#define GL_OVERLAY 0x9296
1511#define GL_DARKEN 0x9297
1512#define GL_LIGHTEN 0x9298
1513#define GL_COLORDODGE 0x9299
1514#define GL_COLORBURN 0x929A
1515#define GL_HARDLIGHT 0x929B
1516#define GL_SOFTLIGHT 0x929C
1517#define GL_DIFFERENCE 0x929E
1518#define GL_EXCLUSION 0x92A0
1519#define GL_HSL_HUE 0x92AD
1520#define GL_HSL_SATURATION 0x92AE
1521#define GL_HSL_COLOR 0x92AF
1522#define GL_HSL_LUMINOSITY 0x92B0
1523#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
1524#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
1525#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
1526#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
1527#define GL_DEBUG_SOURCE_API 0x8246
1528#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
1529#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
1530#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
1531#define GL_DEBUG_SOURCE_APPLICATION 0x824A
1532#define GL_DEBUG_SOURCE_OTHER 0x824B
1533#define GL_DEBUG_TYPE_ERROR 0x824C
1534#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
1535#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
1536#define GL_DEBUG_TYPE_PORTABILITY 0x824F
1537#define GL_DEBUG_TYPE_PERFORMANCE 0x8250
1538#define GL_DEBUG_TYPE_OTHER 0x8251
1539#define GL_DEBUG_TYPE_MARKER 0x8268
1540#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
1541#define GL_DEBUG_TYPE_POP_GROUP 0x826A
1542#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
1543#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
1544#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
1545#define GL_BUFFER 0x82E0
1546#define GL_SHADER 0x82E1
1547#define GL_PROGRAM 0x82E2
1548#define GL_VERTEX_ARRAY 0x8074
1549#define GL_QUERY 0x82E3
1550#define GL_PROGRAM_PIPELINE 0x82E4
1551#define GL_SAMPLER 0x82E6
1552#define GL_MAX_LABEL_LENGTH 0x82E8
1553#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
1554#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
1555#define GL_DEBUG_LOGGED_MESSAGES 0x9145
1556#define GL_DEBUG_SEVERITY_HIGH 0x9146
1557#define GL_DEBUG_SEVERITY_MEDIUM 0x9147
1558#define GL_DEBUG_SEVERITY_LOW 0x9148
1559#define GL_DEBUG_OUTPUT 0x92E0
1560#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
1561#define GL_STACK_OVERFLOW 0x0503
1562#define GL_STACK_UNDERFLOW 0x0504
1563#define GL_GEOMETRY_SHADER 0x8DD9
1564#define GL_GEOMETRY_SHADER_BIT 0x00000004
1565#define GL_GEOMETRY_VERTICES_OUT 0x8916
1566#define GL_GEOMETRY_INPUT_TYPE 0x8917
1567#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
1568#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
1569#define GL_LAYER_PROVOKING_VERTEX 0x825E
1570#define GL_LINES_ADJACENCY 0x000A
1571#define GL_LINE_STRIP_ADJACENCY 0x000B
1572#define GL_TRIANGLES_ADJACENCY 0x000C
1573#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
1574#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
1575#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
1576#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
1577#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
1578#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
1579#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
1580#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
1581#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
1582#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
1583#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
1584#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5
1585#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
1586#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7
1587#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
1588#define GL_LAST_VERTEX_CONVENTION 0x8E4E
1589#define GL_UNDEFINED_VERTEX 0x8260
1590#define GL_PRIMITIVES_GENERATED 0x8C87
1591#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312
1592#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317
1593#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
1594#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
1595#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309
1596#define GL_PRIMITIVE_BOUNDING_BOX 0x92BE
1597#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004
1598#define GL_CONTEXT_FLAGS 0x821E
1599#define GL_LOSE_CONTEXT_ON_RESET 0x8252
1600#define GL_GUILTY_CONTEXT_RESET 0x8253
1601#define GL_INNOCENT_CONTEXT_RESET 0x8254
1602#define GL_UNKNOWN_CONTEXT_RESET 0x8255
1603#define GL_RESET_NOTIFICATION_STRATEGY 0x8256
1604#define GL_NO_RESET_NOTIFICATION 0x8261
1605#define GL_CONTEXT_LOST 0x0507
1606#define GL_SAMPLE_SHADING 0x8C36
1607#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37
1608#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
1609#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
1610#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
1611#define GL_PATCHES 0x000E
1612#define GL_PATCH_VERTICES 0x8E72
1613#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
1614#define GL_TESS_GEN_MODE 0x8E76
1615#define GL_TESS_GEN_SPACING 0x8E77
1616#define GL_TESS_GEN_VERTEX_ORDER 0x8E78
1617#define GL_TESS_GEN_POINT_MODE 0x8E79
1618#define GL_ISOLINES 0x8E7A
1619#define GL_QUADS 0x0007
1620#define GL_FRACTIONAL_ODD 0x8E7B
1621#define GL_FRACTIONAL_EVEN 0x8E7C
1622#define GL_MAX_PATCH_VERTICES 0x8E7D
1623#define GL_MAX_TESS_GEN_LEVEL 0x8E7E
1624#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
1625#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
1626#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
1627#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
1628#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
1629#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
1630#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
1631#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
1632#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
1633#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
1634#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
1635#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
1636#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
1637#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
1638#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
1639#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
1640#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
1641#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
1642#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
1643#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
1644#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8
1645#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9
1646#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221
1647#define GL_IS_PER_PATCH 0x92E7
1648#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307
1649#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308
1650#define GL_TESS_CONTROL_SHADER 0x8E88
1651#define GL_TESS_EVALUATION_SHADER 0x8E87
1652#define GL_TESS_CONTROL_SHADER_BIT 0x00000008
1653#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010
1654#define GL_TEXTURE_BORDER_COLOR 0x1004
1655#define GL_CLAMP_TO_BORDER 0x812D
1656#define GL_TEXTURE_BUFFER 0x8C2A
1657#define GL_TEXTURE_BUFFER_BINDING 0x8C2A
1658#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
1659#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
1660#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
1661#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F
1662#define GL_SAMPLER_BUFFER 0x8DC2
1663#define GL_INT_SAMPLER_BUFFER 0x8DD0
1664#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
1665#define GL_IMAGE_BUFFER 0x9051
1666#define GL_INT_IMAGE_BUFFER 0x905C
1667#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067
1668#define GL_TEXTURE_BUFFER_OFFSET 0x919D
1669#define GL_TEXTURE_BUFFER_SIZE 0x919E
1670#define GL_COMPRESSED_RGBA_ASTC_4x4 0x93B0
1671#define GL_COMPRESSED_RGBA_ASTC_5x4 0x93B1
1672#define GL_COMPRESSED_RGBA_ASTC_5x5 0x93B2
1673#define GL_COMPRESSED_RGBA_ASTC_6x5 0x93B3
1674#define GL_COMPRESSED_RGBA_ASTC_6x6 0x93B4
1675#define GL_COMPRESSED_RGBA_ASTC_8x5 0x93B5
1676#define GL_COMPRESSED_RGBA_ASTC_8x6 0x93B6
1677#define GL_COMPRESSED_RGBA_ASTC_8x8 0x93B7
1678#define GL_COMPRESSED_RGBA_ASTC_10x5 0x93B8
1679#define GL_COMPRESSED_RGBA_ASTC_10x6 0x93B9
1680#define GL_COMPRESSED_RGBA_ASTC_10x8 0x93BA
1681#define GL_COMPRESSED_RGBA_ASTC_10x10 0x93BB
1682#define GL_COMPRESSED_RGBA_ASTC_12x10 0x93BC
1683#define GL_COMPRESSED_RGBA_ASTC_12x12 0x93BD
1684#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 0x93D0
1685#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 0x93D1
1686#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 0x93D2
1687#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 0x93D3
1688#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 0x93D4
1689#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 0x93D5
1690#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 0x93D6
1691#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 0x93D7
1692#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 0x93D8
1693#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 0x93D9
1694#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 0x93DA
1695#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 0x93DB
1696#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 0x93DC
1697#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 0x93DD
1698#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
1699#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
1700#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
1701#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
1702#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
1703#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
1704#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054
1705#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F
1706#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
1707#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
1708#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
1709#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
1710#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
1711#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
1712typedef void (GL_APIENTRYP PFNGLBLENDBARRIERPROC) (void);
1713typedef void (GL_APIENTRYP PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
1714typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
1715typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
1716typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
1717typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
1718typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
1719typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC) (void);
1720typedef void (GL_APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
1721typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
1722typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label);
1723typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
1724typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
1725typedef void (GL_APIENTRYP PFNGLENABLEIPROC) (GLenum target, GLuint index);
1726typedef void (GL_APIENTRYP PFNGLDISABLEIPROC) (GLenum target, GLuint index);
1727typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);
1728typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1729typedef void (GL_APIENTRYP PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);
1730typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1731typedef void (GL_APIENTRYP PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
1732typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
1733typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1734typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1735typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
1736typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
1737typedef void (GL_APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
1738typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC) (void);
1739typedef void (GL_APIENTRYP PFNGLREADNPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1740typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
1741typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1742typedef void (GL_APIENTRYP PFNGLGETNUNIFORMUIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
1743typedef void (GL_APIENTRYP PFNGLMINSAMPLESHADINGPROC) (GLfloat value);
1744typedef void (GL_APIENTRYP PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);
1745typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
1746typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
1747typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
1748typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
1749typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
1750typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param);
1751typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params);
1752typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params);
1753typedef void (GL_APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);
1754typedef void (GL_APIENTRYP PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
1755typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
1756#if GL_GLES_PROTOTYPES
1757GL_APICALL void GL_APIENTRY glBlendBarrier (void);
1758GL_APICALL void GL_APIENTRY glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
1759GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
1760GL_APICALL void GL_APIENTRY glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
1761GL_APICALL void GL_APIENTRY glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam);
1762GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLog (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
1763GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
1764GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
1765GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
1766GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
1767GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
1768GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
1769GL_APICALL void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
1770GL_APICALL void GL_APIENTRY glEnablei (GLenum target, GLuint index);
1771GL_APICALL void GL_APIENTRY glDisablei (GLenum target, GLuint index);
1772GL_APICALL void GL_APIENTRY glBlendEquationi (GLuint buf, GLenum mode);
1773GL_APICALL void GL_APIENTRY glBlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1774GL_APICALL void GL_APIENTRY glBlendFunci (GLuint buf, GLenum src, GLenum dst);
1775GL_APICALL void GL_APIENTRY glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1776GL_APICALL void GL_APIENTRY glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
1777GL_APICALL GLboolean GL_APIENTRY glIsEnabledi (GLenum target, GLuint index);
1778GL_APICALL void GL_APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1779GL_APICALL void GL_APIENTRY glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1780GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
1781GL_APICALL void GL_APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level);
1782GL_APICALL void GL_APIENTRY glPrimitiveBoundingBox (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
1783GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatus (void);
1784GL_APICALL void GL_APIENTRY glReadnPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1785GL_APICALL void GL_APIENTRY glGetnUniformfv (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
1786GL_APICALL void GL_APIENTRY glGetnUniformiv (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1787GL_APICALL void GL_APIENTRY glGetnUniformuiv (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
1788GL_APICALL void GL_APIENTRY glMinSampleShading (GLfloat value);
1789GL_APICALL void GL_APIENTRY glPatchParameteri (GLenum pname, GLint value);
1790GL_APICALL void GL_APIENTRY glTexParameterIiv (GLenum target, GLenum pname, const GLint *params);
1791GL_APICALL void GL_APIENTRY glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params);
1792GL_APICALL void GL_APIENTRY glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params);
1793GL_APICALL void GL_APIENTRY glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params);
1794GL_APICALL void GL_APIENTRY glSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint *param);
1795GL_APICALL void GL_APIENTRY glSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint *param);
1796GL_APICALL void GL_APIENTRY glGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint *params);
1797GL_APICALL void GL_APIENTRY glGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint *params);
1798GL_APICALL void GL_APIENTRY glTexBuffer (GLenum target, GLenum internalformat, GLuint buffer);
1799GL_APICALL void GL_APIENTRY glTexBufferRange (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
1800GL_APICALL void GL_APIENTRY glTexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
1801#endif
1802#endif /* GL_ES_VERSION_3_2 */
1803
1804#ifdef __cplusplus
1805}
1806#endif
1807
1808#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl3platform.h b/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl3platform.h
new file mode 100644
index 0000000..8699212
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/GLES3/gl3platform.h
@@ -0,0 +1,27 @@
1#ifndef __gl3platform_h_
2#define __gl3platform_h_
3
4/*
5** Copyright 2017-2020 The Khronos Group Inc.
6** SPDX-License-Identifier: Apache-2.0
7*/
8
9/* Platform-specific types and definitions for OpenGL ES 3.X gl3.h
10 *
11 * Adopters may modify khrplatform.h and this file to suit their platform.
12 * Please contribute modifications back to Khronos as pull requests on the
13 * public github repository:
14 * https://github.com/KhronosGroup/OpenGL-Registry
15 */
16
17#include <KHR/khrplatform.h>
18
19#ifndef GL_APICALL
20#define GL_APICALL KHRONOS_APICALL
21#endif
22
23#ifndef GL_APIENTRY
24#define GL_APIENTRY KHRONOS_APIENTRY
25#endif
26
27#endif /* __gl3platform_h_ */
diff --git a/contrib/SDL-3.2.8/src/video/khronos/KHR/khrplatform.h b/contrib/SDL-3.2.8/src/video/khronos/KHR/khrplatform.h
new file mode 100644
index 0000000..0164644
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/KHR/khrplatform.h
@@ -0,0 +1,311 @@
1#ifndef __khrplatform_h_
2#define __khrplatform_h_
3
4/*
5** Copyright (c) 2008-2018 The Khronos Group Inc.
6**
7** Permission is hereby granted, free of charge, to any person obtaining a
8** copy of this software and/or associated documentation files (the
9** "Materials"), to deal in the Materials without restriction, including
10** without limitation the rights to use, copy, modify, merge, publish,
11** distribute, sublicense, and/or sell copies of the Materials, and to
12** permit persons to whom the Materials are furnished to do so, subject to
13** the following conditions:
14**
15** The above copyright notice and this permission notice shall be included
16** in all copies or substantial portions of the Materials.
17**
18** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
25*/
26
27/* Khronos platform-specific types and definitions.
28 *
29 * The master copy of khrplatform.h is maintained in the Khronos EGL
30 * Registry repository at https://github.com/KhronosGroup/EGL-Registry
31 * The last semantic modification to khrplatform.h was at commit ID:
32 * 67a3e0864c2d75ea5287b9f3d2eb74a745936692
33 *
34 * Adopters may modify this file to suit their platform. Adopters are
35 * encouraged to submit platform specific modifications to the Khronos
36 * group so that they can be included in future versions of this file.
37 * Please submit changes by filing pull requests or issues on
38 * the EGL Registry repository linked above.
39 *
40 *
41 * See the Implementer's Guidelines for information about where this file
42 * should be located on your system and for more details of its use:
43 * http://www.khronos.org/registry/implementers_guide.pdf
44 *
45 * This file should be included as
46 * #include <KHR/khrplatform.h>
47 * by Khronos client API header files that use its types and defines.
48 *
49 * The types in khrplatform.h should only be used to define API-specific types.
50 *
51 * Types defined in khrplatform.h:
52 * khronos_int8_t signed 8 bit
53 * khronos_uint8_t unsigned 8 bit
54 * khronos_int16_t signed 16 bit
55 * khronos_uint16_t unsigned 16 bit
56 * khronos_int32_t signed 32 bit
57 * khronos_uint32_t unsigned 32 bit
58 * khronos_int64_t signed 64 bit
59 * khronos_uint64_t unsigned 64 bit
60 * khronos_intptr_t signed same number of bits as a pointer
61 * khronos_uintptr_t unsigned same number of bits as a pointer
62 * khronos_ssize_t signed size
63 * khronos_usize_t unsigned size
64 * khronos_float_t signed 32 bit floating point
65 * khronos_time_ns_t unsigned 64 bit time in nanoseconds
66 * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
67 * nanoseconds
68 * khronos_stime_nanoseconds_t signed time interval in nanoseconds
69 * khronos_boolean_enum_t enumerated boolean type. This should
70 * only be used as a base type when a client API's boolean type is
71 * an enum. Client APIs which use an integer or other type for
72 * booleans cannot use this as the base type for their boolean.
73 *
74 * Tokens defined in khrplatform.h:
75 *
76 * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
77 *
78 * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
79 * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
80 *
81 * Calling convention macros defined in this file:
82 * KHRONOS_APICALL
83 * KHRONOS_APIENTRY
84 * KHRONOS_APIATTRIBUTES
85 *
86 * These may be used in function prototypes as:
87 *
88 * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
89 * int arg1,
90 * int arg2) KHRONOS_APIATTRIBUTES;
91 */
92
93#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
94# define KHRONOS_STATIC 1
95#endif
96
97/*-------------------------------------------------------------------------
98 * Definition of KHRONOS_APICALL
99 *-------------------------------------------------------------------------
100 * This precedes the return type of the function in the function prototype.
101 */
102#if defined(KHRONOS_STATIC)
103 /* If the preprocessor constant KHRONOS_STATIC is defined, make the
104 * header compatible with static linking. */
105# define KHRONOS_APICALL
106#elif defined(_WIN32)
107# define KHRONOS_APICALL __declspec(dllimport)
108#elif defined (__SYMBIAN32__)
109# define KHRONOS_APICALL IMPORT_C
110#elif defined(__ANDROID__)
111# define KHRONOS_APICALL __attribute__((visibility("default")))
112#else
113# define KHRONOS_APICALL
114#endif
115
116/*-------------------------------------------------------------------------
117 * Definition of KHRONOS_APIENTRY
118 *-------------------------------------------------------------------------
119 * This follows the return type of the function and precedes the function
120 * name in the function prototype.
121 */
122#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
123 /* Win32 but not WinCE */
124# define KHRONOS_APIENTRY __stdcall
125#else
126# define KHRONOS_APIENTRY
127#endif
128
129/*-------------------------------------------------------------------------
130 * Definition of KHRONOS_APIATTRIBUTES
131 *-------------------------------------------------------------------------
132 * This follows the closing parenthesis of the function prototype arguments.
133 */
134#if defined (__ARMCC_2__)
135#define KHRONOS_APIATTRIBUTES __softfp
136#else
137#define KHRONOS_APIATTRIBUTES
138#endif
139
140/*-------------------------------------------------------------------------
141 * basic type definitions
142 *-----------------------------------------------------------------------*/
143#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
144
145
146/*
147 * Using <stdint.h>
148 */
149#include <stdint.h>
150typedef int32_t khronos_int32_t;
151typedef uint32_t khronos_uint32_t;
152typedef int64_t khronos_int64_t;
153typedef uint64_t khronos_uint64_t;
154#define KHRONOS_SUPPORT_INT64 1
155#define KHRONOS_SUPPORT_FLOAT 1
156/*
157 * To support platform where unsigned long cannot be used interchangeably with
158 * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t.
159 * Ideally, we could just use (u)intptr_t everywhere, but this could result in
160 * ABI breakage if khronos_uintptr_t is changed from unsigned long to
161 * unsigned long long or similar (this results in different C++ name mangling).
162 * To avoid changes for existing platforms, we restrict usage of intptr_t to
163 * platforms where the size of a pointer is larger than the size of long.
164 */
165#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__)
166#if __SIZEOF_POINTER__ > __SIZEOF_LONG__
167#define KHRONOS_USE_INTPTR_T
168#endif
169#endif
170
171#elif defined(__VMS ) || defined(__sgi)
172
173/*
174 * Using <inttypes.h>
175 */
176#include <inttypes.h>
177typedef int32_t khronos_int32_t;
178typedef uint32_t khronos_uint32_t;
179typedef int64_t khronos_int64_t;
180typedef uint64_t khronos_uint64_t;
181#define KHRONOS_SUPPORT_INT64 1
182#define KHRONOS_SUPPORT_FLOAT 1
183
184#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
185
186/*
187 * Win32
188 */
189typedef __int32 khronos_int32_t;
190typedef unsigned __int32 khronos_uint32_t;
191typedef __int64 khronos_int64_t;
192typedef unsigned __int64 khronos_uint64_t;
193#define KHRONOS_SUPPORT_INT64 1
194#define KHRONOS_SUPPORT_FLOAT 1
195
196#elif defined(__sun__) || defined(__digital__)
197
198/*
199 * Sun or Digital
200 */
201typedef int khronos_int32_t;
202typedef unsigned int khronos_uint32_t;
203#if defined(__arch64__) || defined(_LP64)
204typedef long int khronos_int64_t;
205typedef unsigned long int khronos_uint64_t;
206#else
207typedef long long int khronos_int64_t;
208typedef unsigned long long int khronos_uint64_t;
209#endif /* __arch64__ */
210#define KHRONOS_SUPPORT_INT64 1
211#define KHRONOS_SUPPORT_FLOAT 1
212
213#elif 0
214
215/*
216 * Hypothetical platform with no float or int64 support
217 */
218typedef int khronos_int32_t;
219typedef unsigned int khronos_uint32_t;
220#define KHRONOS_SUPPORT_INT64 0
221#define KHRONOS_SUPPORT_FLOAT 0
222
223#else
224
225/*
226 * Generic fallback
227 */
228#include <stdint.h>
229typedef int32_t khronos_int32_t;
230typedef uint32_t khronos_uint32_t;
231typedef int64_t khronos_int64_t;
232typedef uint64_t khronos_uint64_t;
233#define KHRONOS_SUPPORT_INT64 1
234#define KHRONOS_SUPPORT_FLOAT 1
235
236#endif
237
238
239/*
240 * Types that are (so far) the same on all platforms
241 */
242typedef signed char khronos_int8_t;
243typedef unsigned char khronos_uint8_t;
244typedef signed short int khronos_int16_t;
245typedef unsigned short int khronos_uint16_t;
246
247/*
248 * Types that differ between LLP64 and LP64 architectures - in LLP64,
249 * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
250 * to be the only LLP64 architecture in current use.
251 */
252#ifdef KHRONOS_USE_INTPTR_T
253typedef intptr_t khronos_intptr_t;
254typedef uintptr_t khronos_uintptr_t;
255#elif defined(_WIN64)
256typedef signed long long int khronos_intptr_t;
257typedef unsigned long long int khronos_uintptr_t;
258#else
259typedef signed long int khronos_intptr_t;
260typedef unsigned long int khronos_uintptr_t;
261#endif
262
263#if defined(_WIN64)
264typedef signed long long int khronos_ssize_t;
265typedef unsigned long long int khronos_usize_t;
266#else
267typedef signed long int khronos_ssize_t;
268typedef unsigned long int khronos_usize_t;
269#endif
270
271#if KHRONOS_SUPPORT_FLOAT
272/*
273 * Float type
274 */
275typedef float khronos_float_t;
276#endif
277
278#if KHRONOS_SUPPORT_INT64
279/* Time types
280 *
281 * These types can be used to represent a time interval in nanoseconds or
282 * an absolute Unadjusted System Time. Unadjusted System Time is the number
283 * of nanoseconds since some arbitrary system event (e.g. since the last
284 * time the system booted). The Unadjusted System Time is an unsigned
285 * 64 bit value that wraps back to 0 every 584 years. Time intervals
286 * may be either signed or unsigned.
287 */
288typedef khronos_uint64_t khronos_utime_nanoseconds_t;
289typedef khronos_int64_t khronos_stime_nanoseconds_t;
290#endif
291
292/*
293 * Dummy value used to pad enum types to 32 bits.
294 */
295#ifndef KHRONOS_MAX_ENUM
296#define KHRONOS_MAX_ENUM 0x7FFFFFFF
297#endif
298
299/*
300 * Enumerated boolean type
301 *
302 * Values other than zero should be considered to be true. Therefore
303 * comparisons should not be made against KHRONOS_TRUE.
304 */
305typedef enum {
306 KHRONOS_FALSE = 0,
307 KHRONOS_TRUE = 1,
308 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
309} khronos_boolean_enum_t;
310
311#endif /* __khrplatform_h_ */
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std.h b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std.h
new file mode 100644
index 0000000..8ce283e
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std.h
@@ -0,0 +1,392 @@
1#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_
2#define VULKAN_VIDEO_CODEC_AV1STD_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// vulkan_video_codec_av1std is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codec_av1std 1
24#include "vulkan_video_codecs_common.h"
25#define STD_VIDEO_AV1_NUM_REF_FRAMES 8
26#define STD_VIDEO_AV1_REFS_PER_FRAME 7
27#define STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME 8
28#define STD_VIDEO_AV1_MAX_TILE_COLS 64
29#define STD_VIDEO_AV1_MAX_TILE_ROWS 64
30#define STD_VIDEO_AV1_MAX_SEGMENTS 8
31#define STD_VIDEO_AV1_SEG_LVL_MAX 8
32#define STD_VIDEO_AV1_PRIMARY_REF_NONE 7
33#define STD_VIDEO_AV1_SELECT_INTEGER_MV 2
34#define STD_VIDEO_AV1_SELECT_SCREEN_CONTENT_TOOLS 2
35#define STD_VIDEO_AV1_SKIP_MODE_FRAMES 2
36#define STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS 4
37#define STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS 2
38#define STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS 8
39#define STD_VIDEO_AV1_MAX_NUM_PLANES 3
40#define STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS 6
41#define STD_VIDEO_AV1_MAX_NUM_Y_POINTS 14
42#define STD_VIDEO_AV1_MAX_NUM_CB_POINTS 10
43#define STD_VIDEO_AV1_MAX_NUM_CR_POINTS 10
44#define STD_VIDEO_AV1_MAX_NUM_POS_LUMA 24
45#define STD_VIDEO_AV1_MAX_NUM_POS_CHROMA 25
46
47typedef enum StdVideoAV1Profile {
48 STD_VIDEO_AV1_PROFILE_MAIN = 0,
49 STD_VIDEO_AV1_PROFILE_HIGH = 1,
50 STD_VIDEO_AV1_PROFILE_PROFESSIONAL = 2,
51 STD_VIDEO_AV1_PROFILE_INVALID = 0x7FFFFFFF,
52 STD_VIDEO_AV1_PROFILE_MAX_ENUM = 0x7FFFFFFF
53} StdVideoAV1Profile;
54
55typedef enum StdVideoAV1Level {
56 STD_VIDEO_AV1_LEVEL_2_0 = 0,
57 STD_VIDEO_AV1_LEVEL_2_1 = 1,
58 STD_VIDEO_AV1_LEVEL_2_2 = 2,
59 STD_VIDEO_AV1_LEVEL_2_3 = 3,
60 STD_VIDEO_AV1_LEVEL_3_0 = 4,
61 STD_VIDEO_AV1_LEVEL_3_1 = 5,
62 STD_VIDEO_AV1_LEVEL_3_2 = 6,
63 STD_VIDEO_AV1_LEVEL_3_3 = 7,
64 STD_VIDEO_AV1_LEVEL_4_0 = 8,
65 STD_VIDEO_AV1_LEVEL_4_1 = 9,
66 STD_VIDEO_AV1_LEVEL_4_2 = 10,
67 STD_VIDEO_AV1_LEVEL_4_3 = 11,
68 STD_VIDEO_AV1_LEVEL_5_0 = 12,
69 STD_VIDEO_AV1_LEVEL_5_1 = 13,
70 STD_VIDEO_AV1_LEVEL_5_2 = 14,
71 STD_VIDEO_AV1_LEVEL_5_3 = 15,
72 STD_VIDEO_AV1_LEVEL_6_0 = 16,
73 STD_VIDEO_AV1_LEVEL_6_1 = 17,
74 STD_VIDEO_AV1_LEVEL_6_2 = 18,
75 STD_VIDEO_AV1_LEVEL_6_3 = 19,
76 STD_VIDEO_AV1_LEVEL_7_0 = 20,
77 STD_VIDEO_AV1_LEVEL_7_1 = 21,
78 STD_VIDEO_AV1_LEVEL_7_2 = 22,
79 STD_VIDEO_AV1_LEVEL_7_3 = 23,
80 STD_VIDEO_AV1_LEVEL_INVALID = 0x7FFFFFFF,
81 STD_VIDEO_AV1_LEVEL_MAX_ENUM = 0x7FFFFFFF
82} StdVideoAV1Level;
83
84typedef enum StdVideoAV1FrameType {
85 STD_VIDEO_AV1_FRAME_TYPE_KEY = 0,
86 STD_VIDEO_AV1_FRAME_TYPE_INTER = 1,
87 STD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY = 2,
88 STD_VIDEO_AV1_FRAME_TYPE_SWITCH = 3,
89 STD_VIDEO_AV1_FRAME_TYPE_INVALID = 0x7FFFFFFF,
90 STD_VIDEO_AV1_FRAME_TYPE_MAX_ENUM = 0x7FFFFFFF
91} StdVideoAV1FrameType;
92
93typedef enum StdVideoAV1ReferenceName {
94 STD_VIDEO_AV1_REFERENCE_NAME_INTRA_FRAME = 0,
95 STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME = 1,
96 STD_VIDEO_AV1_REFERENCE_NAME_LAST2_FRAME = 2,
97 STD_VIDEO_AV1_REFERENCE_NAME_LAST3_FRAME = 3,
98 STD_VIDEO_AV1_REFERENCE_NAME_GOLDEN_FRAME = 4,
99 STD_VIDEO_AV1_REFERENCE_NAME_BWDREF_FRAME = 5,
100 STD_VIDEO_AV1_REFERENCE_NAME_ALTREF2_FRAME = 6,
101 STD_VIDEO_AV1_REFERENCE_NAME_ALTREF_FRAME = 7,
102 STD_VIDEO_AV1_REFERENCE_NAME_INVALID = 0x7FFFFFFF,
103 STD_VIDEO_AV1_REFERENCE_NAME_MAX_ENUM = 0x7FFFFFFF
104} StdVideoAV1ReferenceName;
105
106typedef enum StdVideoAV1InterpolationFilter {
107 STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP = 0,
108 STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1,
109 STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP = 2,
110 STD_VIDEO_AV1_INTERPOLATION_FILTER_BILINEAR = 3,
111 STD_VIDEO_AV1_INTERPOLATION_FILTER_SWITCHABLE = 4,
112 STD_VIDEO_AV1_INTERPOLATION_FILTER_INVALID = 0x7FFFFFFF,
113 STD_VIDEO_AV1_INTERPOLATION_FILTER_MAX_ENUM = 0x7FFFFFFF
114} StdVideoAV1InterpolationFilter;
115
116typedef enum StdVideoAV1TxMode {
117 STD_VIDEO_AV1_TX_MODE_ONLY_4X4 = 0,
118 STD_VIDEO_AV1_TX_MODE_LARGEST = 1,
119 STD_VIDEO_AV1_TX_MODE_SELECT = 2,
120 STD_VIDEO_AV1_TX_MODE_INVALID = 0x7FFFFFFF,
121 STD_VIDEO_AV1_TX_MODE_MAX_ENUM = 0x7FFFFFFF
122} StdVideoAV1TxMode;
123
124typedef enum StdVideoAV1FrameRestorationType {
125 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_NONE = 0,
126 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER = 1,
127 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ = 2,
128 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SWITCHABLE = 3,
129 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_INVALID = 0x7FFFFFFF,
130 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_MAX_ENUM = 0x7FFFFFFF
131} StdVideoAV1FrameRestorationType;
132
133typedef enum StdVideoAV1ColorPrimaries {
134 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709 = 1,
135 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED = 2,
136 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M = 4,
137 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G = 5,
138 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601 = 6,
139 STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240 = 7,
140 STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM = 8,
141 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020 = 9,
142 STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ = 10,
143 STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431 = 11,
144 STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432 = 12,
145 STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213 = 22,
146 STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID = 0x7FFFFFFF,
147 STD_VIDEO_AV1_COLOR_PRIMARIES_MAX_ENUM = 0x7FFFFFFF
148} StdVideoAV1ColorPrimaries;
149
150typedef enum StdVideoAV1TransferCharacteristics {
151 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_0 = 0,
152 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_709 = 1,
153 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_UNSPECIFIED = 2,
154 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_3 = 3,
155 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_M = 4,
156 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_B_G = 5,
157 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_601 = 6,
158 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_240 = 7,
159 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LINEAR = 8,
160 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100 = 9,
161 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100_SQRT10 = 10,
162 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_IEC_61966 = 11,
163 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_1361 = 12,
164 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SRGB = 13,
165 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_10_BIT = 14,
166 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_12_BIT = 15,
167 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_2084 = 16,
168 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_428 = 17,
169 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_HLG = 18,
170 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_INVALID = 0x7FFFFFFF,
171 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_MAX_ENUM = 0x7FFFFFFF
172} StdVideoAV1TransferCharacteristics;
173
174typedef enum StdVideoAV1MatrixCoefficients {
175 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_IDENTITY = 0,
176 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_709 = 1,
177 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_UNSPECIFIED = 2,
178 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_RESERVED_3 = 3,
179 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_FCC = 4,
180 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_470_B_G = 5,
181 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_601 = 6,
182 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_240 = 7,
183 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_YCGCO = 8,
184 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_NCL = 9,
185 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_CL = 10,
186 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_2085 = 11,
187 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_NCL = 12,
188 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_CL = 13,
189 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_ICTCP = 14,
190 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_INVALID = 0x7FFFFFFF,
191 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_MAX_ENUM = 0x7FFFFFFF
192} StdVideoAV1MatrixCoefficients;
193
194typedef enum StdVideoAV1ChromaSamplePosition {
195 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_UNKNOWN = 0,
196 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_VERTICAL = 1,
197 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_COLOCATED = 2,
198 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED = 3,
199 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID = 0x7FFFFFFF,
200 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_MAX_ENUM = 0x7FFFFFFF
201} StdVideoAV1ChromaSamplePosition;
202typedef struct StdVideoAV1ColorConfigFlags {
203 uint32_t mono_chrome : 1;
204 uint32_t color_range : 1;
205 uint32_t separate_uv_delta_q : 1;
206 uint32_t color_description_present_flag : 1;
207 uint32_t reserved : 28;
208} StdVideoAV1ColorConfigFlags;
209
210typedef struct StdVideoAV1ColorConfig {
211 StdVideoAV1ColorConfigFlags flags;
212 uint8_t BitDepth;
213 uint8_t subsampling_x;
214 uint8_t subsampling_y;
215 uint8_t reserved1;
216 StdVideoAV1ColorPrimaries color_primaries;
217 StdVideoAV1TransferCharacteristics transfer_characteristics;
218 StdVideoAV1MatrixCoefficients matrix_coefficients;
219 StdVideoAV1ChromaSamplePosition chroma_sample_position;
220} StdVideoAV1ColorConfig;
221
222typedef struct StdVideoAV1TimingInfoFlags {
223 uint32_t equal_picture_interval : 1;
224 uint32_t reserved : 31;
225} StdVideoAV1TimingInfoFlags;
226
227typedef struct StdVideoAV1TimingInfo {
228 StdVideoAV1TimingInfoFlags flags;
229 uint32_t num_units_in_display_tick;
230 uint32_t time_scale;
231 uint32_t num_ticks_per_picture_minus_1;
232} StdVideoAV1TimingInfo;
233
234typedef struct StdVideoAV1LoopFilterFlags {
235 uint32_t loop_filter_delta_enabled : 1;
236 uint32_t loop_filter_delta_update : 1;
237 uint32_t reserved : 30;
238} StdVideoAV1LoopFilterFlags;
239
240typedef struct StdVideoAV1LoopFilter {
241 StdVideoAV1LoopFilterFlags flags;
242 uint8_t loop_filter_level[STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS];
243 uint8_t loop_filter_sharpness;
244 uint8_t update_ref_delta;
245 int8_t loop_filter_ref_deltas[STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME];
246 uint8_t update_mode_delta;
247 int8_t loop_filter_mode_deltas[STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS];
248} StdVideoAV1LoopFilter;
249
250typedef struct StdVideoAV1QuantizationFlags {
251 uint32_t using_qmatrix : 1;
252 uint32_t diff_uv_delta : 1;
253 uint32_t reserved : 30;
254} StdVideoAV1QuantizationFlags;
255
256typedef struct StdVideoAV1Quantization {
257 StdVideoAV1QuantizationFlags flags;
258 uint8_t base_q_idx;
259 int8_t DeltaQYDc;
260 int8_t DeltaQUDc;
261 int8_t DeltaQUAc;
262 int8_t DeltaQVDc;
263 int8_t DeltaQVAc;
264 uint8_t qm_y;
265 uint8_t qm_u;
266 uint8_t qm_v;
267} StdVideoAV1Quantization;
268
269typedef struct StdVideoAV1Segmentation {
270 uint8_t FeatureEnabled[STD_VIDEO_AV1_MAX_SEGMENTS];
271 int16_t FeatureData[STD_VIDEO_AV1_MAX_SEGMENTS][STD_VIDEO_AV1_SEG_LVL_MAX];
272} StdVideoAV1Segmentation;
273
274typedef struct StdVideoAV1TileInfoFlags {
275 uint32_t uniform_tile_spacing_flag : 1;
276 uint32_t reserved : 31;
277} StdVideoAV1TileInfoFlags;
278
279typedef struct StdVideoAV1TileInfo {
280 StdVideoAV1TileInfoFlags flags;
281 uint8_t TileCols;
282 uint8_t TileRows;
283 uint16_t context_update_tile_id;
284 uint8_t tile_size_bytes_minus_1;
285 uint8_t reserved1[7];
286 const uint16_t* pMiColStarts;
287 const uint16_t* pMiRowStarts;
288 const uint16_t* pWidthInSbsMinus1;
289 const uint16_t* pHeightInSbsMinus1;
290} StdVideoAV1TileInfo;
291
292typedef struct StdVideoAV1CDEF {
293 uint8_t cdef_damping_minus_3;
294 uint8_t cdef_bits;
295 uint8_t cdef_y_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
296 uint8_t cdef_y_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
297 uint8_t cdef_uv_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
298 uint8_t cdef_uv_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
299} StdVideoAV1CDEF;
300
301typedef struct StdVideoAV1LoopRestoration {
302 StdVideoAV1FrameRestorationType FrameRestorationType[STD_VIDEO_AV1_MAX_NUM_PLANES];
303 uint16_t LoopRestorationSize[STD_VIDEO_AV1_MAX_NUM_PLANES];
304} StdVideoAV1LoopRestoration;
305
306typedef struct StdVideoAV1GlobalMotion {
307 uint8_t GmType[STD_VIDEO_AV1_NUM_REF_FRAMES];
308 int32_t gm_params[STD_VIDEO_AV1_NUM_REF_FRAMES][STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS];
309} StdVideoAV1GlobalMotion;
310
311typedef struct StdVideoAV1FilmGrainFlags {
312 uint32_t chroma_scaling_from_luma : 1;
313 uint32_t overlap_flag : 1;
314 uint32_t clip_to_restricted_range : 1;
315 uint32_t update_grain : 1;
316 uint32_t reserved : 28;
317} StdVideoAV1FilmGrainFlags;
318
319typedef struct StdVideoAV1FilmGrain {
320 StdVideoAV1FilmGrainFlags flags;
321 uint8_t grain_scaling_minus_8;
322 uint8_t ar_coeff_lag;
323 uint8_t ar_coeff_shift_minus_6;
324 uint8_t grain_scale_shift;
325 uint16_t grain_seed;
326 uint8_t film_grain_params_ref_idx;
327 uint8_t num_y_points;
328 uint8_t point_y_value[STD_VIDEO_AV1_MAX_NUM_Y_POINTS];
329 uint8_t point_y_scaling[STD_VIDEO_AV1_MAX_NUM_Y_POINTS];
330 uint8_t num_cb_points;
331 uint8_t point_cb_value[STD_VIDEO_AV1_MAX_NUM_CB_POINTS];
332 uint8_t point_cb_scaling[STD_VIDEO_AV1_MAX_NUM_CB_POINTS];
333 uint8_t num_cr_points;
334 uint8_t point_cr_value[STD_VIDEO_AV1_MAX_NUM_CR_POINTS];
335 uint8_t point_cr_scaling[STD_VIDEO_AV1_MAX_NUM_CR_POINTS];
336 int8_t ar_coeffs_y_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_LUMA];
337 int8_t ar_coeffs_cb_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA];
338 int8_t ar_coeffs_cr_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA];
339 uint8_t cb_mult;
340 uint8_t cb_luma_mult;
341 uint16_t cb_offset;
342 uint8_t cr_mult;
343 uint8_t cr_luma_mult;
344 uint16_t cr_offset;
345} StdVideoAV1FilmGrain;
346
347typedef struct StdVideoAV1SequenceHeaderFlags {
348 uint32_t still_picture : 1;
349 uint32_t reduced_still_picture_header : 1;
350 uint32_t use_128x128_superblock : 1;
351 uint32_t enable_filter_intra : 1;
352 uint32_t enable_intra_edge_filter : 1;
353 uint32_t enable_interintra_compound : 1;
354 uint32_t enable_masked_compound : 1;
355 uint32_t enable_warped_motion : 1;
356 uint32_t enable_dual_filter : 1;
357 uint32_t enable_order_hint : 1;
358 uint32_t enable_jnt_comp : 1;
359 uint32_t enable_ref_frame_mvs : 1;
360 uint32_t frame_id_numbers_present_flag : 1;
361 uint32_t enable_superres : 1;
362 uint32_t enable_cdef : 1;
363 uint32_t enable_restoration : 1;
364 uint32_t film_grain_params_present : 1;
365 uint32_t timing_info_present_flag : 1;
366 uint32_t initial_display_delay_present_flag : 1;
367 uint32_t reserved : 13;
368} StdVideoAV1SequenceHeaderFlags;
369
370typedef struct StdVideoAV1SequenceHeader {
371 StdVideoAV1SequenceHeaderFlags flags;
372 StdVideoAV1Profile seq_profile;
373 uint8_t frame_width_bits_minus_1;
374 uint8_t frame_height_bits_minus_1;
375 uint16_t max_frame_width_minus_1;
376 uint16_t max_frame_height_minus_1;
377 uint8_t delta_frame_id_length_minus_2;
378 uint8_t additional_frame_id_length_minus_1;
379 uint8_t order_hint_bits_minus_1;
380 uint8_t seq_force_integer_mv;
381 uint8_t seq_force_screen_content_tools;
382 uint8_t reserved1[5];
383 const StdVideoAV1ColorConfig* pColorConfig;
384 const StdVideoAV1TimingInfo* pTimingInfo;
385} StdVideoAV1SequenceHeader;
386
387
388#ifdef __cplusplus
389}
390#endif
391
392#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std_decode.h b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std_decode.h
new file mode 100644
index 0000000..6b8130c
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_av1std_decode.h
@@ -0,0 +1,109 @@
1#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_
2#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_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// vulkan_video_codec_av1std_decode is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codec_av1std_decode 1
24#include "vulkan_video_codec_av1std.h"
25
26#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
27
28#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0
29#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_av1_decode"
30typedef struct StdVideoDecodeAV1PictureInfoFlags {
31 uint32_t error_resilient_mode : 1;
32 uint32_t disable_cdf_update : 1;
33 uint32_t use_superres : 1;
34 uint32_t render_and_frame_size_different : 1;
35 uint32_t allow_screen_content_tools : 1;
36 uint32_t is_filter_switchable : 1;
37 uint32_t force_integer_mv : 1;
38 uint32_t frame_size_override_flag : 1;
39 uint32_t buffer_removal_time_present_flag : 1;
40 uint32_t allow_intrabc : 1;
41 uint32_t frame_refs_short_signaling : 1;
42 uint32_t allow_high_precision_mv : 1;
43 uint32_t is_motion_mode_switchable : 1;
44 uint32_t use_ref_frame_mvs : 1;
45 uint32_t disable_frame_end_update_cdf : 1;
46 uint32_t allow_warped_motion : 1;
47 uint32_t reduced_tx_set : 1;
48 uint32_t reference_select : 1;
49 uint32_t skip_mode_present : 1;
50 uint32_t delta_q_present : 1;
51 uint32_t delta_lf_present : 1;
52 uint32_t delta_lf_multi : 1;
53 uint32_t segmentation_enabled : 1;
54 uint32_t segmentation_update_map : 1;
55 uint32_t segmentation_temporal_update : 1;
56 uint32_t segmentation_update_data : 1;
57 uint32_t UsesLr : 1;
58 uint32_t usesChromaLr : 1;
59 uint32_t apply_grain : 1;
60 uint32_t reserved : 3;
61} StdVideoDecodeAV1PictureInfoFlags;
62
63typedef struct StdVideoDecodeAV1PictureInfo {
64 StdVideoDecodeAV1PictureInfoFlags flags;
65 StdVideoAV1FrameType frame_type;
66 uint32_t current_frame_id;
67 uint8_t OrderHint;
68 uint8_t primary_ref_frame;
69 uint8_t refresh_frame_flags;
70 uint8_t reserved1;
71 StdVideoAV1InterpolationFilter interpolation_filter;
72 StdVideoAV1TxMode TxMode;
73 uint8_t delta_q_res;
74 uint8_t delta_lf_res;
75 uint8_t SkipModeFrame[STD_VIDEO_AV1_SKIP_MODE_FRAMES];
76 uint8_t coded_denom;
77 uint8_t reserved2[3];
78 uint8_t OrderHints[STD_VIDEO_AV1_NUM_REF_FRAMES];
79 uint32_t expectedFrameId[STD_VIDEO_AV1_NUM_REF_FRAMES];
80 const StdVideoAV1TileInfo* pTileInfo;
81 const StdVideoAV1Quantization* pQuantization;
82 const StdVideoAV1Segmentation* pSegmentation;
83 const StdVideoAV1LoopFilter* pLoopFilter;
84 const StdVideoAV1CDEF* pCDEF;
85 const StdVideoAV1LoopRestoration* pLoopRestoration;
86 const StdVideoAV1GlobalMotion* pGlobalMotion;
87 const StdVideoAV1FilmGrain* pFilmGrain;
88} StdVideoDecodeAV1PictureInfo;
89
90typedef struct StdVideoDecodeAV1ReferenceInfoFlags {
91 uint32_t disable_frame_end_update_cdf : 1;
92 uint32_t segmentation_enabled : 1;
93 uint32_t reserved : 30;
94} StdVideoDecodeAV1ReferenceInfoFlags;
95
96typedef struct StdVideoDecodeAV1ReferenceInfo {
97 StdVideoDecodeAV1ReferenceInfoFlags flags;
98 uint8_t frame_type;
99 uint8_t RefFrameSignBias;
100 uint8_t OrderHint;
101 uint8_t SavedOrderHints[STD_VIDEO_AV1_NUM_REF_FRAMES];
102} StdVideoDecodeAV1ReferenceInfo;
103
104
105#ifdef __cplusplus
106}
107#endif
108
109#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std.h b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std.h
new file mode 100644
index 0000000..6d27af3
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std.h
@@ -0,0 +1,312 @@
1#ifndef VULKAN_VIDEO_CODEC_H264STD_H_
2#define VULKAN_VIDEO_CODEC_H264STD_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// vulkan_video_codec_h264std is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codec_h264std 1
24#include "vulkan_video_codecs_common.h"
25#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
26#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
27#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
28#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 6
29#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64
30#define STD_VIDEO_H264_MAX_NUM_LIST_REF 32
31#define STD_VIDEO_H264_MAX_CHROMA_PLANES 2
32#define STD_VIDEO_H264_NO_REFERENCE_PICTURE 0xFF
33
34typedef enum StdVideoH264ChromaFormatIdc {
35 STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0,
36 STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1,
37 STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2,
38 STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3,
39 STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
40 STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
41} StdVideoH264ChromaFormatIdc;
42
43typedef enum StdVideoH264ProfileIdc {
44 STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66,
45 STD_VIDEO_H264_PROFILE_IDC_MAIN = 77,
46 STD_VIDEO_H264_PROFILE_IDC_HIGH = 100,
47 STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244,
48 STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF,
49 STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
50} StdVideoH264ProfileIdc;
51
52typedef enum StdVideoH264LevelIdc {
53 STD_VIDEO_H264_LEVEL_IDC_1_0 = 0,
54 STD_VIDEO_H264_LEVEL_IDC_1_1 = 1,
55 STD_VIDEO_H264_LEVEL_IDC_1_2 = 2,
56 STD_VIDEO_H264_LEVEL_IDC_1_3 = 3,
57 STD_VIDEO_H264_LEVEL_IDC_2_0 = 4,
58 STD_VIDEO_H264_LEVEL_IDC_2_1 = 5,
59 STD_VIDEO_H264_LEVEL_IDC_2_2 = 6,
60 STD_VIDEO_H264_LEVEL_IDC_3_0 = 7,
61 STD_VIDEO_H264_LEVEL_IDC_3_1 = 8,
62 STD_VIDEO_H264_LEVEL_IDC_3_2 = 9,
63 STD_VIDEO_H264_LEVEL_IDC_4_0 = 10,
64 STD_VIDEO_H264_LEVEL_IDC_4_1 = 11,
65 STD_VIDEO_H264_LEVEL_IDC_4_2 = 12,
66 STD_VIDEO_H264_LEVEL_IDC_5_0 = 13,
67 STD_VIDEO_H264_LEVEL_IDC_5_1 = 14,
68 STD_VIDEO_H264_LEVEL_IDC_5_2 = 15,
69 STD_VIDEO_H264_LEVEL_IDC_6_0 = 16,
70 STD_VIDEO_H264_LEVEL_IDC_6_1 = 17,
71 STD_VIDEO_H264_LEVEL_IDC_6_2 = 18,
72 STD_VIDEO_H264_LEVEL_IDC_INVALID = 0x7FFFFFFF,
73 STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF
74} StdVideoH264LevelIdc;
75
76typedef enum StdVideoH264PocType {
77 STD_VIDEO_H264_POC_TYPE_0 = 0,
78 STD_VIDEO_H264_POC_TYPE_1 = 1,
79 STD_VIDEO_H264_POC_TYPE_2 = 2,
80 STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF,
81 STD_VIDEO_H264_POC_TYPE_MAX_ENUM = 0x7FFFFFFF
82} StdVideoH264PocType;
83
84typedef enum StdVideoH264AspectRatioIdc {
85 STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0,
86 STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1,
87 STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2,
88 STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3,
89 STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4,
90 STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5,
91 STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6,
92 STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7,
93 STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8,
94 STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9,
95 STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10,
96 STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11,
97 STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12,
98 STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13,
99 STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14,
100 STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15,
101 STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16,
102 STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
103 STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
104 STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF
105} StdVideoH264AspectRatioIdc;
106
107typedef enum StdVideoH264WeightedBipredIdc {
108 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0,
109 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1,
110 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2,
111 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF,
112 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM = 0x7FFFFFFF
113} StdVideoH264WeightedBipredIdc;
114
115typedef enum StdVideoH264ModificationOfPicNumsIdc {
116 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0,
117 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1,
118 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2,
119 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3,
120 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF,
121 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM = 0x7FFFFFFF
122} StdVideoH264ModificationOfPicNumsIdc;
123
124typedef enum StdVideoH264MemMgmtControlOp {
125 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0,
126 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1,
127 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2,
128 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3,
129 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4,
130 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5,
131 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6,
132 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF,
133 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM = 0x7FFFFFFF
134} StdVideoH264MemMgmtControlOp;
135
136typedef enum StdVideoH264CabacInitIdc {
137 STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0,
138 STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1,
139 STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2,
140 STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF,
141 STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM = 0x7FFFFFFF
142} StdVideoH264CabacInitIdc;
143
144typedef enum StdVideoH264DisableDeblockingFilterIdc {
145 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0,
146 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1,
147 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2,
148 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF,
149 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM = 0x7FFFFFFF
150} StdVideoH264DisableDeblockingFilterIdc;
151
152typedef enum StdVideoH264SliceType {
153 STD_VIDEO_H264_SLICE_TYPE_P = 0,
154 STD_VIDEO_H264_SLICE_TYPE_B = 1,
155 STD_VIDEO_H264_SLICE_TYPE_I = 2,
156 STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF,
157 STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
158} StdVideoH264SliceType;
159
160typedef enum StdVideoH264PictureType {
161 STD_VIDEO_H264_PICTURE_TYPE_P = 0,
162 STD_VIDEO_H264_PICTURE_TYPE_B = 1,
163 STD_VIDEO_H264_PICTURE_TYPE_I = 2,
164 STD_VIDEO_H264_PICTURE_TYPE_IDR = 5,
165 STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
166 STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
167} StdVideoH264PictureType;
168
169typedef enum StdVideoH264NonVclNaluType {
170 STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0,
171 STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1,
172 STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2,
173 STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3,
174 STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4,
175 STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5,
176 STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6,
177 STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF,
178 STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM = 0x7FFFFFFF
179} StdVideoH264NonVclNaluType;
180typedef struct StdVideoH264SpsVuiFlags {
181 uint32_t aspect_ratio_info_present_flag : 1;
182 uint32_t overscan_info_present_flag : 1;
183 uint32_t overscan_appropriate_flag : 1;
184 uint32_t video_signal_type_present_flag : 1;
185 uint32_t video_full_range_flag : 1;
186 uint32_t color_description_present_flag : 1;
187 uint32_t chroma_loc_info_present_flag : 1;
188 uint32_t timing_info_present_flag : 1;
189 uint32_t fixed_frame_rate_flag : 1;
190 uint32_t bitstream_restriction_flag : 1;
191 uint32_t nal_hrd_parameters_present_flag : 1;
192 uint32_t vcl_hrd_parameters_present_flag : 1;
193} StdVideoH264SpsVuiFlags;
194
195typedef struct StdVideoH264HrdParameters {
196 uint8_t cpb_cnt_minus1;
197 uint8_t bit_rate_scale;
198 uint8_t cpb_size_scale;
199 uint8_t reserved1;
200 uint32_t bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
201 uint32_t cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
202 uint8_t cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
203 uint32_t initial_cpb_removal_delay_length_minus1;
204 uint32_t cpb_removal_delay_length_minus1;
205 uint32_t dpb_output_delay_length_minus1;
206 uint32_t time_offset_length;
207} StdVideoH264HrdParameters;
208
209typedef struct StdVideoH264SequenceParameterSetVui {
210 StdVideoH264SpsVuiFlags flags;
211 StdVideoH264AspectRatioIdc aspect_ratio_idc;
212 uint16_t sar_width;
213 uint16_t sar_height;
214 uint8_t video_format;
215 uint8_t colour_primaries;
216 uint8_t transfer_characteristics;
217 uint8_t matrix_coefficients;
218 uint32_t num_units_in_tick;
219 uint32_t time_scale;
220 uint8_t max_num_reorder_frames;
221 uint8_t max_dec_frame_buffering;
222 uint8_t chroma_sample_loc_type_top_field;
223 uint8_t chroma_sample_loc_type_bottom_field;
224 uint32_t reserved1;
225 const StdVideoH264HrdParameters* pHrdParameters;
226} StdVideoH264SequenceParameterSetVui;
227
228typedef struct StdVideoH264SpsFlags {
229 uint32_t constraint_set0_flag : 1;
230 uint32_t constraint_set1_flag : 1;
231 uint32_t constraint_set2_flag : 1;
232 uint32_t constraint_set3_flag : 1;
233 uint32_t constraint_set4_flag : 1;
234 uint32_t constraint_set5_flag : 1;
235 uint32_t direct_8x8_inference_flag : 1;
236 uint32_t mb_adaptive_frame_field_flag : 1;
237 uint32_t frame_mbs_only_flag : 1;
238 uint32_t delta_pic_order_always_zero_flag : 1;
239 uint32_t separate_colour_plane_flag : 1;
240 uint32_t gaps_in_frame_num_value_allowed_flag : 1;
241 uint32_t qpprime_y_zero_transform_bypass_flag : 1;
242 uint32_t frame_cropping_flag : 1;
243 uint32_t seq_scaling_matrix_present_flag : 1;
244 uint32_t vui_parameters_present_flag : 1;
245} StdVideoH264SpsFlags;
246
247typedef struct StdVideoH264ScalingLists {
248 uint16_t scaling_list_present_mask;
249 uint16_t use_default_scaling_matrix_mask;
250 uint8_t ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
251 uint8_t ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
252} StdVideoH264ScalingLists;
253
254typedef struct StdVideoH264SequenceParameterSet {
255 StdVideoH264SpsFlags flags;
256 StdVideoH264ProfileIdc profile_idc;
257 StdVideoH264LevelIdc level_idc;
258 StdVideoH264ChromaFormatIdc chroma_format_idc;
259 uint8_t seq_parameter_set_id;
260 uint8_t bit_depth_luma_minus8;
261 uint8_t bit_depth_chroma_minus8;
262 uint8_t log2_max_frame_num_minus4;
263 StdVideoH264PocType pic_order_cnt_type;
264 int32_t offset_for_non_ref_pic;
265 int32_t offset_for_top_to_bottom_field;
266 uint8_t log2_max_pic_order_cnt_lsb_minus4;
267 uint8_t num_ref_frames_in_pic_order_cnt_cycle;
268 uint8_t max_num_ref_frames;
269 uint8_t reserved1;
270 uint32_t pic_width_in_mbs_minus1;
271 uint32_t pic_height_in_map_units_minus1;
272 uint32_t frame_crop_left_offset;
273 uint32_t frame_crop_right_offset;
274 uint32_t frame_crop_top_offset;
275 uint32_t frame_crop_bottom_offset;
276 uint32_t reserved2;
277 const int32_t* pOffsetForRefFrame;
278 const StdVideoH264ScalingLists* pScalingLists;
279 const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui;
280} StdVideoH264SequenceParameterSet;
281
282typedef struct StdVideoH264PpsFlags {
283 uint32_t transform_8x8_mode_flag : 1;
284 uint32_t redundant_pic_cnt_present_flag : 1;
285 uint32_t constrained_intra_pred_flag : 1;
286 uint32_t deblocking_filter_control_present_flag : 1;
287 uint32_t weighted_pred_flag : 1;
288 uint32_t bottom_field_pic_order_in_frame_present_flag : 1;
289 uint32_t entropy_coding_mode_flag : 1;
290 uint32_t pic_scaling_matrix_present_flag : 1;
291} StdVideoH264PpsFlags;
292
293typedef struct StdVideoH264PictureParameterSet {
294 StdVideoH264PpsFlags flags;
295 uint8_t seq_parameter_set_id;
296 uint8_t pic_parameter_set_id;
297 uint8_t num_ref_idx_l0_default_active_minus1;
298 uint8_t num_ref_idx_l1_default_active_minus1;
299 StdVideoH264WeightedBipredIdc weighted_bipred_idc;
300 int8_t pic_init_qp_minus26;
301 int8_t pic_init_qs_minus26;
302 int8_t chroma_qp_index_offset;
303 int8_t second_chroma_qp_index_offset;
304 const StdVideoH264ScalingLists* pScalingLists;
305} StdVideoH264PictureParameterSet;
306
307
308#ifdef __cplusplus
309}
310#endif
311
312#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std_decode.h b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std_decode.h
new file mode 100644
index 0000000..439cb88
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std_decode.h
@@ -0,0 +1,77 @@
1#ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
2#define VULKAN_VIDEO_CODEC_H264STD_DECODE_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// vulkan_video_codec_h264std_decode is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codec_h264std_decode 1
24#include "vulkan_video_codec_h264std.h"
25
26#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
27
28#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0
29#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
30#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
31
32typedef enum StdVideoDecodeH264FieldOrderCount {
33 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
34 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
35 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
36 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF
37} StdVideoDecodeH264FieldOrderCount;
38typedef struct StdVideoDecodeH264PictureInfoFlags {
39 uint32_t field_pic_flag : 1;
40 uint32_t is_intra : 1;
41 uint32_t IdrPicFlag : 1;
42 uint32_t bottom_field_flag : 1;
43 uint32_t is_reference : 1;
44 uint32_t complementary_field_pair : 1;
45} StdVideoDecodeH264PictureInfoFlags;
46
47typedef struct StdVideoDecodeH264PictureInfo {
48 StdVideoDecodeH264PictureInfoFlags flags;
49 uint8_t seq_parameter_set_id;
50 uint8_t pic_parameter_set_id;
51 uint8_t reserved1;
52 uint8_t reserved2;
53 uint16_t frame_num;
54 uint16_t idr_pic_id;
55 int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
56} StdVideoDecodeH264PictureInfo;
57
58typedef struct StdVideoDecodeH264ReferenceInfoFlags {
59 uint32_t top_field_flag : 1;
60 uint32_t bottom_field_flag : 1;
61 uint32_t used_for_long_term_reference : 1;
62 uint32_t is_non_existing : 1;
63} StdVideoDecodeH264ReferenceInfoFlags;
64
65typedef struct StdVideoDecodeH264ReferenceInfo {
66 StdVideoDecodeH264ReferenceInfoFlags flags;
67 uint16_t FrameNum;
68 uint16_t reserved;
69 int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
70} StdVideoDecodeH264ReferenceInfo;
71
72
73#ifdef __cplusplus
74}
75#endif
76
77#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std_encode.h b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std_encode.h
new file mode 100644
index 0000000..9e24aa5
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h264std_encode.h
@@ -0,0 +1,147 @@
1#ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
2#define VULKAN_VIDEO_CODEC_H264STD_ENCODE_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// vulkan_video_codec_h264std_encode is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codec_h264std_encode 1
24#include "vulkan_video_codec_h264std.h"
25
26#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
27
28#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0
29#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode"
30typedef struct StdVideoEncodeH264WeightTableFlags {
31 uint32_t luma_weight_l0_flag;
32 uint32_t chroma_weight_l0_flag;
33 uint32_t luma_weight_l1_flag;
34 uint32_t chroma_weight_l1_flag;
35} StdVideoEncodeH264WeightTableFlags;
36
37typedef struct StdVideoEncodeH264WeightTable {
38 StdVideoEncodeH264WeightTableFlags flags;
39 uint8_t luma_log2_weight_denom;
40 uint8_t chroma_log2_weight_denom;
41 int8_t luma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF];
42 int8_t luma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF];
43 int8_t chroma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
44 int8_t chroma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
45 int8_t luma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF];
46 int8_t luma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF];
47 int8_t chroma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
48 int8_t chroma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
49} StdVideoEncodeH264WeightTable;
50
51typedef struct StdVideoEncodeH264SliceHeaderFlags {
52 uint32_t direct_spatial_mv_pred_flag : 1;
53 uint32_t num_ref_idx_active_override_flag : 1;
54 uint32_t reserved : 30;
55} StdVideoEncodeH264SliceHeaderFlags;
56
57typedef struct StdVideoEncodeH264PictureInfoFlags {
58 uint32_t IdrPicFlag : 1;
59 uint32_t is_reference : 1;
60 uint32_t no_output_of_prior_pics_flag : 1;
61 uint32_t long_term_reference_flag : 1;
62 uint32_t adaptive_ref_pic_marking_mode_flag : 1;
63 uint32_t reserved : 27;
64} StdVideoEncodeH264PictureInfoFlags;
65
66typedef struct StdVideoEncodeH264ReferenceInfoFlags {
67 uint32_t used_for_long_term_reference : 1;
68 uint32_t reserved : 31;
69} StdVideoEncodeH264ReferenceInfoFlags;
70
71typedef struct StdVideoEncodeH264ReferenceListsInfoFlags {
72 uint32_t ref_pic_list_modification_flag_l0 : 1;
73 uint32_t ref_pic_list_modification_flag_l1 : 1;
74 uint32_t reserved : 30;
75} StdVideoEncodeH264ReferenceListsInfoFlags;
76
77typedef struct StdVideoEncodeH264RefListModEntry {
78 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
79 uint16_t abs_diff_pic_num_minus1;
80 uint16_t long_term_pic_num;
81} StdVideoEncodeH264RefListModEntry;
82
83typedef struct StdVideoEncodeH264RefPicMarkingEntry {
84 StdVideoH264MemMgmtControlOp memory_management_control_operation;
85 uint16_t difference_of_pic_nums_minus1;
86 uint16_t long_term_pic_num;
87 uint16_t long_term_frame_idx;
88 uint16_t max_long_term_frame_idx_plus1;
89} StdVideoEncodeH264RefPicMarkingEntry;
90
91typedef struct StdVideoEncodeH264ReferenceListsInfo {
92 StdVideoEncodeH264ReferenceListsInfoFlags flags;
93 uint8_t num_ref_idx_l0_active_minus1;
94 uint8_t num_ref_idx_l1_active_minus1;
95 uint8_t RefPicList0[STD_VIDEO_H264_MAX_NUM_LIST_REF];
96 uint8_t RefPicList1[STD_VIDEO_H264_MAX_NUM_LIST_REF];
97 uint8_t refList0ModOpCount;
98 uint8_t refList1ModOpCount;
99 uint8_t refPicMarkingOpCount;
100 uint8_t reserved1[7];
101 const StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
102 const StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
103 const StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
104} StdVideoEncodeH264ReferenceListsInfo;
105
106typedef struct StdVideoEncodeH264PictureInfo {
107 StdVideoEncodeH264PictureInfoFlags flags;
108 uint8_t seq_parameter_set_id;
109 uint8_t pic_parameter_set_id;
110 uint16_t idr_pic_id;
111 StdVideoH264PictureType primary_pic_type;
112 uint32_t frame_num;
113 int32_t PicOrderCnt;
114 uint8_t temporal_id;
115 uint8_t reserved1[3];
116 const StdVideoEncodeH264ReferenceListsInfo* pRefLists;
117} StdVideoEncodeH264PictureInfo;
118
119typedef struct StdVideoEncodeH264ReferenceInfo {
120 StdVideoEncodeH264ReferenceInfoFlags flags;
121 StdVideoH264PictureType primary_pic_type;
122 uint32_t FrameNum;
123 int32_t PicOrderCnt;
124 uint16_t long_term_pic_num;
125 uint16_t long_term_frame_idx;
126 uint8_t temporal_id;
127} StdVideoEncodeH264ReferenceInfo;
128
129typedef struct StdVideoEncodeH264SliceHeader {
130 StdVideoEncodeH264SliceHeaderFlags flags;
131 uint32_t first_mb_in_slice;
132 StdVideoH264SliceType slice_type;
133 int8_t slice_alpha_c0_offset_div2;
134 int8_t slice_beta_offset_div2;
135 int8_t slice_qp_delta;
136 uint8_t reserved1;
137 StdVideoH264CabacInitIdc cabac_init_idc;
138 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
139 const StdVideoEncodeH264WeightTable* pWeightTable;
140} StdVideoEncodeH264SliceHeader;
141
142
143#ifdef __cplusplus
144}
145#endif
146
147#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std.h b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std.h
new file mode 100644
index 0000000..d0a1bac
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std.h
@@ -0,0 +1,446 @@
1#ifndef VULKAN_VIDEO_CODEC_H265STD_H_
2#define VULKAN_VIDEO_CODEC_H265STD_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// vulkan_video_codec_h265std is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codec_h265std 1
24#include "vulkan_video_codecs_common.h"
25#define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
26#define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7
27#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6
28#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16
29#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6
30#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64
31#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6
32#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64
33#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2
34#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
35#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
36#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
37#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
38#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
39#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
40#define STD_VIDEO_H265_MAX_NUM_LIST_REF 15
41#define STD_VIDEO_H265_MAX_CHROMA_PLANES 2
42#define STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS 64
43#define STD_VIDEO_H265_MAX_DPB_SIZE 16
44#define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32
45#define STD_VIDEO_H265_MAX_LONG_TERM_PICS 16
46#define STD_VIDEO_H265_MAX_DELTA_POC 48
47#define STD_VIDEO_H265_NO_REFERENCE_PICTURE 0xFF
48
49typedef enum StdVideoH265ChromaFormatIdc {
50 STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0,
51 STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1,
52 STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2,
53 STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3,
54 STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
55 STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
56} StdVideoH265ChromaFormatIdc;
57
58typedef enum StdVideoH265ProfileIdc {
59 STD_VIDEO_H265_PROFILE_IDC_MAIN = 1,
60 STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2,
61 STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3,
62 STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4,
63 STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9,
64 STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF,
65 STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
66} StdVideoH265ProfileIdc;
67
68typedef enum StdVideoH265LevelIdc {
69 STD_VIDEO_H265_LEVEL_IDC_1_0 = 0,
70 STD_VIDEO_H265_LEVEL_IDC_2_0 = 1,
71 STD_VIDEO_H265_LEVEL_IDC_2_1 = 2,
72 STD_VIDEO_H265_LEVEL_IDC_3_0 = 3,
73 STD_VIDEO_H265_LEVEL_IDC_3_1 = 4,
74 STD_VIDEO_H265_LEVEL_IDC_4_0 = 5,
75 STD_VIDEO_H265_LEVEL_IDC_4_1 = 6,
76 STD_VIDEO_H265_LEVEL_IDC_5_0 = 7,
77 STD_VIDEO_H265_LEVEL_IDC_5_1 = 8,
78 STD_VIDEO_H265_LEVEL_IDC_5_2 = 9,
79 STD_VIDEO_H265_LEVEL_IDC_6_0 = 10,
80 STD_VIDEO_H265_LEVEL_IDC_6_1 = 11,
81 STD_VIDEO_H265_LEVEL_IDC_6_2 = 12,
82 STD_VIDEO_H265_LEVEL_IDC_INVALID = 0x7FFFFFFF,
83 STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF
84} StdVideoH265LevelIdc;
85
86typedef enum StdVideoH265SliceType {
87 STD_VIDEO_H265_SLICE_TYPE_B = 0,
88 STD_VIDEO_H265_SLICE_TYPE_P = 1,
89 STD_VIDEO_H265_SLICE_TYPE_I = 2,
90 STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF,
91 STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
92} StdVideoH265SliceType;
93
94typedef enum StdVideoH265PictureType {
95 STD_VIDEO_H265_PICTURE_TYPE_P = 0,
96 STD_VIDEO_H265_PICTURE_TYPE_B = 1,
97 STD_VIDEO_H265_PICTURE_TYPE_I = 2,
98 STD_VIDEO_H265_PICTURE_TYPE_IDR = 3,
99 STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
100 STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
101} StdVideoH265PictureType;
102
103typedef enum StdVideoH265AspectRatioIdc {
104 STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED = 0,
105 STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE = 1,
106 STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11 = 2,
107 STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11 = 3,
108 STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11 = 4,
109 STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33 = 5,
110 STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11 = 6,
111 STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11 = 7,
112 STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11 = 8,
113 STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33 = 9,
114 STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11 = 10,
115 STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11 = 11,
116 STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33 = 12,
117 STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99 = 13,
118 STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3 = 14,
119 STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2 = 15,
120 STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1 = 16,
121 STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
122 STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
123 STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF
124} StdVideoH265AspectRatioIdc;
125typedef struct StdVideoH265DecPicBufMgr {
126 uint32_t max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
127 uint8_t max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
128 uint8_t max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
129} StdVideoH265DecPicBufMgr;
130
131typedef struct StdVideoH265SubLayerHrdParameters {
132 uint32_t bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
133 uint32_t cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
134 uint32_t cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
135 uint32_t bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
136 uint32_t cbr_flag;
137} StdVideoH265SubLayerHrdParameters;
138
139typedef struct StdVideoH265HrdFlags {
140 uint32_t nal_hrd_parameters_present_flag : 1;
141 uint32_t vcl_hrd_parameters_present_flag : 1;
142 uint32_t sub_pic_hrd_params_present_flag : 1;
143 uint32_t sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
144 uint32_t fixed_pic_rate_general_flag : 8;
145 uint32_t fixed_pic_rate_within_cvs_flag : 8;
146 uint32_t low_delay_hrd_flag : 8;
147} StdVideoH265HrdFlags;
148
149typedef struct StdVideoH265HrdParameters {
150 StdVideoH265HrdFlags flags;
151 uint8_t tick_divisor_minus2;
152 uint8_t du_cpb_removal_delay_increment_length_minus1;
153 uint8_t dpb_output_delay_du_length_minus1;
154 uint8_t bit_rate_scale;
155 uint8_t cpb_size_scale;
156 uint8_t cpb_size_du_scale;
157 uint8_t initial_cpb_removal_delay_length_minus1;
158 uint8_t au_cpb_removal_delay_length_minus1;
159 uint8_t dpb_output_delay_length_minus1;
160 uint8_t cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
161 uint16_t elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
162 uint16_t reserved[3];
163 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal;
164 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl;
165} StdVideoH265HrdParameters;
166
167typedef struct StdVideoH265VpsFlags {
168 uint32_t vps_temporal_id_nesting_flag : 1;
169 uint32_t vps_sub_layer_ordering_info_present_flag : 1;
170 uint32_t vps_timing_info_present_flag : 1;
171 uint32_t vps_poc_proportional_to_timing_flag : 1;
172} StdVideoH265VpsFlags;
173
174typedef struct StdVideoH265ProfileTierLevelFlags {
175 uint32_t general_tier_flag : 1;
176 uint32_t general_progressive_source_flag : 1;
177 uint32_t general_interlaced_source_flag : 1;
178 uint32_t general_non_packed_constraint_flag : 1;
179 uint32_t general_frame_only_constraint_flag : 1;
180} StdVideoH265ProfileTierLevelFlags;
181
182typedef struct StdVideoH265ProfileTierLevel {
183 StdVideoH265ProfileTierLevelFlags flags;
184 StdVideoH265ProfileIdc general_profile_idc;
185 StdVideoH265LevelIdc general_level_idc;
186} StdVideoH265ProfileTierLevel;
187
188typedef struct StdVideoH265VideoParameterSet {
189 StdVideoH265VpsFlags flags;
190 uint8_t vps_video_parameter_set_id;
191 uint8_t vps_max_sub_layers_minus1;
192 uint8_t reserved1;
193 uint8_t reserved2;
194 uint32_t vps_num_units_in_tick;
195 uint32_t vps_time_scale;
196 uint32_t vps_num_ticks_poc_diff_one_minus1;
197 uint32_t reserved3;
198 const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
199 const StdVideoH265HrdParameters* pHrdParameters;
200 const StdVideoH265ProfileTierLevel* pProfileTierLevel;
201} StdVideoH265VideoParameterSet;
202
203typedef struct StdVideoH265ScalingLists {
204 uint8_t ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS];
205 uint8_t ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS];
206 uint8_t ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS];
207 uint8_t ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS];
208 uint8_t ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS];
209 uint8_t ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS];
210} StdVideoH265ScalingLists;
211
212typedef struct StdVideoH265SpsVuiFlags {
213 uint32_t aspect_ratio_info_present_flag : 1;
214 uint32_t overscan_info_present_flag : 1;
215 uint32_t overscan_appropriate_flag : 1;
216 uint32_t video_signal_type_present_flag : 1;
217 uint32_t video_full_range_flag : 1;
218 uint32_t colour_description_present_flag : 1;
219 uint32_t chroma_loc_info_present_flag : 1;
220 uint32_t neutral_chroma_indication_flag : 1;
221 uint32_t field_seq_flag : 1;
222 uint32_t frame_field_info_present_flag : 1;
223 uint32_t default_display_window_flag : 1;
224 uint32_t vui_timing_info_present_flag : 1;
225 uint32_t vui_poc_proportional_to_timing_flag : 1;
226 uint32_t vui_hrd_parameters_present_flag : 1;
227 uint32_t bitstream_restriction_flag : 1;
228 uint32_t tiles_fixed_structure_flag : 1;
229 uint32_t motion_vectors_over_pic_boundaries_flag : 1;
230 uint32_t restricted_ref_pic_lists_flag : 1;
231} StdVideoH265SpsVuiFlags;
232
233typedef struct StdVideoH265SequenceParameterSetVui {
234 StdVideoH265SpsVuiFlags flags;
235 StdVideoH265AspectRatioIdc aspect_ratio_idc;
236 uint16_t sar_width;
237 uint16_t sar_height;
238 uint8_t video_format;
239 uint8_t colour_primaries;
240 uint8_t transfer_characteristics;
241 uint8_t matrix_coeffs;
242 uint8_t chroma_sample_loc_type_top_field;
243 uint8_t chroma_sample_loc_type_bottom_field;
244 uint8_t reserved1;
245 uint8_t reserved2;
246 uint16_t def_disp_win_left_offset;
247 uint16_t def_disp_win_right_offset;
248 uint16_t def_disp_win_top_offset;
249 uint16_t def_disp_win_bottom_offset;
250 uint32_t vui_num_units_in_tick;
251 uint32_t vui_time_scale;
252 uint32_t vui_num_ticks_poc_diff_one_minus1;
253 uint16_t min_spatial_segmentation_idc;
254 uint16_t reserved3;
255 uint8_t max_bytes_per_pic_denom;
256 uint8_t max_bits_per_min_cu_denom;
257 uint8_t log2_max_mv_length_horizontal;
258 uint8_t log2_max_mv_length_vertical;
259 const StdVideoH265HrdParameters* pHrdParameters;
260} StdVideoH265SequenceParameterSetVui;
261
262typedef struct StdVideoH265PredictorPaletteEntries {
263 uint16_t PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE];
264} StdVideoH265PredictorPaletteEntries;
265
266typedef struct StdVideoH265SpsFlags {
267 uint32_t sps_temporal_id_nesting_flag : 1;
268 uint32_t separate_colour_plane_flag : 1;
269 uint32_t conformance_window_flag : 1;
270 uint32_t sps_sub_layer_ordering_info_present_flag : 1;
271 uint32_t scaling_list_enabled_flag : 1;
272 uint32_t sps_scaling_list_data_present_flag : 1;
273 uint32_t amp_enabled_flag : 1;
274 uint32_t sample_adaptive_offset_enabled_flag : 1;
275 uint32_t pcm_enabled_flag : 1;
276 uint32_t pcm_loop_filter_disabled_flag : 1;
277 uint32_t long_term_ref_pics_present_flag : 1;
278 uint32_t sps_temporal_mvp_enabled_flag : 1;
279 uint32_t strong_intra_smoothing_enabled_flag : 1;
280 uint32_t vui_parameters_present_flag : 1;
281 uint32_t sps_extension_present_flag : 1;
282 uint32_t sps_range_extension_flag : 1;
283 uint32_t transform_skip_rotation_enabled_flag : 1;
284 uint32_t transform_skip_context_enabled_flag : 1;
285 uint32_t implicit_rdpcm_enabled_flag : 1;
286 uint32_t explicit_rdpcm_enabled_flag : 1;
287 uint32_t extended_precision_processing_flag : 1;
288 uint32_t intra_smoothing_disabled_flag : 1;
289 uint32_t high_precision_offsets_enabled_flag : 1;
290 uint32_t persistent_rice_adaptation_enabled_flag : 1;
291 uint32_t cabac_bypass_alignment_enabled_flag : 1;
292 uint32_t sps_scc_extension_flag : 1;
293 uint32_t sps_curr_pic_ref_enabled_flag : 1;
294 uint32_t palette_mode_enabled_flag : 1;
295 uint32_t sps_palette_predictor_initializers_present_flag : 1;
296 uint32_t intra_boundary_filtering_disabled_flag : 1;
297} StdVideoH265SpsFlags;
298
299typedef struct StdVideoH265ShortTermRefPicSetFlags {
300 uint32_t inter_ref_pic_set_prediction_flag : 1;
301 uint32_t delta_rps_sign : 1;
302} StdVideoH265ShortTermRefPicSetFlags;
303
304typedef struct StdVideoH265ShortTermRefPicSet {
305 StdVideoH265ShortTermRefPicSetFlags flags;
306 uint32_t delta_idx_minus1;
307 uint16_t use_delta_flag;
308 uint16_t abs_delta_rps_minus1;
309 uint16_t used_by_curr_pic_flag;
310 uint16_t used_by_curr_pic_s0_flag;
311 uint16_t used_by_curr_pic_s1_flag;
312 uint16_t reserved1;
313 uint8_t reserved2;
314 uint8_t reserved3;
315 uint8_t num_negative_pics;
316 uint8_t num_positive_pics;
317 uint16_t delta_poc_s0_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
318 uint16_t delta_poc_s1_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
319} StdVideoH265ShortTermRefPicSet;
320
321typedef struct StdVideoH265LongTermRefPicsSps {
322 uint32_t used_by_curr_pic_lt_sps_flag;
323 uint32_t lt_ref_pic_poc_lsb_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS];
324} StdVideoH265LongTermRefPicsSps;
325
326typedef struct StdVideoH265SequenceParameterSet {
327 StdVideoH265SpsFlags flags;
328 StdVideoH265ChromaFormatIdc chroma_format_idc;
329 uint32_t pic_width_in_luma_samples;
330 uint32_t pic_height_in_luma_samples;
331 uint8_t sps_video_parameter_set_id;
332 uint8_t sps_max_sub_layers_minus1;
333 uint8_t sps_seq_parameter_set_id;
334 uint8_t bit_depth_luma_minus8;
335 uint8_t bit_depth_chroma_minus8;
336 uint8_t log2_max_pic_order_cnt_lsb_minus4;
337 uint8_t log2_min_luma_coding_block_size_minus3;
338 uint8_t log2_diff_max_min_luma_coding_block_size;
339 uint8_t log2_min_luma_transform_block_size_minus2;
340 uint8_t log2_diff_max_min_luma_transform_block_size;
341 uint8_t max_transform_hierarchy_depth_inter;
342 uint8_t max_transform_hierarchy_depth_intra;
343 uint8_t num_short_term_ref_pic_sets;
344 uint8_t num_long_term_ref_pics_sps;
345 uint8_t pcm_sample_bit_depth_luma_minus1;
346 uint8_t pcm_sample_bit_depth_chroma_minus1;
347 uint8_t log2_min_pcm_luma_coding_block_size_minus3;
348 uint8_t log2_diff_max_min_pcm_luma_coding_block_size;
349 uint8_t reserved1;
350 uint8_t reserved2;
351 uint8_t palette_max_size;
352 uint8_t delta_palette_max_predictor_size;
353 uint8_t motion_vector_resolution_control_idc;
354 uint8_t sps_num_palette_predictor_initializers_minus1;
355 uint32_t conf_win_left_offset;
356 uint32_t conf_win_right_offset;
357 uint32_t conf_win_top_offset;
358 uint32_t conf_win_bottom_offset;
359 const StdVideoH265ProfileTierLevel* pProfileTierLevel;
360 const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
361 const StdVideoH265ScalingLists* pScalingLists;
362 const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet;
363 const StdVideoH265LongTermRefPicsSps* pLongTermRefPicsSps;
364 const StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui;
365 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
366} StdVideoH265SequenceParameterSet;
367
368typedef struct StdVideoH265PpsFlags {
369 uint32_t dependent_slice_segments_enabled_flag : 1;
370 uint32_t output_flag_present_flag : 1;
371 uint32_t sign_data_hiding_enabled_flag : 1;
372 uint32_t cabac_init_present_flag : 1;
373 uint32_t constrained_intra_pred_flag : 1;
374 uint32_t transform_skip_enabled_flag : 1;
375 uint32_t cu_qp_delta_enabled_flag : 1;
376 uint32_t pps_slice_chroma_qp_offsets_present_flag : 1;
377 uint32_t weighted_pred_flag : 1;
378 uint32_t weighted_bipred_flag : 1;
379 uint32_t transquant_bypass_enabled_flag : 1;
380 uint32_t tiles_enabled_flag : 1;
381 uint32_t entropy_coding_sync_enabled_flag : 1;
382 uint32_t uniform_spacing_flag : 1;
383 uint32_t loop_filter_across_tiles_enabled_flag : 1;
384 uint32_t pps_loop_filter_across_slices_enabled_flag : 1;
385 uint32_t deblocking_filter_control_present_flag : 1;
386 uint32_t deblocking_filter_override_enabled_flag : 1;
387 uint32_t pps_deblocking_filter_disabled_flag : 1;
388 uint32_t pps_scaling_list_data_present_flag : 1;
389 uint32_t lists_modification_present_flag : 1;
390 uint32_t slice_segment_header_extension_present_flag : 1;
391 uint32_t pps_extension_present_flag : 1;
392 uint32_t cross_component_prediction_enabled_flag : 1;
393 uint32_t chroma_qp_offset_list_enabled_flag : 1;
394 uint32_t pps_curr_pic_ref_enabled_flag : 1;
395 uint32_t residual_adaptive_colour_transform_enabled_flag : 1;
396 uint32_t pps_slice_act_qp_offsets_present_flag : 1;
397 uint32_t pps_palette_predictor_initializers_present_flag : 1;
398 uint32_t monochrome_palette_flag : 1;
399 uint32_t pps_range_extension_flag : 1;
400} StdVideoH265PpsFlags;
401
402typedef struct StdVideoH265PictureParameterSet {
403 StdVideoH265PpsFlags flags;
404 uint8_t pps_pic_parameter_set_id;
405 uint8_t pps_seq_parameter_set_id;
406 uint8_t sps_video_parameter_set_id;
407 uint8_t num_extra_slice_header_bits;
408 uint8_t num_ref_idx_l0_default_active_minus1;
409 uint8_t num_ref_idx_l1_default_active_minus1;
410 int8_t init_qp_minus26;
411 uint8_t diff_cu_qp_delta_depth;
412 int8_t pps_cb_qp_offset;
413 int8_t pps_cr_qp_offset;
414 int8_t pps_beta_offset_div2;
415 int8_t pps_tc_offset_div2;
416 uint8_t log2_parallel_merge_level_minus2;
417 uint8_t log2_max_transform_skip_block_size_minus2;
418 uint8_t diff_cu_chroma_qp_offset_depth;
419 uint8_t chroma_qp_offset_list_len_minus1;
420 int8_t cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
421 int8_t cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
422 uint8_t log2_sao_offset_scale_luma;
423 uint8_t log2_sao_offset_scale_chroma;
424 int8_t pps_act_y_qp_offset_plus5;
425 int8_t pps_act_cb_qp_offset_plus5;
426 int8_t pps_act_cr_qp_offset_plus3;
427 uint8_t pps_num_palette_predictor_initializers;
428 uint8_t luma_bit_depth_entry_minus8;
429 uint8_t chroma_bit_depth_entry_minus8;
430 uint8_t num_tile_columns_minus1;
431 uint8_t num_tile_rows_minus1;
432 uint8_t reserved1;
433 uint8_t reserved2;
434 uint16_t column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
435 uint16_t row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
436 uint32_t reserved3;
437 const StdVideoH265ScalingLists* pScalingLists;
438 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
439} StdVideoH265PictureParameterSet;
440
441
442#ifdef __cplusplus
443}
444#endif
445
446#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std_decode.h b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std_decode.h
new file mode 100644
index 0000000..0178793
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std_decode.h
@@ -0,0 +1,67 @@
1#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
2#define VULKAN_VIDEO_CODEC_H265STD_DECODE_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// vulkan_video_codec_h265std_decode is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codec_h265std_decode 1
24#include "vulkan_video_codec_h265std.h"
25
26#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
27
28#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0
29#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
30#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
31typedef struct StdVideoDecodeH265PictureInfoFlags {
32 uint32_t IrapPicFlag : 1;
33 uint32_t IdrPicFlag : 1;
34 uint32_t IsReference : 1;
35 uint32_t short_term_ref_pic_set_sps_flag : 1;
36} StdVideoDecodeH265PictureInfoFlags;
37
38typedef struct StdVideoDecodeH265PictureInfo {
39 StdVideoDecodeH265PictureInfoFlags flags;
40 uint8_t sps_video_parameter_set_id;
41 uint8_t pps_seq_parameter_set_id;
42 uint8_t pps_pic_parameter_set_id;
43 uint8_t NumDeltaPocsOfRefRpsIdx;
44 int32_t PicOrderCntVal;
45 uint16_t NumBitsForSTRefPicSetInSlice;
46 uint16_t reserved;
47 uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
48 uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
49 uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
50} StdVideoDecodeH265PictureInfo;
51
52typedef struct StdVideoDecodeH265ReferenceInfoFlags {
53 uint32_t used_for_long_term_reference : 1;
54 uint32_t unused_for_reference : 1;
55} StdVideoDecodeH265ReferenceInfoFlags;
56
57typedef struct StdVideoDecodeH265ReferenceInfo {
58 StdVideoDecodeH265ReferenceInfoFlags flags;
59 int32_t PicOrderCntVal;
60} StdVideoDecodeH265ReferenceInfo;
61
62
63#ifdef __cplusplus
64}
65#endif
66
67#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std_encode.h b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std_encode.h
new file mode 100644
index 0000000..ee34491
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codec_h265std_encode.h
@@ -0,0 +1,157 @@
1#ifndef VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_
2#define VULKAN_VIDEO_CODEC_H265STD_ENCODE_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// vulkan_video_codec_h265std_encode is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codec_h265std_encode 1
24#include "vulkan_video_codec_h265std.h"
25
26#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
27
28#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0
29#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_encode"
30typedef struct StdVideoEncodeH265WeightTableFlags {
31 uint16_t luma_weight_l0_flag;
32 uint16_t chroma_weight_l0_flag;
33 uint16_t luma_weight_l1_flag;
34 uint16_t chroma_weight_l1_flag;
35} StdVideoEncodeH265WeightTableFlags;
36
37typedef struct StdVideoEncodeH265WeightTable {
38 StdVideoEncodeH265WeightTableFlags flags;
39 uint8_t luma_log2_weight_denom;
40 int8_t delta_chroma_log2_weight_denom;
41 int8_t delta_luma_weight_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF];
42 int8_t luma_offset_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF];
43 int8_t delta_chroma_weight_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES];
44 int8_t delta_chroma_offset_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES];
45 int8_t delta_luma_weight_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF];
46 int8_t luma_offset_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF];
47 int8_t delta_chroma_weight_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES];
48 int8_t delta_chroma_offset_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES];
49} StdVideoEncodeH265WeightTable;
50
51typedef struct StdVideoEncodeH265SliceSegmentHeaderFlags {
52 uint32_t first_slice_segment_in_pic_flag : 1;
53 uint32_t dependent_slice_segment_flag : 1;
54 uint32_t slice_sao_luma_flag : 1;
55 uint32_t slice_sao_chroma_flag : 1;
56 uint32_t num_ref_idx_active_override_flag : 1;
57 uint32_t mvd_l1_zero_flag : 1;
58 uint32_t cabac_init_flag : 1;
59 uint32_t cu_chroma_qp_offset_enabled_flag : 1;
60 uint32_t deblocking_filter_override_flag : 1;
61 uint32_t slice_deblocking_filter_disabled_flag : 1;
62 uint32_t collocated_from_l0_flag : 1;
63 uint32_t slice_loop_filter_across_slices_enabled_flag : 1;
64 uint32_t reserved : 20;
65} StdVideoEncodeH265SliceSegmentHeaderFlags;
66
67typedef struct StdVideoEncodeH265SliceSegmentHeader {
68 StdVideoEncodeH265SliceSegmentHeaderFlags flags;
69 StdVideoH265SliceType slice_type;
70 uint32_t slice_segment_address;
71 uint8_t collocated_ref_idx;
72 uint8_t MaxNumMergeCand;
73 int8_t slice_cb_qp_offset;
74 int8_t slice_cr_qp_offset;
75 int8_t slice_beta_offset_div2;
76 int8_t slice_tc_offset_div2;
77 int8_t slice_act_y_qp_offset;
78 int8_t slice_act_cb_qp_offset;
79 int8_t slice_act_cr_qp_offset;
80 int8_t slice_qp_delta;
81 uint16_t reserved1;
82 const StdVideoEncodeH265WeightTable* pWeightTable;
83} StdVideoEncodeH265SliceSegmentHeader;
84
85typedef struct StdVideoEncodeH265ReferenceListsInfoFlags {
86 uint32_t ref_pic_list_modification_flag_l0 : 1;
87 uint32_t ref_pic_list_modification_flag_l1 : 1;
88 uint32_t reserved : 30;
89} StdVideoEncodeH265ReferenceListsInfoFlags;
90
91typedef struct StdVideoEncodeH265ReferenceListsInfo {
92 StdVideoEncodeH265ReferenceListsInfoFlags flags;
93 uint8_t num_ref_idx_l0_active_minus1;
94 uint8_t num_ref_idx_l1_active_minus1;
95 uint8_t RefPicList0[STD_VIDEO_H265_MAX_NUM_LIST_REF];
96 uint8_t RefPicList1[STD_VIDEO_H265_MAX_NUM_LIST_REF];
97 uint8_t list_entry_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF];
98 uint8_t list_entry_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF];
99} StdVideoEncodeH265ReferenceListsInfo;
100
101typedef struct StdVideoEncodeH265PictureInfoFlags {
102 uint32_t is_reference : 1;
103 uint32_t IrapPicFlag : 1;
104 uint32_t used_for_long_term_reference : 1;
105 uint32_t discardable_flag : 1;
106 uint32_t cross_layer_bla_flag : 1;
107 uint32_t pic_output_flag : 1;
108 uint32_t no_output_of_prior_pics_flag : 1;
109 uint32_t short_term_ref_pic_set_sps_flag : 1;
110 uint32_t slice_temporal_mvp_enabled_flag : 1;
111 uint32_t reserved : 23;
112} StdVideoEncodeH265PictureInfoFlags;
113
114typedef struct StdVideoEncodeH265LongTermRefPics {
115 uint8_t num_long_term_sps;
116 uint8_t num_long_term_pics;
117 uint8_t lt_idx_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS];
118 uint8_t poc_lsb_lt[STD_VIDEO_H265_MAX_LONG_TERM_PICS];
119 uint16_t used_by_curr_pic_lt_flag;
120 uint8_t delta_poc_msb_present_flag[STD_VIDEO_H265_MAX_DELTA_POC];
121 uint8_t delta_poc_msb_cycle_lt[STD_VIDEO_H265_MAX_DELTA_POC];
122} StdVideoEncodeH265LongTermRefPics;
123
124typedef struct StdVideoEncodeH265PictureInfo {
125 StdVideoEncodeH265PictureInfoFlags flags;
126 StdVideoH265PictureType pic_type;
127 uint8_t sps_video_parameter_set_id;
128 uint8_t pps_seq_parameter_set_id;
129 uint8_t pps_pic_parameter_set_id;
130 uint8_t short_term_ref_pic_set_idx;
131 int32_t PicOrderCntVal;
132 uint8_t TemporalId;
133 uint8_t reserved1[7];
134 const StdVideoEncodeH265ReferenceListsInfo* pRefLists;
135 const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet;
136 const StdVideoEncodeH265LongTermRefPics* pLongTermRefPics;
137} StdVideoEncodeH265PictureInfo;
138
139typedef struct StdVideoEncodeH265ReferenceInfoFlags {
140 uint32_t used_for_long_term_reference : 1;
141 uint32_t unused_for_reference : 1;
142 uint32_t reserved : 30;
143} StdVideoEncodeH265ReferenceInfoFlags;
144
145typedef struct StdVideoEncodeH265ReferenceInfo {
146 StdVideoEncodeH265ReferenceInfoFlags flags;
147 StdVideoH265PictureType pic_type;
148 int32_t PicOrderCntVal;
149 uint8_t TemporalId;
150} StdVideoEncodeH265ReferenceInfo;
151
152
153#ifdef __cplusplus
154}
155#endif
156
157#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codecs_common.h b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codecs_common.h
new file mode 100644
index 0000000..5e6ef1d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vk_video/vulkan_video_codecs_common.h
@@ -0,0 +1,36 @@
1#ifndef VULKAN_VIDEO_CODECS_COMMON_H_
2#define VULKAN_VIDEO_CODECS_COMMON_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// vulkan_video_codecs_common is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codecs_common 1
24#if !defined(VK_NO_STDINT_H)
25 #include <stdint.h>
26#endif
27
28#define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
29 ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
30
31
32#ifdef __cplusplus
33}
34#endif
35
36#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_icd.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_icd.h
new file mode 100644
index 0000000..59204a3
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_icd.h
@@ -0,0 +1,244 @@
1/*
2 * Copyright 2015-2023 The Khronos Group Inc.
3 * Copyright 2015-2023 Valve Corporation
4 * Copyright 2015-2023 LunarG, Inc.
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8#pragma once
9
10#include "vulkan.h"
11#include <stdbool.h>
12
13// Loader-ICD version negotiation API. Versions add the following features:
14// Version 0 - Initial. Doesn't support vk_icdGetInstanceProcAddr
15// or vk_icdNegotiateLoaderICDInterfaceVersion.
16// Version 1 - Add support for vk_icdGetInstanceProcAddr.
17// Version 2 - Add Loader/ICD Interface version negotiation
18// via vk_icdNegotiateLoaderICDInterfaceVersion.
19// Version 3 - Add ICD creation/destruction of KHR_surface objects.
20// Version 4 - Add unknown physical device extension querying via
21// vk_icdGetPhysicalDeviceProcAddr.
22// Version 5 - Tells ICDs that the loader is now paying attention to the
23// application version of Vulkan passed into the ApplicationInfo
24// structure during vkCreateInstance. This will tell the ICD
25// that if the loader is older, it should automatically fail a
26// call for any API version > 1.0. Otherwise, the loader will
27// manually determine if it can support the expected version.
28// Version 6 - Add support for vk_icdEnumerateAdapterPhysicalDevices.
29// Version 7 - If an ICD supports any of the following functions, they must be
30// queryable with vk_icdGetInstanceProcAddr:
31// vk_icdNegotiateLoaderICDInterfaceVersion
32// vk_icdGetPhysicalDeviceProcAddr
33// vk_icdEnumerateAdapterPhysicalDevices (Windows only)
34// In addition, these functions no longer need to be exported directly.
35// This version allows drivers provided through the extension
36// VK_LUNARG_direct_driver_loading be able to support the entire
37// Driver-Loader interface.
38
39#define CURRENT_LOADER_ICD_INTERFACE_VERSION 7
40#define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0
41#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4
42
43// Old typedefs that don't follow a proper naming convention but are preserved for compatibility
44typedef VkResult(VKAPI_PTR *PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t *pVersion);
45// This is defined in vk_layer.h which will be found by the loader, but if an ICD is building against this
46// file directly, it won't be found.
47#ifndef PFN_GetPhysicalDeviceProcAddr
48typedef PFN_vkVoidFunction(VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char *pName);
49#endif
50
51// Typedefs for loader/ICD interface
52typedef VkResult (VKAPI_PTR *PFN_vk_icdNegotiateLoaderICDInterfaceVersion)(uint32_t* pVersion);
53typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vk_icdGetInstanceProcAddr)(VkInstance instance, const char* pName);
54typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vk_icdGetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
55#if defined(VK_USE_PLATFORM_WIN32_KHR)
56typedef VkResult (VKAPI_PTR *PFN_vk_icdEnumerateAdapterPhysicalDevices)(VkInstance instance, LUID adapterLUID,
57 uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
58#endif
59
60// Prototypes for loader/ICD interface
61#if !defined(VK_NO_PROTOTYPES)
62#ifdef __cplusplus
63extern "C" {
64#endif
65 VKAPI_ATTR VkResult VKAPI_CALL vk_icdNegotiateLoaderICDInterfaceVersion(uint32_t* pVersion);
66 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetInstanceProcAddr(VkInstance instance, const char* pName);
67 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetPhysicalDeviceProcAddr(VkInstance instance, const char* pName);
68#if defined(VK_USE_PLATFORM_WIN32_KHR)
69 VKAPI_ATTR VkResult VKAPI_CALL vk_icdEnumerateAdapterPhysicalDevices(VkInstance instance, LUID adapterLUID,
70 uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
71#endif
72#ifdef __cplusplus
73}
74#endif
75#endif
76
77/*
78 * The ICD must reserve space for a pointer for the loader's dispatch
79 * table, at the start of <each object>.
80 * The ICD must initialize this variable using the SET_LOADER_MAGIC_VALUE macro.
81 */
82
83#define ICD_LOADER_MAGIC 0x01CDC0DE
84
85typedef union {
86 uintptr_t loaderMagic;
87 void *loaderData;
88} VK_LOADER_DATA;
89
90static inline void set_loader_magic_value(void *pNewObject) {
91 VK_LOADER_DATA *loader_info = (VK_LOADER_DATA *)pNewObject;
92 loader_info->loaderMagic = ICD_LOADER_MAGIC;
93}
94
95static inline bool valid_loader_magic_value(void *pNewObject) {
96 const VK_LOADER_DATA *loader_info = (VK_LOADER_DATA *)pNewObject;
97 return (loader_info->loaderMagic & 0xffffffff) == ICD_LOADER_MAGIC;
98}
99
100/*
101 * Windows and Linux ICDs will treat VkSurfaceKHR as a pointer to a struct that
102 * contains the platform-specific connection and surface information.
103 */
104typedef enum {
105 VK_ICD_WSI_PLATFORM_MIR,
106 VK_ICD_WSI_PLATFORM_WAYLAND,
107 VK_ICD_WSI_PLATFORM_WIN32,
108 VK_ICD_WSI_PLATFORM_XCB,
109 VK_ICD_WSI_PLATFORM_XLIB,
110 VK_ICD_WSI_PLATFORM_ANDROID,
111 VK_ICD_WSI_PLATFORM_MACOS,
112 VK_ICD_WSI_PLATFORM_IOS,
113 VK_ICD_WSI_PLATFORM_DISPLAY,
114 VK_ICD_WSI_PLATFORM_HEADLESS,
115 VK_ICD_WSI_PLATFORM_METAL,
116 VK_ICD_WSI_PLATFORM_DIRECTFB,
117 VK_ICD_WSI_PLATFORM_VI,
118 VK_ICD_WSI_PLATFORM_GGP,
119 VK_ICD_WSI_PLATFORM_SCREEN,
120 VK_ICD_WSI_PLATFORM_FUCHSIA,
121} VkIcdWsiPlatform;
122
123typedef struct {
124 VkIcdWsiPlatform platform;
125} VkIcdSurfaceBase;
126
127#ifdef VK_USE_PLATFORM_MIR_KHR
128typedef struct {
129 VkIcdSurfaceBase base;
130 MirConnection *connection;
131 MirSurface *mirSurface;
132} VkIcdSurfaceMir;
133#endif // VK_USE_PLATFORM_MIR_KHR
134
135#ifdef VK_USE_PLATFORM_WAYLAND_KHR
136typedef struct {
137 VkIcdSurfaceBase base;
138 struct wl_display *display;
139 struct wl_surface *surface;
140} VkIcdSurfaceWayland;
141#endif // VK_USE_PLATFORM_WAYLAND_KHR
142
143#ifdef VK_USE_PLATFORM_WIN32_KHR
144typedef struct {
145 VkIcdSurfaceBase base;
146 HINSTANCE hinstance;
147 HWND hwnd;
148} VkIcdSurfaceWin32;
149#endif // VK_USE_PLATFORM_WIN32_KHR
150
151#ifdef VK_USE_PLATFORM_XCB_KHR
152typedef struct {
153 VkIcdSurfaceBase base;
154 xcb_connection_t *connection;
155 xcb_window_t window;
156} VkIcdSurfaceXcb;
157#endif // VK_USE_PLATFORM_XCB_KHR
158
159#ifdef VK_USE_PLATFORM_XLIB_KHR
160typedef struct {
161 VkIcdSurfaceBase base;
162 Display *dpy;
163 Window window;
164} VkIcdSurfaceXlib;
165#endif // VK_USE_PLATFORM_XLIB_KHR
166
167#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
168typedef struct {
169 VkIcdSurfaceBase base;
170 IDirectFB *dfb;
171 IDirectFBSurface *surface;
172} VkIcdSurfaceDirectFB;
173#endif // VK_USE_PLATFORM_DIRECTFB_EXT
174
175#ifdef VK_USE_PLATFORM_ANDROID_KHR
176typedef struct {
177 VkIcdSurfaceBase base;
178 struct ANativeWindow *window;
179} VkIcdSurfaceAndroid;
180#endif // VK_USE_PLATFORM_ANDROID_KHR
181
182#ifdef VK_USE_PLATFORM_MACOS_MVK
183typedef struct {
184 VkIcdSurfaceBase base;
185 const void *pView;
186} VkIcdSurfaceMacOS;
187#endif // VK_USE_PLATFORM_MACOS_MVK
188
189#ifdef VK_USE_PLATFORM_IOS_MVK
190typedef struct {
191 VkIcdSurfaceBase base;
192 const void *pView;
193} VkIcdSurfaceIOS;
194#endif // VK_USE_PLATFORM_IOS_MVK
195
196#ifdef VK_USE_PLATFORM_GGP
197typedef struct {
198 VkIcdSurfaceBase base;
199 GgpStreamDescriptor streamDescriptor;
200} VkIcdSurfaceGgp;
201#endif // VK_USE_PLATFORM_GGP
202
203typedef struct {
204 VkIcdSurfaceBase base;
205 VkDisplayModeKHR displayMode;
206 uint32_t planeIndex;
207 uint32_t planeStackIndex;
208 VkSurfaceTransformFlagBitsKHR transform;
209 float globalAlpha;
210 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
211 VkExtent2D imageExtent;
212} VkIcdSurfaceDisplay;
213
214typedef struct {
215 VkIcdSurfaceBase base;
216} VkIcdSurfaceHeadless;
217
218#ifdef VK_USE_PLATFORM_METAL_EXT
219typedef struct {
220 VkIcdSurfaceBase base;
221 const CAMetalLayer *pLayer;
222} VkIcdSurfaceMetal;
223#endif // VK_USE_PLATFORM_METAL_EXT
224
225#ifdef VK_USE_PLATFORM_VI_NN
226typedef struct {
227 VkIcdSurfaceBase base;
228 void *window;
229} VkIcdSurfaceVi;
230#endif // VK_USE_PLATFORM_VI_NN
231
232#ifdef VK_USE_PLATFORM_SCREEN_QNX
233typedef struct {
234 VkIcdSurfaceBase base;
235 struct _screen_context *context;
236 struct _screen_window *window;
237} VkIcdSurfaceScreen;
238#endif // VK_USE_PLATFORM_SCREEN_QNX
239
240#ifdef VK_USE_PLATFORM_FUCHSIA
241typedef struct {
242 VkIcdSurfaceBase base;
243} VkIcdSurfaceImagePipe;
244#endif // VK_USE_PLATFORM_FUCHSIA
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_layer.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_layer.h
new file mode 100644
index 0000000..19d88fc
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_layer.h
@@ -0,0 +1,189 @@
1/*
2 * Copyright 2015-2023 The Khronos Group Inc.
3 * Copyright 2015-2023 Valve Corporation
4 * Copyright 2015-2023 LunarG, Inc.
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8#pragma once
9
10/* Need to define dispatch table
11 * Core struct can then have ptr to dispatch table at the top
12 * Along with object ptrs for current and next OBJ
13 */
14
15#include "vulkan_core.h"
16
17#define MAX_NUM_UNKNOWN_EXTS 250
18
19 // Loader-Layer version negotiation API. Versions add the following features:
20 // Versions 0/1 - Initial. Doesn't support vk_layerGetPhysicalDeviceProcAddr
21 // or vk_icdNegotiateLoaderLayerInterfaceVersion.
22 // Version 2 - Add support for vk_layerGetPhysicalDeviceProcAddr and
23 // vk_icdNegotiateLoaderLayerInterfaceVersion.
24#define CURRENT_LOADER_LAYER_INTERFACE_VERSION 2
25#define MIN_SUPPORTED_LOADER_LAYER_INTERFACE_VERSION 1
26
27#define VK_CURRENT_CHAIN_VERSION 1
28
29// Typedef for use in the interfaces below
30typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
31
32// Version negotiation values
33typedef enum VkNegotiateLayerStructType {
34 LAYER_NEGOTIATE_UNINTIALIZED = 0,
35 LAYER_NEGOTIATE_INTERFACE_STRUCT = 1,
36} VkNegotiateLayerStructType;
37
38// Version negotiation structures
39typedef struct VkNegotiateLayerInterface {
40 VkNegotiateLayerStructType sType;
41 void *pNext;
42 uint32_t loaderLayerInterfaceVersion;
43 PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr;
44 PFN_vkGetDeviceProcAddr pfnGetDeviceProcAddr;
45 PFN_GetPhysicalDeviceProcAddr pfnGetPhysicalDeviceProcAddr;
46} VkNegotiateLayerInterface;
47
48// Version negotiation functions
49typedef VkResult (VKAPI_PTR *PFN_vkNegotiateLoaderLayerInterfaceVersion)(VkNegotiateLayerInterface *pVersionStruct);
50
51// Function prototype for unknown physical device extension command
52typedef VkResult(VKAPI_PTR *PFN_PhysDevExt)(VkPhysicalDevice phys_device);
53
54// ------------------------------------------------------------------------------------------------
55// CreateInstance and CreateDevice support structures
56
57/* Sub type of structure for instance and device loader ext of CreateInfo.
58 * When sType == VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
59 * or sType == VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
60 * then VkLayerFunction indicates struct type pointed to by pNext
61 */
62typedef enum VkLayerFunction_ {
63 VK_LAYER_LINK_INFO = 0,
64 VK_LOADER_DATA_CALLBACK = 1,
65 VK_LOADER_LAYER_CREATE_DEVICE_CALLBACK = 2,
66 VK_LOADER_FEATURES = 3,
67} VkLayerFunction;
68
69typedef struct VkLayerInstanceLink_ {
70 struct VkLayerInstanceLink_ *pNext;
71 PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr;
72 PFN_GetPhysicalDeviceProcAddr pfnNextGetPhysicalDeviceProcAddr;
73} VkLayerInstanceLink;
74
75/*
76 * When creating the device chain the loader needs to pass
77 * down information about it's device structure needed at
78 * the end of the chain. Passing the data via the
79 * VkLayerDeviceInfo avoids issues with finding the
80 * exact instance being used.
81 */
82typedef struct VkLayerDeviceInfo_ {
83 void *device_info;
84 PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr;
85} VkLayerDeviceInfo;
86
87typedef VkResult (VKAPI_PTR *PFN_vkSetInstanceLoaderData)(VkInstance instance,
88 void *object);
89typedef VkResult (VKAPI_PTR *PFN_vkSetDeviceLoaderData)(VkDevice device,
90 void *object);
91typedef VkResult (VKAPI_PTR *PFN_vkLayerCreateDevice)(VkInstance instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo,
92 const VkAllocationCallbacks *pAllocator, VkDevice *pDevice, PFN_vkGetInstanceProcAddr layerGIPA, PFN_vkGetDeviceProcAddr *nextGDPA);
93typedef void (VKAPI_PTR *PFN_vkLayerDestroyDevice)(VkDevice physicalDevice, const VkAllocationCallbacks *pAllocator, PFN_vkDestroyDevice destroyFunction);
94
95typedef enum VkLoaderFeastureFlagBits {
96 VK_LOADER_FEATURE_PHYSICAL_DEVICE_SORTING = 0x00000001,
97} VkLoaderFlagBits;
98typedef VkFlags VkLoaderFeatureFlags;
99
100typedef struct {
101 VkStructureType sType; // VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
102 const void *pNext;
103 VkLayerFunction function;
104 union {
105 VkLayerInstanceLink *pLayerInfo;
106 PFN_vkSetInstanceLoaderData pfnSetInstanceLoaderData;
107 struct {
108 PFN_vkLayerCreateDevice pfnLayerCreateDevice;
109 PFN_vkLayerDestroyDevice pfnLayerDestroyDevice;
110 } layerDevice;
111 VkLoaderFeatureFlags loaderFeatures;
112 } u;
113} VkLayerInstanceCreateInfo;
114
115typedef struct VkLayerDeviceLink_ {
116 struct VkLayerDeviceLink_ *pNext;
117 PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr;
118 PFN_vkGetDeviceProcAddr pfnNextGetDeviceProcAddr;
119} VkLayerDeviceLink;
120
121typedef struct {
122 VkStructureType sType; // VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
123 const void *pNext;
124 VkLayerFunction function;
125 union {
126 VkLayerDeviceLink *pLayerInfo;
127 PFN_vkSetDeviceLoaderData pfnSetDeviceLoaderData;
128 } u;
129} VkLayerDeviceCreateInfo;
130
131#ifdef __cplusplus
132extern "C" {
133#endif
134
135VKAPI_ATTR VkResult VKAPI_CALL vkNegotiateLoaderLayerInterfaceVersion(VkNegotiateLayerInterface *pVersionStruct);
136
137typedef enum VkChainType {
138 VK_CHAIN_TYPE_UNKNOWN = 0,
139 VK_CHAIN_TYPE_ENUMERATE_INSTANCE_EXTENSION_PROPERTIES = 1,
140 VK_CHAIN_TYPE_ENUMERATE_INSTANCE_LAYER_PROPERTIES = 2,
141 VK_CHAIN_TYPE_ENUMERATE_INSTANCE_VERSION = 3,
142} VkChainType;
143
144typedef struct VkChainHeader {
145 VkChainType type;
146 uint32_t version;
147 uint32_t size;
148} VkChainHeader;
149
150typedef struct VkEnumerateInstanceExtensionPropertiesChain {
151 VkChainHeader header;
152 VkResult(VKAPI_PTR *pfnNextLayer)(const struct VkEnumerateInstanceExtensionPropertiesChain *, const char *, uint32_t *,
153 VkExtensionProperties *);
154 const struct VkEnumerateInstanceExtensionPropertiesChain *pNextLink;
155
156#if defined(__cplusplus)
157 inline VkResult CallDown(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties) const {
158 return pfnNextLayer(pNextLink, pLayerName, pPropertyCount, pProperties);
159 }
160#endif
161} VkEnumerateInstanceExtensionPropertiesChain;
162
163typedef struct VkEnumerateInstanceLayerPropertiesChain {
164 VkChainHeader header;
165 VkResult(VKAPI_PTR *pfnNextLayer)(const struct VkEnumerateInstanceLayerPropertiesChain *, uint32_t *, VkLayerProperties *);
166 const struct VkEnumerateInstanceLayerPropertiesChain *pNextLink;
167
168#if defined(__cplusplus)
169 inline VkResult CallDown(uint32_t *pPropertyCount, VkLayerProperties *pProperties) const {
170 return pfnNextLayer(pNextLink, pPropertyCount, pProperties);
171 }
172#endif
173} VkEnumerateInstanceLayerPropertiesChain;
174
175typedef struct VkEnumerateInstanceVersionChain {
176 VkChainHeader header;
177 VkResult(VKAPI_PTR *pfnNextLayer)(const struct VkEnumerateInstanceVersionChain *, uint32_t *);
178 const struct VkEnumerateInstanceVersionChain *pNextLink;
179
180#if defined(__cplusplus)
181 inline VkResult CallDown(uint32_t *pApiVersion) const {
182 return pfnNextLayer(pNextLink, pApiVersion);
183 }
184#endif
185} VkEnumerateInstanceVersionChain;
186
187#ifdef __cplusplus
188}
189#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_platform.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_platform.h
new file mode 100644
index 0000000..0ecd4f6
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vk_platform.h
@@ -0,0 +1,84 @@
1//
2// File: vk_platform.h
3//
4/*
5** Copyright 2014-2024 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10
11#ifndef VK_PLATFORM_H_
12#define VK_PLATFORM_H_
13
14#ifdef __cplusplus
15extern "C"
16{
17#endif // __cplusplus
18
19/*
20***************************************************************************************************
21* Platform-specific directives and type declarations
22***************************************************************************************************
23*/
24
25/* Platform-specific calling convention macros.
26 *
27 * Platforms should define these so that Vulkan clients call Vulkan commands
28 * with the same calling conventions that the Vulkan implementation expects.
29 *
30 * VKAPI_ATTR - Placed before the return type in function declarations.
31 * Useful for C++11 and GCC/Clang-style function attribute syntax.
32 * VKAPI_CALL - Placed after the return type in function declarations.
33 * Useful for MSVC-style calling convention syntax.
34 * VKAPI_PTR - Placed between the '(' and '*' in function pointer types.
35 *
36 * Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void);
37 * Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void);
38 */
39#if defined(_WIN32)
40 // On Windows, Vulkan commands use the stdcall convention
41 #define VKAPI_ATTR
42 #define VKAPI_CALL __stdcall
43 #define VKAPI_PTR VKAPI_CALL
44#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
45 #error "Vulkan is not supported for the 'armeabi' NDK ABI"
46#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE)
47 // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat"
48 // calling convention, i.e. float parameters are passed in registers. This
49 // is true even if the rest of the application passes floats on the stack,
50 // as it does by default when compiling for the armeabi-v7a NDK ABI.
51 #define VKAPI_ATTR __attribute__((pcs("aapcs-vfp")))
52 #define VKAPI_CALL
53 #define VKAPI_PTR VKAPI_ATTR
54#else
55 // On other platforms, use the default calling convention
56 #define VKAPI_ATTR
57 #define VKAPI_CALL
58 #define VKAPI_PTR
59#endif
60
61#if !defined(VK_NO_STDDEF_H)
62 #include <stddef.h>
63#endif // !defined(VK_NO_STDDEF_H)
64
65#if !defined(VK_NO_STDINT_H)
66 #if defined(_MSC_VER) && (_MSC_VER < 1600)
67 typedef signed __int8 int8_t;
68 typedef unsigned __int8 uint8_t;
69 typedef signed __int16 int16_t;
70 typedef unsigned __int16 uint16_t;
71 typedef signed __int32 int32_t;
72 typedef unsigned __int32 uint32_t;
73 typedef signed __int64 int64_t;
74 typedef unsigned __int64 uint64_t;
75 #else
76 #include <stdint.h>
77 #endif
78#endif // !defined(VK_NO_STDINT_H)
79
80#ifdef __cplusplus
81} // extern "C"
82#endif // __cplusplus
83
84#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan.h
new file mode 100644
index 0000000..ef94006
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan.h
@@ -0,0 +1,99 @@
1#ifndef VULKAN_H_
2#define VULKAN_H_ 1
3
4/*
5** Copyright 2015-2024 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10#include "vk_platform.h"
11#include "vulkan_core.h"
12
13#ifdef VK_USE_PLATFORM_ANDROID_KHR
14#include "vulkan_android.h"
15#endif
16
17#ifdef VK_USE_PLATFORM_FUCHSIA
18#include <zircon/types.h>
19#include "vulkan_fuchsia.h"
20#endif
21
22#ifdef VK_USE_PLATFORM_IOS_MVK
23#include "vulkan_ios.h"
24#endif
25
26
27#ifdef VK_USE_PLATFORM_MACOS_MVK
28#include "vulkan_macos.h"
29#endif
30
31#ifdef VK_USE_PLATFORM_METAL_EXT
32#include "vulkan_metal.h"
33#endif
34
35#ifdef VK_USE_PLATFORM_VI_NN
36#include "vulkan_vi.h"
37#endif
38
39
40#ifdef VK_USE_PLATFORM_WAYLAND_KHR
41#include "vulkan_wayland.h"
42#endif
43
44
45#ifdef VK_USE_PLATFORM_WIN32_KHR
46#include <windows.h>
47#include "vulkan_win32.h"
48#endif
49
50
51#ifdef VK_USE_PLATFORM_XCB_KHR
52#include <xcb/xcb.h>
53#include "vulkan_xcb.h"
54#endif
55
56
57#ifdef VK_USE_PLATFORM_XLIB_KHR
58#include <X11/Xlib.h>
59#include "vulkan_xlib.h"
60#endif
61
62
63#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
64#include <directfb.h>
65#include "vulkan_directfb.h"
66#endif
67
68
69#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
70#include <X11/Xlib.h>
71#include <X11/extensions/Xrandr.h>
72#include "vulkan_xlib_xrandr.h"
73#endif
74
75
76#ifdef VK_USE_PLATFORM_GGP
77#include <ggp_c/vulkan_types.h>
78#include "vulkan_ggp.h"
79#endif
80
81
82#ifdef VK_USE_PLATFORM_SCREEN_QNX
83#include <screen/screen.h>
84#include "vulkan_screen.h"
85#endif
86
87
88#ifdef VK_USE_PLATFORM_SCI
89#include <nvscisync.h>
90#include <nvscibuf.h>
91#include "vulkan_sci.h"
92#endif
93
94
95#ifdef VK_ENABLE_BETA_EXTENSIONS
96#include "vulkan_beta.h"
97#endif
98
99#endif // VULKAN_H_
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
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_beta.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_beta.h
new file mode 100644
index 0000000..df18b40
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_beta.h
@@ -0,0 +1,216 @@
1#ifndef VULKAN_BETA_H_
2#define VULKAN_BETA_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_portability_subset is a preprocessor guard. Do not pass it to API calls.
23#define VK_KHR_portability_subset 1
24#define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1
25#define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset"
26typedef struct VkPhysicalDevicePortabilitySubsetFeaturesKHR {
27 VkStructureType sType;
28 void* pNext;
29 VkBool32 constantAlphaColorBlendFactors;
30 VkBool32 events;
31 VkBool32 imageViewFormatReinterpretation;
32 VkBool32 imageViewFormatSwizzle;
33 VkBool32 imageView2DOn3DImage;
34 VkBool32 multisampleArrayImage;
35 VkBool32 mutableComparisonSamplers;
36 VkBool32 pointPolygons;
37 VkBool32 samplerMipLodBias;
38 VkBool32 separateStencilMaskRef;
39 VkBool32 shaderSampleRateInterpolationFunctions;
40 VkBool32 tessellationIsolines;
41 VkBool32 tessellationPointMode;
42 VkBool32 triangleFans;
43 VkBool32 vertexAttributeAccessBeyondStride;
44} VkPhysicalDevicePortabilitySubsetFeaturesKHR;
45
46typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
47 VkStructureType sType;
48 void* pNext;
49 uint32_t minVertexInputBindingStrideAlignment;
50} VkPhysicalDevicePortabilitySubsetPropertiesKHR;
51
52
53
54// VK_AMDX_shader_enqueue is a preprocessor guard. Do not pass it to API calls.
55#define VK_AMDX_shader_enqueue 1
56#define VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION 1
57#define VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME "VK_AMDX_shader_enqueue"
58#define VK_SHADER_INDEX_UNUSED_AMDX (~0U)
59typedef struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX {
60 VkStructureType sType;
61 void* pNext;
62 VkBool32 shaderEnqueue;
63} VkPhysicalDeviceShaderEnqueueFeaturesAMDX;
64
65typedef struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
66 VkStructureType sType;
67 void* pNext;
68 uint32_t maxExecutionGraphDepth;
69 uint32_t maxExecutionGraphShaderOutputNodes;
70 uint32_t maxExecutionGraphShaderPayloadSize;
71 uint32_t maxExecutionGraphShaderPayloadCount;
72 uint32_t executionGraphDispatchAddressAlignment;
73} VkPhysicalDeviceShaderEnqueuePropertiesAMDX;
74
75typedef struct VkExecutionGraphPipelineScratchSizeAMDX {
76 VkStructureType sType;
77 void* pNext;
78 VkDeviceSize size;
79} VkExecutionGraphPipelineScratchSizeAMDX;
80
81typedef struct VkExecutionGraphPipelineCreateInfoAMDX {
82 VkStructureType sType;
83 const void* pNext;
84 VkPipelineCreateFlags flags;
85 uint32_t stageCount;
86 const VkPipelineShaderStageCreateInfo* pStages;
87 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
88 VkPipelineLayout layout;
89 VkPipeline basePipelineHandle;
90 int32_t basePipelineIndex;
91} VkExecutionGraphPipelineCreateInfoAMDX;
92
93typedef union VkDeviceOrHostAddressConstAMDX {
94 VkDeviceAddress deviceAddress;
95 const void* hostAddress;
96} VkDeviceOrHostAddressConstAMDX;
97
98typedef struct VkDispatchGraphInfoAMDX {
99 uint32_t nodeIndex;
100 uint32_t payloadCount;
101 VkDeviceOrHostAddressConstAMDX payloads;
102 uint64_t payloadStride;
103} VkDispatchGraphInfoAMDX;
104
105typedef struct VkDispatchGraphCountInfoAMDX {
106 uint32_t count;
107 VkDeviceOrHostAddressConstAMDX infos;
108 uint64_t stride;
109} VkDispatchGraphCountInfoAMDX;
110
111typedef struct VkPipelineShaderStageNodeCreateInfoAMDX {
112 VkStructureType sType;
113 const void* pNext;
114 const char* pName;
115 uint32_t index;
116} VkPipelineShaderStageNodeCreateInfoAMDX;
117
118typedef VkResult (VKAPI_PTR *PFN_vkCreateExecutionGraphPipelinesAMDX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
119typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
120typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex);
121typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch);
122typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo);
123typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo);
124typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo);
125
126#ifndef VK_NO_PROTOTYPES
127VKAPI_ATTR VkResult VKAPI_CALL vkCreateExecutionGraphPipelinesAMDX(
128 VkDevice device,
129 VkPipelineCache pipelineCache,
130 uint32_t createInfoCount,
131 const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos,
132 const VkAllocationCallbacks* pAllocator,
133 VkPipeline* pPipelines);
134
135VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineScratchSizeAMDX(
136 VkDevice device,
137 VkPipeline executionGraph,
138 VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
139
140VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineNodeIndexAMDX(
141 VkDevice device,
142 VkPipeline executionGraph,
143 const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo,
144 uint32_t* pNodeIndex);
145
146VKAPI_ATTR void VKAPI_CALL vkCmdInitializeGraphScratchMemoryAMDX(
147 VkCommandBuffer commandBuffer,
148 VkDeviceAddress scratch);
149
150VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphAMDX(
151 VkCommandBuffer commandBuffer,
152 VkDeviceAddress scratch,
153 const VkDispatchGraphCountInfoAMDX* pCountInfo);
154
155VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectAMDX(
156 VkCommandBuffer commandBuffer,
157 VkDeviceAddress scratch,
158 const VkDispatchGraphCountInfoAMDX* pCountInfo);
159
160VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectCountAMDX(
161 VkCommandBuffer commandBuffer,
162 VkDeviceAddress scratch,
163 VkDeviceAddress countInfo);
164#endif
165
166
167// VK_NV_displacement_micromap is a preprocessor guard. Do not pass it to API calls.
168#define VK_NV_displacement_micromap 1
169#define VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION 2
170#define VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME "VK_NV_displacement_micromap"
171
172typedef enum VkDisplacementMicromapFormatNV {
173 VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV = 1,
174 VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV = 2,
175 VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV = 3,
176 VK_DISPLACEMENT_MICROMAP_FORMAT_MAX_ENUM_NV = 0x7FFFFFFF
177} VkDisplacementMicromapFormatNV;
178typedef struct VkPhysicalDeviceDisplacementMicromapFeaturesNV {
179 VkStructureType sType;
180 void* pNext;
181 VkBool32 displacementMicromap;
182} VkPhysicalDeviceDisplacementMicromapFeaturesNV;
183
184typedef struct VkPhysicalDeviceDisplacementMicromapPropertiesNV {
185 VkStructureType sType;
186 void* pNext;
187 uint32_t maxDisplacementMicromapSubdivisionLevel;
188} VkPhysicalDeviceDisplacementMicromapPropertiesNV;
189
190typedef struct VkAccelerationStructureTrianglesDisplacementMicromapNV {
191 VkStructureType sType;
192 void* pNext;
193 VkFormat displacementBiasAndScaleFormat;
194 VkFormat displacementVectorFormat;
195 VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer;
196 VkDeviceSize displacementBiasAndScaleStride;
197 VkDeviceOrHostAddressConstKHR displacementVectorBuffer;
198 VkDeviceSize displacementVectorStride;
199 VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags;
200 VkDeviceSize displacedMicromapPrimitiveFlagsStride;
201 VkIndexType indexType;
202 VkDeviceOrHostAddressConstKHR indexBuffer;
203 VkDeviceSize indexStride;
204 uint32_t baseTriangle;
205 uint32_t usageCountsCount;
206 const VkMicromapUsageEXT* pUsageCounts;
207 const VkMicromapUsageEXT* const* ppUsageCounts;
208 VkMicromapEXT micromap;
209} VkAccelerationStructureTrianglesDisplacementMicromapNV;
210
211
212#ifdef __cplusplus
213}
214#endif
215
216#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_core.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_core.h
new file mode 100644
index 0000000..dd46027
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_core.h
@@ -0,0 +1,19661 @@
1#ifndef VULKAN_CORE_H_
2#define VULKAN_CORE_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_VERSION_1_0 is a preprocessor guard. Do not pass it to API calls.
23#define VK_VERSION_1_0 1
24#include "vk_platform.h"
25
26#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
27
28
29#ifndef VK_USE_64_BIT_PTR_DEFINES
30 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64)
31 #define VK_USE_64_BIT_PTR_DEFINES 1
32 #else
33 #define VK_USE_64_BIT_PTR_DEFINES 0
34 #endif
35#endif
36
37
38#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
39 #if (VK_USE_64_BIT_PTR_DEFINES==1)
40 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
41 #define VK_NULL_HANDLE nullptr
42 #else
43 #define VK_NULL_HANDLE ((void*)0)
44 #endif
45 #else
46 #define VK_NULL_HANDLE 0ULL
47 #endif
48#endif
49#ifndef VK_NULL_HANDLE
50 #define VK_NULL_HANDLE 0
51#endif
52
53
54#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
55 #if (VK_USE_64_BIT_PTR_DEFINES==1)
56 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
57 #else
58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
59 #endif
60#endif
61
62#define VK_MAKE_API_VERSION(variant, major, minor, patch) \
63 ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
64
65// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
66//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0
67
68// Vulkan 1.0 version number
69#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
70
71// Version of this file
72#define VK_HEADER_VERSION 282
73
74// Complete version of this file
75#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
76
77// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
78#define VK_MAKE_VERSION(major, minor, patch) \
79 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
80
81// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
82#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U)
83
84// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
85#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
86
87// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
88#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
89
90#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U)
91#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU)
92#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
93#define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
94typedef uint32_t VkBool32;
95typedef uint64_t VkDeviceAddress;
96typedef uint64_t VkDeviceSize;
97typedef uint32_t VkFlags;
98typedef uint32_t VkSampleMask;
99VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
100VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
101VK_DEFINE_HANDLE(VkInstance)
102VK_DEFINE_HANDLE(VkPhysicalDevice)
103VK_DEFINE_HANDLE(VkDevice)
104VK_DEFINE_HANDLE(VkQueue)
105VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
106VK_DEFINE_HANDLE(VkCommandBuffer)
107VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
108VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
109VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
110VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
111VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
112VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
113VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
114VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
115VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
116VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
117VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
118VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
119VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
120VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
121VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
122VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
123VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
124#define VK_ATTACHMENT_UNUSED (~0U)
125#define VK_FALSE 0U
126#define VK_LOD_CLAMP_NONE 1000.0F
127#define VK_QUEUE_FAMILY_IGNORED (~0U)
128#define VK_REMAINING_ARRAY_LAYERS (~0U)
129#define VK_REMAINING_MIP_LEVELS (~0U)
130#define VK_SUBPASS_EXTERNAL (~0U)
131#define VK_TRUE 1U
132#define VK_WHOLE_SIZE (~0ULL)
133#define VK_MAX_MEMORY_TYPES 32U
134#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
135#define VK_UUID_SIZE 16U
136#define VK_MAX_EXTENSION_NAME_SIZE 256U
137#define VK_MAX_DESCRIPTION_SIZE 256U
138#define VK_MAX_MEMORY_HEAPS 16U
139
140typedef enum VkResult {
141 VK_SUCCESS = 0,
142 VK_NOT_READY = 1,
143 VK_TIMEOUT = 2,
144 VK_EVENT_SET = 3,
145 VK_EVENT_RESET = 4,
146 VK_INCOMPLETE = 5,
147 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
148 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
149 VK_ERROR_INITIALIZATION_FAILED = -3,
150 VK_ERROR_DEVICE_LOST = -4,
151 VK_ERROR_MEMORY_MAP_FAILED = -5,
152 VK_ERROR_LAYER_NOT_PRESENT = -6,
153 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
154 VK_ERROR_FEATURE_NOT_PRESENT = -8,
155 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
156 VK_ERROR_TOO_MANY_OBJECTS = -10,
157 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
158 VK_ERROR_FRAGMENTED_POOL = -12,
159 VK_ERROR_UNKNOWN = -13,
160 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
161 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
162 VK_ERROR_FRAGMENTATION = -1000161000,
163 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
164 VK_PIPELINE_COMPILE_REQUIRED = 1000297000,
165 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
166 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
167 VK_SUBOPTIMAL_KHR = 1000001003,
168 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
169 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
170 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
171 VK_ERROR_INVALID_SHADER_NV = -1000012000,
172 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000,
173 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001,
174 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002,
175 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003,
176 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004,
177 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005,
178 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
179 VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
180 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
181 VK_THREAD_IDLE_KHR = 1000268000,
182 VK_THREAD_DONE_KHR = 1000268001,
183 VK_OPERATION_DEFERRED_KHR = 1000268002,
184 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
185 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000,
186 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
187 VK_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000,
188 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
189 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
190 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
191 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR,
192 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
193 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
194 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
195 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
196 VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = VK_INCOMPATIBLE_SHADER_BINARY_EXT,
197 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
198} VkResult;
199
200typedef enum VkStructureType {
201 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
202 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
203 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
204 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
205 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
206 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
207 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
208 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
209 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
210 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
211 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
212 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
213 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
214 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
215 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
216 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
217 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
218 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
219 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
220 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
221 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
222 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
223 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
224 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
225 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
226 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
227 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
228 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
229 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
230 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
231 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
232 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
233 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
234 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
235 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
236 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
237 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
238 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
239 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
240 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
241 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
242 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
243 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
244 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
245 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
246 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
247 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
248 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
249 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
251 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
252 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
253 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
254 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
255 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
256 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
257 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
258 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
259 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
260 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
261 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
262 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
264 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
265 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
266 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
267 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
268 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
269 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
272 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
273 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
274 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
275 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
277 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
279 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
280 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
281 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
282 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
283 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
287 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
288 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
290 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
291 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
292 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
293 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
294 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
296 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
297 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
298 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
299 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
300 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
301 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
303 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
304 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
305 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
307 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
308 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
309 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
311 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
312 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
313 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
319 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
320 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
321 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
322 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
323 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
324 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
325 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
326 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
327 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
329 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
330 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
332 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
334 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
335 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
336 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
338 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
340 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
342 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
343 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
345 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
346 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
347 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
351 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
352 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
353 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
356 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
357 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
358 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
359 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
361 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
362 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
363 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
364 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
365 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
366 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
367 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
368 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
372 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
373 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
374 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
375 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
376 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
377 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
378 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
379 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
380 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
381 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
382 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
383 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
384 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
385 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
386 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
387 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
388 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
389 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
390 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
391 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
392 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
393 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
394 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
395 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010,
396 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
397 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
398 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
401 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
402 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
404 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
405 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
406 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
408 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
409 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
412 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
413 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
414 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
415 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
416 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
417 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
418 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
419 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
420 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
421 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
422 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
423 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
424 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
425 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
426 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
427 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
428 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
429 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
430 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
431 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
432 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
433 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
435 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
436 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
437 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
438 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000,
439 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
440 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002,
441 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003,
442 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004,
443 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
444 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
445 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
446 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
447 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
448 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
449 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011,
450 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012,
451 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013,
452 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
453 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
454 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016,
455 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
456 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
457 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002,
458 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
459 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
460 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
461 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
462 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
463 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
464 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
465 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
466 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
467 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
468 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
469 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000,
470 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001,
471 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002,
472 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003,
473 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004,
474 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005,
475 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006,
476 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007,
477 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008,
478 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009,
479 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010,
480 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011,
481 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012,
482 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013,
483 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000,
484 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001,
485 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002,
486 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003,
487 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004,
488 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005,
489 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006,
490 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007,
491 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009,
492 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010,
493 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011,
494 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012,
495 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013,
496 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014,
497 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000,
498 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001,
499 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003,
500 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004,
501 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005,
502 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006,
503 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
504 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
505 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
506 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
507 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
508 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
510 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
511 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
512 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
513 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
514 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
515 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
516 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
517 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
518 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
519 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000,
520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001,
521 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002,
522 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
523 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
524 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
525 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
526 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
527 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
528 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
529 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
530 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
531 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
532 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
533 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
534 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
535 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
536 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
537 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
538 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
539 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
540 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
541 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
542 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
543 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
544 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
545 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
546 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
547 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
549 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
550 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
551 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
552 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
553 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
554 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
555 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
556 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
557 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000,
558 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
559 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
560 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
561 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
562 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
563 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
564 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
565 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
566 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
567 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
568 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
569 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
570 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
572 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
573 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
574 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
575 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
576 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
577 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
578 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
579 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
580 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
581 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
582 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
583 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
584 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
585 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
586 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
587 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
588 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
589 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
590 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
591 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
592 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006,
593#ifdef VK_ENABLE_BETA_EXTENSIONS
594 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000,
595#endif
596#ifdef VK_ENABLE_BETA_EXTENSIONS
597 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001,
598#endif
599#ifdef VK_ENABLE_BETA_EXTENSIONS
600 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002,
601#endif
602#ifdef VK_ENABLE_BETA_EXTENSIONS
603 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003,
604#endif
605#ifdef VK_ENABLE_BETA_EXTENSIONS
606 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004,
607#endif
608 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
609 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
610 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
612 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
614 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
615 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
616 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
617 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
618 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
619 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
620 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
621 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
622 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
623 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
624 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
625 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
626 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
627 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
629 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
630 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
631 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
632 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
633 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
634 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
635 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
636 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
637 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
638 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
641 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
642 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
643 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
644 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
645 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
646 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006,
647 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
648 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
649#ifdef VK_ENABLE_BETA_EXTENSIONS
650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
651#endif
652#ifdef VK_ENABLE_BETA_EXTENSIONS
653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
654#endif
655 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
656 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
657 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
658 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
659 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
660 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
661 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
662 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
663 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
664 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
665 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
666 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
668 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
669 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
670 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
671 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
673 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
674 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
675 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
678 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
679 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
680 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000,
681 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001,
682 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002,
683 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003,
684 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004,
685 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005,
686 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
687 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
688 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
689 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
691 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
696 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
698 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
699 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
701 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
702 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
703 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
704 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
705 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
706 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
708 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
709 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
710 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
711 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
714 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
715 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
716 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
717 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
720 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
722 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = 1000232000,
723 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = 1000232001,
724 VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = 1000232002,
725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = 1000235000,
727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
729 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
730 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
731 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
733 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
734 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
737 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
740 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
741 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
742 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
745 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
747 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
748 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
749 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
750 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
754 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
755 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
756 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
757 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
758 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = 1000270000,
760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = 1000270001,
761 VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = 1000270002,
762 VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = 1000270003,
763 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = 1000270004,
764 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = 1000270005,
765 VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = 1000270006,
766 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = 1000270007,
767 VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = 1000270008,
768 VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = 1000270009,
769 VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = 1000271000,
770 VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = 1000271001,
771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT = 1000272000,
772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT = 1000272001,
773 VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT = 1000272002,
774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
775 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000,
776 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001,
777 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002,
778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000,
779 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001,
780 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002,
781 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003,
782 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004,
783 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005,
784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
785 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
786 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
787 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
788 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
789 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
790 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
793 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
795 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
796 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
797 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000,
798 VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001,
799 VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002,
800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
801 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
802 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
805 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
808 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000,
810 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001,
811 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002,
812 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
814 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
815 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
816 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
817 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
818 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004,
819 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005,
820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006,
821 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007,
822 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008,
823 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009,
824 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010,
825 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
826 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
827 VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000,
828 VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001,
829 VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002,
830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003,
831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004,
832 VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000,
833 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000,
834 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001,
835 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002,
836 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003,
837 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004,
838 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005,
839 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006,
840 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007,
841 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008,
842 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009,
843 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010,
844 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011,
845 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
846 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000,
848 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001,
849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002,
850 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003,
851 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004,
852 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005,
853 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006,
854 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007,
855 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008,
856 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010,
857 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011,
858 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012,
859 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009,
860 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
861 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
862 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
863 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000,
864 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000,
865 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000,
866 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
869 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
870 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
871 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
872 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
873 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000,
874 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001,
875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
878 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
881 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
882 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
883 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000,
884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000,
886 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001,
887 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002,
888 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
889 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
890 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
891 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
892 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
893 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
894 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000,
895 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001,
896 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
897 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
898 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
899 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
900 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
901 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
902 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
903 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
904 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
905 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
906 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
907 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
908 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
909 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
910 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
911 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
912 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
913 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
914 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
916 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
917 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
918 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
919 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
920 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000,
923 VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001,
924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000,
925 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001,
926 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002,
927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
928 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
930 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
934 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
936 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
937 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000,
939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001,
940 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000,
941 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001,
942 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002,
943 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003,
944 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004,
945 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005,
946 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006,
947 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007,
948 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008,
949 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009,
950#ifdef VK_ENABLE_BETA_EXTENSIONS
951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000,
952#endif
953#ifdef VK_ENABLE_BETA_EXTENSIONS
954 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001,
955#endif
956#ifdef VK_ENABLE_BETA_EXTENSIONS
957 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002,
958#endif
959 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000,
960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001,
961 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002,
962 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
963 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
964 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
965 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000,
966 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = 1000416000,
967 VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000,
968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001,
969 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002,
970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000,
971 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001,
972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
973 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
974 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
975 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000,
976 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000,
977 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000,
978 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001,
979 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002,
980 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003,
981 VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004,
982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
984 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
985 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000,
986 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001,
987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000,
988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001,
989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000,
990 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001,
991 VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002,
992 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
993 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000,
994 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
996 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
997 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002,
998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000,
999 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001,
1000 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000,
1001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000,
1002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001,
1003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
1004 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
1005 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
1006 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003,
1007 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000,
1008 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001,
1009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000,
1010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001,
1011 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
1012 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
1013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000,
1014 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000,
1015 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001,
1016 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002,
1017 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003,
1018 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004,
1019 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005,
1020 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010,
1021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000,
1022 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,
1023 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000,
1024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001,
1025 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002,
1026 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = 1000470000,
1027 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = 1000470001,
1028 VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = 1000470003,
1029 VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = 1000470004,
1030 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = 1000338002,
1031 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = 1000338003,
1032 VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = 1000470005,
1033 VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = 1000470006,
1034 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000,
1035 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000,
1036 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001,
1037 VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002,
1038 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
1039 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
1040 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
1041 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001,
1042 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000,
1043 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000,
1044 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001,
1045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000,
1046 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001,
1047 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000,
1048 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002,
1049 VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000,
1050 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000,
1051 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001,
1052 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000,
1053 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000,
1054 VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000,
1055 VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001,
1056 VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002,
1057 VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003,
1058 VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004,
1059 VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005,
1060 VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006,
1061 VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007,
1062 VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008,
1063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000,
1064 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001,
1065 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002,
1066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000,
1067 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001,
1068 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000,
1069 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001,
1070 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003,
1071 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004,
1072 VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005,
1073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000,
1074 VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001,
1075 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000,
1076 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000,
1077 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001,
1078 VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002,
1079 VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000,
1080 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001,
1081 VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002,
1082 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000,
1083 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001,
1084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000,
1085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000,
1086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = 1000525000,
1087 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = 1000190001,
1088 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = 1000190002,
1089 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = 1000528000,
1090 VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000,
1091 VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001,
1092 VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002,
1093 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003,
1094 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004,
1095 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000,
1096 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = 1000265000,
1097 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = 1000259000,
1098 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = 1000259001,
1099 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = 1000259002,
1100 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000,
1101 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = 1000544000,
1102 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = 1000545000,
1103 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = 1000545001,
1104 VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = 1000545002,
1105 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = 1000545003,
1106 VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = 1000545004,
1107 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = 1000545005,
1108 VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = 1000545006,
1109 VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007,
1110 VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008,
1111 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000,
1112 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000,
1113 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000,
1114 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000,
1115 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1116 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1117 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1118 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO,
1119 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
1120 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
1121 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
1122 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
1123 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
1124 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1125 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1127 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1128 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1129 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1130 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1131 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1132 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1133 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1134 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1135 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1136 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1137 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1138 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1139 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1140 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1141 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1142 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1143 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
1144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1145 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1146 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1147 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1148 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1149 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1150 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1151 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1152 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1153 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1154 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1155 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1156 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1157 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1158 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1159 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1160 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1161 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1162 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1163 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1164 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1165 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1166 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1167 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1168 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1169 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1170 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1171 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1172 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1173 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1174 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1175 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1176 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1177 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1178 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1179 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1181 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1182 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1183 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1184 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1185 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
1187 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
1188 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
1189 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
1190 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1191 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1192 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1193 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1194 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1195 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1196 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1197 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1198 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1199 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1200 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1201 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1202 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1203 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1204 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1206 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1207 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1208 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1209 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1210 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1211 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
1212 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1213 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1214 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1215 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR,
1216 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR,
1217 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR,
1218 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1222 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1225 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1226 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1227 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1228 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1229 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1230 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1231 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
1233 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
1235 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
1236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
1237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1238 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1239 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1241 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
1243 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1246 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1247 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1248 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1249 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR,
1251 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR,
1252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR,
1253 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1254 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR,
1255 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
1256 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
1257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
1258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
1259 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
1260 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
1261 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
1262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
1263 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
1264 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
1265 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
1266 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
1267 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
1268 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
1269 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
1271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
1272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
1273 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
1274 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
1275 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
1276 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
1277 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
1278 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
1279 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
1280 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
1281 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
1282 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
1283 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
1284 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR,
1285 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR,
1286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
1287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
1288 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
1289 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
1290 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
1291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
1292 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
1293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
1294 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
1295 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
1296 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
1297 VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
1298 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1299} VkStructureType;
1300
1301typedef enum VkPipelineCacheHeaderVersion {
1302 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1303 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1304} VkPipelineCacheHeaderVersion;
1305
1306typedef enum VkImageLayout {
1307 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1308 VK_IMAGE_LAYOUT_GENERAL = 1,
1309 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1310 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1311 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1312 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1313 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1314 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1315 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1316 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1317 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1318 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1319 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1320 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1321 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1322 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
1323 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
1324 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1325 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1326 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1327 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1328 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1329 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1330 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1331 VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = 1000232000,
1332 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1333 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1334 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1335 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000,
1336 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1337 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1338 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1339 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1340 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1341 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1342 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1343 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
1344 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
1345 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1346} VkImageLayout;
1347
1348typedef enum VkObjectType {
1349 VK_OBJECT_TYPE_UNKNOWN = 0,
1350 VK_OBJECT_TYPE_INSTANCE = 1,
1351 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1352 VK_OBJECT_TYPE_DEVICE = 3,
1353 VK_OBJECT_TYPE_QUEUE = 4,
1354 VK_OBJECT_TYPE_SEMAPHORE = 5,
1355 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1356 VK_OBJECT_TYPE_FENCE = 7,
1357 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1358 VK_OBJECT_TYPE_BUFFER = 9,
1359 VK_OBJECT_TYPE_IMAGE = 10,
1360 VK_OBJECT_TYPE_EVENT = 11,
1361 VK_OBJECT_TYPE_QUERY_POOL = 12,
1362 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1363 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1364 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1365 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1366 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1367 VK_OBJECT_TYPE_RENDER_PASS = 18,
1368 VK_OBJECT_TYPE_PIPELINE = 19,
1369 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1370 VK_OBJECT_TYPE_SAMPLER = 21,
1371 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1372 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1373 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1374 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1375 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1376 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1377 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
1378 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1379 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1380 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1381 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1382 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1383 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1384 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1385 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1386 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1387 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1388 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1389 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1390 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1391 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1392 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1393 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1394 VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000,
1395 VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001,
1396 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
1397 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000,
1398 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000,
1399 VK_OBJECT_TYPE_SHADER_EXT = 1000482000,
1400 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1401 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1402 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
1403 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1404} VkObjectType;
1405
1406typedef enum VkVendorId {
1407 VK_VENDOR_ID_VIV = 0x10001,
1408 VK_VENDOR_ID_VSI = 0x10002,
1409 VK_VENDOR_ID_KAZAN = 0x10003,
1410 VK_VENDOR_ID_CODEPLAY = 0x10004,
1411 VK_VENDOR_ID_MESA = 0x10005,
1412 VK_VENDOR_ID_POCL = 0x10006,
1413 VK_VENDOR_ID_MOBILEYE = 0x10007,
1414 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1415} VkVendorId;
1416
1417typedef enum VkSystemAllocationScope {
1418 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1419 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1420 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1421 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1422 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1423 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1424} VkSystemAllocationScope;
1425
1426typedef enum VkInternalAllocationType {
1427 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1428 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1429} VkInternalAllocationType;
1430
1431typedef enum VkFormat {
1432 VK_FORMAT_UNDEFINED = 0,
1433 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1434 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1435 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1436 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1437 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1438 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1439 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1440 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1441 VK_FORMAT_R8_UNORM = 9,
1442 VK_FORMAT_R8_SNORM = 10,
1443 VK_FORMAT_R8_USCALED = 11,
1444 VK_FORMAT_R8_SSCALED = 12,
1445 VK_FORMAT_R8_UINT = 13,
1446 VK_FORMAT_R8_SINT = 14,
1447 VK_FORMAT_R8_SRGB = 15,
1448 VK_FORMAT_R8G8_UNORM = 16,
1449 VK_FORMAT_R8G8_SNORM = 17,
1450 VK_FORMAT_R8G8_USCALED = 18,
1451 VK_FORMAT_R8G8_SSCALED = 19,
1452 VK_FORMAT_R8G8_UINT = 20,
1453 VK_FORMAT_R8G8_SINT = 21,
1454 VK_FORMAT_R8G8_SRGB = 22,
1455 VK_FORMAT_R8G8B8_UNORM = 23,
1456 VK_FORMAT_R8G8B8_SNORM = 24,
1457 VK_FORMAT_R8G8B8_USCALED = 25,
1458 VK_FORMAT_R8G8B8_SSCALED = 26,
1459 VK_FORMAT_R8G8B8_UINT = 27,
1460 VK_FORMAT_R8G8B8_SINT = 28,
1461 VK_FORMAT_R8G8B8_SRGB = 29,
1462 VK_FORMAT_B8G8R8_UNORM = 30,
1463 VK_FORMAT_B8G8R8_SNORM = 31,
1464 VK_FORMAT_B8G8R8_USCALED = 32,
1465 VK_FORMAT_B8G8R8_SSCALED = 33,
1466 VK_FORMAT_B8G8R8_UINT = 34,
1467 VK_FORMAT_B8G8R8_SINT = 35,
1468 VK_FORMAT_B8G8R8_SRGB = 36,
1469 VK_FORMAT_R8G8B8A8_UNORM = 37,
1470 VK_FORMAT_R8G8B8A8_SNORM = 38,
1471 VK_FORMAT_R8G8B8A8_USCALED = 39,
1472 VK_FORMAT_R8G8B8A8_SSCALED = 40,
1473 VK_FORMAT_R8G8B8A8_UINT = 41,
1474 VK_FORMAT_R8G8B8A8_SINT = 42,
1475 VK_FORMAT_R8G8B8A8_SRGB = 43,
1476 VK_FORMAT_B8G8R8A8_UNORM = 44,
1477 VK_FORMAT_B8G8R8A8_SNORM = 45,
1478 VK_FORMAT_B8G8R8A8_USCALED = 46,
1479 VK_FORMAT_B8G8R8A8_SSCALED = 47,
1480 VK_FORMAT_B8G8R8A8_UINT = 48,
1481 VK_FORMAT_B8G8R8A8_SINT = 49,
1482 VK_FORMAT_B8G8R8A8_SRGB = 50,
1483 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
1484 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
1485 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
1486 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
1487 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
1488 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
1489 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
1490 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
1491 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
1492 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
1493 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
1494 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
1495 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
1496 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
1497 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
1498 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
1499 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
1500 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
1501 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
1502 VK_FORMAT_R16_UNORM = 70,
1503 VK_FORMAT_R16_SNORM = 71,
1504 VK_FORMAT_R16_USCALED = 72,
1505 VK_FORMAT_R16_SSCALED = 73,
1506 VK_FORMAT_R16_UINT = 74,
1507 VK_FORMAT_R16_SINT = 75,
1508 VK_FORMAT_R16_SFLOAT = 76,
1509 VK_FORMAT_R16G16_UNORM = 77,
1510 VK_FORMAT_R16G16_SNORM = 78,
1511 VK_FORMAT_R16G16_USCALED = 79,
1512 VK_FORMAT_R16G16_SSCALED = 80,
1513 VK_FORMAT_R16G16_UINT = 81,
1514 VK_FORMAT_R16G16_SINT = 82,
1515 VK_FORMAT_R16G16_SFLOAT = 83,
1516 VK_FORMAT_R16G16B16_UNORM = 84,
1517 VK_FORMAT_R16G16B16_SNORM = 85,
1518 VK_FORMAT_R16G16B16_USCALED = 86,
1519 VK_FORMAT_R16G16B16_SSCALED = 87,
1520 VK_FORMAT_R16G16B16_UINT = 88,
1521 VK_FORMAT_R16G16B16_SINT = 89,
1522 VK_FORMAT_R16G16B16_SFLOAT = 90,
1523 VK_FORMAT_R16G16B16A16_UNORM = 91,
1524 VK_FORMAT_R16G16B16A16_SNORM = 92,
1525 VK_FORMAT_R16G16B16A16_USCALED = 93,
1526 VK_FORMAT_R16G16B16A16_SSCALED = 94,
1527 VK_FORMAT_R16G16B16A16_UINT = 95,
1528 VK_FORMAT_R16G16B16A16_SINT = 96,
1529 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
1530 VK_FORMAT_R32_UINT = 98,
1531 VK_FORMAT_R32_SINT = 99,
1532 VK_FORMAT_R32_SFLOAT = 100,
1533 VK_FORMAT_R32G32_UINT = 101,
1534 VK_FORMAT_R32G32_SINT = 102,
1535 VK_FORMAT_R32G32_SFLOAT = 103,
1536 VK_FORMAT_R32G32B32_UINT = 104,
1537 VK_FORMAT_R32G32B32_SINT = 105,
1538 VK_FORMAT_R32G32B32_SFLOAT = 106,
1539 VK_FORMAT_R32G32B32A32_UINT = 107,
1540 VK_FORMAT_R32G32B32A32_SINT = 108,
1541 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
1542 VK_FORMAT_R64_UINT = 110,
1543 VK_FORMAT_R64_SINT = 111,
1544 VK_FORMAT_R64_SFLOAT = 112,
1545 VK_FORMAT_R64G64_UINT = 113,
1546 VK_FORMAT_R64G64_SINT = 114,
1547 VK_FORMAT_R64G64_SFLOAT = 115,
1548 VK_FORMAT_R64G64B64_UINT = 116,
1549 VK_FORMAT_R64G64B64_SINT = 117,
1550 VK_FORMAT_R64G64B64_SFLOAT = 118,
1551 VK_FORMAT_R64G64B64A64_UINT = 119,
1552 VK_FORMAT_R64G64B64A64_SINT = 120,
1553 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
1554 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
1555 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
1556 VK_FORMAT_D16_UNORM = 124,
1557 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
1558 VK_FORMAT_D32_SFLOAT = 126,
1559 VK_FORMAT_S8_UINT = 127,
1560 VK_FORMAT_D16_UNORM_S8_UINT = 128,
1561 VK_FORMAT_D24_UNORM_S8_UINT = 129,
1562 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
1563 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
1564 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
1565 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
1566 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
1567 VK_FORMAT_BC2_UNORM_BLOCK = 135,
1568 VK_FORMAT_BC2_SRGB_BLOCK = 136,
1569 VK_FORMAT_BC3_UNORM_BLOCK = 137,
1570 VK_FORMAT_BC3_SRGB_BLOCK = 138,
1571 VK_FORMAT_BC4_UNORM_BLOCK = 139,
1572 VK_FORMAT_BC4_SNORM_BLOCK = 140,
1573 VK_FORMAT_BC5_UNORM_BLOCK = 141,
1574 VK_FORMAT_BC5_SNORM_BLOCK = 142,
1575 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
1576 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
1577 VK_FORMAT_BC7_UNORM_BLOCK = 145,
1578 VK_FORMAT_BC7_SRGB_BLOCK = 146,
1579 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
1580 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
1581 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
1582 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
1583 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
1584 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
1585 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
1586 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
1587 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
1588 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
1589 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
1590 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
1591 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
1592 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
1593 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
1594 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
1595 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
1596 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
1597 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
1598 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
1599 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
1600 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
1601 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
1602 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
1603 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
1604 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
1605 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
1606 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
1607 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
1608 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
1609 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
1610 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
1611 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
1612 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
1613 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
1614 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
1615 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
1616 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
1617 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
1618 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
1619 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
1620 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
1621 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
1622 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
1623 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
1624 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
1625 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
1626 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
1627 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
1628 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
1629 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
1630 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
1631 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
1632 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
1633 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
1634 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
1635 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
1636 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
1637 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
1638 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
1639 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
1640 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
1641 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
1642 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
1643 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
1644 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
1645 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
1646 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
1647 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
1648 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
1649 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
1650 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
1651 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
1652 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
1653 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
1654 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
1655 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
1656 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
1657 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
1658 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
1659 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
1660 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
1661 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
1662 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
1663 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
1664 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
1665 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
1666 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
1667 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
1668 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
1669 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
1670 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
1671 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
1672 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
1673 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
1674 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
1675 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
1676 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
1677 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
1678 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
1679 VK_FORMAT_R16G16_SFIXED5_NV = 1000464000,
1680 VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = 1000470000,
1681 VK_FORMAT_A8_UNORM_KHR = 1000470001,
1682 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
1683 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
1684 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
1685 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
1686 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
1687 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
1688 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
1689 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
1690 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
1691 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
1692 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
1693 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
1694 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
1695 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
1696 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
1697 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
1698 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
1699 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
1700 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
1701 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
1702 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
1703 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
1704 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
1705 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
1706 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
1707 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
1708 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
1709 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
1710 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
1711 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
1712 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
1713 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
1714 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
1715 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
1716 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
1717 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
1718 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
1719 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
1720 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
1721 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
1722 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
1723 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
1724 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
1725 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
1726 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
1727 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
1728 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
1729 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
1730 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
1731 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
1732 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
1733 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
1734 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
1735 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
1736 VK_FORMAT_R16G16_S10_5_NV = VK_FORMAT_R16G16_SFIXED5_NV,
1737 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1738} VkFormat;
1739
1740typedef enum VkImageTiling {
1741 VK_IMAGE_TILING_OPTIMAL = 0,
1742 VK_IMAGE_TILING_LINEAR = 1,
1743 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
1744 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
1745} VkImageTiling;
1746
1747typedef enum VkImageType {
1748 VK_IMAGE_TYPE_1D = 0,
1749 VK_IMAGE_TYPE_2D = 1,
1750 VK_IMAGE_TYPE_3D = 2,
1751 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
1752} VkImageType;
1753
1754typedef enum VkPhysicalDeviceType {
1755 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
1756 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
1757 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
1758 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
1759 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
1760 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
1761} VkPhysicalDeviceType;
1762
1763typedef enum VkQueryType {
1764 VK_QUERY_TYPE_OCCLUSION = 0,
1765 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
1766 VK_QUERY_TYPE_TIMESTAMP = 2,
1767 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
1768 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
1769 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
1770 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
1771 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
1772 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
1773 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
1774 VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000,
1775 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000,
1776 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
1777 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
1778 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
1779 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000,
1780 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001,
1781 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
1782} VkQueryType;
1783
1784typedef enum VkSharingMode {
1785 VK_SHARING_MODE_EXCLUSIVE = 0,
1786 VK_SHARING_MODE_CONCURRENT = 1,
1787 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
1788} VkSharingMode;
1789
1790typedef enum VkComponentSwizzle {
1791 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
1792 VK_COMPONENT_SWIZZLE_ZERO = 1,
1793 VK_COMPONENT_SWIZZLE_ONE = 2,
1794 VK_COMPONENT_SWIZZLE_R = 3,
1795 VK_COMPONENT_SWIZZLE_G = 4,
1796 VK_COMPONENT_SWIZZLE_B = 5,
1797 VK_COMPONENT_SWIZZLE_A = 6,
1798 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
1799} VkComponentSwizzle;
1800
1801typedef enum VkImageViewType {
1802 VK_IMAGE_VIEW_TYPE_1D = 0,
1803 VK_IMAGE_VIEW_TYPE_2D = 1,
1804 VK_IMAGE_VIEW_TYPE_3D = 2,
1805 VK_IMAGE_VIEW_TYPE_CUBE = 3,
1806 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
1807 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
1808 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
1809 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
1810} VkImageViewType;
1811
1812typedef enum VkBlendFactor {
1813 VK_BLEND_FACTOR_ZERO = 0,
1814 VK_BLEND_FACTOR_ONE = 1,
1815 VK_BLEND_FACTOR_SRC_COLOR = 2,
1816 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
1817 VK_BLEND_FACTOR_DST_COLOR = 4,
1818 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
1819 VK_BLEND_FACTOR_SRC_ALPHA = 6,
1820 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
1821 VK_BLEND_FACTOR_DST_ALPHA = 8,
1822 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
1823 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
1824 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
1825 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
1826 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
1827 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
1828 VK_BLEND_FACTOR_SRC1_COLOR = 15,
1829 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
1830 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
1831 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
1832 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
1833} VkBlendFactor;
1834
1835typedef enum VkBlendOp {
1836 VK_BLEND_OP_ADD = 0,
1837 VK_BLEND_OP_SUBTRACT = 1,
1838 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
1839 VK_BLEND_OP_MIN = 3,
1840 VK_BLEND_OP_MAX = 4,
1841 VK_BLEND_OP_ZERO_EXT = 1000148000,
1842 VK_BLEND_OP_SRC_EXT = 1000148001,
1843 VK_BLEND_OP_DST_EXT = 1000148002,
1844 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
1845 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
1846 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
1847 VK_BLEND_OP_DST_IN_EXT = 1000148006,
1848 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
1849 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
1850 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
1851 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
1852 VK_BLEND_OP_XOR_EXT = 1000148011,
1853 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
1854 VK_BLEND_OP_SCREEN_EXT = 1000148013,
1855 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
1856 VK_BLEND_OP_DARKEN_EXT = 1000148015,
1857 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
1858 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
1859 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
1860 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
1861 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
1862 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
1863 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
1864 VK_BLEND_OP_INVERT_EXT = 1000148023,
1865 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
1866 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
1867 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
1868 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
1869 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
1870 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
1871 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
1872 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
1873 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
1874 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
1875 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
1876 VK_BLEND_OP_PLUS_EXT = 1000148035,
1877 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
1878 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
1879 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
1880 VK_BLEND_OP_MINUS_EXT = 1000148039,
1881 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
1882 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
1883 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
1884 VK_BLEND_OP_RED_EXT = 1000148043,
1885 VK_BLEND_OP_GREEN_EXT = 1000148044,
1886 VK_BLEND_OP_BLUE_EXT = 1000148045,
1887 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1888} VkBlendOp;
1889
1890typedef enum VkCompareOp {
1891 VK_COMPARE_OP_NEVER = 0,
1892 VK_COMPARE_OP_LESS = 1,
1893 VK_COMPARE_OP_EQUAL = 2,
1894 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
1895 VK_COMPARE_OP_GREATER = 4,
1896 VK_COMPARE_OP_NOT_EQUAL = 5,
1897 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
1898 VK_COMPARE_OP_ALWAYS = 7,
1899 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
1900} VkCompareOp;
1901
1902typedef enum VkDynamicState {
1903 VK_DYNAMIC_STATE_VIEWPORT = 0,
1904 VK_DYNAMIC_STATE_SCISSOR = 1,
1905 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
1906 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
1907 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
1908 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
1909 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
1910 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
1911 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
1912 VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
1913 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
1914 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
1915 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
1916 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
1917 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
1918 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
1919 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
1920 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
1921 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
1922 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
1923 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
1924 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
1925 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
1926 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
1927 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
1928 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
1929 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001,
1930 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002,
1931 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
1932 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
1933 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
1934 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
1935 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000,
1936 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
1937 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
1938 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
1939 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
1940 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
1941 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
1942 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003,
1943 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004,
1944 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005,
1945 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006,
1946 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007,
1947 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008,
1948 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009,
1949 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010,
1950 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011,
1951 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012,
1952 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
1953 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013,
1954 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014,
1955 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015,
1956 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016,
1957 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017,
1958 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018,
1959 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019,
1960 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020,
1961 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021,
1962 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022,
1963 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023,
1964 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024,
1965 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025,
1966 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026,
1967 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027,
1968 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028,
1969 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029,
1970 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030,
1971 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031,
1972 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032,
1973 VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000,
1974 VK_DYNAMIC_STATE_LINE_STIPPLE_KHR = 1000259000,
1975 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = VK_DYNAMIC_STATE_LINE_STIPPLE_KHR,
1976 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE,
1977 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE,
1978 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
1979 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
1980 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
1981 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
1982 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
1983 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
1984 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
1985 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
1986 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
1987 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP,
1988 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
1989 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
1990 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
1991 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
1992} VkDynamicState;
1993
1994typedef enum VkFrontFace {
1995 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
1996 VK_FRONT_FACE_CLOCKWISE = 1,
1997 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
1998} VkFrontFace;
1999
2000typedef enum VkVertexInputRate {
2001 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2002 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2003 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2004} VkVertexInputRate;
2005
2006typedef enum VkPrimitiveTopology {
2007 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2008 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2009 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2010 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2011 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2012 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2013 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2014 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2015 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2016 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2017 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2018 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2019} VkPrimitiveTopology;
2020
2021typedef enum VkPolygonMode {
2022 VK_POLYGON_MODE_FILL = 0,
2023 VK_POLYGON_MODE_LINE = 1,
2024 VK_POLYGON_MODE_POINT = 2,
2025 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2026 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2027} VkPolygonMode;
2028
2029typedef enum VkStencilOp {
2030 VK_STENCIL_OP_KEEP = 0,
2031 VK_STENCIL_OP_ZERO = 1,
2032 VK_STENCIL_OP_REPLACE = 2,
2033 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2034 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2035 VK_STENCIL_OP_INVERT = 5,
2036 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2037 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2038 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2039} VkStencilOp;
2040
2041typedef enum VkLogicOp {
2042 VK_LOGIC_OP_CLEAR = 0,
2043 VK_LOGIC_OP_AND = 1,
2044 VK_LOGIC_OP_AND_REVERSE = 2,
2045 VK_LOGIC_OP_COPY = 3,
2046 VK_LOGIC_OP_AND_INVERTED = 4,
2047 VK_LOGIC_OP_NO_OP = 5,
2048 VK_LOGIC_OP_XOR = 6,
2049 VK_LOGIC_OP_OR = 7,
2050 VK_LOGIC_OP_NOR = 8,
2051 VK_LOGIC_OP_EQUIVALENT = 9,
2052 VK_LOGIC_OP_INVERT = 10,
2053 VK_LOGIC_OP_OR_REVERSE = 11,
2054 VK_LOGIC_OP_COPY_INVERTED = 12,
2055 VK_LOGIC_OP_OR_INVERTED = 13,
2056 VK_LOGIC_OP_NAND = 14,
2057 VK_LOGIC_OP_SET = 15,
2058 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2059} VkLogicOp;
2060
2061typedef enum VkBorderColor {
2062 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2063 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2064 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2065 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2066 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2067 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2068 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2069 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2070 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2071} VkBorderColor;
2072
2073typedef enum VkFilter {
2074 VK_FILTER_NEAREST = 0,
2075 VK_FILTER_LINEAR = 1,
2076 VK_FILTER_CUBIC_EXT = 1000015000,
2077 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT,
2078 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2079} VkFilter;
2080
2081typedef enum VkSamplerAddressMode {
2082 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2083 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2084 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2085 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2086 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2087 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2088 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2089} VkSamplerAddressMode;
2090
2091typedef enum VkSamplerMipmapMode {
2092 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2093 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2094 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2095} VkSamplerMipmapMode;
2096
2097typedef enum VkDescriptorType {
2098 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2099 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2100 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2101 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2102 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2103 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2104 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2105 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2106 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2107 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2108 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2109 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
2110 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2111 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2112 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000,
2113 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001,
2114 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000,
2115 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
2116 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT,
2117 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2118} VkDescriptorType;
2119
2120typedef enum VkAttachmentLoadOp {
2121 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2122 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2123 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2124 VK_ATTACHMENT_LOAD_OP_NONE_KHR = 1000400000,
2125 VK_ATTACHMENT_LOAD_OP_NONE_EXT = VK_ATTACHMENT_LOAD_OP_NONE_KHR,
2126 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2127} VkAttachmentLoadOp;
2128
2129typedef enum VkAttachmentStoreOp {
2130 VK_ATTACHMENT_STORE_OP_STORE = 0,
2131 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2132 VK_ATTACHMENT_STORE_OP_NONE = 1000301000,
2133 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE,
2134 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE,
2135 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE,
2136 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2137} VkAttachmentStoreOp;
2138
2139typedef enum VkPipelineBindPoint {
2140 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2141 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2142#ifdef VK_ENABLE_BETA_EXTENSIONS
2143 VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000,
2144#endif
2145 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2146 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2147 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2148 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2149} VkPipelineBindPoint;
2150
2151typedef enum VkCommandBufferLevel {
2152 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2153 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2154 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2155} VkCommandBufferLevel;
2156
2157typedef enum VkIndexType {
2158 VK_INDEX_TYPE_UINT16 = 0,
2159 VK_INDEX_TYPE_UINT32 = 1,
2160 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2161 VK_INDEX_TYPE_UINT8_KHR = 1000265000,
2162 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2163 VK_INDEX_TYPE_UINT8_EXT = VK_INDEX_TYPE_UINT8_KHR,
2164 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2165} VkIndexType;
2166
2167typedef enum VkSubpassContents {
2168 VK_SUBPASS_CONTENTS_INLINE = 0,
2169 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2170 VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = 1000451000,
2171 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2172} VkSubpassContents;
2173
2174typedef enum VkAccessFlagBits {
2175 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2176 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2177 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2178 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2179 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2180 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2181 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2182 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2183 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2184 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2185 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2186 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2187 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2188 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2189 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2190 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2191 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2192 VK_ACCESS_NONE = 0,
2193 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2194 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2195 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2196 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2197 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2198 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2199 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2200 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2201 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2202 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2203 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2204 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2205 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2206 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2207 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE,
2208 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2209} VkAccessFlagBits;
2210typedef VkFlags VkAccessFlags;
2211
2212typedef enum VkImageAspectFlagBits {
2213 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2214 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2215 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2216 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2217 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2218 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2219 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2220 VK_IMAGE_ASPECT_NONE = 0,
2221 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2222 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2223 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2224 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2225 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2226 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2227 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2228 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
2229 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2230} VkImageAspectFlagBits;
2231typedef VkFlags VkImageAspectFlags;
2232
2233typedef enum VkFormatFeatureFlagBits {
2234 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2235 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2236 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2237 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2238 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2239 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2240 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2241 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2242 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2243 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2244 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2245 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2246 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2247 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2248 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2249 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2250 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2251 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2252 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2253 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2254 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2255 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2256 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2257 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2258 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2259 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2260 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000,
2261 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2262 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2263 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2264 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2265 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
2266 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2267 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2268 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2269 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2270 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2271 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2272 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2273 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
2274 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2275 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2276 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2277} VkFormatFeatureFlagBits;
2278typedef VkFlags VkFormatFeatureFlags;
2279
2280typedef enum VkImageCreateFlagBits {
2281 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2282 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2283 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2284 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2285 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2286 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2287 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2288 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2289 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2290 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2291 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2292 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2293 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2294 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2295 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2296 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000,
2297 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000,
2298 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
2299 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
2300 VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000,
2301 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2302 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2303 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2304 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2305 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2306 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2307 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2308} VkImageCreateFlagBits;
2309typedef VkFlags VkImageCreateFlags;
2310
2311typedef enum VkSampleCountFlagBits {
2312 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2313 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2314 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2315 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2316 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2317 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2318 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2319 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2320} VkSampleCountFlagBits;
2321typedef VkFlags VkSampleCountFlags;
2322
2323typedef enum VkImageUsageFlagBits {
2324 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2325 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2326 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2327 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2328 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2329 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2330 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2331 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2332 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2333 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2334 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2335 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2336 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
2337 VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = 0x00400000,
2338 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2339 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2340 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2341 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000,
2342 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
2343 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000,
2344 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000,
2345 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2346 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2347} VkImageUsageFlagBits;
2348typedef VkFlags VkImageUsageFlags;
2349
2350typedef enum VkInstanceCreateFlagBits {
2351 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
2352 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2353} VkInstanceCreateFlagBits;
2354typedef VkFlags VkInstanceCreateFlags;
2355
2356typedef enum VkMemoryHeapFlagBits {
2357 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2358 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2359 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2360 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2361} VkMemoryHeapFlagBits;
2362typedef VkFlags VkMemoryHeapFlags;
2363
2364typedef enum VkMemoryPropertyFlagBits {
2365 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2366 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2367 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2368 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2369 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2370 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2371 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2372 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2373 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
2374 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2375} VkMemoryPropertyFlagBits;
2376typedef VkFlags VkMemoryPropertyFlags;
2377
2378typedef enum VkQueueFlagBits {
2379 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2380 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2381 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2382 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2383 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2384 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2385 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2386 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100,
2387 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2388} VkQueueFlagBits;
2389typedef VkFlags VkQueueFlags;
2390typedef VkFlags VkDeviceCreateFlags;
2391
2392typedef enum VkDeviceQueueCreateFlagBits {
2393 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2394 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2395} VkDeviceQueueCreateFlagBits;
2396typedef VkFlags VkDeviceQueueCreateFlags;
2397
2398typedef enum VkPipelineStageFlagBits {
2399 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2400 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2401 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2402 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2403 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2404 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2405 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2406 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2407 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2408 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2409 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2410 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2411 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2412 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2413 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2414 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2415 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2416 VK_PIPELINE_STAGE_NONE = 0,
2417 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2418 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2419 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2420 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2421 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2422 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2423 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2424 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000,
2425 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000,
2426 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2427 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2428 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2429 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT,
2430 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT,
2431 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE,
2432 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2433} VkPipelineStageFlagBits;
2434typedef VkFlags VkPipelineStageFlags;
2435
2436typedef enum VkMemoryMapFlagBits {
2437 VK_MEMORY_MAP_PLACED_BIT_EXT = 0x00000001,
2438 VK_MEMORY_MAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2439} VkMemoryMapFlagBits;
2440typedef VkFlags VkMemoryMapFlags;
2441
2442typedef enum VkSparseMemoryBindFlagBits {
2443 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2444 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2445} VkSparseMemoryBindFlagBits;
2446typedef VkFlags VkSparseMemoryBindFlags;
2447
2448typedef enum VkSparseImageFormatFlagBits {
2449 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2450 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2451 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2452 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2453} VkSparseImageFormatFlagBits;
2454typedef VkFlags VkSparseImageFormatFlags;
2455
2456typedef enum VkFenceCreateFlagBits {
2457 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2458 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2459} VkFenceCreateFlagBits;
2460typedef VkFlags VkFenceCreateFlags;
2461typedef VkFlags VkSemaphoreCreateFlags;
2462
2463typedef enum VkEventCreateFlagBits {
2464 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001,
2465 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
2466 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2467} VkEventCreateFlagBits;
2468typedef VkFlags VkEventCreateFlags;
2469
2470typedef enum VkQueryPipelineStatisticFlagBits {
2471 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2472 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2473 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2474 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2475 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2476 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2477 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2478 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2479 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2480 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2481 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2482 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800,
2483 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000,
2484 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000,
2485 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2486} VkQueryPipelineStatisticFlagBits;
2487typedef VkFlags VkQueryPipelineStatisticFlags;
2488typedef VkFlags VkQueryPoolCreateFlags;
2489
2490typedef enum VkQueryResultFlagBits {
2491 VK_QUERY_RESULT_64_BIT = 0x00000001,
2492 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2493 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2494 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2495 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2496 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2497} VkQueryResultFlagBits;
2498typedef VkFlags VkQueryResultFlags;
2499
2500typedef enum VkBufferCreateFlagBits {
2501 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2502 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2503 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2504 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2505 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2506 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020,
2507 VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040,
2508 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2509 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2510 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2511} VkBufferCreateFlagBits;
2512typedef VkFlags VkBufferCreateFlags;
2513
2514typedef enum VkBufferUsageFlagBits {
2515 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2516 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2517 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2518 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2519 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2520 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2521 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2522 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2523 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2524 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2525 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2526 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2527 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2528 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2529 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2530#ifdef VK_ENABLE_BETA_EXTENSIONS
2531 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000,
2532#endif
2533 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2534 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2535 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2536 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2537 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2538 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000,
2539 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000,
2540 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000,
2541 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000,
2542 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000,
2543 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2544 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2545 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2546 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2547} VkBufferUsageFlagBits;
2548typedef VkFlags VkBufferUsageFlags;
2549typedef VkFlags VkBufferViewCreateFlags;
2550
2551typedef enum VkImageViewCreateFlagBits {
2552 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2553 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004,
2554 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2555 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2556} VkImageViewCreateFlagBits;
2557typedef VkFlags VkImageViewCreateFlags;
2558typedef VkFlags VkShaderModuleCreateFlags;
2559
2560typedef enum VkPipelineCacheCreateFlagBits {
2561 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001,
2562 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
2563 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2564} VkPipelineCacheCreateFlagBits;
2565typedef VkFlags VkPipelineCacheCreateFlags;
2566
2567typedef enum VkColorComponentFlagBits {
2568 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
2569 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
2570 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
2571 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
2572 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2573} VkColorComponentFlagBits;
2574typedef VkFlags VkColorComponentFlags;
2575
2576typedef enum VkPipelineCreateFlagBits {
2577 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
2578 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
2579 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
2580 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
2581 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
2582 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100,
2583 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200,
2584 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
2585 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
2586 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
2587 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
2588 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
2589 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
2590 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
2591 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
2592 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
2593 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
2594 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
2595 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
2596 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
2597 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
2598 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000,
2599 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
2600 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
2601 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
2602 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000,
2603 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000,
2604 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000,
2605#ifdef VK_ENABLE_BETA_EXTENSIONS
2606 VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000,
2607#endif
2608 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000,
2609 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000,
2610 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
2611 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2612 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
2613 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
2614 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
2615 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
2616 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
2617 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2618} VkPipelineCreateFlagBits;
2619typedef VkFlags VkPipelineCreateFlags;
2620
2621typedef enum VkPipelineShaderStageCreateFlagBits {
2622 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001,
2623 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002,
2624 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
2625 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
2626 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2627} VkPipelineShaderStageCreateFlagBits;
2628typedef VkFlags VkPipelineShaderStageCreateFlags;
2629
2630typedef enum VkShaderStageFlagBits {
2631 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
2632 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
2633 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
2634 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
2635 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
2636 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
2637 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
2638 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
2639 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
2640 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
2641 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
2642 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
2643 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
2644 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
2645 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040,
2646 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080,
2647 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
2648 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000,
2649 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
2650 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
2651 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
2652 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
2653 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
2654 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
2655 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT,
2656 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT,
2657 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2658} VkShaderStageFlagBits;
2659
2660typedef enum VkCullModeFlagBits {
2661 VK_CULL_MODE_NONE = 0,
2662 VK_CULL_MODE_FRONT_BIT = 0x00000001,
2663 VK_CULL_MODE_BACK_BIT = 0x00000002,
2664 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
2665 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2666} VkCullModeFlagBits;
2667typedef VkFlags VkCullModeFlags;
2668typedef VkFlags VkPipelineVertexInputStateCreateFlags;
2669typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
2670typedef VkFlags VkPipelineTessellationStateCreateFlags;
2671typedef VkFlags VkPipelineViewportStateCreateFlags;
2672typedef VkFlags VkPipelineRasterizationStateCreateFlags;
2673typedef VkFlags VkPipelineMultisampleStateCreateFlags;
2674
2675typedef enum VkPipelineDepthStencilStateCreateFlagBits {
2676 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001,
2677 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002,
2678 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
2679 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
2680 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2681} VkPipelineDepthStencilStateCreateFlagBits;
2682typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
2683
2684typedef enum VkPipelineColorBlendStateCreateFlagBits {
2685 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001,
2686 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT,
2687 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2688} VkPipelineColorBlendStateCreateFlagBits;
2689typedef VkFlags VkPipelineColorBlendStateCreateFlags;
2690typedef VkFlags VkPipelineDynamicStateCreateFlags;
2691
2692typedef enum VkPipelineLayoutCreateFlagBits {
2693 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
2694 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2695} VkPipelineLayoutCreateFlagBits;
2696typedef VkFlags VkPipelineLayoutCreateFlags;
2697typedef VkFlags VkShaderStageFlags;
2698
2699typedef enum VkSamplerCreateFlagBits {
2700 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
2701 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
2702 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
2703 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004,
2704 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010,
2705 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2706} VkSamplerCreateFlagBits;
2707typedef VkFlags VkSamplerCreateFlags;
2708
2709typedef enum VkDescriptorPoolCreateFlagBits {
2710 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
2711 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
2712 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004,
2713 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008,
2714 VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010,
2715 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
2716 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT,
2717 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2718} VkDescriptorPoolCreateFlagBits;
2719typedef VkFlags VkDescriptorPoolCreateFlags;
2720typedef VkFlags VkDescriptorPoolResetFlags;
2721
2722typedef enum VkDescriptorSetLayoutCreateFlagBits {
2723 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
2724 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
2725 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010,
2726 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020,
2727 VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080,
2728 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004,
2729 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040,
2730 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
2731 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
2732 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2733} VkDescriptorSetLayoutCreateFlagBits;
2734typedef VkFlags VkDescriptorSetLayoutCreateFlags;
2735
2736typedef enum VkAttachmentDescriptionFlagBits {
2737 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
2738 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2739} VkAttachmentDescriptionFlagBits;
2740typedef VkFlags VkAttachmentDescriptionFlags;
2741
2742typedef enum VkDependencyFlagBits {
2743 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
2744 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
2745 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
2746 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008,
2747 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
2748 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
2749 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2750} VkDependencyFlagBits;
2751typedef VkFlags VkDependencyFlags;
2752
2753typedef enum VkFramebufferCreateFlagBits {
2754 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
2755 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
2756 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2757} VkFramebufferCreateFlagBits;
2758typedef VkFlags VkFramebufferCreateFlags;
2759
2760typedef enum VkRenderPassCreateFlagBits {
2761 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
2762 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2763} VkRenderPassCreateFlagBits;
2764typedef VkFlags VkRenderPassCreateFlags;
2765
2766typedef enum VkSubpassDescriptionFlagBits {
2767 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
2768 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
2769 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
2770 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
2771 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010,
2772 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020,
2773 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040,
2774 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080,
2775 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT,
2776 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
2777 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
2778 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2779} VkSubpassDescriptionFlagBits;
2780typedef VkFlags VkSubpassDescriptionFlags;
2781
2782typedef enum VkCommandPoolCreateFlagBits {
2783 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
2784 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
2785 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
2786 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2787} VkCommandPoolCreateFlagBits;
2788typedef VkFlags VkCommandPoolCreateFlags;
2789
2790typedef enum VkCommandPoolResetFlagBits {
2791 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2792 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2793} VkCommandPoolResetFlagBits;
2794typedef VkFlags VkCommandPoolResetFlags;
2795
2796typedef enum VkCommandBufferUsageFlagBits {
2797 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
2798 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
2799 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
2800 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2801} VkCommandBufferUsageFlagBits;
2802typedef VkFlags VkCommandBufferUsageFlags;
2803
2804typedef enum VkQueryControlFlagBits {
2805 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
2806 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2807} VkQueryControlFlagBits;
2808typedef VkFlags VkQueryControlFlags;
2809
2810typedef enum VkCommandBufferResetFlagBits {
2811 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
2812 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2813} VkCommandBufferResetFlagBits;
2814typedef VkFlags VkCommandBufferResetFlags;
2815
2816typedef enum VkStencilFaceFlagBits {
2817 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
2818 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
2819 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
2820 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
2821 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2822} VkStencilFaceFlagBits;
2823typedef VkFlags VkStencilFaceFlags;
2824typedef struct VkExtent2D {
2825 uint32_t width;
2826 uint32_t height;
2827} VkExtent2D;
2828
2829typedef struct VkExtent3D {
2830 uint32_t width;
2831 uint32_t height;
2832 uint32_t depth;
2833} VkExtent3D;
2834
2835typedef struct VkOffset2D {
2836 int32_t x;
2837 int32_t y;
2838} VkOffset2D;
2839
2840typedef struct VkOffset3D {
2841 int32_t x;
2842 int32_t y;
2843 int32_t z;
2844} VkOffset3D;
2845
2846typedef struct VkRect2D {
2847 VkOffset2D offset;
2848 VkExtent2D extent;
2849} VkRect2D;
2850
2851typedef struct VkBaseInStructure {
2852 VkStructureType sType;
2853 const struct VkBaseInStructure* pNext;
2854} VkBaseInStructure;
2855
2856typedef struct VkBaseOutStructure {
2857 VkStructureType sType;
2858 struct VkBaseOutStructure* pNext;
2859} VkBaseOutStructure;
2860
2861typedef struct VkBufferMemoryBarrier {
2862 VkStructureType sType;
2863 const void* pNext;
2864 VkAccessFlags srcAccessMask;
2865 VkAccessFlags dstAccessMask;
2866 uint32_t srcQueueFamilyIndex;
2867 uint32_t dstQueueFamilyIndex;
2868 VkBuffer buffer;
2869 VkDeviceSize offset;
2870 VkDeviceSize size;
2871} VkBufferMemoryBarrier;
2872
2873typedef struct VkDispatchIndirectCommand {
2874 uint32_t x;
2875 uint32_t y;
2876 uint32_t z;
2877} VkDispatchIndirectCommand;
2878
2879typedef struct VkDrawIndexedIndirectCommand {
2880 uint32_t indexCount;
2881 uint32_t instanceCount;
2882 uint32_t firstIndex;
2883 int32_t vertexOffset;
2884 uint32_t firstInstance;
2885} VkDrawIndexedIndirectCommand;
2886
2887typedef struct VkDrawIndirectCommand {
2888 uint32_t vertexCount;
2889 uint32_t instanceCount;
2890 uint32_t firstVertex;
2891 uint32_t firstInstance;
2892} VkDrawIndirectCommand;
2893
2894typedef struct VkImageSubresourceRange {
2895 VkImageAspectFlags aspectMask;
2896 uint32_t baseMipLevel;
2897 uint32_t levelCount;
2898 uint32_t baseArrayLayer;
2899 uint32_t layerCount;
2900} VkImageSubresourceRange;
2901
2902typedef struct VkImageMemoryBarrier {
2903 VkStructureType sType;
2904 const void* pNext;
2905 VkAccessFlags srcAccessMask;
2906 VkAccessFlags dstAccessMask;
2907 VkImageLayout oldLayout;
2908 VkImageLayout newLayout;
2909 uint32_t srcQueueFamilyIndex;
2910 uint32_t dstQueueFamilyIndex;
2911 VkImage image;
2912 VkImageSubresourceRange subresourceRange;
2913} VkImageMemoryBarrier;
2914
2915typedef struct VkMemoryBarrier {
2916 VkStructureType sType;
2917 const void* pNext;
2918 VkAccessFlags srcAccessMask;
2919 VkAccessFlags dstAccessMask;
2920} VkMemoryBarrier;
2921
2922typedef struct VkPipelineCacheHeaderVersionOne {
2923 uint32_t headerSize;
2924 VkPipelineCacheHeaderVersion headerVersion;
2925 uint32_t vendorID;
2926 uint32_t deviceID;
2927 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
2928} VkPipelineCacheHeaderVersionOne;
2929
2930typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
2931 void* pUserData,
2932 size_t size,
2933 size_t alignment,
2934 VkSystemAllocationScope allocationScope);
2935
2936typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
2937 void* pUserData,
2938 void* pMemory);
2939
2940typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
2941 void* pUserData,
2942 size_t size,
2943 VkInternalAllocationType allocationType,
2944 VkSystemAllocationScope allocationScope);
2945
2946typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
2947 void* pUserData,
2948 size_t size,
2949 VkInternalAllocationType allocationType,
2950 VkSystemAllocationScope allocationScope);
2951
2952typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
2953 void* pUserData,
2954 void* pOriginal,
2955 size_t size,
2956 size_t alignment,
2957 VkSystemAllocationScope allocationScope);
2958
2959typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
2960typedef struct VkAllocationCallbacks {
2961 void* pUserData;
2962 PFN_vkAllocationFunction pfnAllocation;
2963 PFN_vkReallocationFunction pfnReallocation;
2964 PFN_vkFreeFunction pfnFree;
2965 PFN_vkInternalAllocationNotification pfnInternalAllocation;
2966 PFN_vkInternalFreeNotification pfnInternalFree;
2967} VkAllocationCallbacks;
2968
2969typedef struct VkApplicationInfo {
2970 VkStructureType sType;
2971 const void* pNext;
2972 const char* pApplicationName;
2973 uint32_t applicationVersion;
2974 const char* pEngineName;
2975 uint32_t engineVersion;
2976 uint32_t apiVersion;
2977} VkApplicationInfo;
2978
2979typedef struct VkFormatProperties {
2980 VkFormatFeatureFlags linearTilingFeatures;
2981 VkFormatFeatureFlags optimalTilingFeatures;
2982 VkFormatFeatureFlags bufferFeatures;
2983} VkFormatProperties;
2984
2985typedef struct VkImageFormatProperties {
2986 VkExtent3D maxExtent;
2987 uint32_t maxMipLevels;
2988 uint32_t maxArrayLayers;
2989 VkSampleCountFlags sampleCounts;
2990 VkDeviceSize maxResourceSize;
2991} VkImageFormatProperties;
2992
2993typedef struct VkInstanceCreateInfo {
2994 VkStructureType sType;
2995 const void* pNext;
2996 VkInstanceCreateFlags flags;
2997 const VkApplicationInfo* pApplicationInfo;
2998 uint32_t enabledLayerCount;
2999 const char* const* ppEnabledLayerNames;
3000 uint32_t enabledExtensionCount;
3001 const char* const* ppEnabledExtensionNames;
3002} VkInstanceCreateInfo;
3003
3004typedef struct VkMemoryHeap {
3005 VkDeviceSize size;
3006 VkMemoryHeapFlags flags;
3007} VkMemoryHeap;
3008
3009typedef struct VkMemoryType {
3010 VkMemoryPropertyFlags propertyFlags;
3011 uint32_t heapIndex;
3012} VkMemoryType;
3013
3014typedef struct VkPhysicalDeviceFeatures {
3015 VkBool32 robustBufferAccess;
3016 VkBool32 fullDrawIndexUint32;
3017 VkBool32 imageCubeArray;
3018 VkBool32 independentBlend;
3019 VkBool32 geometryShader;
3020 VkBool32 tessellationShader;
3021 VkBool32 sampleRateShading;
3022 VkBool32 dualSrcBlend;
3023 VkBool32 logicOp;
3024 VkBool32 multiDrawIndirect;
3025 VkBool32 drawIndirectFirstInstance;
3026 VkBool32 depthClamp;
3027 VkBool32 depthBiasClamp;
3028 VkBool32 fillModeNonSolid;
3029 VkBool32 depthBounds;
3030 VkBool32 wideLines;
3031 VkBool32 largePoints;
3032 VkBool32 alphaToOne;
3033 VkBool32 multiViewport;
3034 VkBool32 samplerAnisotropy;
3035 VkBool32 textureCompressionETC2;
3036 VkBool32 textureCompressionASTC_LDR;
3037 VkBool32 textureCompressionBC;
3038 VkBool32 occlusionQueryPrecise;
3039 VkBool32 pipelineStatisticsQuery;
3040 VkBool32 vertexPipelineStoresAndAtomics;
3041 VkBool32 fragmentStoresAndAtomics;
3042 VkBool32 shaderTessellationAndGeometryPointSize;
3043 VkBool32 shaderImageGatherExtended;
3044 VkBool32 shaderStorageImageExtendedFormats;
3045 VkBool32 shaderStorageImageMultisample;
3046 VkBool32 shaderStorageImageReadWithoutFormat;
3047 VkBool32 shaderStorageImageWriteWithoutFormat;
3048 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3049 VkBool32 shaderSampledImageArrayDynamicIndexing;
3050 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3051 VkBool32 shaderStorageImageArrayDynamicIndexing;
3052 VkBool32 shaderClipDistance;
3053 VkBool32 shaderCullDistance;
3054 VkBool32 shaderFloat64;
3055 VkBool32 shaderInt64;
3056 VkBool32 shaderInt16;
3057 VkBool32 shaderResourceResidency;
3058 VkBool32 shaderResourceMinLod;
3059 VkBool32 sparseBinding;
3060 VkBool32 sparseResidencyBuffer;
3061 VkBool32 sparseResidencyImage2D;
3062 VkBool32 sparseResidencyImage3D;
3063 VkBool32 sparseResidency2Samples;
3064 VkBool32 sparseResidency4Samples;
3065 VkBool32 sparseResidency8Samples;
3066 VkBool32 sparseResidency16Samples;
3067 VkBool32 sparseResidencyAliased;
3068 VkBool32 variableMultisampleRate;
3069 VkBool32 inheritedQueries;
3070} VkPhysicalDeviceFeatures;
3071
3072typedef struct VkPhysicalDeviceLimits {
3073 uint32_t maxImageDimension1D;
3074 uint32_t maxImageDimension2D;
3075 uint32_t maxImageDimension3D;
3076 uint32_t maxImageDimensionCube;
3077 uint32_t maxImageArrayLayers;
3078 uint32_t maxTexelBufferElements;
3079 uint32_t maxUniformBufferRange;
3080 uint32_t maxStorageBufferRange;
3081 uint32_t maxPushConstantsSize;
3082 uint32_t maxMemoryAllocationCount;
3083 uint32_t maxSamplerAllocationCount;
3084 VkDeviceSize bufferImageGranularity;
3085 VkDeviceSize sparseAddressSpaceSize;
3086 uint32_t maxBoundDescriptorSets;
3087 uint32_t maxPerStageDescriptorSamplers;
3088 uint32_t maxPerStageDescriptorUniformBuffers;
3089 uint32_t maxPerStageDescriptorStorageBuffers;
3090 uint32_t maxPerStageDescriptorSampledImages;
3091 uint32_t maxPerStageDescriptorStorageImages;
3092 uint32_t maxPerStageDescriptorInputAttachments;
3093 uint32_t maxPerStageResources;
3094 uint32_t maxDescriptorSetSamplers;
3095 uint32_t maxDescriptorSetUniformBuffers;
3096 uint32_t maxDescriptorSetUniformBuffersDynamic;
3097 uint32_t maxDescriptorSetStorageBuffers;
3098 uint32_t maxDescriptorSetStorageBuffersDynamic;
3099 uint32_t maxDescriptorSetSampledImages;
3100 uint32_t maxDescriptorSetStorageImages;
3101 uint32_t maxDescriptorSetInputAttachments;
3102 uint32_t maxVertexInputAttributes;
3103 uint32_t maxVertexInputBindings;
3104 uint32_t maxVertexInputAttributeOffset;
3105 uint32_t maxVertexInputBindingStride;
3106 uint32_t maxVertexOutputComponents;
3107 uint32_t maxTessellationGenerationLevel;
3108 uint32_t maxTessellationPatchSize;
3109 uint32_t maxTessellationControlPerVertexInputComponents;
3110 uint32_t maxTessellationControlPerVertexOutputComponents;
3111 uint32_t maxTessellationControlPerPatchOutputComponents;
3112 uint32_t maxTessellationControlTotalOutputComponents;
3113 uint32_t maxTessellationEvaluationInputComponents;
3114 uint32_t maxTessellationEvaluationOutputComponents;
3115 uint32_t maxGeometryShaderInvocations;
3116 uint32_t maxGeometryInputComponents;
3117 uint32_t maxGeometryOutputComponents;
3118 uint32_t maxGeometryOutputVertices;
3119 uint32_t maxGeometryTotalOutputComponents;
3120 uint32_t maxFragmentInputComponents;
3121 uint32_t maxFragmentOutputAttachments;
3122 uint32_t maxFragmentDualSrcAttachments;
3123 uint32_t maxFragmentCombinedOutputResources;
3124 uint32_t maxComputeSharedMemorySize;
3125 uint32_t maxComputeWorkGroupCount[3];
3126 uint32_t maxComputeWorkGroupInvocations;
3127 uint32_t maxComputeWorkGroupSize[3];
3128 uint32_t subPixelPrecisionBits;
3129 uint32_t subTexelPrecisionBits;
3130 uint32_t mipmapPrecisionBits;
3131 uint32_t maxDrawIndexedIndexValue;
3132 uint32_t maxDrawIndirectCount;
3133 float maxSamplerLodBias;
3134 float maxSamplerAnisotropy;
3135 uint32_t maxViewports;
3136 uint32_t maxViewportDimensions[2];
3137 float viewportBoundsRange[2];
3138 uint32_t viewportSubPixelBits;
3139 size_t minMemoryMapAlignment;
3140 VkDeviceSize minTexelBufferOffsetAlignment;
3141 VkDeviceSize minUniformBufferOffsetAlignment;
3142 VkDeviceSize minStorageBufferOffsetAlignment;
3143 int32_t minTexelOffset;
3144 uint32_t maxTexelOffset;
3145 int32_t minTexelGatherOffset;
3146 uint32_t maxTexelGatherOffset;
3147 float minInterpolationOffset;
3148 float maxInterpolationOffset;
3149 uint32_t subPixelInterpolationOffsetBits;
3150 uint32_t maxFramebufferWidth;
3151 uint32_t maxFramebufferHeight;
3152 uint32_t maxFramebufferLayers;
3153 VkSampleCountFlags framebufferColorSampleCounts;
3154 VkSampleCountFlags framebufferDepthSampleCounts;
3155 VkSampleCountFlags framebufferStencilSampleCounts;
3156 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3157 uint32_t maxColorAttachments;
3158 VkSampleCountFlags sampledImageColorSampleCounts;
3159 VkSampleCountFlags sampledImageIntegerSampleCounts;
3160 VkSampleCountFlags sampledImageDepthSampleCounts;
3161 VkSampleCountFlags sampledImageStencilSampleCounts;
3162 VkSampleCountFlags storageImageSampleCounts;
3163 uint32_t maxSampleMaskWords;
3164 VkBool32 timestampComputeAndGraphics;
3165 float timestampPeriod;
3166 uint32_t maxClipDistances;
3167 uint32_t maxCullDistances;
3168 uint32_t maxCombinedClipAndCullDistances;
3169 uint32_t discreteQueuePriorities;
3170 float pointSizeRange[2];
3171 float lineWidthRange[2];
3172 float pointSizeGranularity;
3173 float lineWidthGranularity;
3174 VkBool32 strictLines;
3175 VkBool32 standardSampleLocations;
3176 VkDeviceSize optimalBufferCopyOffsetAlignment;
3177 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3178 VkDeviceSize nonCoherentAtomSize;
3179} VkPhysicalDeviceLimits;
3180
3181typedef struct VkPhysicalDeviceMemoryProperties {
3182 uint32_t memoryTypeCount;
3183 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3184 uint32_t memoryHeapCount;
3185 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3186} VkPhysicalDeviceMemoryProperties;
3187
3188typedef struct VkPhysicalDeviceSparseProperties {
3189 VkBool32 residencyStandard2DBlockShape;
3190 VkBool32 residencyStandard2DMultisampleBlockShape;
3191 VkBool32 residencyStandard3DBlockShape;
3192 VkBool32 residencyAlignedMipSize;
3193 VkBool32 residencyNonResidentStrict;
3194} VkPhysicalDeviceSparseProperties;
3195
3196typedef struct VkPhysicalDeviceProperties {
3197 uint32_t apiVersion;
3198 uint32_t driverVersion;
3199 uint32_t vendorID;
3200 uint32_t deviceID;
3201 VkPhysicalDeviceType deviceType;
3202 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3203 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
3204 VkPhysicalDeviceLimits limits;
3205 VkPhysicalDeviceSparseProperties sparseProperties;
3206} VkPhysicalDeviceProperties;
3207
3208typedef struct VkQueueFamilyProperties {
3209 VkQueueFlags queueFlags;
3210 uint32_t queueCount;
3211 uint32_t timestampValidBits;
3212 VkExtent3D minImageTransferGranularity;
3213} VkQueueFamilyProperties;
3214
3215typedef struct VkDeviceQueueCreateInfo {
3216 VkStructureType sType;
3217 const void* pNext;
3218 VkDeviceQueueCreateFlags flags;
3219 uint32_t queueFamilyIndex;
3220 uint32_t queueCount;
3221 const float* pQueuePriorities;
3222} VkDeviceQueueCreateInfo;
3223
3224typedef struct VkDeviceCreateInfo {
3225 VkStructureType sType;
3226 const void* pNext;
3227 VkDeviceCreateFlags flags;
3228 uint32_t queueCreateInfoCount;
3229 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3230 uint32_t enabledLayerCount;
3231 const char* const* ppEnabledLayerNames;
3232 uint32_t enabledExtensionCount;
3233 const char* const* ppEnabledExtensionNames;
3234 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3235} VkDeviceCreateInfo;
3236
3237typedef struct VkExtensionProperties {
3238 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3239 uint32_t specVersion;
3240} VkExtensionProperties;
3241
3242typedef struct VkLayerProperties {
3243 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3244 uint32_t specVersion;
3245 uint32_t implementationVersion;
3246 char description[VK_MAX_DESCRIPTION_SIZE];
3247} VkLayerProperties;
3248
3249typedef struct VkSubmitInfo {
3250 VkStructureType sType;
3251 const void* pNext;
3252 uint32_t waitSemaphoreCount;
3253 const VkSemaphore* pWaitSemaphores;
3254 const VkPipelineStageFlags* pWaitDstStageMask;
3255 uint32_t commandBufferCount;
3256 const VkCommandBuffer* pCommandBuffers;
3257 uint32_t signalSemaphoreCount;
3258 const VkSemaphore* pSignalSemaphores;
3259} VkSubmitInfo;
3260
3261typedef struct VkMappedMemoryRange {
3262 VkStructureType sType;
3263 const void* pNext;
3264 VkDeviceMemory memory;
3265 VkDeviceSize offset;
3266 VkDeviceSize size;
3267} VkMappedMemoryRange;
3268
3269typedef struct VkMemoryAllocateInfo {
3270 VkStructureType sType;
3271 const void* pNext;
3272 VkDeviceSize allocationSize;
3273 uint32_t memoryTypeIndex;
3274} VkMemoryAllocateInfo;
3275
3276typedef struct VkMemoryRequirements {
3277 VkDeviceSize size;
3278 VkDeviceSize alignment;
3279 uint32_t memoryTypeBits;
3280} VkMemoryRequirements;
3281
3282typedef struct VkSparseMemoryBind {
3283 VkDeviceSize resourceOffset;
3284 VkDeviceSize size;
3285 VkDeviceMemory memory;
3286 VkDeviceSize memoryOffset;
3287 VkSparseMemoryBindFlags flags;
3288} VkSparseMemoryBind;
3289
3290typedef struct VkSparseBufferMemoryBindInfo {
3291 VkBuffer buffer;
3292 uint32_t bindCount;
3293 const VkSparseMemoryBind* pBinds;
3294} VkSparseBufferMemoryBindInfo;
3295
3296typedef struct VkSparseImageOpaqueMemoryBindInfo {
3297 VkImage image;
3298 uint32_t bindCount;
3299 const VkSparseMemoryBind* pBinds;
3300} VkSparseImageOpaqueMemoryBindInfo;
3301
3302typedef struct VkImageSubresource {
3303 VkImageAspectFlags aspectMask;
3304 uint32_t mipLevel;
3305 uint32_t arrayLayer;
3306} VkImageSubresource;
3307
3308typedef struct VkSparseImageMemoryBind {
3309 VkImageSubresource subresource;
3310 VkOffset3D offset;
3311 VkExtent3D extent;
3312 VkDeviceMemory memory;
3313 VkDeviceSize memoryOffset;
3314 VkSparseMemoryBindFlags flags;
3315} VkSparseImageMemoryBind;
3316
3317typedef struct VkSparseImageMemoryBindInfo {
3318 VkImage image;
3319 uint32_t bindCount;
3320 const VkSparseImageMemoryBind* pBinds;
3321} VkSparseImageMemoryBindInfo;
3322
3323typedef struct VkBindSparseInfo {
3324 VkStructureType sType;
3325 const void* pNext;
3326 uint32_t waitSemaphoreCount;
3327 const VkSemaphore* pWaitSemaphores;
3328 uint32_t bufferBindCount;
3329 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3330 uint32_t imageOpaqueBindCount;
3331 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3332 uint32_t imageBindCount;
3333 const VkSparseImageMemoryBindInfo* pImageBinds;
3334 uint32_t signalSemaphoreCount;
3335 const VkSemaphore* pSignalSemaphores;
3336} VkBindSparseInfo;
3337
3338typedef struct VkSparseImageFormatProperties {
3339 VkImageAspectFlags aspectMask;
3340 VkExtent3D imageGranularity;
3341 VkSparseImageFormatFlags flags;
3342} VkSparseImageFormatProperties;
3343
3344typedef struct VkSparseImageMemoryRequirements {
3345 VkSparseImageFormatProperties formatProperties;
3346 uint32_t imageMipTailFirstLod;
3347 VkDeviceSize imageMipTailSize;
3348 VkDeviceSize imageMipTailOffset;
3349 VkDeviceSize imageMipTailStride;
3350} VkSparseImageMemoryRequirements;
3351
3352typedef struct VkFenceCreateInfo {
3353 VkStructureType sType;
3354 const void* pNext;
3355 VkFenceCreateFlags flags;
3356} VkFenceCreateInfo;
3357
3358typedef struct VkSemaphoreCreateInfo {
3359 VkStructureType sType;
3360 const void* pNext;
3361 VkSemaphoreCreateFlags flags;
3362} VkSemaphoreCreateInfo;
3363
3364typedef struct VkEventCreateInfo {
3365 VkStructureType sType;
3366 const void* pNext;
3367 VkEventCreateFlags flags;
3368} VkEventCreateInfo;
3369
3370typedef struct VkQueryPoolCreateInfo {
3371 VkStructureType sType;
3372 const void* pNext;
3373 VkQueryPoolCreateFlags flags;
3374 VkQueryType queryType;
3375 uint32_t queryCount;
3376 VkQueryPipelineStatisticFlags pipelineStatistics;
3377} VkQueryPoolCreateInfo;
3378
3379typedef struct VkBufferCreateInfo {
3380 VkStructureType sType;
3381 const void* pNext;
3382 VkBufferCreateFlags flags;
3383 VkDeviceSize size;
3384 VkBufferUsageFlags usage;
3385 VkSharingMode sharingMode;
3386 uint32_t queueFamilyIndexCount;
3387 const uint32_t* pQueueFamilyIndices;
3388} VkBufferCreateInfo;
3389
3390typedef struct VkBufferViewCreateInfo {
3391 VkStructureType sType;
3392 const void* pNext;
3393 VkBufferViewCreateFlags flags;
3394 VkBuffer buffer;
3395 VkFormat format;
3396 VkDeviceSize offset;
3397 VkDeviceSize range;
3398} VkBufferViewCreateInfo;
3399
3400typedef struct VkImageCreateInfo {
3401 VkStructureType sType;
3402 const void* pNext;
3403 VkImageCreateFlags flags;
3404 VkImageType imageType;
3405 VkFormat format;
3406 VkExtent3D extent;
3407 uint32_t mipLevels;
3408 uint32_t arrayLayers;
3409 VkSampleCountFlagBits samples;
3410 VkImageTiling tiling;
3411 VkImageUsageFlags usage;
3412 VkSharingMode sharingMode;
3413 uint32_t queueFamilyIndexCount;
3414 const uint32_t* pQueueFamilyIndices;
3415 VkImageLayout initialLayout;
3416} VkImageCreateInfo;
3417
3418typedef struct VkSubresourceLayout {
3419 VkDeviceSize offset;
3420 VkDeviceSize size;
3421 VkDeviceSize rowPitch;
3422 VkDeviceSize arrayPitch;
3423 VkDeviceSize depthPitch;
3424} VkSubresourceLayout;
3425
3426typedef struct VkComponentMapping {
3427 VkComponentSwizzle r;
3428 VkComponentSwizzle g;
3429 VkComponentSwizzle b;
3430 VkComponentSwizzle a;
3431} VkComponentMapping;
3432
3433typedef struct VkImageViewCreateInfo {
3434 VkStructureType sType;
3435 const void* pNext;
3436 VkImageViewCreateFlags flags;
3437 VkImage image;
3438 VkImageViewType viewType;
3439 VkFormat format;
3440 VkComponentMapping components;
3441 VkImageSubresourceRange subresourceRange;
3442} VkImageViewCreateInfo;
3443
3444typedef struct VkShaderModuleCreateInfo {
3445 VkStructureType sType;
3446 const void* pNext;
3447 VkShaderModuleCreateFlags flags;
3448 size_t codeSize;
3449 const uint32_t* pCode;
3450} VkShaderModuleCreateInfo;
3451
3452typedef struct VkPipelineCacheCreateInfo {
3453 VkStructureType sType;
3454 const void* pNext;
3455 VkPipelineCacheCreateFlags flags;
3456 size_t initialDataSize;
3457 const void* pInitialData;
3458} VkPipelineCacheCreateInfo;
3459
3460typedef struct VkSpecializationMapEntry {
3461 uint32_t constantID;
3462 uint32_t offset;
3463 size_t size;
3464} VkSpecializationMapEntry;
3465
3466typedef struct VkSpecializationInfo {
3467 uint32_t mapEntryCount;
3468 const VkSpecializationMapEntry* pMapEntries;
3469 size_t dataSize;
3470 const void* pData;
3471} VkSpecializationInfo;
3472
3473typedef struct VkPipelineShaderStageCreateInfo {
3474 VkStructureType sType;
3475 const void* pNext;
3476 VkPipelineShaderStageCreateFlags flags;
3477 VkShaderStageFlagBits stage;
3478 VkShaderModule module;
3479 const char* pName;
3480 const VkSpecializationInfo* pSpecializationInfo;
3481} VkPipelineShaderStageCreateInfo;
3482
3483typedef struct VkComputePipelineCreateInfo {
3484 VkStructureType sType;
3485 const void* pNext;
3486 VkPipelineCreateFlags flags;
3487 VkPipelineShaderStageCreateInfo stage;
3488 VkPipelineLayout layout;
3489 VkPipeline basePipelineHandle;
3490 int32_t basePipelineIndex;
3491} VkComputePipelineCreateInfo;
3492
3493typedef struct VkVertexInputBindingDescription {
3494 uint32_t binding;
3495 uint32_t stride;
3496 VkVertexInputRate inputRate;
3497} VkVertexInputBindingDescription;
3498
3499typedef struct VkVertexInputAttributeDescription {
3500 uint32_t location;
3501 uint32_t binding;
3502 VkFormat format;
3503 uint32_t offset;
3504} VkVertexInputAttributeDescription;
3505
3506typedef struct VkPipelineVertexInputStateCreateInfo {
3507 VkStructureType sType;
3508 const void* pNext;
3509 VkPipelineVertexInputStateCreateFlags flags;
3510 uint32_t vertexBindingDescriptionCount;
3511 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3512 uint32_t vertexAttributeDescriptionCount;
3513 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3514} VkPipelineVertexInputStateCreateInfo;
3515
3516typedef struct VkPipelineInputAssemblyStateCreateInfo {
3517 VkStructureType sType;
3518 const void* pNext;
3519 VkPipelineInputAssemblyStateCreateFlags flags;
3520 VkPrimitiveTopology topology;
3521 VkBool32 primitiveRestartEnable;
3522} VkPipelineInputAssemblyStateCreateInfo;
3523
3524typedef struct VkPipelineTessellationStateCreateInfo {
3525 VkStructureType sType;
3526 const void* pNext;
3527 VkPipelineTessellationStateCreateFlags flags;
3528 uint32_t patchControlPoints;
3529} VkPipelineTessellationStateCreateInfo;
3530
3531typedef struct VkViewport {
3532 float x;
3533 float y;
3534 float width;
3535 float height;
3536 float minDepth;
3537 float maxDepth;
3538} VkViewport;
3539
3540typedef struct VkPipelineViewportStateCreateInfo {
3541 VkStructureType sType;
3542 const void* pNext;
3543 VkPipelineViewportStateCreateFlags flags;
3544 uint32_t viewportCount;
3545 const VkViewport* pViewports;
3546 uint32_t scissorCount;
3547 const VkRect2D* pScissors;
3548} VkPipelineViewportStateCreateInfo;
3549
3550typedef struct VkPipelineRasterizationStateCreateInfo {
3551 VkStructureType sType;
3552 const void* pNext;
3553 VkPipelineRasterizationStateCreateFlags flags;
3554 VkBool32 depthClampEnable;
3555 VkBool32 rasterizerDiscardEnable;
3556 VkPolygonMode polygonMode;
3557 VkCullModeFlags cullMode;
3558 VkFrontFace frontFace;
3559 VkBool32 depthBiasEnable;
3560 float depthBiasConstantFactor;
3561 float depthBiasClamp;
3562 float depthBiasSlopeFactor;
3563 float lineWidth;
3564} VkPipelineRasterizationStateCreateInfo;
3565
3566typedef struct VkPipelineMultisampleStateCreateInfo {
3567 VkStructureType sType;
3568 const void* pNext;
3569 VkPipelineMultisampleStateCreateFlags flags;
3570 VkSampleCountFlagBits rasterizationSamples;
3571 VkBool32 sampleShadingEnable;
3572 float minSampleShading;
3573 const VkSampleMask* pSampleMask;
3574 VkBool32 alphaToCoverageEnable;
3575 VkBool32 alphaToOneEnable;
3576} VkPipelineMultisampleStateCreateInfo;
3577
3578typedef struct VkStencilOpState {
3579 VkStencilOp failOp;
3580 VkStencilOp passOp;
3581 VkStencilOp depthFailOp;
3582 VkCompareOp compareOp;
3583 uint32_t compareMask;
3584 uint32_t writeMask;
3585 uint32_t reference;
3586} VkStencilOpState;
3587
3588typedef struct VkPipelineDepthStencilStateCreateInfo {
3589 VkStructureType sType;
3590 const void* pNext;
3591 VkPipelineDepthStencilStateCreateFlags flags;
3592 VkBool32 depthTestEnable;
3593 VkBool32 depthWriteEnable;
3594 VkCompareOp depthCompareOp;
3595 VkBool32 depthBoundsTestEnable;
3596 VkBool32 stencilTestEnable;
3597 VkStencilOpState front;
3598 VkStencilOpState back;
3599 float minDepthBounds;
3600 float maxDepthBounds;
3601} VkPipelineDepthStencilStateCreateInfo;
3602
3603typedef struct VkPipelineColorBlendAttachmentState {
3604 VkBool32 blendEnable;
3605 VkBlendFactor srcColorBlendFactor;
3606 VkBlendFactor dstColorBlendFactor;
3607 VkBlendOp colorBlendOp;
3608 VkBlendFactor srcAlphaBlendFactor;
3609 VkBlendFactor dstAlphaBlendFactor;
3610 VkBlendOp alphaBlendOp;
3611 VkColorComponentFlags colorWriteMask;
3612} VkPipelineColorBlendAttachmentState;
3613
3614typedef struct VkPipelineColorBlendStateCreateInfo {
3615 VkStructureType sType;
3616 const void* pNext;
3617 VkPipelineColorBlendStateCreateFlags flags;
3618 VkBool32 logicOpEnable;
3619 VkLogicOp logicOp;
3620 uint32_t attachmentCount;
3621 const VkPipelineColorBlendAttachmentState* pAttachments;
3622 float blendConstants[4];
3623} VkPipelineColorBlendStateCreateInfo;
3624
3625typedef struct VkPipelineDynamicStateCreateInfo {
3626 VkStructureType sType;
3627 const void* pNext;
3628 VkPipelineDynamicStateCreateFlags flags;
3629 uint32_t dynamicStateCount;
3630 const VkDynamicState* pDynamicStates;
3631} VkPipelineDynamicStateCreateInfo;
3632
3633typedef struct VkGraphicsPipelineCreateInfo {
3634 VkStructureType sType;
3635 const void* pNext;
3636 VkPipelineCreateFlags flags;
3637 uint32_t stageCount;
3638 const VkPipelineShaderStageCreateInfo* pStages;
3639 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
3640 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
3641 const VkPipelineTessellationStateCreateInfo* pTessellationState;
3642 const VkPipelineViewportStateCreateInfo* pViewportState;
3643 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
3644 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
3645 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
3646 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
3647 const VkPipelineDynamicStateCreateInfo* pDynamicState;
3648 VkPipelineLayout layout;
3649 VkRenderPass renderPass;
3650 uint32_t subpass;
3651 VkPipeline basePipelineHandle;
3652 int32_t basePipelineIndex;
3653} VkGraphicsPipelineCreateInfo;
3654
3655typedef struct VkPushConstantRange {
3656 VkShaderStageFlags stageFlags;
3657 uint32_t offset;
3658 uint32_t size;
3659} VkPushConstantRange;
3660
3661typedef struct VkPipelineLayoutCreateInfo {
3662 VkStructureType sType;
3663 const void* pNext;
3664 VkPipelineLayoutCreateFlags flags;
3665 uint32_t setLayoutCount;
3666 const VkDescriptorSetLayout* pSetLayouts;
3667 uint32_t pushConstantRangeCount;
3668 const VkPushConstantRange* pPushConstantRanges;
3669} VkPipelineLayoutCreateInfo;
3670
3671typedef struct VkSamplerCreateInfo {
3672 VkStructureType sType;
3673 const void* pNext;
3674 VkSamplerCreateFlags flags;
3675 VkFilter magFilter;
3676 VkFilter minFilter;
3677 VkSamplerMipmapMode mipmapMode;
3678 VkSamplerAddressMode addressModeU;
3679 VkSamplerAddressMode addressModeV;
3680 VkSamplerAddressMode addressModeW;
3681 float mipLodBias;
3682 VkBool32 anisotropyEnable;
3683 float maxAnisotropy;
3684 VkBool32 compareEnable;
3685 VkCompareOp compareOp;
3686 float minLod;
3687 float maxLod;
3688 VkBorderColor borderColor;
3689 VkBool32 unnormalizedCoordinates;
3690} VkSamplerCreateInfo;
3691
3692typedef struct VkCopyDescriptorSet {
3693 VkStructureType sType;
3694 const void* pNext;
3695 VkDescriptorSet srcSet;
3696 uint32_t srcBinding;
3697 uint32_t srcArrayElement;
3698 VkDescriptorSet dstSet;
3699 uint32_t dstBinding;
3700 uint32_t dstArrayElement;
3701 uint32_t descriptorCount;
3702} VkCopyDescriptorSet;
3703
3704typedef struct VkDescriptorBufferInfo {
3705 VkBuffer buffer;
3706 VkDeviceSize offset;
3707 VkDeviceSize range;
3708} VkDescriptorBufferInfo;
3709
3710typedef struct VkDescriptorImageInfo {
3711 VkSampler sampler;
3712 VkImageView imageView;
3713 VkImageLayout imageLayout;
3714} VkDescriptorImageInfo;
3715
3716typedef struct VkDescriptorPoolSize {
3717 VkDescriptorType type;
3718 uint32_t descriptorCount;
3719} VkDescriptorPoolSize;
3720
3721typedef struct VkDescriptorPoolCreateInfo {
3722 VkStructureType sType;
3723 const void* pNext;
3724 VkDescriptorPoolCreateFlags flags;
3725 uint32_t maxSets;
3726 uint32_t poolSizeCount;
3727 const VkDescriptorPoolSize* pPoolSizes;
3728} VkDescriptorPoolCreateInfo;
3729
3730typedef struct VkDescriptorSetAllocateInfo {
3731 VkStructureType sType;
3732 const void* pNext;
3733 VkDescriptorPool descriptorPool;
3734 uint32_t descriptorSetCount;
3735 const VkDescriptorSetLayout* pSetLayouts;
3736} VkDescriptorSetAllocateInfo;
3737
3738typedef struct VkDescriptorSetLayoutBinding {
3739 uint32_t binding;
3740 VkDescriptorType descriptorType;
3741 uint32_t descriptorCount;
3742 VkShaderStageFlags stageFlags;
3743 const VkSampler* pImmutableSamplers;
3744} VkDescriptorSetLayoutBinding;
3745
3746typedef struct VkDescriptorSetLayoutCreateInfo {
3747 VkStructureType sType;
3748 const void* pNext;
3749 VkDescriptorSetLayoutCreateFlags flags;
3750 uint32_t bindingCount;
3751 const VkDescriptorSetLayoutBinding* pBindings;
3752} VkDescriptorSetLayoutCreateInfo;
3753
3754typedef struct VkWriteDescriptorSet {
3755 VkStructureType sType;
3756 const void* pNext;
3757 VkDescriptorSet dstSet;
3758 uint32_t dstBinding;
3759 uint32_t dstArrayElement;
3760 uint32_t descriptorCount;
3761 VkDescriptorType descriptorType;
3762 const VkDescriptorImageInfo* pImageInfo;
3763 const VkDescriptorBufferInfo* pBufferInfo;
3764 const VkBufferView* pTexelBufferView;
3765} VkWriteDescriptorSet;
3766
3767typedef struct VkAttachmentDescription {
3768 VkAttachmentDescriptionFlags flags;
3769 VkFormat format;
3770 VkSampleCountFlagBits samples;
3771 VkAttachmentLoadOp loadOp;
3772 VkAttachmentStoreOp storeOp;
3773 VkAttachmentLoadOp stencilLoadOp;
3774 VkAttachmentStoreOp stencilStoreOp;
3775 VkImageLayout initialLayout;
3776 VkImageLayout finalLayout;
3777} VkAttachmentDescription;
3778
3779typedef struct VkAttachmentReference {
3780 uint32_t attachment;
3781 VkImageLayout layout;
3782} VkAttachmentReference;
3783
3784typedef struct VkFramebufferCreateInfo {
3785 VkStructureType sType;
3786 const void* pNext;
3787 VkFramebufferCreateFlags flags;
3788 VkRenderPass renderPass;
3789 uint32_t attachmentCount;
3790 const VkImageView* pAttachments;
3791 uint32_t width;
3792 uint32_t height;
3793 uint32_t layers;
3794} VkFramebufferCreateInfo;
3795
3796typedef struct VkSubpassDescription {
3797 VkSubpassDescriptionFlags flags;
3798 VkPipelineBindPoint pipelineBindPoint;
3799 uint32_t inputAttachmentCount;
3800 const VkAttachmentReference* pInputAttachments;
3801 uint32_t colorAttachmentCount;
3802 const VkAttachmentReference* pColorAttachments;
3803 const VkAttachmentReference* pResolveAttachments;
3804 const VkAttachmentReference* pDepthStencilAttachment;
3805 uint32_t preserveAttachmentCount;
3806 const uint32_t* pPreserveAttachments;
3807} VkSubpassDescription;
3808
3809typedef struct VkSubpassDependency {
3810 uint32_t srcSubpass;
3811 uint32_t dstSubpass;
3812 VkPipelineStageFlags srcStageMask;
3813 VkPipelineStageFlags dstStageMask;
3814 VkAccessFlags srcAccessMask;
3815 VkAccessFlags dstAccessMask;
3816 VkDependencyFlags dependencyFlags;
3817} VkSubpassDependency;
3818
3819typedef struct VkRenderPassCreateInfo {
3820 VkStructureType sType;
3821 const void* pNext;
3822 VkRenderPassCreateFlags flags;
3823 uint32_t attachmentCount;
3824 const VkAttachmentDescription* pAttachments;
3825 uint32_t subpassCount;
3826 const VkSubpassDescription* pSubpasses;
3827 uint32_t dependencyCount;
3828 const VkSubpassDependency* pDependencies;
3829} VkRenderPassCreateInfo;
3830
3831typedef struct VkCommandPoolCreateInfo {
3832 VkStructureType sType;
3833 const void* pNext;
3834 VkCommandPoolCreateFlags flags;
3835 uint32_t queueFamilyIndex;
3836} VkCommandPoolCreateInfo;
3837
3838typedef struct VkCommandBufferAllocateInfo {
3839 VkStructureType sType;
3840 const void* pNext;
3841 VkCommandPool commandPool;
3842 VkCommandBufferLevel level;
3843 uint32_t commandBufferCount;
3844} VkCommandBufferAllocateInfo;
3845
3846typedef struct VkCommandBufferInheritanceInfo {
3847 VkStructureType sType;
3848 const void* pNext;
3849 VkRenderPass renderPass;
3850 uint32_t subpass;
3851 VkFramebuffer framebuffer;
3852 VkBool32 occlusionQueryEnable;
3853 VkQueryControlFlags queryFlags;
3854 VkQueryPipelineStatisticFlags pipelineStatistics;
3855} VkCommandBufferInheritanceInfo;
3856
3857typedef struct VkCommandBufferBeginInfo {
3858 VkStructureType sType;
3859 const void* pNext;
3860 VkCommandBufferUsageFlags flags;
3861 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
3862} VkCommandBufferBeginInfo;
3863
3864typedef struct VkBufferCopy {
3865 VkDeviceSize srcOffset;
3866 VkDeviceSize dstOffset;
3867 VkDeviceSize size;
3868} VkBufferCopy;
3869
3870typedef struct VkImageSubresourceLayers {
3871 VkImageAspectFlags aspectMask;
3872 uint32_t mipLevel;
3873 uint32_t baseArrayLayer;
3874 uint32_t layerCount;
3875} VkImageSubresourceLayers;
3876
3877typedef struct VkBufferImageCopy {
3878 VkDeviceSize bufferOffset;
3879 uint32_t bufferRowLength;
3880 uint32_t bufferImageHeight;
3881 VkImageSubresourceLayers imageSubresource;
3882 VkOffset3D imageOffset;
3883 VkExtent3D imageExtent;
3884} VkBufferImageCopy;
3885
3886typedef union VkClearColorValue {
3887 float float32[4];
3888 int32_t int32[4];
3889 uint32_t uint32[4];
3890} VkClearColorValue;
3891
3892typedef struct VkClearDepthStencilValue {
3893 float depth;
3894 uint32_t stencil;
3895} VkClearDepthStencilValue;
3896
3897typedef union VkClearValue {
3898 VkClearColorValue color;
3899 VkClearDepthStencilValue depthStencil;
3900} VkClearValue;
3901
3902typedef struct VkClearAttachment {
3903 VkImageAspectFlags aspectMask;
3904 uint32_t colorAttachment;
3905 VkClearValue clearValue;
3906} VkClearAttachment;
3907
3908typedef struct VkClearRect {
3909 VkRect2D rect;
3910 uint32_t baseArrayLayer;
3911 uint32_t layerCount;
3912} VkClearRect;
3913
3914typedef struct VkImageBlit {
3915 VkImageSubresourceLayers srcSubresource;
3916 VkOffset3D srcOffsets[2];
3917 VkImageSubresourceLayers dstSubresource;
3918 VkOffset3D dstOffsets[2];
3919} VkImageBlit;
3920
3921typedef struct VkImageCopy {
3922 VkImageSubresourceLayers srcSubresource;
3923 VkOffset3D srcOffset;
3924 VkImageSubresourceLayers dstSubresource;
3925 VkOffset3D dstOffset;
3926 VkExtent3D extent;
3927} VkImageCopy;
3928
3929typedef struct VkImageResolve {
3930 VkImageSubresourceLayers srcSubresource;
3931 VkOffset3D srcOffset;
3932 VkImageSubresourceLayers dstSubresource;
3933 VkOffset3D dstOffset;
3934 VkExtent3D extent;
3935} VkImageResolve;
3936
3937typedef struct VkRenderPassBeginInfo {
3938 VkStructureType sType;
3939 const void* pNext;
3940 VkRenderPass renderPass;
3941 VkFramebuffer framebuffer;
3942 VkRect2D renderArea;
3943 uint32_t clearValueCount;
3944 const VkClearValue* pClearValues;
3945} VkRenderPassBeginInfo;
3946
3947typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
3948typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
3949typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
3950typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
3951typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
3952typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
3953typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
3954typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
3955typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
3956typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
3957typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
3958typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
3959typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
3960typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3961typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
3962typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3963typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
3964typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
3965typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
3966typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
3967typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
3968typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
3969typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
3970typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
3971typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
3972typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3973typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
3974typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
3975typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3976typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
3977typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
3978typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
3979typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
3980typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
3981typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
3982typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
3983typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
3984typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
3985typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
3986typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
3987typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
3988typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
3989typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
3990typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
3991typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
3992typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
3993typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
3994typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
3995typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
3996typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
3997typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
3998typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
3999typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4000typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4001typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4002typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4003typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4004typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4005typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4006typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4007typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4008typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4009typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4010typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
4011typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
4012typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4013typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4014typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4015typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4016typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4017typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4018typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4019typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4020typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4021typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4022typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4023typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4024typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4025typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4026typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4027typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4028typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4029typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4030typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4031typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4032typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4033typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4034typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4035typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4036typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4037typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4038typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4039typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4040typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4041typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
4042typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
4043typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4044typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4045typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4046typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4047typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
4048typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
4049typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
4050typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
4051typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4052typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4053typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
4054typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
4055typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4056typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
4057typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
4058typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4059typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
4060typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
4061typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
4062typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
4063typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
4064typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4065typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
4066typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
4067typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
4068typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
4069typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
4070typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4071typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4072typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
4073typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
4074typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
4075typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
4076typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
4077typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
4078typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4079typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
4080typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4081typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4082typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4083typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4084
4085#ifndef VK_NO_PROTOTYPES
4086VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4087 const VkInstanceCreateInfo* pCreateInfo,
4088 const VkAllocationCallbacks* pAllocator,
4089 VkInstance* pInstance);
4090
4091VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4092 VkInstance instance,
4093 const VkAllocationCallbacks* pAllocator);
4094
4095VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4096 VkInstance instance,
4097 uint32_t* pPhysicalDeviceCount,
4098 VkPhysicalDevice* pPhysicalDevices);
4099
4100VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4101 VkPhysicalDevice physicalDevice,
4102 VkPhysicalDeviceFeatures* pFeatures);
4103
4104VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4105 VkPhysicalDevice physicalDevice,
4106 VkFormat format,
4107 VkFormatProperties* pFormatProperties);
4108
4109VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4110 VkPhysicalDevice physicalDevice,
4111 VkFormat format,
4112 VkImageType type,
4113 VkImageTiling tiling,
4114 VkImageUsageFlags usage,
4115 VkImageCreateFlags flags,
4116 VkImageFormatProperties* pImageFormatProperties);
4117
4118VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4119 VkPhysicalDevice physicalDevice,
4120 VkPhysicalDeviceProperties* pProperties);
4121
4122VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4123 VkPhysicalDevice physicalDevice,
4124 uint32_t* pQueueFamilyPropertyCount,
4125 VkQueueFamilyProperties* pQueueFamilyProperties);
4126
4127VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4128 VkPhysicalDevice physicalDevice,
4129 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4130
4131VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4132 VkInstance instance,
4133 const char* pName);
4134
4135VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4136 VkDevice device,
4137 const char* pName);
4138
4139VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4140 VkPhysicalDevice physicalDevice,
4141 const VkDeviceCreateInfo* pCreateInfo,
4142 const VkAllocationCallbacks* pAllocator,
4143 VkDevice* pDevice);
4144
4145VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4146 VkDevice device,
4147 const VkAllocationCallbacks* pAllocator);
4148
4149VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4150 const char* pLayerName,
4151 uint32_t* pPropertyCount,
4152 VkExtensionProperties* pProperties);
4153
4154VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4155 VkPhysicalDevice physicalDevice,
4156 const char* pLayerName,
4157 uint32_t* pPropertyCount,
4158 VkExtensionProperties* pProperties);
4159
4160VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4161 uint32_t* pPropertyCount,
4162 VkLayerProperties* pProperties);
4163
4164VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4165 VkPhysicalDevice physicalDevice,
4166 uint32_t* pPropertyCount,
4167 VkLayerProperties* pProperties);
4168
4169VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4170 VkDevice device,
4171 uint32_t queueFamilyIndex,
4172 uint32_t queueIndex,
4173 VkQueue* pQueue);
4174
4175VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4176 VkQueue queue,
4177 uint32_t submitCount,
4178 const VkSubmitInfo* pSubmits,
4179 VkFence fence);
4180
4181VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4182 VkQueue queue);
4183
4184VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4185 VkDevice device);
4186
4187VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4188 VkDevice device,
4189 const VkMemoryAllocateInfo* pAllocateInfo,
4190 const VkAllocationCallbacks* pAllocator,
4191 VkDeviceMemory* pMemory);
4192
4193VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4194 VkDevice device,
4195 VkDeviceMemory memory,
4196 const VkAllocationCallbacks* pAllocator);
4197
4198VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4199 VkDevice device,
4200 VkDeviceMemory memory,
4201 VkDeviceSize offset,
4202 VkDeviceSize size,
4203 VkMemoryMapFlags flags,
4204 void** ppData);
4205
4206VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4207 VkDevice device,
4208 VkDeviceMemory memory);
4209
4210VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4211 VkDevice device,
4212 uint32_t memoryRangeCount,
4213 const VkMappedMemoryRange* pMemoryRanges);
4214
4215VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4216 VkDevice device,
4217 uint32_t memoryRangeCount,
4218 const VkMappedMemoryRange* pMemoryRanges);
4219
4220VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4221 VkDevice device,
4222 VkDeviceMemory memory,
4223 VkDeviceSize* pCommittedMemoryInBytes);
4224
4225VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4226 VkDevice device,
4227 VkBuffer buffer,
4228 VkDeviceMemory memory,
4229 VkDeviceSize memoryOffset);
4230
4231VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4232 VkDevice device,
4233 VkImage image,
4234 VkDeviceMemory memory,
4235 VkDeviceSize memoryOffset);
4236
4237VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4238 VkDevice device,
4239 VkBuffer buffer,
4240 VkMemoryRequirements* pMemoryRequirements);
4241
4242VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4243 VkDevice device,
4244 VkImage image,
4245 VkMemoryRequirements* pMemoryRequirements);
4246
4247VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4248 VkDevice device,
4249 VkImage image,
4250 uint32_t* pSparseMemoryRequirementCount,
4251 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4252
4253VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4254 VkPhysicalDevice physicalDevice,
4255 VkFormat format,
4256 VkImageType type,
4257 VkSampleCountFlagBits samples,
4258 VkImageUsageFlags usage,
4259 VkImageTiling tiling,
4260 uint32_t* pPropertyCount,
4261 VkSparseImageFormatProperties* pProperties);
4262
4263VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4264 VkQueue queue,
4265 uint32_t bindInfoCount,
4266 const VkBindSparseInfo* pBindInfo,
4267 VkFence fence);
4268
4269VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4270 VkDevice device,
4271 const VkFenceCreateInfo* pCreateInfo,
4272 const VkAllocationCallbacks* pAllocator,
4273 VkFence* pFence);
4274
4275VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4276 VkDevice device,
4277 VkFence fence,
4278 const VkAllocationCallbacks* pAllocator);
4279
4280VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4281 VkDevice device,
4282 uint32_t fenceCount,
4283 const VkFence* pFences);
4284
4285VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4286 VkDevice device,
4287 VkFence fence);
4288
4289VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4290 VkDevice device,
4291 uint32_t fenceCount,
4292 const VkFence* pFences,
4293 VkBool32 waitAll,
4294 uint64_t timeout);
4295
4296VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4297 VkDevice device,
4298 const VkSemaphoreCreateInfo* pCreateInfo,
4299 const VkAllocationCallbacks* pAllocator,
4300 VkSemaphore* pSemaphore);
4301
4302VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4303 VkDevice device,
4304 VkSemaphore semaphore,
4305 const VkAllocationCallbacks* pAllocator);
4306
4307VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4308 VkDevice device,
4309 const VkEventCreateInfo* pCreateInfo,
4310 const VkAllocationCallbacks* pAllocator,
4311 VkEvent* pEvent);
4312
4313VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4314 VkDevice device,
4315 VkEvent event,
4316 const VkAllocationCallbacks* pAllocator);
4317
4318VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4319 VkDevice device,
4320 VkEvent event);
4321
4322VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4323 VkDevice device,
4324 VkEvent event);
4325
4326VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4327 VkDevice device,
4328 VkEvent event);
4329
4330VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4331 VkDevice device,
4332 const VkQueryPoolCreateInfo* pCreateInfo,
4333 const VkAllocationCallbacks* pAllocator,
4334 VkQueryPool* pQueryPool);
4335
4336VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4337 VkDevice device,
4338 VkQueryPool queryPool,
4339 const VkAllocationCallbacks* pAllocator);
4340
4341VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4342 VkDevice device,
4343 VkQueryPool queryPool,
4344 uint32_t firstQuery,
4345 uint32_t queryCount,
4346 size_t dataSize,
4347 void* pData,
4348 VkDeviceSize stride,
4349 VkQueryResultFlags flags);
4350
4351VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4352 VkDevice device,
4353 const VkBufferCreateInfo* pCreateInfo,
4354 const VkAllocationCallbacks* pAllocator,
4355 VkBuffer* pBuffer);
4356
4357VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4358 VkDevice device,
4359 VkBuffer buffer,
4360 const VkAllocationCallbacks* pAllocator);
4361
4362VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4363 VkDevice device,
4364 const VkBufferViewCreateInfo* pCreateInfo,
4365 const VkAllocationCallbacks* pAllocator,
4366 VkBufferView* pView);
4367
4368VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4369 VkDevice device,
4370 VkBufferView bufferView,
4371 const VkAllocationCallbacks* pAllocator);
4372
4373VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4374 VkDevice device,
4375 const VkImageCreateInfo* pCreateInfo,
4376 const VkAllocationCallbacks* pAllocator,
4377 VkImage* pImage);
4378
4379VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4380 VkDevice device,
4381 VkImage image,
4382 const VkAllocationCallbacks* pAllocator);
4383
4384VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4385 VkDevice device,
4386 VkImage image,
4387 const VkImageSubresource* pSubresource,
4388 VkSubresourceLayout* pLayout);
4389
4390VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4391 VkDevice device,
4392 const VkImageViewCreateInfo* pCreateInfo,
4393 const VkAllocationCallbacks* pAllocator,
4394 VkImageView* pView);
4395
4396VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4397 VkDevice device,
4398 VkImageView imageView,
4399 const VkAllocationCallbacks* pAllocator);
4400
4401VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4402 VkDevice device,
4403 const VkShaderModuleCreateInfo* pCreateInfo,
4404 const VkAllocationCallbacks* pAllocator,
4405 VkShaderModule* pShaderModule);
4406
4407VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4408 VkDevice device,
4409 VkShaderModule shaderModule,
4410 const VkAllocationCallbacks* pAllocator);
4411
4412VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4413 VkDevice device,
4414 const VkPipelineCacheCreateInfo* pCreateInfo,
4415 const VkAllocationCallbacks* pAllocator,
4416 VkPipelineCache* pPipelineCache);
4417
4418VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4419 VkDevice device,
4420 VkPipelineCache pipelineCache,
4421 const VkAllocationCallbacks* pAllocator);
4422
4423VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4424 VkDevice device,
4425 VkPipelineCache pipelineCache,
4426 size_t* pDataSize,
4427 void* pData);
4428
4429VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4430 VkDevice device,
4431 VkPipelineCache dstCache,
4432 uint32_t srcCacheCount,
4433 const VkPipelineCache* pSrcCaches);
4434
4435VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4436 VkDevice device,
4437 VkPipelineCache pipelineCache,
4438 uint32_t createInfoCount,
4439 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4440 const VkAllocationCallbacks* pAllocator,
4441 VkPipeline* pPipelines);
4442
4443VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4444 VkDevice device,
4445 VkPipelineCache pipelineCache,
4446 uint32_t createInfoCount,
4447 const VkComputePipelineCreateInfo* pCreateInfos,
4448 const VkAllocationCallbacks* pAllocator,
4449 VkPipeline* pPipelines);
4450
4451VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4452 VkDevice device,
4453 VkPipeline pipeline,
4454 const VkAllocationCallbacks* pAllocator);
4455
4456VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4457 VkDevice device,
4458 const VkPipelineLayoutCreateInfo* pCreateInfo,
4459 const VkAllocationCallbacks* pAllocator,
4460 VkPipelineLayout* pPipelineLayout);
4461
4462VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4463 VkDevice device,
4464 VkPipelineLayout pipelineLayout,
4465 const VkAllocationCallbacks* pAllocator);
4466
4467VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4468 VkDevice device,
4469 const VkSamplerCreateInfo* pCreateInfo,
4470 const VkAllocationCallbacks* pAllocator,
4471 VkSampler* pSampler);
4472
4473VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4474 VkDevice device,
4475 VkSampler sampler,
4476 const VkAllocationCallbacks* pAllocator);
4477
4478VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4479 VkDevice device,
4480 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4481 const VkAllocationCallbacks* pAllocator,
4482 VkDescriptorSetLayout* pSetLayout);
4483
4484VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4485 VkDevice device,
4486 VkDescriptorSetLayout descriptorSetLayout,
4487 const VkAllocationCallbacks* pAllocator);
4488
4489VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4490 VkDevice device,
4491 const VkDescriptorPoolCreateInfo* pCreateInfo,
4492 const VkAllocationCallbacks* pAllocator,
4493 VkDescriptorPool* pDescriptorPool);
4494
4495VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4496 VkDevice device,
4497 VkDescriptorPool descriptorPool,
4498 const VkAllocationCallbacks* pAllocator);
4499
4500VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4501 VkDevice device,
4502 VkDescriptorPool descriptorPool,
4503 VkDescriptorPoolResetFlags flags);
4504
4505VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4506 VkDevice device,
4507 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4508 VkDescriptorSet* pDescriptorSets);
4509
4510VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4511 VkDevice device,
4512 VkDescriptorPool descriptorPool,
4513 uint32_t descriptorSetCount,
4514 const VkDescriptorSet* pDescriptorSets);
4515
4516VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4517 VkDevice device,
4518 uint32_t descriptorWriteCount,
4519 const VkWriteDescriptorSet* pDescriptorWrites,
4520 uint32_t descriptorCopyCount,
4521 const VkCopyDescriptorSet* pDescriptorCopies);
4522
4523VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4524 VkDevice device,
4525 const VkFramebufferCreateInfo* pCreateInfo,
4526 const VkAllocationCallbacks* pAllocator,
4527 VkFramebuffer* pFramebuffer);
4528
4529VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4530 VkDevice device,
4531 VkFramebuffer framebuffer,
4532 const VkAllocationCallbacks* pAllocator);
4533
4534VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4535 VkDevice device,
4536 const VkRenderPassCreateInfo* pCreateInfo,
4537 const VkAllocationCallbacks* pAllocator,
4538 VkRenderPass* pRenderPass);
4539
4540VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4541 VkDevice device,
4542 VkRenderPass renderPass,
4543 const VkAllocationCallbacks* pAllocator);
4544
4545VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4546 VkDevice device,
4547 VkRenderPass renderPass,
4548 VkExtent2D* pGranularity);
4549
4550VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4551 VkDevice device,
4552 const VkCommandPoolCreateInfo* pCreateInfo,
4553 const VkAllocationCallbacks* pAllocator,
4554 VkCommandPool* pCommandPool);
4555
4556VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4557 VkDevice device,
4558 VkCommandPool commandPool,
4559 const VkAllocationCallbacks* pAllocator);
4560
4561VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4562 VkDevice device,
4563 VkCommandPool commandPool,
4564 VkCommandPoolResetFlags flags);
4565
4566VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4567 VkDevice device,
4568 const VkCommandBufferAllocateInfo* pAllocateInfo,
4569 VkCommandBuffer* pCommandBuffers);
4570
4571VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4572 VkDevice device,
4573 VkCommandPool commandPool,
4574 uint32_t commandBufferCount,
4575 const VkCommandBuffer* pCommandBuffers);
4576
4577VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4578 VkCommandBuffer commandBuffer,
4579 const VkCommandBufferBeginInfo* pBeginInfo);
4580
4581VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4582 VkCommandBuffer commandBuffer);
4583
4584VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4585 VkCommandBuffer commandBuffer,
4586 VkCommandBufferResetFlags flags);
4587
4588VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4589 VkCommandBuffer commandBuffer,
4590 VkPipelineBindPoint pipelineBindPoint,
4591 VkPipeline pipeline);
4592
4593VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4594 VkCommandBuffer commandBuffer,
4595 uint32_t firstViewport,
4596 uint32_t viewportCount,
4597 const VkViewport* pViewports);
4598
4599VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4600 VkCommandBuffer commandBuffer,
4601 uint32_t firstScissor,
4602 uint32_t scissorCount,
4603 const VkRect2D* pScissors);
4604
4605VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4606 VkCommandBuffer commandBuffer,
4607 float lineWidth);
4608
4609VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4610 VkCommandBuffer commandBuffer,
4611 float depthBiasConstantFactor,
4612 float depthBiasClamp,
4613 float depthBiasSlopeFactor);
4614
4615VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4616 VkCommandBuffer commandBuffer,
4617 const float blendConstants[4]);
4618
4619VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4620 VkCommandBuffer commandBuffer,
4621 float minDepthBounds,
4622 float maxDepthBounds);
4623
4624VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
4625 VkCommandBuffer commandBuffer,
4626 VkStencilFaceFlags faceMask,
4627 uint32_t compareMask);
4628
4629VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
4630 VkCommandBuffer commandBuffer,
4631 VkStencilFaceFlags faceMask,
4632 uint32_t writeMask);
4633
4634VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
4635 VkCommandBuffer commandBuffer,
4636 VkStencilFaceFlags faceMask,
4637 uint32_t reference);
4638
4639VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
4640 VkCommandBuffer commandBuffer,
4641 VkPipelineBindPoint pipelineBindPoint,
4642 VkPipelineLayout layout,
4643 uint32_t firstSet,
4644 uint32_t descriptorSetCount,
4645 const VkDescriptorSet* pDescriptorSets,
4646 uint32_t dynamicOffsetCount,
4647 const uint32_t* pDynamicOffsets);
4648
4649VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
4650 VkCommandBuffer commandBuffer,
4651 VkBuffer buffer,
4652 VkDeviceSize offset,
4653 VkIndexType indexType);
4654
4655VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
4656 VkCommandBuffer commandBuffer,
4657 uint32_t firstBinding,
4658 uint32_t bindingCount,
4659 const VkBuffer* pBuffers,
4660 const VkDeviceSize* pOffsets);
4661
4662VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
4663 VkCommandBuffer commandBuffer,
4664 uint32_t vertexCount,
4665 uint32_t instanceCount,
4666 uint32_t firstVertex,
4667 uint32_t firstInstance);
4668
4669VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
4670 VkCommandBuffer commandBuffer,
4671 uint32_t indexCount,
4672 uint32_t instanceCount,
4673 uint32_t firstIndex,
4674 int32_t vertexOffset,
4675 uint32_t firstInstance);
4676
4677VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
4678 VkCommandBuffer commandBuffer,
4679 VkBuffer buffer,
4680 VkDeviceSize offset,
4681 uint32_t drawCount,
4682 uint32_t stride);
4683
4684VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
4685 VkCommandBuffer commandBuffer,
4686 VkBuffer buffer,
4687 VkDeviceSize offset,
4688 uint32_t drawCount,
4689 uint32_t stride);
4690
4691VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
4692 VkCommandBuffer commandBuffer,
4693 uint32_t groupCountX,
4694 uint32_t groupCountY,
4695 uint32_t groupCountZ);
4696
4697VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
4698 VkCommandBuffer commandBuffer,
4699 VkBuffer buffer,
4700 VkDeviceSize offset);
4701
4702VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
4703 VkCommandBuffer commandBuffer,
4704 VkBuffer srcBuffer,
4705 VkBuffer dstBuffer,
4706 uint32_t regionCount,
4707 const VkBufferCopy* pRegions);
4708
4709VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
4710 VkCommandBuffer commandBuffer,
4711 VkImage srcImage,
4712 VkImageLayout srcImageLayout,
4713 VkImage dstImage,
4714 VkImageLayout dstImageLayout,
4715 uint32_t regionCount,
4716 const VkImageCopy* pRegions);
4717
4718VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
4719 VkCommandBuffer commandBuffer,
4720 VkImage srcImage,
4721 VkImageLayout srcImageLayout,
4722 VkImage dstImage,
4723 VkImageLayout dstImageLayout,
4724 uint32_t regionCount,
4725 const VkImageBlit* pRegions,
4726 VkFilter filter);
4727
4728VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
4729 VkCommandBuffer commandBuffer,
4730 VkBuffer srcBuffer,
4731 VkImage dstImage,
4732 VkImageLayout dstImageLayout,
4733 uint32_t regionCount,
4734 const VkBufferImageCopy* pRegions);
4735
4736VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
4737 VkCommandBuffer commandBuffer,
4738 VkImage srcImage,
4739 VkImageLayout srcImageLayout,
4740 VkBuffer dstBuffer,
4741 uint32_t regionCount,
4742 const VkBufferImageCopy* pRegions);
4743
4744VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
4745 VkCommandBuffer commandBuffer,
4746 VkBuffer dstBuffer,
4747 VkDeviceSize dstOffset,
4748 VkDeviceSize dataSize,
4749 const void* pData);
4750
4751VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
4752 VkCommandBuffer commandBuffer,
4753 VkBuffer dstBuffer,
4754 VkDeviceSize dstOffset,
4755 VkDeviceSize size,
4756 uint32_t data);
4757
4758VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
4759 VkCommandBuffer commandBuffer,
4760 VkImage image,
4761 VkImageLayout imageLayout,
4762 const VkClearColorValue* pColor,
4763 uint32_t rangeCount,
4764 const VkImageSubresourceRange* pRanges);
4765
4766VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
4767 VkCommandBuffer commandBuffer,
4768 VkImage image,
4769 VkImageLayout imageLayout,
4770 const VkClearDepthStencilValue* pDepthStencil,
4771 uint32_t rangeCount,
4772 const VkImageSubresourceRange* pRanges);
4773
4774VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
4775 VkCommandBuffer commandBuffer,
4776 uint32_t attachmentCount,
4777 const VkClearAttachment* pAttachments,
4778 uint32_t rectCount,
4779 const VkClearRect* pRects);
4780
4781VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
4782 VkCommandBuffer commandBuffer,
4783 VkImage srcImage,
4784 VkImageLayout srcImageLayout,
4785 VkImage dstImage,
4786 VkImageLayout dstImageLayout,
4787 uint32_t regionCount,
4788 const VkImageResolve* pRegions);
4789
4790VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
4791 VkCommandBuffer commandBuffer,
4792 VkEvent event,
4793 VkPipelineStageFlags stageMask);
4794
4795VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
4796 VkCommandBuffer commandBuffer,
4797 VkEvent event,
4798 VkPipelineStageFlags stageMask);
4799
4800VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
4801 VkCommandBuffer commandBuffer,
4802 uint32_t eventCount,
4803 const VkEvent* pEvents,
4804 VkPipelineStageFlags srcStageMask,
4805 VkPipelineStageFlags dstStageMask,
4806 uint32_t memoryBarrierCount,
4807 const VkMemoryBarrier* pMemoryBarriers,
4808 uint32_t bufferMemoryBarrierCount,
4809 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4810 uint32_t imageMemoryBarrierCount,
4811 const VkImageMemoryBarrier* pImageMemoryBarriers);
4812
4813VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
4814 VkCommandBuffer commandBuffer,
4815 VkPipelineStageFlags srcStageMask,
4816 VkPipelineStageFlags dstStageMask,
4817 VkDependencyFlags dependencyFlags,
4818 uint32_t memoryBarrierCount,
4819 const VkMemoryBarrier* pMemoryBarriers,
4820 uint32_t bufferMemoryBarrierCount,
4821 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
4822 uint32_t imageMemoryBarrierCount,
4823 const VkImageMemoryBarrier* pImageMemoryBarriers);
4824
4825VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
4826 VkCommandBuffer commandBuffer,
4827 VkQueryPool queryPool,
4828 uint32_t query,
4829 VkQueryControlFlags flags);
4830
4831VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
4832 VkCommandBuffer commandBuffer,
4833 VkQueryPool queryPool,
4834 uint32_t query);
4835
4836VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
4837 VkCommandBuffer commandBuffer,
4838 VkQueryPool queryPool,
4839 uint32_t firstQuery,
4840 uint32_t queryCount);
4841
4842VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
4843 VkCommandBuffer commandBuffer,
4844 VkPipelineStageFlagBits pipelineStage,
4845 VkQueryPool queryPool,
4846 uint32_t query);
4847
4848VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
4849 VkCommandBuffer commandBuffer,
4850 VkQueryPool queryPool,
4851 uint32_t firstQuery,
4852 uint32_t queryCount,
4853 VkBuffer dstBuffer,
4854 VkDeviceSize dstOffset,
4855 VkDeviceSize stride,
4856 VkQueryResultFlags flags);
4857
4858VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
4859 VkCommandBuffer commandBuffer,
4860 VkPipelineLayout layout,
4861 VkShaderStageFlags stageFlags,
4862 uint32_t offset,
4863 uint32_t size,
4864 const void* pValues);
4865
4866VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
4867 VkCommandBuffer commandBuffer,
4868 const VkRenderPassBeginInfo* pRenderPassBegin,
4869 VkSubpassContents contents);
4870
4871VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
4872 VkCommandBuffer commandBuffer,
4873 VkSubpassContents contents);
4874
4875VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
4876 VkCommandBuffer commandBuffer);
4877
4878VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
4879 VkCommandBuffer commandBuffer,
4880 uint32_t commandBufferCount,
4881 const VkCommandBuffer* pCommandBuffers);
4882#endif
4883
4884
4885// VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls.
4886#define VK_VERSION_1_1 1
4887// Vulkan 1.1 version number
4888#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
4889
4890VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
4891VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
4892#define VK_MAX_DEVICE_GROUP_SIZE 32U
4893#define VK_LUID_SIZE 8U
4894#define VK_QUEUE_FAMILY_EXTERNAL (~1U)
4895
4896typedef enum VkPointClippingBehavior {
4897 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
4898 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
4899 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
4900 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
4901 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
4902} VkPointClippingBehavior;
4903
4904typedef enum VkTessellationDomainOrigin {
4905 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
4906 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
4907 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
4908 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
4909 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
4910} VkTessellationDomainOrigin;
4911
4912typedef enum VkSamplerYcbcrModelConversion {
4913 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
4914 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
4915 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
4916 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
4917 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
4918 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
4919 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
4920 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
4921 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
4922 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
4923 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
4924} VkSamplerYcbcrModelConversion;
4925
4926typedef enum VkSamplerYcbcrRange {
4927 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
4928 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
4929 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
4930 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
4931 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
4932} VkSamplerYcbcrRange;
4933
4934typedef enum VkChromaLocation {
4935 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
4936 VK_CHROMA_LOCATION_MIDPOINT = 1,
4937 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
4938 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
4939 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
4940} VkChromaLocation;
4941
4942typedef enum VkDescriptorUpdateTemplateType {
4943 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
4944 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
4945 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
4946 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
4947} VkDescriptorUpdateTemplateType;
4948
4949typedef enum VkSubgroupFeatureFlagBits {
4950 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
4951 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
4952 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
4953 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
4954 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
4955 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
4956 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
4957 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
4958 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4959 VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = 0x00000200,
4960 VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = 0x00000400,
4961 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4962} VkSubgroupFeatureFlagBits;
4963typedef VkFlags VkSubgroupFeatureFlags;
4964
4965typedef enum VkPeerMemoryFeatureFlagBits {
4966 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
4967 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
4968 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
4969 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
4970 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
4971 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
4972 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
4973 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
4974 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4975} VkPeerMemoryFeatureFlagBits;
4976typedef VkFlags VkPeerMemoryFeatureFlags;
4977
4978typedef enum VkMemoryAllocateFlagBits {
4979 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
4980 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
4981 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
4982 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
4983 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
4984 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
4985 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
4986} VkMemoryAllocateFlagBits;
4987typedef VkFlags VkMemoryAllocateFlags;
4988typedef VkFlags VkCommandPoolTrimFlags;
4989typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
4990
4991typedef enum VkExternalMemoryHandleTypeFlagBits {
4992 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
4993 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
4994 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
4995 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
4996 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
4997 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
4998 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
4999 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5001 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5002 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5003 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5004 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
5005 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000,
5006 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5007 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5008 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5009 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5010 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5011 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5012 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5013 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5014} VkExternalMemoryHandleTypeFlagBits;
5015typedef VkFlags VkExternalMemoryHandleTypeFlags;
5016
5017typedef enum VkExternalMemoryFeatureFlagBits {
5018 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5019 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5020 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5021 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5022 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5023 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5024 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5025} VkExternalMemoryFeatureFlagBits;
5026typedef VkFlags VkExternalMemoryFeatureFlags;
5027
5028typedef enum VkExternalFenceHandleTypeFlagBits {
5029 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5030 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5031 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5032 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5033 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5034 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5035 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5036 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5037 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5038} VkExternalFenceHandleTypeFlagBits;
5039typedef VkFlags VkExternalFenceHandleTypeFlags;
5040
5041typedef enum VkExternalFenceFeatureFlagBits {
5042 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5043 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5044 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5045 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5046 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5047} VkExternalFenceFeatureFlagBits;
5048typedef VkFlags VkExternalFenceFeatureFlags;
5049
5050typedef enum VkFenceImportFlagBits {
5051 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5052 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5053 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5054} VkFenceImportFlagBits;
5055typedef VkFlags VkFenceImportFlags;
5056
5057typedef enum VkSemaphoreImportFlagBits {
5058 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5059 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5060 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5061} VkSemaphoreImportFlagBits;
5062typedef VkFlags VkSemaphoreImportFlags;
5063
5064typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5065 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5066 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5067 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5068 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5069 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5070 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5071 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5072 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5073 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5074 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5075 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5076 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5077 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5078} VkExternalSemaphoreHandleTypeFlagBits;
5079typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5080
5081typedef enum VkExternalSemaphoreFeatureFlagBits {
5082 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5083 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5084 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5085 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5086 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5087} VkExternalSemaphoreFeatureFlagBits;
5088typedef VkFlags VkExternalSemaphoreFeatureFlags;
5089typedef struct VkPhysicalDeviceSubgroupProperties {
5090 VkStructureType sType;
5091 void* pNext;
5092 uint32_t subgroupSize;
5093 VkShaderStageFlags supportedStages;
5094 VkSubgroupFeatureFlags supportedOperations;
5095 VkBool32 quadOperationsInAllStages;
5096} VkPhysicalDeviceSubgroupProperties;
5097
5098typedef struct VkBindBufferMemoryInfo {
5099 VkStructureType sType;
5100 const void* pNext;
5101 VkBuffer buffer;
5102 VkDeviceMemory memory;
5103 VkDeviceSize memoryOffset;
5104} VkBindBufferMemoryInfo;
5105
5106typedef struct VkBindImageMemoryInfo {
5107 VkStructureType sType;
5108 const void* pNext;
5109 VkImage image;
5110 VkDeviceMemory memory;
5111 VkDeviceSize memoryOffset;
5112} VkBindImageMemoryInfo;
5113
5114typedef struct VkPhysicalDevice16BitStorageFeatures {
5115 VkStructureType sType;
5116 void* pNext;
5117 VkBool32 storageBuffer16BitAccess;
5118 VkBool32 uniformAndStorageBuffer16BitAccess;
5119 VkBool32 storagePushConstant16;
5120 VkBool32 storageInputOutput16;
5121} VkPhysicalDevice16BitStorageFeatures;
5122
5123typedef struct VkMemoryDedicatedRequirements {
5124 VkStructureType sType;
5125 void* pNext;
5126 VkBool32 prefersDedicatedAllocation;
5127 VkBool32 requiresDedicatedAllocation;
5128} VkMemoryDedicatedRequirements;
5129
5130typedef struct VkMemoryDedicatedAllocateInfo {
5131 VkStructureType sType;
5132 const void* pNext;
5133 VkImage image;
5134 VkBuffer buffer;
5135} VkMemoryDedicatedAllocateInfo;
5136
5137typedef struct VkMemoryAllocateFlagsInfo {
5138 VkStructureType sType;
5139 const void* pNext;
5140 VkMemoryAllocateFlags flags;
5141 uint32_t deviceMask;
5142} VkMemoryAllocateFlagsInfo;
5143
5144typedef struct VkDeviceGroupRenderPassBeginInfo {
5145 VkStructureType sType;
5146 const void* pNext;
5147 uint32_t deviceMask;
5148 uint32_t deviceRenderAreaCount;
5149 const VkRect2D* pDeviceRenderAreas;
5150} VkDeviceGroupRenderPassBeginInfo;
5151
5152typedef struct VkDeviceGroupCommandBufferBeginInfo {
5153 VkStructureType sType;
5154 const void* pNext;
5155 uint32_t deviceMask;
5156} VkDeviceGroupCommandBufferBeginInfo;
5157
5158typedef struct VkDeviceGroupSubmitInfo {
5159 VkStructureType sType;
5160 const void* pNext;
5161 uint32_t waitSemaphoreCount;
5162 const uint32_t* pWaitSemaphoreDeviceIndices;
5163 uint32_t commandBufferCount;
5164 const uint32_t* pCommandBufferDeviceMasks;
5165 uint32_t signalSemaphoreCount;
5166 const uint32_t* pSignalSemaphoreDeviceIndices;
5167} VkDeviceGroupSubmitInfo;
5168
5169typedef struct VkDeviceGroupBindSparseInfo {
5170 VkStructureType sType;
5171 const void* pNext;
5172 uint32_t resourceDeviceIndex;
5173 uint32_t memoryDeviceIndex;
5174} VkDeviceGroupBindSparseInfo;
5175
5176typedef struct VkBindBufferMemoryDeviceGroupInfo {
5177 VkStructureType sType;
5178 const void* pNext;
5179 uint32_t deviceIndexCount;
5180 const uint32_t* pDeviceIndices;
5181} VkBindBufferMemoryDeviceGroupInfo;
5182
5183typedef struct VkBindImageMemoryDeviceGroupInfo {
5184 VkStructureType sType;
5185 const void* pNext;
5186 uint32_t deviceIndexCount;
5187 const uint32_t* pDeviceIndices;
5188 uint32_t splitInstanceBindRegionCount;
5189 const VkRect2D* pSplitInstanceBindRegions;
5190} VkBindImageMemoryDeviceGroupInfo;
5191
5192typedef struct VkPhysicalDeviceGroupProperties {
5193 VkStructureType sType;
5194 void* pNext;
5195 uint32_t physicalDeviceCount;
5196 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5197 VkBool32 subsetAllocation;
5198} VkPhysicalDeviceGroupProperties;
5199
5200typedef struct VkDeviceGroupDeviceCreateInfo {
5201 VkStructureType sType;
5202 const void* pNext;
5203 uint32_t physicalDeviceCount;
5204 const VkPhysicalDevice* pPhysicalDevices;
5205} VkDeviceGroupDeviceCreateInfo;
5206
5207typedef struct VkBufferMemoryRequirementsInfo2 {
5208 VkStructureType sType;
5209 const void* pNext;
5210 VkBuffer buffer;
5211} VkBufferMemoryRequirementsInfo2;
5212
5213typedef struct VkImageMemoryRequirementsInfo2 {
5214 VkStructureType sType;
5215 const void* pNext;
5216 VkImage image;
5217} VkImageMemoryRequirementsInfo2;
5218
5219typedef struct VkImageSparseMemoryRequirementsInfo2 {
5220 VkStructureType sType;
5221 const void* pNext;
5222 VkImage image;
5223} VkImageSparseMemoryRequirementsInfo2;
5224
5225typedef struct VkMemoryRequirements2 {
5226 VkStructureType sType;
5227 void* pNext;
5228 VkMemoryRequirements memoryRequirements;
5229} VkMemoryRequirements2;
5230
5231typedef struct VkSparseImageMemoryRequirements2 {
5232 VkStructureType sType;
5233 void* pNext;
5234 VkSparseImageMemoryRequirements memoryRequirements;
5235} VkSparseImageMemoryRequirements2;
5236
5237typedef struct VkPhysicalDeviceFeatures2 {
5238 VkStructureType sType;
5239 void* pNext;
5240 VkPhysicalDeviceFeatures features;
5241} VkPhysicalDeviceFeatures2;
5242
5243typedef struct VkPhysicalDeviceProperties2 {
5244 VkStructureType sType;
5245 void* pNext;
5246 VkPhysicalDeviceProperties properties;
5247} VkPhysicalDeviceProperties2;
5248
5249typedef struct VkFormatProperties2 {
5250 VkStructureType sType;
5251 void* pNext;
5252 VkFormatProperties formatProperties;
5253} VkFormatProperties2;
5254
5255typedef struct VkImageFormatProperties2 {
5256 VkStructureType sType;
5257 void* pNext;
5258 VkImageFormatProperties imageFormatProperties;
5259} VkImageFormatProperties2;
5260
5261typedef struct VkPhysicalDeviceImageFormatInfo2 {
5262 VkStructureType sType;
5263 const void* pNext;
5264 VkFormat format;
5265 VkImageType type;
5266 VkImageTiling tiling;
5267 VkImageUsageFlags usage;
5268 VkImageCreateFlags flags;
5269} VkPhysicalDeviceImageFormatInfo2;
5270
5271typedef struct VkQueueFamilyProperties2 {
5272 VkStructureType sType;
5273 void* pNext;
5274 VkQueueFamilyProperties queueFamilyProperties;
5275} VkQueueFamilyProperties2;
5276
5277typedef struct VkPhysicalDeviceMemoryProperties2 {
5278 VkStructureType sType;
5279 void* pNext;
5280 VkPhysicalDeviceMemoryProperties memoryProperties;
5281} VkPhysicalDeviceMemoryProperties2;
5282
5283typedef struct VkSparseImageFormatProperties2 {
5284 VkStructureType sType;
5285 void* pNext;
5286 VkSparseImageFormatProperties properties;
5287} VkSparseImageFormatProperties2;
5288
5289typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5290 VkStructureType sType;
5291 const void* pNext;
5292 VkFormat format;
5293 VkImageType type;
5294 VkSampleCountFlagBits samples;
5295 VkImageUsageFlags usage;
5296 VkImageTiling tiling;
5297} VkPhysicalDeviceSparseImageFormatInfo2;
5298
5299typedef struct VkPhysicalDevicePointClippingProperties {
5300 VkStructureType sType;
5301 void* pNext;
5302 VkPointClippingBehavior pointClippingBehavior;
5303} VkPhysicalDevicePointClippingProperties;
5304
5305typedef struct VkInputAttachmentAspectReference {
5306 uint32_t subpass;
5307 uint32_t inputAttachmentIndex;
5308 VkImageAspectFlags aspectMask;
5309} VkInputAttachmentAspectReference;
5310
5311typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5312 VkStructureType sType;
5313 const void* pNext;
5314 uint32_t aspectReferenceCount;
5315 const VkInputAttachmentAspectReference* pAspectReferences;
5316} VkRenderPassInputAttachmentAspectCreateInfo;
5317
5318typedef struct VkImageViewUsageCreateInfo {
5319 VkStructureType sType;
5320 const void* pNext;
5321 VkImageUsageFlags usage;
5322} VkImageViewUsageCreateInfo;
5323
5324typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5325 VkStructureType sType;
5326 const void* pNext;
5327 VkTessellationDomainOrigin domainOrigin;
5328} VkPipelineTessellationDomainOriginStateCreateInfo;
5329
5330typedef struct VkRenderPassMultiviewCreateInfo {
5331 VkStructureType sType;
5332 const void* pNext;
5333 uint32_t subpassCount;
5334 const uint32_t* pViewMasks;
5335 uint32_t dependencyCount;
5336 const int32_t* pViewOffsets;
5337 uint32_t correlationMaskCount;
5338 const uint32_t* pCorrelationMasks;
5339} VkRenderPassMultiviewCreateInfo;
5340
5341typedef struct VkPhysicalDeviceMultiviewFeatures {
5342 VkStructureType sType;
5343 void* pNext;
5344 VkBool32 multiview;
5345 VkBool32 multiviewGeometryShader;
5346 VkBool32 multiviewTessellationShader;
5347} VkPhysicalDeviceMultiviewFeatures;
5348
5349typedef struct VkPhysicalDeviceMultiviewProperties {
5350 VkStructureType sType;
5351 void* pNext;
5352 uint32_t maxMultiviewViewCount;
5353 uint32_t maxMultiviewInstanceIndex;
5354} VkPhysicalDeviceMultiviewProperties;
5355
5356typedef struct VkPhysicalDeviceVariablePointersFeatures {
5357 VkStructureType sType;
5358 void* pNext;
5359 VkBool32 variablePointersStorageBuffer;
5360 VkBool32 variablePointers;
5361} VkPhysicalDeviceVariablePointersFeatures;
5362
5363typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5364
5365typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5366 VkStructureType sType;
5367 void* pNext;
5368 VkBool32 protectedMemory;
5369} VkPhysicalDeviceProtectedMemoryFeatures;
5370
5371typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5372 VkStructureType sType;
5373 void* pNext;
5374 VkBool32 protectedNoFault;
5375} VkPhysicalDeviceProtectedMemoryProperties;
5376
5377typedef struct VkDeviceQueueInfo2 {
5378 VkStructureType sType;
5379 const void* pNext;
5380 VkDeviceQueueCreateFlags flags;
5381 uint32_t queueFamilyIndex;
5382 uint32_t queueIndex;
5383} VkDeviceQueueInfo2;
5384
5385typedef struct VkProtectedSubmitInfo {
5386 VkStructureType sType;
5387 const void* pNext;
5388 VkBool32 protectedSubmit;
5389} VkProtectedSubmitInfo;
5390
5391typedef struct VkSamplerYcbcrConversionCreateInfo {
5392 VkStructureType sType;
5393 const void* pNext;
5394 VkFormat format;
5395 VkSamplerYcbcrModelConversion ycbcrModel;
5396 VkSamplerYcbcrRange ycbcrRange;
5397 VkComponentMapping components;
5398 VkChromaLocation xChromaOffset;
5399 VkChromaLocation yChromaOffset;
5400 VkFilter chromaFilter;
5401 VkBool32 forceExplicitReconstruction;
5402} VkSamplerYcbcrConversionCreateInfo;
5403
5404typedef struct VkSamplerYcbcrConversionInfo {
5405 VkStructureType sType;
5406 const void* pNext;
5407 VkSamplerYcbcrConversion conversion;
5408} VkSamplerYcbcrConversionInfo;
5409
5410typedef struct VkBindImagePlaneMemoryInfo {
5411 VkStructureType sType;
5412 const void* pNext;
5413 VkImageAspectFlagBits planeAspect;
5414} VkBindImagePlaneMemoryInfo;
5415
5416typedef struct VkImagePlaneMemoryRequirementsInfo {
5417 VkStructureType sType;
5418 const void* pNext;
5419 VkImageAspectFlagBits planeAspect;
5420} VkImagePlaneMemoryRequirementsInfo;
5421
5422typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5423 VkStructureType sType;
5424 void* pNext;
5425 VkBool32 samplerYcbcrConversion;
5426} VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5427
5428typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5429 VkStructureType sType;
5430 void* pNext;
5431 uint32_t combinedImageSamplerDescriptorCount;
5432} VkSamplerYcbcrConversionImageFormatProperties;
5433
5434typedef struct VkDescriptorUpdateTemplateEntry {
5435 uint32_t dstBinding;
5436 uint32_t dstArrayElement;
5437 uint32_t descriptorCount;
5438 VkDescriptorType descriptorType;
5439 size_t offset;
5440 size_t stride;
5441} VkDescriptorUpdateTemplateEntry;
5442
5443typedef struct VkDescriptorUpdateTemplateCreateInfo {
5444 VkStructureType sType;
5445 const void* pNext;
5446 VkDescriptorUpdateTemplateCreateFlags flags;
5447 uint32_t descriptorUpdateEntryCount;
5448 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5449 VkDescriptorUpdateTemplateType templateType;
5450 VkDescriptorSetLayout descriptorSetLayout;
5451 VkPipelineBindPoint pipelineBindPoint;
5452 VkPipelineLayout pipelineLayout;
5453 uint32_t set;
5454} VkDescriptorUpdateTemplateCreateInfo;
5455
5456typedef struct VkExternalMemoryProperties {
5457 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5458 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5459 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5460} VkExternalMemoryProperties;
5461
5462typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5463 VkStructureType sType;
5464 const void* pNext;
5465 VkExternalMemoryHandleTypeFlagBits handleType;
5466} VkPhysicalDeviceExternalImageFormatInfo;
5467
5468typedef struct VkExternalImageFormatProperties {
5469 VkStructureType sType;
5470 void* pNext;
5471 VkExternalMemoryProperties externalMemoryProperties;
5472} VkExternalImageFormatProperties;
5473
5474typedef struct VkPhysicalDeviceExternalBufferInfo {
5475 VkStructureType sType;
5476 const void* pNext;
5477 VkBufferCreateFlags flags;
5478 VkBufferUsageFlags usage;
5479 VkExternalMemoryHandleTypeFlagBits handleType;
5480} VkPhysicalDeviceExternalBufferInfo;
5481
5482typedef struct VkExternalBufferProperties {
5483 VkStructureType sType;
5484 void* pNext;
5485 VkExternalMemoryProperties externalMemoryProperties;
5486} VkExternalBufferProperties;
5487
5488typedef struct VkPhysicalDeviceIDProperties {
5489 VkStructureType sType;
5490 void* pNext;
5491 uint8_t deviceUUID[VK_UUID_SIZE];
5492 uint8_t driverUUID[VK_UUID_SIZE];
5493 uint8_t deviceLUID[VK_LUID_SIZE];
5494 uint32_t deviceNodeMask;
5495 VkBool32 deviceLUIDValid;
5496} VkPhysicalDeviceIDProperties;
5497
5498typedef struct VkExternalMemoryImageCreateInfo {
5499 VkStructureType sType;
5500 const void* pNext;
5501 VkExternalMemoryHandleTypeFlags handleTypes;
5502} VkExternalMemoryImageCreateInfo;
5503
5504typedef struct VkExternalMemoryBufferCreateInfo {
5505 VkStructureType sType;
5506 const void* pNext;
5507 VkExternalMemoryHandleTypeFlags handleTypes;
5508} VkExternalMemoryBufferCreateInfo;
5509
5510typedef struct VkExportMemoryAllocateInfo {
5511 VkStructureType sType;
5512 const void* pNext;
5513 VkExternalMemoryHandleTypeFlags handleTypes;
5514} VkExportMemoryAllocateInfo;
5515
5516typedef struct VkPhysicalDeviceExternalFenceInfo {
5517 VkStructureType sType;
5518 const void* pNext;
5519 VkExternalFenceHandleTypeFlagBits handleType;
5520} VkPhysicalDeviceExternalFenceInfo;
5521
5522typedef struct VkExternalFenceProperties {
5523 VkStructureType sType;
5524 void* pNext;
5525 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5526 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5527 VkExternalFenceFeatureFlags externalFenceFeatures;
5528} VkExternalFenceProperties;
5529
5530typedef struct VkExportFenceCreateInfo {
5531 VkStructureType sType;
5532 const void* pNext;
5533 VkExternalFenceHandleTypeFlags handleTypes;
5534} VkExportFenceCreateInfo;
5535
5536typedef struct VkExportSemaphoreCreateInfo {
5537 VkStructureType sType;
5538 const void* pNext;
5539 VkExternalSemaphoreHandleTypeFlags handleTypes;
5540} VkExportSemaphoreCreateInfo;
5541
5542typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5543 VkStructureType sType;
5544 const void* pNext;
5545 VkExternalSemaphoreHandleTypeFlagBits handleType;
5546} VkPhysicalDeviceExternalSemaphoreInfo;
5547
5548typedef struct VkExternalSemaphoreProperties {
5549 VkStructureType sType;
5550 void* pNext;
5551 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5552 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5553 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5554} VkExternalSemaphoreProperties;
5555
5556typedef struct VkPhysicalDeviceMaintenance3Properties {
5557 VkStructureType sType;
5558 void* pNext;
5559 uint32_t maxPerSetDescriptors;
5560 VkDeviceSize maxMemoryAllocationSize;
5561} VkPhysicalDeviceMaintenance3Properties;
5562
5563typedef struct VkDescriptorSetLayoutSupport {
5564 VkStructureType sType;
5565 void* pNext;
5566 VkBool32 supported;
5567} VkDescriptorSetLayoutSupport;
5568
5569typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5570 VkStructureType sType;
5571 void* pNext;
5572 VkBool32 shaderDrawParameters;
5573} VkPhysicalDeviceShaderDrawParametersFeatures;
5574
5575typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5576
5577typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);
5578typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5579typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5580typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5581typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
5582typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
5583typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5584typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5585typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5586typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5587typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5588typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5589typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5590typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5591typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5592typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5593typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5594typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5595typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5596typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5597typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5598typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5599typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5600typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5601typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5602typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5603typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5604typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5605
5606#ifndef VK_NO_PROTOTYPES
5607VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5608 uint32_t* pApiVersion);
5609
5610VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5611 VkDevice device,
5612 uint32_t bindInfoCount,
5613 const VkBindBufferMemoryInfo* pBindInfos);
5614
5615VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5616 VkDevice device,
5617 uint32_t bindInfoCount,
5618 const VkBindImageMemoryInfo* pBindInfos);
5619
5620VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5621 VkDevice device,
5622 uint32_t heapIndex,
5623 uint32_t localDeviceIndex,
5624 uint32_t remoteDeviceIndex,
5625 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5626
5627VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
5628 VkCommandBuffer commandBuffer,
5629 uint32_t deviceMask);
5630
5631VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
5632 VkCommandBuffer commandBuffer,
5633 uint32_t baseGroupX,
5634 uint32_t baseGroupY,
5635 uint32_t baseGroupZ,
5636 uint32_t groupCountX,
5637 uint32_t groupCountY,
5638 uint32_t groupCountZ);
5639
5640VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
5641 VkInstance instance,
5642 uint32_t* pPhysicalDeviceGroupCount,
5643 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5644
5645VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
5646 VkDevice device,
5647 const VkImageMemoryRequirementsInfo2* pInfo,
5648 VkMemoryRequirements2* pMemoryRequirements);
5649
5650VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
5651 VkDevice device,
5652 const VkBufferMemoryRequirementsInfo2* pInfo,
5653 VkMemoryRequirements2* pMemoryRequirements);
5654
5655VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
5656 VkDevice device,
5657 const VkImageSparseMemoryRequirementsInfo2* pInfo,
5658 uint32_t* pSparseMemoryRequirementCount,
5659 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5660
5661VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
5662 VkPhysicalDevice physicalDevice,
5663 VkPhysicalDeviceFeatures2* pFeatures);
5664
5665VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
5666 VkPhysicalDevice physicalDevice,
5667 VkPhysicalDeviceProperties2* pProperties);
5668
5669VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
5670 VkPhysicalDevice physicalDevice,
5671 VkFormat format,
5672 VkFormatProperties2* pFormatProperties);
5673
5674VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
5675 VkPhysicalDevice physicalDevice,
5676 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
5677 VkImageFormatProperties2* pImageFormatProperties);
5678
5679VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
5680 VkPhysicalDevice physicalDevice,
5681 uint32_t* pQueueFamilyPropertyCount,
5682 VkQueueFamilyProperties2* pQueueFamilyProperties);
5683
5684VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
5685 VkPhysicalDevice physicalDevice,
5686 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5687
5688VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
5689 VkPhysicalDevice physicalDevice,
5690 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
5691 uint32_t* pPropertyCount,
5692 VkSparseImageFormatProperties2* pProperties);
5693
5694VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
5695 VkDevice device,
5696 VkCommandPool commandPool,
5697 VkCommandPoolTrimFlags flags);
5698
5699VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
5700 VkDevice device,
5701 const VkDeviceQueueInfo2* pQueueInfo,
5702 VkQueue* pQueue);
5703
5704VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
5705 VkDevice device,
5706 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
5707 const VkAllocationCallbacks* pAllocator,
5708 VkSamplerYcbcrConversion* pYcbcrConversion);
5709
5710VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
5711 VkDevice device,
5712 VkSamplerYcbcrConversion ycbcrConversion,
5713 const VkAllocationCallbacks* pAllocator);
5714
5715VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
5716 VkDevice device,
5717 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
5718 const VkAllocationCallbacks* pAllocator,
5719 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5720
5721VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
5722 VkDevice device,
5723 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5724 const VkAllocationCallbacks* pAllocator);
5725
5726VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
5727 VkDevice device,
5728 VkDescriptorSet descriptorSet,
5729 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
5730 const void* pData);
5731
5732VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
5733 VkPhysicalDevice physicalDevice,
5734 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
5735 VkExternalBufferProperties* pExternalBufferProperties);
5736
5737VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
5738 VkPhysicalDevice physicalDevice,
5739 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
5740 VkExternalFenceProperties* pExternalFenceProperties);
5741
5742VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
5743 VkPhysicalDevice physicalDevice,
5744 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
5745 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5746
5747VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
5748 VkDevice device,
5749 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5750 VkDescriptorSetLayoutSupport* pSupport);
5751#endif
5752
5753
5754// VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls.
5755#define VK_VERSION_1_2 1
5756// Vulkan 1.2 version number
5757#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
5758
5759#define VK_MAX_DRIVER_NAME_SIZE 256U
5760#define VK_MAX_DRIVER_INFO_SIZE 256U
5761
5762typedef enum VkDriverId {
5763 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
5764 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
5765 VK_DRIVER_ID_MESA_RADV = 3,
5766 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
5767 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
5768 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
5769 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
5770 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
5771 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
5772 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
5773 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
5774 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
5775 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
5776 VK_DRIVER_ID_MOLTENVK = 14,
5777 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
5778 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
5779 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
5780 VK_DRIVER_ID_MESA_TURNIP = 18,
5781 VK_DRIVER_ID_MESA_V3DV = 19,
5782 VK_DRIVER_ID_MESA_PANVK = 20,
5783 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
5784 VK_DRIVER_ID_MESA_VENUS = 22,
5785 VK_DRIVER_ID_MESA_DOZEN = 23,
5786 VK_DRIVER_ID_MESA_NVK = 24,
5787 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25,
5788 VK_DRIVER_ID_MESA_AGXV = 26,
5789 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
5790 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
5791 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
5792 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
5793 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
5794 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
5795 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
5796 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
5797 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
5798 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
5799 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
5800 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
5801 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
5802} VkDriverId;
5803
5804typedef enum VkShaderFloatControlsIndependence {
5805 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
5806 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
5807 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
5808 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
5809 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
5810 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
5811 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
5812} VkShaderFloatControlsIndependence;
5813
5814typedef enum VkSamplerReductionMode {
5815 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
5816 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
5817 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
5818 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000,
5819 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
5820 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
5821 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
5822 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
5823} VkSamplerReductionMode;
5824
5825typedef enum VkSemaphoreType {
5826 VK_SEMAPHORE_TYPE_BINARY = 0,
5827 VK_SEMAPHORE_TYPE_TIMELINE = 1,
5828 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
5829 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
5830 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
5831} VkSemaphoreType;
5832
5833typedef enum VkResolveModeFlagBits {
5834 VK_RESOLVE_MODE_NONE = 0,
5835 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
5836 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
5837 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
5838 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
5839 VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010,
5840 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
5841 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
5842 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
5843 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
5844 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
5845 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5846} VkResolveModeFlagBits;
5847typedef VkFlags VkResolveModeFlags;
5848
5849typedef enum VkDescriptorBindingFlagBits {
5850 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
5851 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
5852 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
5853 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
5854 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
5855 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
5856 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
5857 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
5858 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5859} VkDescriptorBindingFlagBits;
5860typedef VkFlags VkDescriptorBindingFlags;
5861
5862typedef enum VkSemaphoreWaitFlagBits {
5863 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
5864 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
5865 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5866} VkSemaphoreWaitFlagBits;
5867typedef VkFlags VkSemaphoreWaitFlags;
5868typedef struct VkPhysicalDeviceVulkan11Features {
5869 VkStructureType sType;
5870 void* pNext;
5871 VkBool32 storageBuffer16BitAccess;
5872 VkBool32 uniformAndStorageBuffer16BitAccess;
5873 VkBool32 storagePushConstant16;
5874 VkBool32 storageInputOutput16;
5875 VkBool32 multiview;
5876 VkBool32 multiviewGeometryShader;
5877 VkBool32 multiviewTessellationShader;
5878 VkBool32 variablePointersStorageBuffer;
5879 VkBool32 variablePointers;
5880 VkBool32 protectedMemory;
5881 VkBool32 samplerYcbcrConversion;
5882 VkBool32 shaderDrawParameters;
5883} VkPhysicalDeviceVulkan11Features;
5884
5885typedef struct VkPhysicalDeviceVulkan11Properties {
5886 VkStructureType sType;
5887 void* pNext;
5888 uint8_t deviceUUID[VK_UUID_SIZE];
5889 uint8_t driverUUID[VK_UUID_SIZE];
5890 uint8_t deviceLUID[VK_LUID_SIZE];
5891 uint32_t deviceNodeMask;
5892 VkBool32 deviceLUIDValid;
5893 uint32_t subgroupSize;
5894 VkShaderStageFlags subgroupSupportedStages;
5895 VkSubgroupFeatureFlags subgroupSupportedOperations;
5896 VkBool32 subgroupQuadOperationsInAllStages;
5897 VkPointClippingBehavior pointClippingBehavior;
5898 uint32_t maxMultiviewViewCount;
5899 uint32_t maxMultiviewInstanceIndex;
5900 VkBool32 protectedNoFault;
5901 uint32_t maxPerSetDescriptors;
5902 VkDeviceSize maxMemoryAllocationSize;
5903} VkPhysicalDeviceVulkan11Properties;
5904
5905typedef struct VkPhysicalDeviceVulkan12Features {
5906 VkStructureType sType;
5907 void* pNext;
5908 VkBool32 samplerMirrorClampToEdge;
5909 VkBool32 drawIndirectCount;
5910 VkBool32 storageBuffer8BitAccess;
5911 VkBool32 uniformAndStorageBuffer8BitAccess;
5912 VkBool32 storagePushConstant8;
5913 VkBool32 shaderBufferInt64Atomics;
5914 VkBool32 shaderSharedInt64Atomics;
5915 VkBool32 shaderFloat16;
5916 VkBool32 shaderInt8;
5917 VkBool32 descriptorIndexing;
5918 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
5919 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
5920 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
5921 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
5922 VkBool32 shaderSampledImageArrayNonUniformIndexing;
5923 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
5924 VkBool32 shaderStorageImageArrayNonUniformIndexing;
5925 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
5926 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
5927 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
5928 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
5929 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
5930 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
5931 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
5932 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
5933 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
5934 VkBool32 descriptorBindingUpdateUnusedWhilePending;
5935 VkBool32 descriptorBindingPartiallyBound;
5936 VkBool32 descriptorBindingVariableDescriptorCount;
5937 VkBool32 runtimeDescriptorArray;
5938 VkBool32 samplerFilterMinmax;
5939 VkBool32 scalarBlockLayout;
5940 VkBool32 imagelessFramebuffer;
5941 VkBool32 uniformBufferStandardLayout;
5942 VkBool32 shaderSubgroupExtendedTypes;
5943 VkBool32 separateDepthStencilLayouts;
5944 VkBool32 hostQueryReset;
5945 VkBool32 timelineSemaphore;
5946 VkBool32 bufferDeviceAddress;
5947 VkBool32 bufferDeviceAddressCaptureReplay;
5948 VkBool32 bufferDeviceAddressMultiDevice;
5949 VkBool32 vulkanMemoryModel;
5950 VkBool32 vulkanMemoryModelDeviceScope;
5951 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
5952 VkBool32 shaderOutputViewportIndex;
5953 VkBool32 shaderOutputLayer;
5954 VkBool32 subgroupBroadcastDynamicId;
5955} VkPhysicalDeviceVulkan12Features;
5956
5957typedef struct VkConformanceVersion {
5958 uint8_t major;
5959 uint8_t minor;
5960 uint8_t subminor;
5961 uint8_t patch;
5962} VkConformanceVersion;
5963
5964typedef struct VkPhysicalDeviceVulkan12Properties {
5965 VkStructureType sType;
5966 void* pNext;
5967 VkDriverId driverID;
5968 char driverName[VK_MAX_DRIVER_NAME_SIZE];
5969 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
5970 VkConformanceVersion conformanceVersion;
5971 VkShaderFloatControlsIndependence denormBehaviorIndependence;
5972 VkShaderFloatControlsIndependence roundingModeIndependence;
5973 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
5974 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
5975 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
5976 VkBool32 shaderDenormPreserveFloat16;
5977 VkBool32 shaderDenormPreserveFloat32;
5978 VkBool32 shaderDenormPreserveFloat64;
5979 VkBool32 shaderDenormFlushToZeroFloat16;
5980 VkBool32 shaderDenormFlushToZeroFloat32;
5981 VkBool32 shaderDenormFlushToZeroFloat64;
5982 VkBool32 shaderRoundingModeRTEFloat16;
5983 VkBool32 shaderRoundingModeRTEFloat32;
5984 VkBool32 shaderRoundingModeRTEFloat64;
5985 VkBool32 shaderRoundingModeRTZFloat16;
5986 VkBool32 shaderRoundingModeRTZFloat32;
5987 VkBool32 shaderRoundingModeRTZFloat64;
5988 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
5989 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
5990 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
5991 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
5992 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
5993 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
5994 VkBool32 robustBufferAccessUpdateAfterBind;
5995 VkBool32 quadDivergentImplicitLod;
5996 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
5997 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
5998 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
5999 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
6000 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
6001 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
6002 uint32_t maxPerStageUpdateAfterBindResources;
6003 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
6004 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
6005 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6006 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
6007 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6008 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
6009 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
6010 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
6011 VkResolveModeFlags supportedDepthResolveModes;
6012 VkResolveModeFlags supportedStencilResolveModes;
6013 VkBool32 independentResolveNone;
6014 VkBool32 independentResolve;
6015 VkBool32 filterMinmaxSingleComponentFormats;
6016 VkBool32 filterMinmaxImageComponentMapping;
6017 uint64_t maxTimelineSemaphoreValueDifference;
6018 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6019} VkPhysicalDeviceVulkan12Properties;
6020
6021typedef struct VkImageFormatListCreateInfo {
6022 VkStructureType sType;
6023 const void* pNext;
6024 uint32_t viewFormatCount;
6025 const VkFormat* pViewFormats;
6026} VkImageFormatListCreateInfo;
6027
6028typedef struct VkAttachmentDescription2 {
6029 VkStructureType sType;
6030 const void* pNext;
6031 VkAttachmentDescriptionFlags flags;
6032 VkFormat format;
6033 VkSampleCountFlagBits samples;
6034 VkAttachmentLoadOp loadOp;
6035 VkAttachmentStoreOp storeOp;
6036 VkAttachmentLoadOp stencilLoadOp;
6037 VkAttachmentStoreOp stencilStoreOp;
6038 VkImageLayout initialLayout;
6039 VkImageLayout finalLayout;
6040} VkAttachmentDescription2;
6041
6042typedef struct VkAttachmentReference2 {
6043 VkStructureType sType;
6044 const void* pNext;
6045 uint32_t attachment;
6046 VkImageLayout layout;
6047 VkImageAspectFlags aspectMask;
6048} VkAttachmentReference2;
6049
6050typedef struct VkSubpassDescription2 {
6051 VkStructureType sType;
6052 const void* pNext;
6053 VkSubpassDescriptionFlags flags;
6054 VkPipelineBindPoint pipelineBindPoint;
6055 uint32_t viewMask;
6056 uint32_t inputAttachmentCount;
6057 const VkAttachmentReference2* pInputAttachments;
6058 uint32_t colorAttachmentCount;
6059 const VkAttachmentReference2* pColorAttachments;
6060 const VkAttachmentReference2* pResolveAttachments;
6061 const VkAttachmentReference2* pDepthStencilAttachment;
6062 uint32_t preserveAttachmentCount;
6063 const uint32_t* pPreserveAttachments;
6064} VkSubpassDescription2;
6065
6066typedef struct VkSubpassDependency2 {
6067 VkStructureType sType;
6068 const void* pNext;
6069 uint32_t srcSubpass;
6070 uint32_t dstSubpass;
6071 VkPipelineStageFlags srcStageMask;
6072 VkPipelineStageFlags dstStageMask;
6073 VkAccessFlags srcAccessMask;
6074 VkAccessFlags dstAccessMask;
6075 VkDependencyFlags dependencyFlags;
6076 int32_t viewOffset;
6077} VkSubpassDependency2;
6078
6079typedef struct VkRenderPassCreateInfo2 {
6080 VkStructureType sType;
6081 const void* pNext;
6082 VkRenderPassCreateFlags flags;
6083 uint32_t attachmentCount;
6084 const VkAttachmentDescription2* pAttachments;
6085 uint32_t subpassCount;
6086 const VkSubpassDescription2* pSubpasses;
6087 uint32_t dependencyCount;
6088 const VkSubpassDependency2* pDependencies;
6089 uint32_t correlatedViewMaskCount;
6090 const uint32_t* pCorrelatedViewMasks;
6091} VkRenderPassCreateInfo2;
6092
6093typedef struct VkSubpassBeginInfo {
6094 VkStructureType sType;
6095 const void* pNext;
6096 VkSubpassContents contents;
6097} VkSubpassBeginInfo;
6098
6099typedef struct VkSubpassEndInfo {
6100 VkStructureType sType;
6101 const void* pNext;
6102} VkSubpassEndInfo;
6103
6104typedef struct VkPhysicalDevice8BitStorageFeatures {
6105 VkStructureType sType;
6106 void* pNext;
6107 VkBool32 storageBuffer8BitAccess;
6108 VkBool32 uniformAndStorageBuffer8BitAccess;
6109 VkBool32 storagePushConstant8;
6110} VkPhysicalDevice8BitStorageFeatures;
6111
6112typedef struct VkPhysicalDeviceDriverProperties {
6113 VkStructureType sType;
6114 void* pNext;
6115 VkDriverId driverID;
6116 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6117 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6118 VkConformanceVersion conformanceVersion;
6119} VkPhysicalDeviceDriverProperties;
6120
6121typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6122 VkStructureType sType;
6123 void* pNext;
6124 VkBool32 shaderBufferInt64Atomics;
6125 VkBool32 shaderSharedInt64Atomics;
6126} VkPhysicalDeviceShaderAtomicInt64Features;
6127
6128typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6129 VkStructureType sType;
6130 void* pNext;
6131 VkBool32 shaderFloat16;
6132 VkBool32 shaderInt8;
6133} VkPhysicalDeviceShaderFloat16Int8Features;
6134
6135typedef struct VkPhysicalDeviceFloatControlsProperties {
6136 VkStructureType sType;
6137 void* pNext;
6138 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6139 VkShaderFloatControlsIndependence roundingModeIndependence;
6140 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6141 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6142 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6143 VkBool32 shaderDenormPreserveFloat16;
6144 VkBool32 shaderDenormPreserveFloat32;
6145 VkBool32 shaderDenormPreserveFloat64;
6146 VkBool32 shaderDenormFlushToZeroFloat16;
6147 VkBool32 shaderDenormFlushToZeroFloat32;
6148 VkBool32 shaderDenormFlushToZeroFloat64;
6149 VkBool32 shaderRoundingModeRTEFloat16;
6150 VkBool32 shaderRoundingModeRTEFloat32;
6151 VkBool32 shaderRoundingModeRTEFloat64;
6152 VkBool32 shaderRoundingModeRTZFloat16;
6153 VkBool32 shaderRoundingModeRTZFloat32;
6154 VkBool32 shaderRoundingModeRTZFloat64;
6155} VkPhysicalDeviceFloatControlsProperties;
6156
6157typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6158 VkStructureType sType;
6159 const void* pNext;
6160 uint32_t bindingCount;
6161 const VkDescriptorBindingFlags* pBindingFlags;
6162} VkDescriptorSetLayoutBindingFlagsCreateInfo;
6163
6164typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6165 VkStructureType sType;
6166 void* pNext;
6167 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6168 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6169 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6170 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6171 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6172 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6173 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6174 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6175 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6176 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6177 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6178 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6179 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6180 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6181 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6182 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6183 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6184 VkBool32 descriptorBindingPartiallyBound;
6185 VkBool32 descriptorBindingVariableDescriptorCount;
6186 VkBool32 runtimeDescriptorArray;
6187} VkPhysicalDeviceDescriptorIndexingFeatures;
6188
6189typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6190 VkStructureType sType;
6191 void* pNext;
6192 uint32_t maxUpdateAfterBindDescriptorsInAllPools;
6193 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6194 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6195 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6196 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6197 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6198 VkBool32 robustBufferAccessUpdateAfterBind;
6199 VkBool32 quadDivergentImplicitLod;
6200 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;
6201 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6202 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6203 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;
6204 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;
6205 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;
6206 uint32_t maxPerStageUpdateAfterBindResources;
6207 uint32_t maxDescriptorSetUpdateAfterBindSamplers;
6208 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;
6209 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6210 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;
6211 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6212 uint32_t maxDescriptorSetUpdateAfterBindSampledImages;
6213 uint32_t maxDescriptorSetUpdateAfterBindStorageImages;
6214 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;
6215} VkPhysicalDeviceDescriptorIndexingProperties;
6216
6217typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6218 VkStructureType sType;
6219 const void* pNext;
6220 uint32_t descriptorSetCount;
6221 const uint32_t* pDescriptorCounts;
6222} VkDescriptorSetVariableDescriptorCountAllocateInfo;
6223
6224typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6225 VkStructureType sType;
6226 void* pNext;
6227 uint32_t maxVariableDescriptorCount;
6228} VkDescriptorSetVariableDescriptorCountLayoutSupport;
6229
6230typedef struct VkSubpassDescriptionDepthStencilResolve {
6231 VkStructureType sType;
6232 const void* pNext;
6233 VkResolveModeFlagBits depthResolveMode;
6234 VkResolveModeFlagBits stencilResolveMode;
6235 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6236} VkSubpassDescriptionDepthStencilResolve;
6237
6238typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6239 VkStructureType sType;
6240 void* pNext;
6241 VkResolveModeFlags supportedDepthResolveModes;
6242 VkResolveModeFlags supportedStencilResolveModes;
6243 VkBool32 independentResolveNone;
6244 VkBool32 independentResolve;
6245} VkPhysicalDeviceDepthStencilResolveProperties;
6246
6247typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6248 VkStructureType sType;
6249 void* pNext;
6250 VkBool32 scalarBlockLayout;
6251} VkPhysicalDeviceScalarBlockLayoutFeatures;
6252
6253typedef struct VkImageStencilUsageCreateInfo {
6254 VkStructureType sType;
6255 const void* pNext;
6256 VkImageUsageFlags stencilUsage;
6257} VkImageStencilUsageCreateInfo;
6258
6259typedef struct VkSamplerReductionModeCreateInfo {
6260 VkStructureType sType;
6261 const void* pNext;
6262 VkSamplerReductionMode reductionMode;
6263} VkSamplerReductionModeCreateInfo;
6264
6265typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6266 VkStructureType sType;
6267 void* pNext;
6268 VkBool32 filterMinmaxSingleComponentFormats;
6269 VkBool32 filterMinmaxImageComponentMapping;
6270} VkPhysicalDeviceSamplerFilterMinmaxProperties;
6271
6272typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6273 VkStructureType sType;
6274 void* pNext;
6275 VkBool32 vulkanMemoryModel;
6276 VkBool32 vulkanMemoryModelDeviceScope;
6277 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6278} VkPhysicalDeviceVulkanMemoryModelFeatures;
6279
6280typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6281 VkStructureType sType;
6282 void* pNext;
6283 VkBool32 imagelessFramebuffer;
6284} VkPhysicalDeviceImagelessFramebufferFeatures;
6285
6286typedef struct VkFramebufferAttachmentImageInfo {
6287 VkStructureType sType;
6288 const void* pNext;
6289 VkImageCreateFlags flags;
6290 VkImageUsageFlags usage;
6291 uint32_t width;
6292 uint32_t height;
6293 uint32_t layerCount;
6294 uint32_t viewFormatCount;
6295 const VkFormat* pViewFormats;
6296} VkFramebufferAttachmentImageInfo;
6297
6298typedef struct VkFramebufferAttachmentsCreateInfo {
6299 VkStructureType sType;
6300 const void* pNext;
6301 uint32_t attachmentImageInfoCount;
6302 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6303} VkFramebufferAttachmentsCreateInfo;
6304
6305typedef struct VkRenderPassAttachmentBeginInfo {
6306 VkStructureType sType;
6307 const void* pNext;
6308 uint32_t attachmentCount;
6309 const VkImageView* pAttachments;
6310} VkRenderPassAttachmentBeginInfo;
6311
6312typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6313 VkStructureType sType;
6314 void* pNext;
6315 VkBool32 uniformBufferStandardLayout;
6316} VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6317
6318typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6319 VkStructureType sType;
6320 void* pNext;
6321 VkBool32 shaderSubgroupExtendedTypes;
6322} VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6323
6324typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6325 VkStructureType sType;
6326 void* pNext;
6327 VkBool32 separateDepthStencilLayouts;
6328} VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6329
6330typedef struct VkAttachmentReferenceStencilLayout {
6331 VkStructureType sType;
6332 void* pNext;
6333 VkImageLayout stencilLayout;
6334} VkAttachmentReferenceStencilLayout;
6335
6336typedef struct VkAttachmentDescriptionStencilLayout {
6337 VkStructureType sType;
6338 void* pNext;
6339 VkImageLayout stencilInitialLayout;
6340 VkImageLayout stencilFinalLayout;
6341} VkAttachmentDescriptionStencilLayout;
6342
6343typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6344 VkStructureType sType;
6345 void* pNext;
6346 VkBool32 hostQueryReset;
6347} VkPhysicalDeviceHostQueryResetFeatures;
6348
6349typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6350 VkStructureType sType;
6351 void* pNext;
6352 VkBool32 timelineSemaphore;
6353} VkPhysicalDeviceTimelineSemaphoreFeatures;
6354
6355typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6356 VkStructureType sType;
6357 void* pNext;
6358 uint64_t maxTimelineSemaphoreValueDifference;
6359} VkPhysicalDeviceTimelineSemaphoreProperties;
6360
6361typedef struct VkSemaphoreTypeCreateInfo {
6362 VkStructureType sType;
6363 const void* pNext;
6364 VkSemaphoreType semaphoreType;
6365 uint64_t initialValue;
6366} VkSemaphoreTypeCreateInfo;
6367
6368typedef struct VkTimelineSemaphoreSubmitInfo {
6369 VkStructureType sType;
6370 const void* pNext;
6371 uint32_t waitSemaphoreValueCount;
6372 const uint64_t* pWaitSemaphoreValues;
6373 uint32_t signalSemaphoreValueCount;
6374 const uint64_t* pSignalSemaphoreValues;
6375} VkTimelineSemaphoreSubmitInfo;
6376
6377typedef struct VkSemaphoreWaitInfo {
6378 VkStructureType sType;
6379 const void* pNext;
6380 VkSemaphoreWaitFlags flags;
6381 uint32_t semaphoreCount;
6382 const VkSemaphore* pSemaphores;
6383 const uint64_t* pValues;
6384} VkSemaphoreWaitInfo;
6385
6386typedef struct VkSemaphoreSignalInfo {
6387 VkStructureType sType;
6388 const void* pNext;
6389 VkSemaphore semaphore;
6390 uint64_t value;
6391} VkSemaphoreSignalInfo;
6392
6393typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6394 VkStructureType sType;
6395 void* pNext;
6396 VkBool32 bufferDeviceAddress;
6397 VkBool32 bufferDeviceAddressCaptureReplay;
6398 VkBool32 bufferDeviceAddressMultiDevice;
6399} VkPhysicalDeviceBufferDeviceAddressFeatures;
6400
6401typedef struct VkBufferDeviceAddressInfo {
6402 VkStructureType sType;
6403 const void* pNext;
6404 VkBuffer buffer;
6405} VkBufferDeviceAddressInfo;
6406
6407typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6408 VkStructureType sType;
6409 const void* pNext;
6410 uint64_t opaqueCaptureAddress;
6411} VkBufferOpaqueCaptureAddressCreateInfo;
6412
6413typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6414 VkStructureType sType;
6415 const void* pNext;
6416 uint64_t opaqueCaptureAddress;
6417} VkMemoryOpaqueCaptureAddressAllocateInfo;
6418
6419typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6420 VkStructureType sType;
6421 const void* pNext;
6422 VkDeviceMemory memory;
6423} VkDeviceMemoryOpaqueCaptureAddressInfo;
6424
6425typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6426typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
6427typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6428typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6429typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6430typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6431typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
6432typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
6433typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
6434typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6435typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6436typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6437typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6438
6439#ifndef VK_NO_PROTOTYPES
6440VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6441 VkCommandBuffer commandBuffer,
6442 VkBuffer buffer,
6443 VkDeviceSize offset,
6444 VkBuffer countBuffer,
6445 VkDeviceSize countBufferOffset,
6446 uint32_t maxDrawCount,
6447 uint32_t stride);
6448
6449VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6450 VkCommandBuffer commandBuffer,
6451 VkBuffer buffer,
6452 VkDeviceSize offset,
6453 VkBuffer countBuffer,
6454 VkDeviceSize countBufferOffset,
6455 uint32_t maxDrawCount,
6456 uint32_t stride);
6457
6458VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6459 VkDevice device,
6460 const VkRenderPassCreateInfo2* pCreateInfo,
6461 const VkAllocationCallbacks* pAllocator,
6462 VkRenderPass* pRenderPass);
6463
6464VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6465 VkCommandBuffer commandBuffer,
6466 const VkRenderPassBeginInfo* pRenderPassBegin,
6467 const VkSubpassBeginInfo* pSubpassBeginInfo);
6468
6469VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6470 VkCommandBuffer commandBuffer,
6471 const VkSubpassBeginInfo* pSubpassBeginInfo,
6472 const VkSubpassEndInfo* pSubpassEndInfo);
6473
6474VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6475 VkCommandBuffer commandBuffer,
6476 const VkSubpassEndInfo* pSubpassEndInfo);
6477
6478VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6479 VkDevice device,
6480 VkQueryPool queryPool,
6481 uint32_t firstQuery,
6482 uint32_t queryCount);
6483
6484VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6485 VkDevice device,
6486 VkSemaphore semaphore,
6487 uint64_t* pValue);
6488
6489VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6490 VkDevice device,
6491 const VkSemaphoreWaitInfo* pWaitInfo,
6492 uint64_t timeout);
6493
6494VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6495 VkDevice device,
6496 const VkSemaphoreSignalInfo* pSignalInfo);
6497
6498VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6499 VkDevice device,
6500 const VkBufferDeviceAddressInfo* pInfo);
6501
6502VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6503 VkDevice device,
6504 const VkBufferDeviceAddressInfo* pInfo);
6505
6506VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6507 VkDevice device,
6508 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6509#endif
6510
6511
6512// VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls.
6513#define VK_VERSION_1_3 1
6514// Vulkan 1.3 version number
6515#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0
6516
6517typedef uint64_t VkFlags64;
6518VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
6519
6520typedef enum VkPipelineCreationFeedbackFlagBits {
6521 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001,
6522 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002,
6523 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004,
6524 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
6525 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
6526 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT,
6527 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6528} VkPipelineCreationFeedbackFlagBits;
6529typedef VkFlags VkPipelineCreationFeedbackFlags;
6530
6531typedef enum VkToolPurposeFlagBits {
6532 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001,
6533 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002,
6534 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004,
6535 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008,
6536 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010,
6537 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
6538 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
6539 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
6540 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
6541 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
6542 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
6543 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
6544 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6545} VkToolPurposeFlagBits;
6546typedef VkFlags VkToolPurposeFlags;
6547typedef VkFlags VkPrivateDataSlotCreateFlags;
6548typedef VkFlags64 VkPipelineStageFlags2;
6549
6550// Flag bits for VkPipelineStageFlagBits2
6551typedef VkFlags64 VkPipelineStageFlagBits2;
6552static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL;
6553static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
6554static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL;
6555static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
6556static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL;
6557static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
6558static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL;
6559static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
6560static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL;
6561static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
6562static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL;
6563static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
6564static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL;
6565static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
6566static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL;
6567static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
6568static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL;
6569static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
6570static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL;
6571static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
6572static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL;
6573static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
6574static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL;
6575static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
6576static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL;
6577static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
6578static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL;
6579static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
6580static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL;
6581static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
6582static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL;
6583static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
6584static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL;
6585static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
6586static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL;
6587static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
6588static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL;
6589static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
6590static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL;
6591static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
6592static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL;
6593static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
6594static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL;
6595static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
6596static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL;
6597static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
6598static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL;
6599static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
6600static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL;
6601static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
6602static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL;
6603static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
6604static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
6605static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
6606static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
6607static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
6608static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
6609static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
6610static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
6611static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
6612static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
6613static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
6614static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
6615static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
6616static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
6617static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
6618static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL;
6619static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL;
6620static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL;
6621static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
6622static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
6623static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
6624static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL;
6625static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL;
6626static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL;
6627
6628typedef VkFlags64 VkAccessFlags2;
6629
6630// Flag bits for VkAccessFlagBits2
6631typedef VkFlags64 VkAccessFlagBits2;
6632static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL;
6633static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL;
6634static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL;
6635static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
6636static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL;
6637static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
6638static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL;
6639static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
6640static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL;
6641static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
6642static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL;
6643static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
6644static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL;
6645static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
6646static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL;
6647static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
6648static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL;
6649static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
6650static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL;
6651static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
6652static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL;
6653static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
6654static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL;
6655static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
6656static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL;
6657static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
6658static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL;
6659static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
6660static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL;
6661static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
6662static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL;
6663static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
6664static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL;
6665static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
6666static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL;
6667static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
6668static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL;
6669static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
6670static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL;
6671static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
6672static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL;
6673static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
6674static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
6675static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
6676static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
6677static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
6678static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
6679static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
6680static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
6681static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
6682static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
6683static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
6684static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
6685static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
6686static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
6687static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
6688static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
6689static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
6690static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
6691static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
6692static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL;
6693static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
6694static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL;
6695static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL;
6696static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL;
6697static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL;
6698static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL;
6699
6700
6701typedef enum VkSubmitFlagBits {
6702 VK_SUBMIT_PROTECTED_BIT = 0x00000001,
6703 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT,
6704 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6705} VkSubmitFlagBits;
6706typedef VkFlags VkSubmitFlags;
6707
6708typedef enum VkRenderingFlagBits {
6709 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001,
6710 VK_RENDERING_SUSPENDING_BIT = 0x00000002,
6711 VK_RENDERING_RESUMING_BIT = 0x00000004,
6712 VK_RENDERING_CONTENTS_INLINE_BIT_EXT = 0x00000010,
6713 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008,
6714 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
6715 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT,
6716 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,
6717 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6718} VkRenderingFlagBits;
6719typedef VkFlags VkRenderingFlags;
6720typedef VkFlags64 VkFormatFeatureFlags2;
6721
6722// Flag bits for VkFormatFeatureFlagBits2
6723typedef VkFlags64 VkFormatFeatureFlagBits2;
6724static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL;
6725static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL;
6726static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL;
6727static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL;
6728static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL;
6729static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL;
6730static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL;
6731static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
6732static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL;
6733static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL;
6734static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL;
6735static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL;
6736static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL;
6737static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL;
6738static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL;
6739static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL;
6740static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL;
6741static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL;
6742static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL;
6743static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL;
6744static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL;
6745static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL;
6746static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL;
6747static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL;
6748static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL;
6749static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL;
6750static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL;
6751static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL;
6752static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL;
6753static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL;
6754static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL;
6755static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL;
6756static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL;
6757static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
6758static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL;
6759static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL;
6760static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL;
6761static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL;
6762static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL;
6763static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL;
6764static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL;
6765static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL;
6766static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL;
6767static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL;
6768static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL;
6769static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL;
6770static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL;
6771static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL;
6772static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL;
6773static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL;
6774static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL;
6775static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL;
6776static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL;
6777static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
6778static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL;
6779static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL;
6780static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL;
6781static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL;
6782static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
6783static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL;
6784static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
6785static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
6786static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
6787static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL;
6788static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL;
6789static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL;
6790static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL;
6791static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL;
6792static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL;
6793static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL;
6794
6795typedef struct VkPhysicalDeviceVulkan13Features {
6796 VkStructureType sType;
6797 void* pNext;
6798 VkBool32 robustImageAccess;
6799 VkBool32 inlineUniformBlock;
6800 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
6801 VkBool32 pipelineCreationCacheControl;
6802 VkBool32 privateData;
6803 VkBool32 shaderDemoteToHelperInvocation;
6804 VkBool32 shaderTerminateInvocation;
6805 VkBool32 subgroupSizeControl;
6806 VkBool32 computeFullSubgroups;
6807 VkBool32 synchronization2;
6808 VkBool32 textureCompressionASTC_HDR;
6809 VkBool32 shaderZeroInitializeWorkgroupMemory;
6810 VkBool32 dynamicRendering;
6811 VkBool32 shaderIntegerDotProduct;
6812 VkBool32 maintenance4;
6813} VkPhysicalDeviceVulkan13Features;
6814
6815typedef struct VkPhysicalDeviceVulkan13Properties {
6816 VkStructureType sType;
6817 void* pNext;
6818 uint32_t minSubgroupSize;
6819 uint32_t maxSubgroupSize;
6820 uint32_t maxComputeWorkgroupSubgroups;
6821 VkShaderStageFlags requiredSubgroupSizeStages;
6822 uint32_t maxInlineUniformBlockSize;
6823 uint32_t maxPerStageDescriptorInlineUniformBlocks;
6824 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
6825 uint32_t maxDescriptorSetInlineUniformBlocks;
6826 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
6827 uint32_t maxInlineUniformTotalSize;
6828 VkBool32 integerDotProduct8BitUnsignedAccelerated;
6829 VkBool32 integerDotProduct8BitSignedAccelerated;
6830 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
6831 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
6832 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
6833 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
6834 VkBool32 integerDotProduct16BitUnsignedAccelerated;
6835 VkBool32 integerDotProduct16BitSignedAccelerated;
6836 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
6837 VkBool32 integerDotProduct32BitUnsignedAccelerated;
6838 VkBool32 integerDotProduct32BitSignedAccelerated;
6839 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
6840 VkBool32 integerDotProduct64BitUnsignedAccelerated;
6841 VkBool32 integerDotProduct64BitSignedAccelerated;
6842 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
6843 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
6844 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
6845 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
6846 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
6847 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
6848 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
6849 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
6850 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
6851 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
6852 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
6853 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
6854 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
6855 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
6856 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
6857 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
6858 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
6859 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
6860 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
6861 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
6862 VkDeviceSize maxBufferSize;
6863} VkPhysicalDeviceVulkan13Properties;
6864
6865typedef struct VkPipelineCreationFeedback {
6866 VkPipelineCreationFeedbackFlags flags;
6867 uint64_t duration;
6868} VkPipelineCreationFeedback;
6869
6870typedef struct VkPipelineCreationFeedbackCreateInfo {
6871 VkStructureType sType;
6872 const void* pNext;
6873 VkPipelineCreationFeedback* pPipelineCreationFeedback;
6874 uint32_t pipelineStageCreationFeedbackCount;
6875 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks;
6876} VkPipelineCreationFeedbackCreateInfo;
6877
6878typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
6879 VkStructureType sType;
6880 void* pNext;
6881 VkBool32 shaderTerminateInvocation;
6882} VkPhysicalDeviceShaderTerminateInvocationFeatures;
6883
6884typedef struct VkPhysicalDeviceToolProperties {
6885 VkStructureType sType;
6886 void* pNext;
6887 char name[VK_MAX_EXTENSION_NAME_SIZE];
6888 char version[VK_MAX_EXTENSION_NAME_SIZE];
6889 VkToolPurposeFlags purposes;
6890 char description[VK_MAX_DESCRIPTION_SIZE];
6891 char layer[VK_MAX_EXTENSION_NAME_SIZE];
6892} VkPhysicalDeviceToolProperties;
6893
6894typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
6895 VkStructureType sType;
6896 void* pNext;
6897 VkBool32 shaderDemoteToHelperInvocation;
6898} VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures;
6899
6900typedef struct VkPhysicalDevicePrivateDataFeatures {
6901 VkStructureType sType;
6902 void* pNext;
6903 VkBool32 privateData;
6904} VkPhysicalDevicePrivateDataFeatures;
6905
6906typedef struct VkDevicePrivateDataCreateInfo {
6907 VkStructureType sType;
6908 const void* pNext;
6909 uint32_t privateDataSlotRequestCount;
6910} VkDevicePrivateDataCreateInfo;
6911
6912typedef struct VkPrivateDataSlotCreateInfo {
6913 VkStructureType sType;
6914 const void* pNext;
6915 VkPrivateDataSlotCreateFlags flags;
6916} VkPrivateDataSlotCreateInfo;
6917
6918typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
6919 VkStructureType sType;
6920 void* pNext;
6921 VkBool32 pipelineCreationCacheControl;
6922} VkPhysicalDevicePipelineCreationCacheControlFeatures;
6923
6924typedef struct VkMemoryBarrier2 {
6925 VkStructureType sType;
6926 const void* pNext;
6927 VkPipelineStageFlags2 srcStageMask;
6928 VkAccessFlags2 srcAccessMask;
6929 VkPipelineStageFlags2 dstStageMask;
6930 VkAccessFlags2 dstAccessMask;
6931} VkMemoryBarrier2;
6932
6933typedef struct VkBufferMemoryBarrier2 {
6934 VkStructureType sType;
6935 const void* pNext;
6936 VkPipelineStageFlags2 srcStageMask;
6937 VkAccessFlags2 srcAccessMask;
6938 VkPipelineStageFlags2 dstStageMask;
6939 VkAccessFlags2 dstAccessMask;
6940 uint32_t srcQueueFamilyIndex;
6941 uint32_t dstQueueFamilyIndex;
6942 VkBuffer buffer;
6943 VkDeviceSize offset;
6944 VkDeviceSize size;
6945} VkBufferMemoryBarrier2;
6946
6947typedef struct VkImageMemoryBarrier2 {
6948 VkStructureType sType;
6949 const void* pNext;
6950 VkPipelineStageFlags2 srcStageMask;
6951 VkAccessFlags2 srcAccessMask;
6952 VkPipelineStageFlags2 dstStageMask;
6953 VkAccessFlags2 dstAccessMask;
6954 VkImageLayout oldLayout;
6955 VkImageLayout newLayout;
6956 uint32_t srcQueueFamilyIndex;
6957 uint32_t dstQueueFamilyIndex;
6958 VkImage image;
6959 VkImageSubresourceRange subresourceRange;
6960} VkImageMemoryBarrier2;
6961
6962typedef struct VkDependencyInfo {
6963 VkStructureType sType;
6964 const void* pNext;
6965 VkDependencyFlags dependencyFlags;
6966 uint32_t memoryBarrierCount;
6967 const VkMemoryBarrier2* pMemoryBarriers;
6968 uint32_t bufferMemoryBarrierCount;
6969 const VkBufferMemoryBarrier2* pBufferMemoryBarriers;
6970 uint32_t imageMemoryBarrierCount;
6971 const VkImageMemoryBarrier2* pImageMemoryBarriers;
6972} VkDependencyInfo;
6973
6974typedef struct VkSemaphoreSubmitInfo {
6975 VkStructureType sType;
6976 const void* pNext;
6977 VkSemaphore semaphore;
6978 uint64_t value;
6979 VkPipelineStageFlags2 stageMask;
6980 uint32_t deviceIndex;
6981} VkSemaphoreSubmitInfo;
6982
6983typedef struct VkCommandBufferSubmitInfo {
6984 VkStructureType sType;
6985 const void* pNext;
6986 VkCommandBuffer commandBuffer;
6987 uint32_t deviceMask;
6988} VkCommandBufferSubmitInfo;
6989
6990typedef struct VkSubmitInfo2 {
6991 VkStructureType sType;
6992 const void* pNext;
6993 VkSubmitFlags flags;
6994 uint32_t waitSemaphoreInfoCount;
6995 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos;
6996 uint32_t commandBufferInfoCount;
6997 const VkCommandBufferSubmitInfo* pCommandBufferInfos;
6998 uint32_t signalSemaphoreInfoCount;
6999 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos;
7000} VkSubmitInfo2;
7001
7002typedef struct VkPhysicalDeviceSynchronization2Features {
7003 VkStructureType sType;
7004 void* pNext;
7005 VkBool32 synchronization2;
7006} VkPhysicalDeviceSynchronization2Features;
7007
7008typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
7009 VkStructureType sType;
7010 void* pNext;
7011 VkBool32 shaderZeroInitializeWorkgroupMemory;
7012} VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
7013
7014typedef struct VkPhysicalDeviceImageRobustnessFeatures {
7015 VkStructureType sType;
7016 void* pNext;
7017 VkBool32 robustImageAccess;
7018} VkPhysicalDeviceImageRobustnessFeatures;
7019
7020typedef struct VkBufferCopy2 {
7021 VkStructureType sType;
7022 const void* pNext;
7023 VkDeviceSize srcOffset;
7024 VkDeviceSize dstOffset;
7025 VkDeviceSize size;
7026} VkBufferCopy2;
7027
7028typedef struct VkCopyBufferInfo2 {
7029 VkStructureType sType;
7030 const void* pNext;
7031 VkBuffer srcBuffer;
7032 VkBuffer dstBuffer;
7033 uint32_t regionCount;
7034 const VkBufferCopy2* pRegions;
7035} VkCopyBufferInfo2;
7036
7037typedef struct VkImageCopy2 {
7038 VkStructureType sType;
7039 const void* pNext;
7040 VkImageSubresourceLayers srcSubresource;
7041 VkOffset3D srcOffset;
7042 VkImageSubresourceLayers dstSubresource;
7043 VkOffset3D dstOffset;
7044 VkExtent3D extent;
7045} VkImageCopy2;
7046
7047typedef struct VkCopyImageInfo2 {
7048 VkStructureType sType;
7049 const void* pNext;
7050 VkImage srcImage;
7051 VkImageLayout srcImageLayout;
7052 VkImage dstImage;
7053 VkImageLayout dstImageLayout;
7054 uint32_t regionCount;
7055 const VkImageCopy2* pRegions;
7056} VkCopyImageInfo2;
7057
7058typedef struct VkBufferImageCopy2 {
7059 VkStructureType sType;
7060 const void* pNext;
7061 VkDeviceSize bufferOffset;
7062 uint32_t bufferRowLength;
7063 uint32_t bufferImageHeight;
7064 VkImageSubresourceLayers imageSubresource;
7065 VkOffset3D imageOffset;
7066 VkExtent3D imageExtent;
7067} VkBufferImageCopy2;
7068
7069typedef struct VkCopyBufferToImageInfo2 {
7070 VkStructureType sType;
7071 const void* pNext;
7072 VkBuffer srcBuffer;
7073 VkImage dstImage;
7074 VkImageLayout dstImageLayout;
7075 uint32_t regionCount;
7076 const VkBufferImageCopy2* pRegions;
7077} VkCopyBufferToImageInfo2;
7078
7079typedef struct VkCopyImageToBufferInfo2 {
7080 VkStructureType sType;
7081 const void* pNext;
7082 VkImage srcImage;
7083 VkImageLayout srcImageLayout;
7084 VkBuffer dstBuffer;
7085 uint32_t regionCount;
7086 const VkBufferImageCopy2* pRegions;
7087} VkCopyImageToBufferInfo2;
7088
7089typedef struct VkImageBlit2 {
7090 VkStructureType sType;
7091 const void* pNext;
7092 VkImageSubresourceLayers srcSubresource;
7093 VkOffset3D srcOffsets[2];
7094 VkImageSubresourceLayers dstSubresource;
7095 VkOffset3D dstOffsets[2];
7096} VkImageBlit2;
7097
7098typedef struct VkBlitImageInfo2 {
7099 VkStructureType sType;
7100 const void* pNext;
7101 VkImage srcImage;
7102 VkImageLayout srcImageLayout;
7103 VkImage dstImage;
7104 VkImageLayout dstImageLayout;
7105 uint32_t regionCount;
7106 const VkImageBlit2* pRegions;
7107 VkFilter filter;
7108} VkBlitImageInfo2;
7109
7110typedef struct VkImageResolve2 {
7111 VkStructureType sType;
7112 const void* pNext;
7113 VkImageSubresourceLayers srcSubresource;
7114 VkOffset3D srcOffset;
7115 VkImageSubresourceLayers dstSubresource;
7116 VkOffset3D dstOffset;
7117 VkExtent3D extent;
7118} VkImageResolve2;
7119
7120typedef struct VkResolveImageInfo2 {
7121 VkStructureType sType;
7122 const void* pNext;
7123 VkImage srcImage;
7124 VkImageLayout srcImageLayout;
7125 VkImage dstImage;
7126 VkImageLayout dstImageLayout;
7127 uint32_t regionCount;
7128 const VkImageResolve2* pRegions;
7129} VkResolveImageInfo2;
7130
7131typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures {
7132 VkStructureType sType;
7133 void* pNext;
7134 VkBool32 subgroupSizeControl;
7135 VkBool32 computeFullSubgroups;
7136} VkPhysicalDeviceSubgroupSizeControlFeatures;
7137
7138typedef struct VkPhysicalDeviceSubgroupSizeControlProperties {
7139 VkStructureType sType;
7140 void* pNext;
7141 uint32_t minSubgroupSize;
7142 uint32_t maxSubgroupSize;
7143 uint32_t maxComputeWorkgroupSubgroups;
7144 VkShaderStageFlags requiredSubgroupSizeStages;
7145} VkPhysicalDeviceSubgroupSizeControlProperties;
7146
7147typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
7148 VkStructureType sType;
7149 void* pNext;
7150 uint32_t requiredSubgroupSize;
7151} VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
7152
7153typedef struct VkPhysicalDeviceInlineUniformBlockFeatures {
7154 VkStructureType sType;
7155 void* pNext;
7156 VkBool32 inlineUniformBlock;
7157 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7158} VkPhysicalDeviceInlineUniformBlockFeatures;
7159
7160typedef struct VkPhysicalDeviceInlineUniformBlockProperties {
7161 VkStructureType sType;
7162 void* pNext;
7163 uint32_t maxInlineUniformBlockSize;
7164 uint32_t maxPerStageDescriptorInlineUniformBlocks;
7165 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7166 uint32_t maxDescriptorSetInlineUniformBlocks;
7167 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7168} VkPhysicalDeviceInlineUniformBlockProperties;
7169
7170typedef struct VkWriteDescriptorSetInlineUniformBlock {
7171 VkStructureType sType;
7172 const void* pNext;
7173 uint32_t dataSize;
7174 const void* pData;
7175} VkWriteDescriptorSetInlineUniformBlock;
7176
7177typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo {
7178 VkStructureType sType;
7179 const void* pNext;
7180 uint32_t maxInlineUniformBlockBindings;
7181} VkDescriptorPoolInlineUniformBlockCreateInfo;
7182
7183typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
7184 VkStructureType sType;
7185 void* pNext;
7186 VkBool32 textureCompressionASTC_HDR;
7187} VkPhysicalDeviceTextureCompressionASTCHDRFeatures;
7188
7189typedef struct VkRenderingAttachmentInfo {
7190 VkStructureType sType;
7191 const void* pNext;
7192 VkImageView imageView;
7193 VkImageLayout imageLayout;
7194 VkResolveModeFlagBits resolveMode;
7195 VkImageView resolveImageView;
7196 VkImageLayout resolveImageLayout;
7197 VkAttachmentLoadOp loadOp;
7198 VkAttachmentStoreOp storeOp;
7199 VkClearValue clearValue;
7200} VkRenderingAttachmentInfo;
7201
7202typedef struct VkRenderingInfo {
7203 VkStructureType sType;
7204 const void* pNext;
7205 VkRenderingFlags flags;
7206 VkRect2D renderArea;
7207 uint32_t layerCount;
7208 uint32_t viewMask;
7209 uint32_t colorAttachmentCount;
7210 const VkRenderingAttachmentInfo* pColorAttachments;
7211 const VkRenderingAttachmentInfo* pDepthAttachment;
7212 const VkRenderingAttachmentInfo* pStencilAttachment;
7213} VkRenderingInfo;
7214
7215typedef struct VkPipelineRenderingCreateInfo {
7216 VkStructureType sType;
7217 const void* pNext;
7218 uint32_t viewMask;
7219 uint32_t colorAttachmentCount;
7220 const VkFormat* pColorAttachmentFormats;
7221 VkFormat depthAttachmentFormat;
7222 VkFormat stencilAttachmentFormat;
7223} VkPipelineRenderingCreateInfo;
7224
7225typedef struct VkPhysicalDeviceDynamicRenderingFeatures {
7226 VkStructureType sType;
7227 void* pNext;
7228 VkBool32 dynamicRendering;
7229} VkPhysicalDeviceDynamicRenderingFeatures;
7230
7231typedef struct VkCommandBufferInheritanceRenderingInfo {
7232 VkStructureType sType;
7233 const void* pNext;
7234 VkRenderingFlags flags;
7235 uint32_t viewMask;
7236 uint32_t colorAttachmentCount;
7237 const VkFormat* pColorAttachmentFormats;
7238 VkFormat depthAttachmentFormat;
7239 VkFormat stencilAttachmentFormat;
7240 VkSampleCountFlagBits rasterizationSamples;
7241} VkCommandBufferInheritanceRenderingInfo;
7242
7243typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
7244 VkStructureType sType;
7245 void* pNext;
7246 VkBool32 shaderIntegerDotProduct;
7247} VkPhysicalDeviceShaderIntegerDotProductFeatures;
7248
7249typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties {
7250 VkStructureType sType;
7251 void* pNext;
7252 VkBool32 integerDotProduct8BitUnsignedAccelerated;
7253 VkBool32 integerDotProduct8BitSignedAccelerated;
7254 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
7255 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
7256 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
7257 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
7258 VkBool32 integerDotProduct16BitUnsignedAccelerated;
7259 VkBool32 integerDotProduct16BitSignedAccelerated;
7260 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
7261 VkBool32 integerDotProduct32BitUnsignedAccelerated;
7262 VkBool32 integerDotProduct32BitSignedAccelerated;
7263 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
7264 VkBool32 integerDotProduct64BitUnsignedAccelerated;
7265 VkBool32 integerDotProduct64BitSignedAccelerated;
7266 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
7267 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
7268 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
7269 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
7270 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
7271 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
7272 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
7273 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
7274 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
7275 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
7276 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
7277 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
7278 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
7279 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
7280 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
7281 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
7282} VkPhysicalDeviceShaderIntegerDotProductProperties;
7283
7284typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties {
7285 VkStructureType sType;
7286 void* pNext;
7287 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
7288 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
7289 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
7290 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
7291} VkPhysicalDeviceTexelBufferAlignmentProperties;
7292
7293typedef struct VkFormatProperties3 {
7294 VkStructureType sType;
7295 void* pNext;
7296 VkFormatFeatureFlags2 linearTilingFeatures;
7297 VkFormatFeatureFlags2 optimalTilingFeatures;
7298 VkFormatFeatureFlags2 bufferFeatures;
7299} VkFormatProperties3;
7300
7301typedef struct VkPhysicalDeviceMaintenance4Features {
7302 VkStructureType sType;
7303 void* pNext;
7304 VkBool32 maintenance4;
7305} VkPhysicalDeviceMaintenance4Features;
7306
7307typedef struct VkPhysicalDeviceMaintenance4Properties {
7308 VkStructureType sType;
7309 void* pNext;
7310 VkDeviceSize maxBufferSize;
7311} VkPhysicalDeviceMaintenance4Properties;
7312
7313typedef struct VkDeviceBufferMemoryRequirements {
7314 VkStructureType sType;
7315 const void* pNext;
7316 const VkBufferCreateInfo* pCreateInfo;
7317} VkDeviceBufferMemoryRequirements;
7318
7319typedef struct VkDeviceImageMemoryRequirements {
7320 VkStructureType sType;
7321 const void* pNext;
7322 const VkImageCreateInfo* pCreateInfo;
7323 VkImageAspectFlagBits planeAspect;
7324} VkDeviceImageMemoryRequirements;
7325
7326typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
7327typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
7328typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
7329typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
7330typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
7331typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
7332typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
7333typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
7334typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
7335typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
7336typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
7337typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
7338typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
7339typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7340typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7341typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
7342typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
7343typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
7344typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
7345typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
7346typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
7347typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
7348typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
7349typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
7350typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
7351typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
7352typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
7353typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
7354typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
7355typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
7356typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
7357typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
7358typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
7359typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
7360typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7361typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
7362typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7363
7364#ifndef VK_NO_PROTOTYPES
7365VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties(
7366 VkPhysicalDevice physicalDevice,
7367 uint32_t* pToolCount,
7368 VkPhysicalDeviceToolProperties* pToolProperties);
7369
7370VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot(
7371 VkDevice device,
7372 const VkPrivateDataSlotCreateInfo* pCreateInfo,
7373 const VkAllocationCallbacks* pAllocator,
7374 VkPrivateDataSlot* pPrivateDataSlot);
7375
7376VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot(
7377 VkDevice device,
7378 VkPrivateDataSlot privateDataSlot,
7379 const VkAllocationCallbacks* pAllocator);
7380
7381VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData(
7382 VkDevice device,
7383 VkObjectType objectType,
7384 uint64_t objectHandle,
7385 VkPrivateDataSlot privateDataSlot,
7386 uint64_t data);
7387
7388VKAPI_ATTR void VKAPI_CALL vkGetPrivateData(
7389 VkDevice device,
7390 VkObjectType objectType,
7391 uint64_t objectHandle,
7392 VkPrivateDataSlot privateDataSlot,
7393 uint64_t* pData);
7394
7395VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2(
7396 VkCommandBuffer commandBuffer,
7397 VkEvent event,
7398 const VkDependencyInfo* pDependencyInfo);
7399
7400VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2(
7401 VkCommandBuffer commandBuffer,
7402 VkEvent event,
7403 VkPipelineStageFlags2 stageMask);
7404
7405VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2(
7406 VkCommandBuffer commandBuffer,
7407 uint32_t eventCount,
7408 const VkEvent* pEvents,
7409 const VkDependencyInfo* pDependencyInfos);
7410
7411VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2(
7412 VkCommandBuffer commandBuffer,
7413 const VkDependencyInfo* pDependencyInfo);
7414
7415VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2(
7416 VkCommandBuffer commandBuffer,
7417 VkPipelineStageFlags2 stage,
7418 VkQueryPool queryPool,
7419 uint32_t query);
7420
7421VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2(
7422 VkQueue queue,
7423 uint32_t submitCount,
7424 const VkSubmitInfo2* pSubmits,
7425 VkFence fence);
7426
7427VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2(
7428 VkCommandBuffer commandBuffer,
7429 const VkCopyBufferInfo2* pCopyBufferInfo);
7430
7431VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2(
7432 VkCommandBuffer commandBuffer,
7433 const VkCopyImageInfo2* pCopyImageInfo);
7434
7435VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2(
7436 VkCommandBuffer commandBuffer,
7437 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
7438
7439VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2(
7440 VkCommandBuffer commandBuffer,
7441 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
7442
7443VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2(
7444 VkCommandBuffer commandBuffer,
7445 const VkBlitImageInfo2* pBlitImageInfo);
7446
7447VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2(
7448 VkCommandBuffer commandBuffer,
7449 const VkResolveImageInfo2* pResolveImageInfo);
7450
7451VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering(
7452 VkCommandBuffer commandBuffer,
7453 const VkRenderingInfo* pRenderingInfo);
7454
7455VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering(
7456 VkCommandBuffer commandBuffer);
7457
7458VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode(
7459 VkCommandBuffer commandBuffer,
7460 VkCullModeFlags cullMode);
7461
7462VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace(
7463 VkCommandBuffer commandBuffer,
7464 VkFrontFace frontFace);
7465
7466VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology(
7467 VkCommandBuffer commandBuffer,
7468 VkPrimitiveTopology primitiveTopology);
7469
7470VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount(
7471 VkCommandBuffer commandBuffer,
7472 uint32_t viewportCount,
7473 const VkViewport* pViewports);
7474
7475VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount(
7476 VkCommandBuffer commandBuffer,
7477 uint32_t scissorCount,
7478 const VkRect2D* pScissors);
7479
7480VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2(
7481 VkCommandBuffer commandBuffer,
7482 uint32_t firstBinding,
7483 uint32_t bindingCount,
7484 const VkBuffer* pBuffers,
7485 const VkDeviceSize* pOffsets,
7486 const VkDeviceSize* pSizes,
7487 const VkDeviceSize* pStrides);
7488
7489VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable(
7490 VkCommandBuffer commandBuffer,
7491 VkBool32 depthTestEnable);
7492
7493VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable(
7494 VkCommandBuffer commandBuffer,
7495 VkBool32 depthWriteEnable);
7496
7497VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp(
7498 VkCommandBuffer commandBuffer,
7499 VkCompareOp depthCompareOp);
7500
7501VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable(
7502 VkCommandBuffer commandBuffer,
7503 VkBool32 depthBoundsTestEnable);
7504
7505VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable(
7506 VkCommandBuffer commandBuffer,
7507 VkBool32 stencilTestEnable);
7508
7509VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp(
7510 VkCommandBuffer commandBuffer,
7511 VkStencilFaceFlags faceMask,
7512 VkStencilOp failOp,
7513 VkStencilOp passOp,
7514 VkStencilOp depthFailOp,
7515 VkCompareOp compareOp);
7516
7517VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable(
7518 VkCommandBuffer commandBuffer,
7519 VkBool32 rasterizerDiscardEnable);
7520
7521VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable(
7522 VkCommandBuffer commandBuffer,
7523 VkBool32 depthBiasEnable);
7524
7525VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable(
7526 VkCommandBuffer commandBuffer,
7527 VkBool32 primitiveRestartEnable);
7528
7529VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements(
7530 VkDevice device,
7531 const VkDeviceBufferMemoryRequirements* pInfo,
7532 VkMemoryRequirements2* pMemoryRequirements);
7533
7534VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements(
7535 VkDevice device,
7536 const VkDeviceImageMemoryRequirements* pInfo,
7537 VkMemoryRequirements2* pMemoryRequirements);
7538
7539VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements(
7540 VkDevice device,
7541 const VkDeviceImageMemoryRequirements* pInfo,
7542 uint32_t* pSparseMemoryRequirementCount,
7543 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
7544#endif
7545
7546
7547// VK_KHR_surface is a preprocessor guard. Do not pass it to API calls.
7548#define VK_KHR_surface 1
7549VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
7550#define VK_KHR_SURFACE_SPEC_VERSION 25
7551#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
7552
7553typedef enum VkPresentModeKHR {
7554 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
7555 VK_PRESENT_MODE_MAILBOX_KHR = 1,
7556 VK_PRESENT_MODE_FIFO_KHR = 2,
7557 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
7558 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
7559 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
7560 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
7561} VkPresentModeKHR;
7562
7563typedef enum VkColorSpaceKHR {
7564 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
7565 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
7566 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
7567 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
7568 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
7569 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
7570 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
7571 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
7572 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
7573 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
7574 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
7575 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
7576 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
7577 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
7578 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
7579 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
7580 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
7581 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
7582 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
7583} VkColorSpaceKHR;
7584
7585typedef enum VkSurfaceTransformFlagBitsKHR {
7586 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
7587 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
7588 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
7589 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
7590 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
7591 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
7592 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
7593 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
7594 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
7595 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7596} VkSurfaceTransformFlagBitsKHR;
7597
7598typedef enum VkCompositeAlphaFlagBitsKHR {
7599 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7600 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
7601 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
7602 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
7603 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7604} VkCompositeAlphaFlagBitsKHR;
7605typedef VkFlags VkCompositeAlphaFlagsKHR;
7606typedef VkFlags VkSurfaceTransformFlagsKHR;
7607typedef struct VkSurfaceCapabilitiesKHR {
7608 uint32_t minImageCount;
7609 uint32_t maxImageCount;
7610 VkExtent2D currentExtent;
7611 VkExtent2D minImageExtent;
7612 VkExtent2D maxImageExtent;
7613 uint32_t maxImageArrayLayers;
7614 VkSurfaceTransformFlagsKHR supportedTransforms;
7615 VkSurfaceTransformFlagBitsKHR currentTransform;
7616 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
7617 VkImageUsageFlags supportedUsageFlags;
7618} VkSurfaceCapabilitiesKHR;
7619
7620typedef struct VkSurfaceFormatKHR {
7621 VkFormat format;
7622 VkColorSpaceKHR colorSpace;
7623} VkSurfaceFormatKHR;
7624
7625typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
7626typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
7627typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7628typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
7629typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
7630
7631#ifndef VK_NO_PROTOTYPES
7632VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
7633 VkInstance instance,
7634 VkSurfaceKHR surface,
7635 const VkAllocationCallbacks* pAllocator);
7636
7637VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
7638 VkPhysicalDevice physicalDevice,
7639 uint32_t queueFamilyIndex,
7640 VkSurfaceKHR surface,
7641 VkBool32* pSupported);
7642
7643VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
7644 VkPhysicalDevice physicalDevice,
7645 VkSurfaceKHR surface,
7646 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7647
7648VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
7649 VkPhysicalDevice physicalDevice,
7650 VkSurfaceKHR surface,
7651 uint32_t* pSurfaceFormatCount,
7652 VkSurfaceFormatKHR* pSurfaceFormats);
7653
7654VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
7655 VkPhysicalDevice physicalDevice,
7656 VkSurfaceKHR surface,
7657 uint32_t* pPresentModeCount,
7658 VkPresentModeKHR* pPresentModes);
7659#endif
7660
7661
7662// VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls.
7663#define VK_KHR_swapchain 1
7664VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
7665#define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
7666#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
7667
7668typedef enum VkSwapchainCreateFlagBitsKHR {
7669 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
7670 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
7671 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
7672 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008,
7673 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7674} VkSwapchainCreateFlagBitsKHR;
7675typedef VkFlags VkSwapchainCreateFlagsKHR;
7676
7677typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
7678 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
7679 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7680 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7681 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7682 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7683} VkDeviceGroupPresentModeFlagBitsKHR;
7684typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7685typedef struct VkSwapchainCreateInfoKHR {
7686 VkStructureType sType;
7687 const void* pNext;
7688 VkSwapchainCreateFlagsKHR flags;
7689 VkSurfaceKHR surface;
7690 uint32_t minImageCount;
7691 VkFormat imageFormat;
7692 VkColorSpaceKHR imageColorSpace;
7693 VkExtent2D imageExtent;
7694 uint32_t imageArrayLayers;
7695 VkImageUsageFlags imageUsage;
7696 VkSharingMode imageSharingMode;
7697 uint32_t queueFamilyIndexCount;
7698 const uint32_t* pQueueFamilyIndices;
7699 VkSurfaceTransformFlagBitsKHR preTransform;
7700 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7701 VkPresentModeKHR presentMode;
7702 VkBool32 clipped;
7703 VkSwapchainKHR oldSwapchain;
7704} VkSwapchainCreateInfoKHR;
7705
7706typedef struct VkPresentInfoKHR {
7707 VkStructureType sType;
7708 const void* pNext;
7709 uint32_t waitSemaphoreCount;
7710 const VkSemaphore* pWaitSemaphores;
7711 uint32_t swapchainCount;
7712 const VkSwapchainKHR* pSwapchains;
7713 const uint32_t* pImageIndices;
7714 VkResult* pResults;
7715} VkPresentInfoKHR;
7716
7717typedef struct VkImageSwapchainCreateInfoKHR {
7718 VkStructureType sType;
7719 const void* pNext;
7720 VkSwapchainKHR swapchain;
7721} VkImageSwapchainCreateInfoKHR;
7722
7723typedef struct VkBindImageMemorySwapchainInfoKHR {
7724 VkStructureType sType;
7725 const void* pNext;
7726 VkSwapchainKHR swapchain;
7727 uint32_t imageIndex;
7728} VkBindImageMemorySwapchainInfoKHR;
7729
7730typedef struct VkAcquireNextImageInfoKHR {
7731 VkStructureType sType;
7732 const void* pNext;
7733 VkSwapchainKHR swapchain;
7734 uint64_t timeout;
7735 VkSemaphore semaphore;
7736 VkFence fence;
7737 uint32_t deviceMask;
7738} VkAcquireNextImageInfoKHR;
7739
7740typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7741 VkStructureType sType;
7742 void* pNext;
7743 uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7744 VkDeviceGroupPresentModeFlagsKHR modes;
7745} VkDeviceGroupPresentCapabilitiesKHR;
7746
7747typedef struct VkDeviceGroupPresentInfoKHR {
7748 VkStructureType sType;
7749 const void* pNext;
7750 uint32_t swapchainCount;
7751 const uint32_t* pDeviceMasks;
7752 VkDeviceGroupPresentModeFlagBitsKHR mode;
7753} VkDeviceGroupPresentInfoKHR;
7754
7755typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7756 VkStructureType sType;
7757 const void* pNext;
7758 VkDeviceGroupPresentModeFlagsKHR modes;
7759} VkDeviceGroupSwapchainCreateInfoKHR;
7760
7761typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7762typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7763typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);
7764typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);
7765typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7766typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7767typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7768typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);
7769typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);
7770
7771#ifndef VK_NO_PROTOTYPES
7772VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7773 VkDevice device,
7774 const VkSwapchainCreateInfoKHR* pCreateInfo,
7775 const VkAllocationCallbacks* pAllocator,
7776 VkSwapchainKHR* pSwapchain);
7777
7778VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7779 VkDevice device,
7780 VkSwapchainKHR swapchain,
7781 const VkAllocationCallbacks* pAllocator);
7782
7783VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7784 VkDevice device,
7785 VkSwapchainKHR swapchain,
7786 uint32_t* pSwapchainImageCount,
7787 VkImage* pSwapchainImages);
7788
7789VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7790 VkDevice device,
7791 VkSwapchainKHR swapchain,
7792 uint64_t timeout,
7793 VkSemaphore semaphore,
7794 VkFence fence,
7795 uint32_t* pImageIndex);
7796
7797VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7798 VkQueue queue,
7799 const VkPresentInfoKHR* pPresentInfo);
7800
7801VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7802 VkDevice device,
7803 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7804
7805VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7806 VkDevice device,
7807 VkSurfaceKHR surface,
7808 VkDeviceGroupPresentModeFlagsKHR* pModes);
7809
7810VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7811 VkPhysicalDevice physicalDevice,
7812 VkSurfaceKHR surface,
7813 uint32_t* pRectCount,
7814 VkRect2D* pRects);
7815
7816VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7817 VkDevice device,
7818 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7819 uint32_t* pImageIndex);
7820#endif
7821
7822
7823// VK_KHR_display is a preprocessor guard. Do not pass it to API calls.
7824#define VK_KHR_display 1
7825VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7826VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7827#define VK_KHR_DISPLAY_SPEC_VERSION 23
7828#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7829typedef VkFlags VkDisplayModeCreateFlagsKHR;
7830
7831typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7832 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7833 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7834 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7835 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7836 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7837} VkDisplayPlaneAlphaFlagBitsKHR;
7838typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7839typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7840typedef struct VkDisplayModeParametersKHR {
7841 VkExtent2D visibleRegion;
7842 uint32_t refreshRate;
7843} VkDisplayModeParametersKHR;
7844
7845typedef struct VkDisplayModeCreateInfoKHR {
7846 VkStructureType sType;
7847 const void* pNext;
7848 VkDisplayModeCreateFlagsKHR flags;
7849 VkDisplayModeParametersKHR parameters;
7850} VkDisplayModeCreateInfoKHR;
7851
7852typedef struct VkDisplayModePropertiesKHR {
7853 VkDisplayModeKHR displayMode;
7854 VkDisplayModeParametersKHR parameters;
7855} VkDisplayModePropertiesKHR;
7856
7857typedef struct VkDisplayPlaneCapabilitiesKHR {
7858 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7859 VkOffset2D minSrcPosition;
7860 VkOffset2D maxSrcPosition;
7861 VkExtent2D minSrcExtent;
7862 VkExtent2D maxSrcExtent;
7863 VkOffset2D minDstPosition;
7864 VkOffset2D maxDstPosition;
7865 VkExtent2D minDstExtent;
7866 VkExtent2D maxDstExtent;
7867} VkDisplayPlaneCapabilitiesKHR;
7868
7869typedef struct VkDisplayPlanePropertiesKHR {
7870 VkDisplayKHR currentDisplay;
7871 uint32_t currentStackIndex;
7872} VkDisplayPlanePropertiesKHR;
7873
7874typedef struct VkDisplayPropertiesKHR {
7875 VkDisplayKHR display;
7876 const char* displayName;
7877 VkExtent2D physicalDimensions;
7878 VkExtent2D physicalResolution;
7879 VkSurfaceTransformFlagsKHR supportedTransforms;
7880 VkBool32 planeReorderPossible;
7881 VkBool32 persistentContent;
7882} VkDisplayPropertiesKHR;
7883
7884typedef struct VkDisplaySurfaceCreateInfoKHR {
7885 VkStructureType sType;
7886 const void* pNext;
7887 VkDisplaySurfaceCreateFlagsKHR flags;
7888 VkDisplayModeKHR displayMode;
7889 uint32_t planeIndex;
7890 uint32_t planeStackIndex;
7891 VkSurfaceTransformFlagBitsKHR transform;
7892 float globalAlpha;
7893 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7894 VkExtent2D imageExtent;
7895} VkDisplaySurfaceCreateInfoKHR;
7896
7897typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7898typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7899typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
7900typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7901typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7902typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7903typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7904
7905#ifndef VK_NO_PROTOTYPES
7906VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7907 VkPhysicalDevice physicalDevice,
7908 uint32_t* pPropertyCount,
7909 VkDisplayPropertiesKHR* pProperties);
7910
7911VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7912 VkPhysicalDevice physicalDevice,
7913 uint32_t* pPropertyCount,
7914 VkDisplayPlanePropertiesKHR* pProperties);
7915
7916VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7917 VkPhysicalDevice physicalDevice,
7918 uint32_t planeIndex,
7919 uint32_t* pDisplayCount,
7920 VkDisplayKHR* pDisplays);
7921
7922VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7923 VkPhysicalDevice physicalDevice,
7924 VkDisplayKHR display,
7925 uint32_t* pPropertyCount,
7926 VkDisplayModePropertiesKHR* pProperties);
7927
7928VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7929 VkPhysicalDevice physicalDevice,
7930 VkDisplayKHR display,
7931 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7932 const VkAllocationCallbacks* pAllocator,
7933 VkDisplayModeKHR* pMode);
7934
7935VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7936 VkPhysicalDevice physicalDevice,
7937 VkDisplayModeKHR mode,
7938 uint32_t planeIndex,
7939 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7940
7941VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7942 VkInstance instance,
7943 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7944 const VkAllocationCallbacks* pAllocator,
7945 VkSurfaceKHR* pSurface);
7946#endif
7947
7948
7949// VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls.
7950#define VK_KHR_display_swapchain 1
7951#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7952#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7953typedef struct VkDisplayPresentInfoKHR {
7954 VkStructureType sType;
7955 const void* pNext;
7956 VkRect2D srcRect;
7957 VkRect2D dstRect;
7958 VkBool32 persistent;
7959} VkDisplayPresentInfoKHR;
7960
7961typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7962
7963#ifndef VK_NO_PROTOTYPES
7964VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7965 VkDevice device,
7966 uint32_t swapchainCount,
7967 const VkSwapchainCreateInfoKHR* pCreateInfos,
7968 const VkAllocationCallbacks* pAllocator,
7969 VkSwapchainKHR* pSwapchains);
7970#endif
7971
7972
7973// VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls.
7974#define VK_KHR_sampler_mirror_clamp_to_edge 1
7975#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7976#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7977
7978
7979// VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls.
7980#define VK_KHR_video_queue 1
7981VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR)
7982VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR)
7983#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8
7984#define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue"
7985
7986typedef enum VkQueryResultStatusKHR {
7987 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1,
7988 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0,
7989 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1,
7990 VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000,
7991 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF
7992} VkQueryResultStatusKHR;
7993
7994typedef enum VkVideoCodecOperationFlagBitsKHR {
7995 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0,
7996 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000,
7997 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000,
7998 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001,
7999 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002,
8000 VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004,
8001 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8002} VkVideoCodecOperationFlagBitsKHR;
8003typedef VkFlags VkVideoCodecOperationFlagsKHR;
8004
8005typedef enum VkVideoChromaSubsamplingFlagBitsKHR {
8006 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0,
8007 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001,
8008 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002,
8009 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004,
8010 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008,
8011 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8012} VkVideoChromaSubsamplingFlagBitsKHR;
8013typedef VkFlags VkVideoChromaSubsamplingFlagsKHR;
8014
8015typedef enum VkVideoComponentBitDepthFlagBitsKHR {
8016 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0,
8017 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001,
8018 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004,
8019 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010,
8020 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8021} VkVideoComponentBitDepthFlagBitsKHR;
8022typedef VkFlags VkVideoComponentBitDepthFlagsKHR;
8023
8024typedef enum VkVideoCapabilityFlagBitsKHR {
8025 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001,
8026 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002,
8027 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8028} VkVideoCapabilityFlagBitsKHR;
8029typedef VkFlags VkVideoCapabilityFlagsKHR;
8030
8031typedef enum VkVideoSessionCreateFlagBitsKHR {
8032 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001,
8033 VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002,
8034 VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004,
8035 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8036} VkVideoSessionCreateFlagBitsKHR;
8037typedef VkFlags VkVideoSessionCreateFlagsKHR;
8038typedef VkFlags VkVideoSessionParametersCreateFlagsKHR;
8039typedef VkFlags VkVideoBeginCodingFlagsKHR;
8040typedef VkFlags VkVideoEndCodingFlagsKHR;
8041
8042typedef enum VkVideoCodingControlFlagBitsKHR {
8043 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001,
8044 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002,
8045 VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004,
8046 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8047} VkVideoCodingControlFlagBitsKHR;
8048typedef VkFlags VkVideoCodingControlFlagsKHR;
8049typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR {
8050 VkStructureType sType;
8051 void* pNext;
8052 VkBool32 queryResultStatusSupport;
8053} VkQueueFamilyQueryResultStatusPropertiesKHR;
8054
8055typedef struct VkQueueFamilyVideoPropertiesKHR {
8056 VkStructureType sType;
8057 void* pNext;
8058 VkVideoCodecOperationFlagsKHR videoCodecOperations;
8059} VkQueueFamilyVideoPropertiesKHR;
8060
8061typedef struct VkVideoProfileInfoKHR {
8062 VkStructureType sType;
8063 const void* pNext;
8064 VkVideoCodecOperationFlagBitsKHR videoCodecOperation;
8065 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling;
8066 VkVideoComponentBitDepthFlagsKHR lumaBitDepth;
8067 VkVideoComponentBitDepthFlagsKHR chromaBitDepth;
8068} VkVideoProfileInfoKHR;
8069
8070typedef struct VkVideoProfileListInfoKHR {
8071 VkStructureType sType;
8072 const void* pNext;
8073 uint32_t profileCount;
8074 const VkVideoProfileInfoKHR* pProfiles;
8075} VkVideoProfileListInfoKHR;
8076
8077typedef struct VkVideoCapabilitiesKHR {
8078 VkStructureType sType;
8079 void* pNext;
8080 VkVideoCapabilityFlagsKHR flags;
8081 VkDeviceSize minBitstreamBufferOffsetAlignment;
8082 VkDeviceSize minBitstreamBufferSizeAlignment;
8083 VkExtent2D pictureAccessGranularity;
8084 VkExtent2D minCodedExtent;
8085 VkExtent2D maxCodedExtent;
8086 uint32_t maxDpbSlots;
8087 uint32_t maxActiveReferencePictures;
8088 VkExtensionProperties stdHeaderVersion;
8089} VkVideoCapabilitiesKHR;
8090
8091typedef struct VkPhysicalDeviceVideoFormatInfoKHR {
8092 VkStructureType sType;
8093 const void* pNext;
8094 VkImageUsageFlags imageUsage;
8095} VkPhysicalDeviceVideoFormatInfoKHR;
8096
8097typedef struct VkVideoFormatPropertiesKHR {
8098 VkStructureType sType;
8099 void* pNext;
8100 VkFormat format;
8101 VkComponentMapping componentMapping;
8102 VkImageCreateFlags imageCreateFlags;
8103 VkImageType imageType;
8104 VkImageTiling imageTiling;
8105 VkImageUsageFlags imageUsageFlags;
8106} VkVideoFormatPropertiesKHR;
8107
8108typedef struct VkVideoPictureResourceInfoKHR {
8109 VkStructureType sType;
8110 const void* pNext;
8111 VkOffset2D codedOffset;
8112 VkExtent2D codedExtent;
8113 uint32_t baseArrayLayer;
8114 VkImageView imageViewBinding;
8115} VkVideoPictureResourceInfoKHR;
8116
8117typedef struct VkVideoReferenceSlotInfoKHR {
8118 VkStructureType sType;
8119 const void* pNext;
8120 int32_t slotIndex;
8121 const VkVideoPictureResourceInfoKHR* pPictureResource;
8122} VkVideoReferenceSlotInfoKHR;
8123
8124typedef struct VkVideoSessionMemoryRequirementsKHR {
8125 VkStructureType sType;
8126 void* pNext;
8127 uint32_t memoryBindIndex;
8128 VkMemoryRequirements memoryRequirements;
8129} VkVideoSessionMemoryRequirementsKHR;
8130
8131typedef struct VkBindVideoSessionMemoryInfoKHR {
8132 VkStructureType sType;
8133 const void* pNext;
8134 uint32_t memoryBindIndex;
8135 VkDeviceMemory memory;
8136 VkDeviceSize memoryOffset;
8137 VkDeviceSize memorySize;
8138} VkBindVideoSessionMemoryInfoKHR;
8139
8140typedef struct VkVideoSessionCreateInfoKHR {
8141 VkStructureType sType;
8142 const void* pNext;
8143 uint32_t queueFamilyIndex;
8144 VkVideoSessionCreateFlagsKHR flags;
8145 const VkVideoProfileInfoKHR* pVideoProfile;
8146 VkFormat pictureFormat;
8147 VkExtent2D maxCodedExtent;
8148 VkFormat referencePictureFormat;
8149 uint32_t maxDpbSlots;
8150 uint32_t maxActiveReferencePictures;
8151 const VkExtensionProperties* pStdHeaderVersion;
8152} VkVideoSessionCreateInfoKHR;
8153
8154typedef struct VkVideoSessionParametersCreateInfoKHR {
8155 VkStructureType sType;
8156 const void* pNext;
8157 VkVideoSessionParametersCreateFlagsKHR flags;
8158 VkVideoSessionParametersKHR videoSessionParametersTemplate;
8159 VkVideoSessionKHR videoSession;
8160} VkVideoSessionParametersCreateInfoKHR;
8161
8162typedef struct VkVideoSessionParametersUpdateInfoKHR {
8163 VkStructureType sType;
8164 const void* pNext;
8165 uint32_t updateSequenceCount;
8166} VkVideoSessionParametersUpdateInfoKHR;
8167
8168typedef struct VkVideoBeginCodingInfoKHR {
8169 VkStructureType sType;
8170 const void* pNext;
8171 VkVideoBeginCodingFlagsKHR flags;
8172 VkVideoSessionKHR videoSession;
8173 VkVideoSessionParametersKHR videoSessionParameters;
8174 uint32_t referenceSlotCount;
8175 const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
8176} VkVideoBeginCodingInfoKHR;
8177
8178typedef struct VkVideoEndCodingInfoKHR {
8179 VkStructureType sType;
8180 const void* pNext;
8181 VkVideoEndCodingFlagsKHR flags;
8182} VkVideoEndCodingInfoKHR;
8183
8184typedef struct VkVideoCodingControlInfoKHR {
8185 VkStructureType sType;
8186 const void* pNext;
8187 VkVideoCodingControlFlagsKHR flags;
8188} VkVideoCodingControlInfoKHR;
8189
8190typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities);
8191typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties);
8192typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession);
8193typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator);
8194typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
8195typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
8196typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters);
8197typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
8198typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator);
8199typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo);
8200typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo);
8201typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo);
8202
8203#ifndef VK_NO_PROTOTYPES
8204VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR(
8205 VkPhysicalDevice physicalDevice,
8206 const VkVideoProfileInfoKHR* pVideoProfile,
8207 VkVideoCapabilitiesKHR* pCapabilities);
8208
8209VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR(
8210 VkPhysicalDevice physicalDevice,
8211 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo,
8212 uint32_t* pVideoFormatPropertyCount,
8213 VkVideoFormatPropertiesKHR* pVideoFormatProperties);
8214
8215VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR(
8216 VkDevice device,
8217 const VkVideoSessionCreateInfoKHR* pCreateInfo,
8218 const VkAllocationCallbacks* pAllocator,
8219 VkVideoSessionKHR* pVideoSession);
8220
8221VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR(
8222 VkDevice device,
8223 VkVideoSessionKHR videoSession,
8224 const VkAllocationCallbacks* pAllocator);
8225
8226VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR(
8227 VkDevice device,
8228 VkVideoSessionKHR videoSession,
8229 uint32_t* pMemoryRequirementsCount,
8230 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
8231
8232VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR(
8233 VkDevice device,
8234 VkVideoSessionKHR videoSession,
8235 uint32_t bindSessionMemoryInfoCount,
8236 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
8237
8238VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR(
8239 VkDevice device,
8240 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo,
8241 const VkAllocationCallbacks* pAllocator,
8242 VkVideoSessionParametersKHR* pVideoSessionParameters);
8243
8244VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR(
8245 VkDevice device,
8246 VkVideoSessionParametersKHR videoSessionParameters,
8247 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
8248
8249VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR(
8250 VkDevice device,
8251 VkVideoSessionParametersKHR videoSessionParameters,
8252 const VkAllocationCallbacks* pAllocator);
8253
8254VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR(
8255 VkCommandBuffer commandBuffer,
8256 const VkVideoBeginCodingInfoKHR* pBeginInfo);
8257
8258VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR(
8259 VkCommandBuffer commandBuffer,
8260 const VkVideoEndCodingInfoKHR* pEndCodingInfo);
8261
8262VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR(
8263 VkCommandBuffer commandBuffer,
8264 const VkVideoCodingControlInfoKHR* pCodingControlInfo);
8265#endif
8266
8267
8268// VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls.
8269#define VK_KHR_video_decode_queue 1
8270#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8
8271#define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue"
8272
8273typedef enum VkVideoDecodeCapabilityFlagBitsKHR {
8274 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001,
8275 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002,
8276 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8277} VkVideoDecodeCapabilityFlagBitsKHR;
8278typedef VkFlags VkVideoDecodeCapabilityFlagsKHR;
8279
8280typedef enum VkVideoDecodeUsageFlagBitsKHR {
8281 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0,
8282 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001,
8283 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002,
8284 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004,
8285 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8286} VkVideoDecodeUsageFlagBitsKHR;
8287typedef VkFlags VkVideoDecodeUsageFlagsKHR;
8288typedef VkFlags VkVideoDecodeFlagsKHR;
8289typedef struct VkVideoDecodeCapabilitiesKHR {
8290 VkStructureType sType;
8291 void* pNext;
8292 VkVideoDecodeCapabilityFlagsKHR flags;
8293} VkVideoDecodeCapabilitiesKHR;
8294
8295typedef struct VkVideoDecodeUsageInfoKHR {
8296 VkStructureType sType;
8297 const void* pNext;
8298 VkVideoDecodeUsageFlagsKHR videoUsageHints;
8299} VkVideoDecodeUsageInfoKHR;
8300
8301typedef struct VkVideoDecodeInfoKHR {
8302 VkStructureType sType;
8303 const void* pNext;
8304 VkVideoDecodeFlagsKHR flags;
8305 VkBuffer srcBuffer;
8306 VkDeviceSize srcBufferOffset;
8307 VkDeviceSize srcBufferRange;
8308 VkVideoPictureResourceInfoKHR dstPictureResource;
8309 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot;
8310 uint32_t referenceSlotCount;
8311 const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
8312} VkVideoDecodeInfoKHR;
8313
8314typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo);
8315
8316#ifndef VK_NO_PROTOTYPES
8317VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR(
8318 VkCommandBuffer commandBuffer,
8319 const VkVideoDecodeInfoKHR* pDecodeInfo);
8320#endif
8321
8322
8323// VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls.
8324#define VK_KHR_video_encode_h264 1
8325#include "../vk_video/vulkan_video_codec_h264std.h"
8326#include "../vk_video/vulkan_video_codec_h264std_encode.h"
8327#define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14
8328#define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264"
8329
8330typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR {
8331 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
8332 VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002,
8333 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004,
8334 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008,
8335 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010,
8336 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020,
8337 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040,
8338 VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080,
8339 VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100,
8340 VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8341} VkVideoEncodeH264CapabilityFlagBitsKHR;
8342typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR;
8343
8344typedef enum VkVideoEncodeH264StdFlagBitsKHR {
8345 VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001,
8346 VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002,
8347 VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004,
8348 VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008,
8349 VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010,
8350 VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020,
8351 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040,
8352 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080,
8353 VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100,
8354 VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200,
8355 VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400,
8356 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800,
8357 VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000,
8358 VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000,
8359 VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000,
8360 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000,
8361 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000,
8362 VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000,
8363 VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000,
8364 VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000,
8365 VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8366} VkVideoEncodeH264StdFlagBitsKHR;
8367typedef VkFlags VkVideoEncodeH264StdFlagsKHR;
8368
8369typedef enum VkVideoEncodeH264RateControlFlagBitsKHR {
8370 VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
8371 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002,
8372 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004,
8373 VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008,
8374 VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010,
8375 VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8376} VkVideoEncodeH264RateControlFlagBitsKHR;
8377typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR;
8378typedef struct VkVideoEncodeH264CapabilitiesKHR {
8379 VkStructureType sType;
8380 void* pNext;
8381 VkVideoEncodeH264CapabilityFlagsKHR flags;
8382 StdVideoH264LevelIdc maxLevelIdc;
8383 uint32_t maxSliceCount;
8384 uint32_t maxPPictureL0ReferenceCount;
8385 uint32_t maxBPictureL0ReferenceCount;
8386 uint32_t maxL1ReferenceCount;
8387 uint32_t maxTemporalLayerCount;
8388 VkBool32 expectDyadicTemporalLayerPattern;
8389 int32_t minQp;
8390 int32_t maxQp;
8391 VkBool32 prefersGopRemainingFrames;
8392 VkBool32 requiresGopRemainingFrames;
8393 VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags;
8394} VkVideoEncodeH264CapabilitiesKHR;
8395
8396typedef struct VkVideoEncodeH264QpKHR {
8397 int32_t qpI;
8398 int32_t qpP;
8399 int32_t qpB;
8400} VkVideoEncodeH264QpKHR;
8401
8402typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR {
8403 VkStructureType sType;
8404 void* pNext;
8405 VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags;
8406 uint32_t preferredGopFrameCount;
8407 uint32_t preferredIdrPeriod;
8408 uint32_t preferredConsecutiveBFrameCount;
8409 uint32_t preferredTemporalLayerCount;
8410 VkVideoEncodeH264QpKHR preferredConstantQp;
8411 uint32_t preferredMaxL0ReferenceCount;
8412 uint32_t preferredMaxL1ReferenceCount;
8413 VkBool32 preferredStdEntropyCodingModeFlag;
8414} VkVideoEncodeH264QualityLevelPropertiesKHR;
8415
8416typedef struct VkVideoEncodeH264SessionCreateInfoKHR {
8417 VkStructureType sType;
8418 const void* pNext;
8419 VkBool32 useMaxLevelIdc;
8420 StdVideoH264LevelIdc maxLevelIdc;
8421} VkVideoEncodeH264SessionCreateInfoKHR;
8422
8423typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR {
8424 VkStructureType sType;
8425 const void* pNext;
8426 uint32_t stdSPSCount;
8427 const StdVideoH264SequenceParameterSet* pStdSPSs;
8428 uint32_t stdPPSCount;
8429 const StdVideoH264PictureParameterSet* pStdPPSs;
8430} VkVideoEncodeH264SessionParametersAddInfoKHR;
8431
8432typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR {
8433 VkStructureType sType;
8434 const void* pNext;
8435 uint32_t maxStdSPSCount;
8436 uint32_t maxStdPPSCount;
8437 const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo;
8438} VkVideoEncodeH264SessionParametersCreateInfoKHR;
8439
8440typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR {
8441 VkStructureType sType;
8442 const void* pNext;
8443 VkBool32 writeStdSPS;
8444 VkBool32 writeStdPPS;
8445 uint32_t stdSPSId;
8446 uint32_t stdPPSId;
8447} VkVideoEncodeH264SessionParametersGetInfoKHR;
8448
8449typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR {
8450 VkStructureType sType;
8451 void* pNext;
8452 VkBool32 hasStdSPSOverrides;
8453 VkBool32 hasStdPPSOverrides;
8454} VkVideoEncodeH264SessionParametersFeedbackInfoKHR;
8455
8456typedef struct VkVideoEncodeH264NaluSliceInfoKHR {
8457 VkStructureType sType;
8458 const void* pNext;
8459 int32_t constantQp;
8460 const StdVideoEncodeH264SliceHeader* pStdSliceHeader;
8461} VkVideoEncodeH264NaluSliceInfoKHR;
8462
8463typedef struct VkVideoEncodeH264PictureInfoKHR {
8464 VkStructureType sType;
8465 const void* pNext;
8466 uint32_t naluSliceEntryCount;
8467 const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries;
8468 const StdVideoEncodeH264PictureInfo* pStdPictureInfo;
8469 VkBool32 generatePrefixNalu;
8470} VkVideoEncodeH264PictureInfoKHR;
8471
8472typedef struct VkVideoEncodeH264DpbSlotInfoKHR {
8473 VkStructureType sType;
8474 const void* pNext;
8475 const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo;
8476} VkVideoEncodeH264DpbSlotInfoKHR;
8477
8478typedef struct VkVideoEncodeH264ProfileInfoKHR {
8479 VkStructureType sType;
8480 const void* pNext;
8481 StdVideoH264ProfileIdc stdProfileIdc;
8482} VkVideoEncodeH264ProfileInfoKHR;
8483
8484typedef struct VkVideoEncodeH264RateControlInfoKHR {
8485 VkStructureType sType;
8486 const void* pNext;
8487 VkVideoEncodeH264RateControlFlagsKHR flags;
8488 uint32_t gopFrameCount;
8489 uint32_t idrPeriod;
8490 uint32_t consecutiveBFrameCount;
8491 uint32_t temporalLayerCount;
8492} VkVideoEncodeH264RateControlInfoKHR;
8493
8494typedef struct VkVideoEncodeH264FrameSizeKHR {
8495 uint32_t frameISize;
8496 uint32_t framePSize;
8497 uint32_t frameBSize;
8498} VkVideoEncodeH264FrameSizeKHR;
8499
8500typedef struct VkVideoEncodeH264RateControlLayerInfoKHR {
8501 VkStructureType sType;
8502 const void* pNext;
8503 VkBool32 useMinQp;
8504 VkVideoEncodeH264QpKHR minQp;
8505 VkBool32 useMaxQp;
8506 VkVideoEncodeH264QpKHR maxQp;
8507 VkBool32 useMaxFrameSize;
8508 VkVideoEncodeH264FrameSizeKHR maxFrameSize;
8509} VkVideoEncodeH264RateControlLayerInfoKHR;
8510
8511typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR {
8512 VkStructureType sType;
8513 const void* pNext;
8514 VkBool32 useGopRemainingFrames;
8515 uint32_t gopRemainingI;
8516 uint32_t gopRemainingP;
8517 uint32_t gopRemainingB;
8518} VkVideoEncodeH264GopRemainingFrameInfoKHR;
8519
8520
8521
8522// VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls.
8523#define VK_KHR_video_encode_h265 1
8524#include "../vk_video/vulkan_video_codec_h265std.h"
8525#include "../vk_video/vulkan_video_codec_h265std_encode.h"
8526#define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14
8527#define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265"
8528
8529typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR {
8530 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
8531 VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002,
8532 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004,
8533 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008,
8534 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010,
8535 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020,
8536 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040,
8537 VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080,
8538 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100,
8539 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200,
8540 VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8541} VkVideoEncodeH265CapabilityFlagBitsKHR;
8542typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR;
8543
8544typedef enum VkVideoEncodeH265StdFlagBitsKHR {
8545 VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001,
8546 VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002,
8547 VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004,
8548 VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008,
8549 VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010,
8550 VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020,
8551 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040,
8552 VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080,
8553 VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100,
8554 VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200,
8555 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400,
8556 VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800,
8557 VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000,
8558 VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000,
8559 VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000,
8560 VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000,
8561 VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000,
8562 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000,
8563 VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000,
8564 VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000,
8565 VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000,
8566 VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8567} VkVideoEncodeH265StdFlagBitsKHR;
8568typedef VkFlags VkVideoEncodeH265StdFlagsKHR;
8569
8570typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR {
8571 VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001,
8572 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002,
8573 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004,
8574 VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8575} VkVideoEncodeH265CtbSizeFlagBitsKHR;
8576typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR;
8577
8578typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR {
8579 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001,
8580 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002,
8581 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004,
8582 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008,
8583 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8584} VkVideoEncodeH265TransformBlockSizeFlagBitsKHR;
8585typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR;
8586
8587typedef enum VkVideoEncodeH265RateControlFlagBitsKHR {
8588 VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001,
8589 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002,
8590 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004,
8591 VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008,
8592 VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010,
8593 VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8594} VkVideoEncodeH265RateControlFlagBitsKHR;
8595typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR;
8596typedef struct VkVideoEncodeH265CapabilitiesKHR {
8597 VkStructureType sType;
8598 void* pNext;
8599 VkVideoEncodeH265CapabilityFlagsKHR flags;
8600 StdVideoH265LevelIdc maxLevelIdc;
8601 uint32_t maxSliceSegmentCount;
8602 VkExtent2D maxTiles;
8603 VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes;
8604 VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes;
8605 uint32_t maxPPictureL0ReferenceCount;
8606 uint32_t maxBPictureL0ReferenceCount;
8607 uint32_t maxL1ReferenceCount;
8608 uint32_t maxSubLayerCount;
8609 VkBool32 expectDyadicTemporalSubLayerPattern;
8610 int32_t minQp;
8611 int32_t maxQp;
8612 VkBool32 prefersGopRemainingFrames;
8613 VkBool32 requiresGopRemainingFrames;
8614 VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags;
8615} VkVideoEncodeH265CapabilitiesKHR;
8616
8617typedef struct VkVideoEncodeH265SessionCreateInfoKHR {
8618 VkStructureType sType;
8619 const void* pNext;
8620 VkBool32 useMaxLevelIdc;
8621 StdVideoH265LevelIdc maxLevelIdc;
8622} VkVideoEncodeH265SessionCreateInfoKHR;
8623
8624typedef struct VkVideoEncodeH265QpKHR {
8625 int32_t qpI;
8626 int32_t qpP;
8627 int32_t qpB;
8628} VkVideoEncodeH265QpKHR;
8629
8630typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR {
8631 VkStructureType sType;
8632 void* pNext;
8633 VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags;
8634 uint32_t preferredGopFrameCount;
8635 uint32_t preferredIdrPeriod;
8636 uint32_t preferredConsecutiveBFrameCount;
8637 uint32_t preferredSubLayerCount;
8638 VkVideoEncodeH265QpKHR preferredConstantQp;
8639 uint32_t preferredMaxL0ReferenceCount;
8640 uint32_t preferredMaxL1ReferenceCount;
8641} VkVideoEncodeH265QualityLevelPropertiesKHR;
8642
8643typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR {
8644 VkStructureType sType;
8645 const void* pNext;
8646 uint32_t stdVPSCount;
8647 const StdVideoH265VideoParameterSet* pStdVPSs;
8648 uint32_t stdSPSCount;
8649 const StdVideoH265SequenceParameterSet* pStdSPSs;
8650 uint32_t stdPPSCount;
8651 const StdVideoH265PictureParameterSet* pStdPPSs;
8652} VkVideoEncodeH265SessionParametersAddInfoKHR;
8653
8654typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR {
8655 VkStructureType sType;
8656 const void* pNext;
8657 uint32_t maxStdVPSCount;
8658 uint32_t maxStdSPSCount;
8659 uint32_t maxStdPPSCount;
8660 const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo;
8661} VkVideoEncodeH265SessionParametersCreateInfoKHR;
8662
8663typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR {
8664 VkStructureType sType;
8665 const void* pNext;
8666 VkBool32 writeStdVPS;
8667 VkBool32 writeStdSPS;
8668 VkBool32 writeStdPPS;
8669 uint32_t stdVPSId;
8670 uint32_t stdSPSId;
8671 uint32_t stdPPSId;
8672} VkVideoEncodeH265SessionParametersGetInfoKHR;
8673
8674typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR {
8675 VkStructureType sType;
8676 void* pNext;
8677 VkBool32 hasStdVPSOverrides;
8678 VkBool32 hasStdSPSOverrides;
8679 VkBool32 hasStdPPSOverrides;
8680} VkVideoEncodeH265SessionParametersFeedbackInfoKHR;
8681
8682typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR {
8683 VkStructureType sType;
8684 const void* pNext;
8685 int32_t constantQp;
8686 const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader;
8687} VkVideoEncodeH265NaluSliceSegmentInfoKHR;
8688
8689typedef struct VkVideoEncodeH265PictureInfoKHR {
8690 VkStructureType sType;
8691 const void* pNext;
8692 uint32_t naluSliceSegmentEntryCount;
8693 const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries;
8694 const StdVideoEncodeH265PictureInfo* pStdPictureInfo;
8695} VkVideoEncodeH265PictureInfoKHR;
8696
8697typedef struct VkVideoEncodeH265DpbSlotInfoKHR {
8698 VkStructureType sType;
8699 const void* pNext;
8700 const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo;
8701} VkVideoEncodeH265DpbSlotInfoKHR;
8702
8703typedef struct VkVideoEncodeH265ProfileInfoKHR {
8704 VkStructureType sType;
8705 const void* pNext;
8706 StdVideoH265ProfileIdc stdProfileIdc;
8707} VkVideoEncodeH265ProfileInfoKHR;
8708
8709typedef struct VkVideoEncodeH265RateControlInfoKHR {
8710 VkStructureType sType;
8711 const void* pNext;
8712 VkVideoEncodeH265RateControlFlagsKHR flags;
8713 uint32_t gopFrameCount;
8714 uint32_t idrPeriod;
8715 uint32_t consecutiveBFrameCount;
8716 uint32_t subLayerCount;
8717} VkVideoEncodeH265RateControlInfoKHR;
8718
8719typedef struct VkVideoEncodeH265FrameSizeKHR {
8720 uint32_t frameISize;
8721 uint32_t framePSize;
8722 uint32_t frameBSize;
8723} VkVideoEncodeH265FrameSizeKHR;
8724
8725typedef struct VkVideoEncodeH265RateControlLayerInfoKHR {
8726 VkStructureType sType;
8727 const void* pNext;
8728 VkBool32 useMinQp;
8729 VkVideoEncodeH265QpKHR minQp;
8730 VkBool32 useMaxQp;
8731 VkVideoEncodeH265QpKHR maxQp;
8732 VkBool32 useMaxFrameSize;
8733 VkVideoEncodeH265FrameSizeKHR maxFrameSize;
8734} VkVideoEncodeH265RateControlLayerInfoKHR;
8735
8736typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR {
8737 VkStructureType sType;
8738 const void* pNext;
8739 VkBool32 useGopRemainingFrames;
8740 uint32_t gopRemainingI;
8741 uint32_t gopRemainingP;
8742 uint32_t gopRemainingB;
8743} VkVideoEncodeH265GopRemainingFrameInfoKHR;
8744
8745
8746
8747// VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls.
8748#define VK_KHR_video_decode_h264 1
8749#include "../vk_video/vulkan_video_codec_h264std_decode.h"
8750#define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9
8751#define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264"
8752
8753typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR {
8754 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0,
8755 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001,
8756 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002,
8757 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8758} VkVideoDecodeH264PictureLayoutFlagBitsKHR;
8759typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR;
8760typedef struct VkVideoDecodeH264ProfileInfoKHR {
8761 VkStructureType sType;
8762 const void* pNext;
8763 StdVideoH264ProfileIdc stdProfileIdc;
8764 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout;
8765} VkVideoDecodeH264ProfileInfoKHR;
8766
8767typedef struct VkVideoDecodeH264CapabilitiesKHR {
8768 VkStructureType sType;
8769 void* pNext;
8770 StdVideoH264LevelIdc maxLevelIdc;
8771 VkOffset2D fieldOffsetGranularity;
8772} VkVideoDecodeH264CapabilitiesKHR;
8773
8774typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR {
8775 VkStructureType sType;
8776 const void* pNext;
8777 uint32_t stdSPSCount;
8778 const StdVideoH264SequenceParameterSet* pStdSPSs;
8779 uint32_t stdPPSCount;
8780 const StdVideoH264PictureParameterSet* pStdPPSs;
8781} VkVideoDecodeH264SessionParametersAddInfoKHR;
8782
8783typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR {
8784 VkStructureType sType;
8785 const void* pNext;
8786 uint32_t maxStdSPSCount;
8787 uint32_t maxStdPPSCount;
8788 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo;
8789} VkVideoDecodeH264SessionParametersCreateInfoKHR;
8790
8791typedef struct VkVideoDecodeH264PictureInfoKHR {
8792 VkStructureType sType;
8793 const void* pNext;
8794 const StdVideoDecodeH264PictureInfo* pStdPictureInfo;
8795 uint32_t sliceCount;
8796 const uint32_t* pSliceOffsets;
8797} VkVideoDecodeH264PictureInfoKHR;
8798
8799typedef struct VkVideoDecodeH264DpbSlotInfoKHR {
8800 VkStructureType sType;
8801 const void* pNext;
8802 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo;
8803} VkVideoDecodeH264DpbSlotInfoKHR;
8804
8805
8806
8807// VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls.
8808#define VK_KHR_dynamic_rendering 1
8809#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
8810#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
8811typedef VkRenderingFlags VkRenderingFlagsKHR;
8812
8813typedef VkRenderingFlagBits VkRenderingFlagBitsKHR;
8814
8815typedef VkRenderingInfo VkRenderingInfoKHR;
8816
8817typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR;
8818
8819typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR;
8820
8821typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR;
8822
8823typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR;
8824
8825typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
8826 VkStructureType sType;
8827 const void* pNext;
8828 VkImageView imageView;
8829 VkImageLayout imageLayout;
8830 VkExtent2D shadingRateAttachmentTexelSize;
8831} VkRenderingFragmentShadingRateAttachmentInfoKHR;
8832
8833typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
8834 VkStructureType sType;
8835 const void* pNext;
8836 VkImageView imageView;
8837 VkImageLayout imageLayout;
8838} VkRenderingFragmentDensityMapAttachmentInfoEXT;
8839
8840typedef struct VkAttachmentSampleCountInfoAMD {
8841 VkStructureType sType;
8842 const void* pNext;
8843 uint32_t colorAttachmentCount;
8844 const VkSampleCountFlagBits* pColorAttachmentSamples;
8845 VkSampleCountFlagBits depthStencilAttachmentSamples;
8846} VkAttachmentSampleCountInfoAMD;
8847
8848typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
8849
8850typedef struct VkMultiviewPerViewAttributesInfoNVX {
8851 VkStructureType sType;
8852 const void* pNext;
8853 VkBool32 perViewAttributes;
8854 VkBool32 perViewAttributesPositionXOnly;
8855} VkMultiviewPerViewAttributesInfoNVX;
8856
8857typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
8858typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
8859
8860#ifndef VK_NO_PROTOTYPES
8861VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
8862 VkCommandBuffer commandBuffer,
8863 const VkRenderingInfo* pRenderingInfo);
8864
8865VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
8866 VkCommandBuffer commandBuffer);
8867#endif
8868
8869
8870// VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls.
8871#define VK_KHR_multiview 1
8872#define VK_KHR_MULTIVIEW_SPEC_VERSION 1
8873#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
8874typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
8875
8876typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
8877
8878typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
8879
8880
8881
8882// VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls.
8883#define VK_KHR_get_physical_device_properties2 1
8884#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
8885#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
8886typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
8887
8888typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
8889
8890typedef VkFormatProperties2 VkFormatProperties2KHR;
8891
8892typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
8893
8894typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
8895
8896typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
8897
8898typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
8899
8900typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
8901
8902typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
8903
8904typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
8905typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
8906typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
8907typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
8908typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
8909typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8910typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
8911
8912#ifndef VK_NO_PROTOTYPES
8913VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
8914 VkPhysicalDevice physicalDevice,
8915 VkPhysicalDeviceFeatures2* pFeatures);
8916
8917VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
8918 VkPhysicalDevice physicalDevice,
8919 VkPhysicalDeviceProperties2* pProperties);
8920
8921VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
8922 VkPhysicalDevice physicalDevice,
8923 VkFormat format,
8924 VkFormatProperties2* pFormatProperties);
8925
8926VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
8927 VkPhysicalDevice physicalDevice,
8928 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
8929 VkImageFormatProperties2* pImageFormatProperties);
8930
8931VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
8932 VkPhysicalDevice physicalDevice,
8933 uint32_t* pQueueFamilyPropertyCount,
8934 VkQueueFamilyProperties2* pQueueFamilyProperties);
8935
8936VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
8937 VkPhysicalDevice physicalDevice,
8938 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8939
8940VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
8941 VkPhysicalDevice physicalDevice,
8942 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
8943 uint32_t* pPropertyCount,
8944 VkSparseImageFormatProperties2* pProperties);
8945#endif
8946
8947
8948// VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls.
8949#define VK_KHR_device_group 1
8950#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
8951#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
8952typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
8953
8954typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
8955
8956typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
8957
8958typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
8959
8960typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
8961
8962typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
8963
8964typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
8965
8966typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
8967
8968typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
8969
8970typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
8971
8972typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
8973
8974typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8975typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
8976typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
8977
8978#ifndef VK_NO_PROTOTYPES
8979VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
8980 VkDevice device,
8981 uint32_t heapIndex,
8982 uint32_t localDeviceIndex,
8983 uint32_t remoteDeviceIndex,
8984 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8985
8986VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
8987 VkCommandBuffer commandBuffer,
8988 uint32_t deviceMask);
8989
8990VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
8991 VkCommandBuffer commandBuffer,
8992 uint32_t baseGroupX,
8993 uint32_t baseGroupY,
8994 uint32_t baseGroupZ,
8995 uint32_t groupCountX,
8996 uint32_t groupCountY,
8997 uint32_t groupCountZ);
8998#endif
8999
9000
9001// VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls.
9002#define VK_KHR_shader_draw_parameters 1
9003#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
9004#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
9005
9006
9007// VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls.
9008#define VK_KHR_maintenance1 1
9009#define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
9010#define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
9011#define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION
9012#define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME
9013typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
9014
9015typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
9016
9017#ifndef VK_NO_PROTOTYPES
9018VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
9019 VkDevice device,
9020 VkCommandPool commandPool,
9021 VkCommandPoolTrimFlags flags);
9022#endif
9023
9024
9025// VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls.
9026#define VK_KHR_device_group_creation 1
9027#define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
9028#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
9029#define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
9030typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
9031
9032typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
9033
9034typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
9035
9036#ifndef VK_NO_PROTOTYPES
9037VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
9038 VkInstance instance,
9039 uint32_t* pPhysicalDeviceGroupCount,
9040 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
9041#endif
9042
9043
9044// VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls.
9045#define VK_KHR_external_memory_capabilities 1
9046#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9047#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
9048#define VK_LUID_SIZE_KHR VK_LUID_SIZE
9049typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
9050
9051typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
9052
9053typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
9054
9055typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
9056
9057typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
9058
9059typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
9060
9061typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
9062
9063typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
9064
9065typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
9066
9067typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
9068
9069typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
9070
9071#ifndef VK_NO_PROTOTYPES
9072VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
9073 VkPhysicalDevice physicalDevice,
9074 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
9075 VkExternalBufferProperties* pExternalBufferProperties);
9076#endif
9077
9078
9079// VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls.
9080#define VK_KHR_external_memory 1
9081#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
9082#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
9083#define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
9084typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
9085
9086typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
9087
9088typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
9089
9090
9091
9092// VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls.
9093#define VK_KHR_external_memory_fd 1
9094#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
9095#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
9096typedef struct VkImportMemoryFdInfoKHR {
9097 VkStructureType sType;
9098 const void* pNext;
9099 VkExternalMemoryHandleTypeFlagBits handleType;
9100 int fd;
9101} VkImportMemoryFdInfoKHR;
9102
9103typedef struct VkMemoryFdPropertiesKHR {
9104 VkStructureType sType;
9105 void* pNext;
9106 uint32_t memoryTypeBits;
9107} VkMemoryFdPropertiesKHR;
9108
9109typedef struct VkMemoryGetFdInfoKHR {
9110 VkStructureType sType;
9111 const void* pNext;
9112 VkDeviceMemory memory;
9113 VkExternalMemoryHandleTypeFlagBits handleType;
9114} VkMemoryGetFdInfoKHR;
9115
9116typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
9117typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9118
9119#ifndef VK_NO_PROTOTYPES
9120VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
9121 VkDevice device,
9122 const VkMemoryGetFdInfoKHR* pGetFdInfo,
9123 int* pFd);
9124
9125VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
9126 VkDevice device,
9127 VkExternalMemoryHandleTypeFlagBits handleType,
9128 int fd,
9129 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9130#endif
9131
9132
9133// VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls.
9134#define VK_KHR_external_semaphore_capabilities 1
9135#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
9136#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
9137typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
9138
9139typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
9140
9141typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
9142
9143typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
9144
9145typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
9146
9147typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
9148
9149typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9150
9151#ifndef VK_NO_PROTOTYPES
9152VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
9153 VkPhysicalDevice physicalDevice,
9154 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
9155 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9156#endif
9157
9158
9159// VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls.
9160#define VK_KHR_external_semaphore 1
9161#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
9162#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
9163typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
9164
9165typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
9166
9167typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
9168
9169
9170
9171// VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls.
9172#define VK_KHR_external_semaphore_fd 1
9173#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
9174#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
9175typedef struct VkImportSemaphoreFdInfoKHR {
9176 VkStructureType sType;
9177 const void* pNext;
9178 VkSemaphore semaphore;
9179 VkSemaphoreImportFlags flags;
9180 VkExternalSemaphoreHandleTypeFlagBits handleType;
9181 int fd;
9182} VkImportSemaphoreFdInfoKHR;
9183
9184typedef struct VkSemaphoreGetFdInfoKHR {
9185 VkStructureType sType;
9186 const void* pNext;
9187 VkSemaphore semaphore;
9188 VkExternalSemaphoreHandleTypeFlagBits handleType;
9189} VkSemaphoreGetFdInfoKHR;
9190
9191typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9192typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
9193
9194#ifndef VK_NO_PROTOTYPES
9195VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
9196 VkDevice device,
9197 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9198
9199VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
9200 VkDevice device,
9201 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
9202 int* pFd);
9203#endif
9204
9205
9206// VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls.
9207#define VK_KHR_push_descriptor 1
9208#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
9209#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
9210typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
9211 VkStructureType sType;
9212 void* pNext;
9213 uint32_t maxPushDescriptors;
9214} VkPhysicalDevicePushDescriptorPropertiesKHR;
9215
9216typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
9217typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);
9218
9219#ifndef VK_NO_PROTOTYPES
9220VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
9221 VkCommandBuffer commandBuffer,
9222 VkPipelineBindPoint pipelineBindPoint,
9223 VkPipelineLayout layout,
9224 uint32_t set,
9225 uint32_t descriptorWriteCount,
9226 const VkWriteDescriptorSet* pDescriptorWrites);
9227
9228VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
9229 VkCommandBuffer commandBuffer,
9230 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9231 VkPipelineLayout layout,
9232 uint32_t set,
9233 const void* pData);
9234#endif
9235
9236
9237// VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls.
9238#define VK_KHR_shader_float16_int8 1
9239#define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
9240#define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
9241typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
9242
9243typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
9244
9245
9246
9247// VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls.
9248#define VK_KHR_16bit_storage 1
9249#define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
9250#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
9251typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
9252
9253
9254
9255// VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls.
9256#define VK_KHR_incremental_present 1
9257#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
9258#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
9259typedef struct VkRectLayerKHR {
9260 VkOffset2D offset;
9261 VkExtent2D extent;
9262 uint32_t layer;
9263} VkRectLayerKHR;
9264
9265typedef struct VkPresentRegionKHR {
9266 uint32_t rectangleCount;
9267 const VkRectLayerKHR* pRectangles;
9268} VkPresentRegionKHR;
9269
9270typedef struct VkPresentRegionsKHR {
9271 VkStructureType sType;
9272 const void* pNext;
9273 uint32_t swapchainCount;
9274 const VkPresentRegionKHR* pRegions;
9275} VkPresentRegionsKHR;
9276
9277
9278
9279// VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls.
9280#define VK_KHR_descriptor_update_template 1
9281typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
9282
9283#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
9284#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
9285typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
9286
9287typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
9288
9289typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
9290
9291typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
9292
9293typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9294typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
9295typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
9296
9297#ifndef VK_NO_PROTOTYPES
9298VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
9299 VkDevice device,
9300 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
9301 const VkAllocationCallbacks* pAllocator,
9302 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9303
9304VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
9305 VkDevice device,
9306 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9307 const VkAllocationCallbacks* pAllocator);
9308
9309VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
9310 VkDevice device,
9311 VkDescriptorSet descriptorSet,
9312 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9313 const void* pData);
9314#endif
9315
9316
9317// VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls.
9318#define VK_KHR_imageless_framebuffer 1
9319#define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
9320#define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
9321typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
9322
9323typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
9324
9325typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
9326
9327typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
9328
9329
9330
9331// VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls.
9332#define VK_KHR_create_renderpass2 1
9333#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
9334#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
9335typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
9336
9337typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
9338
9339typedef VkAttachmentReference2 VkAttachmentReference2KHR;
9340
9341typedef VkSubpassDescription2 VkSubpassDescription2KHR;
9342
9343typedef VkSubpassDependency2 VkSubpassDependency2KHR;
9344
9345typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
9346
9347typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
9348
9349typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
9350typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
9351typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
9352typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
9353
9354#ifndef VK_NO_PROTOTYPES
9355VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
9356 VkDevice device,
9357 const VkRenderPassCreateInfo2* pCreateInfo,
9358 const VkAllocationCallbacks* pAllocator,
9359 VkRenderPass* pRenderPass);
9360
9361VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
9362 VkCommandBuffer commandBuffer,
9363 const VkRenderPassBeginInfo* pRenderPassBegin,
9364 const VkSubpassBeginInfo* pSubpassBeginInfo);
9365
9366VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
9367 VkCommandBuffer commandBuffer,
9368 const VkSubpassBeginInfo* pSubpassBeginInfo,
9369 const VkSubpassEndInfo* pSubpassEndInfo);
9370
9371VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
9372 VkCommandBuffer commandBuffer,
9373 const VkSubpassEndInfo* pSubpassEndInfo);
9374#endif
9375
9376
9377// VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls.
9378#define VK_KHR_shared_presentable_image 1
9379#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
9380#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
9381typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
9382 VkStructureType sType;
9383 void* pNext;
9384 VkImageUsageFlags sharedPresentSupportedUsageFlags;
9385} VkSharedPresentSurfaceCapabilitiesKHR;
9386
9387typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
9388
9389#ifndef VK_NO_PROTOTYPES
9390VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
9391 VkDevice device,
9392 VkSwapchainKHR swapchain);
9393#endif
9394
9395
9396// VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls.
9397#define VK_KHR_external_fence_capabilities 1
9398#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
9399#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
9400typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
9401
9402typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
9403
9404typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
9405
9406typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
9407
9408typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
9409
9410typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
9411
9412typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
9413
9414#ifndef VK_NO_PROTOTYPES
9415VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
9416 VkPhysicalDevice physicalDevice,
9417 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
9418 VkExternalFenceProperties* pExternalFenceProperties);
9419#endif
9420
9421
9422// VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls.
9423#define VK_KHR_external_fence 1
9424#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
9425#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
9426typedef VkFenceImportFlags VkFenceImportFlagsKHR;
9427
9428typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
9429
9430typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
9431
9432
9433
9434// VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls.
9435#define VK_KHR_external_fence_fd 1
9436#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
9437#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
9438typedef struct VkImportFenceFdInfoKHR {
9439 VkStructureType sType;
9440 const void* pNext;
9441 VkFence fence;
9442 VkFenceImportFlags flags;
9443 VkExternalFenceHandleTypeFlagBits handleType;
9444 int fd;
9445} VkImportFenceFdInfoKHR;
9446
9447typedef struct VkFenceGetFdInfoKHR {
9448 VkStructureType sType;
9449 const void* pNext;
9450 VkFence fence;
9451 VkExternalFenceHandleTypeFlagBits handleType;
9452} VkFenceGetFdInfoKHR;
9453
9454typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9455typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
9456
9457#ifndef VK_NO_PROTOTYPES
9458VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
9459 VkDevice device,
9460 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9461
9462VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
9463 VkDevice device,
9464 const VkFenceGetFdInfoKHR* pGetFdInfo,
9465 int* pFd);
9466#endif
9467
9468
9469// VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls.
9470#define VK_KHR_performance_query 1
9471#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
9472#define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
9473
9474typedef enum VkPerformanceCounterUnitKHR {
9475 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
9476 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
9477 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
9478 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
9479 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
9480 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
9481 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
9482 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
9483 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
9484 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
9485 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
9486 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
9487} VkPerformanceCounterUnitKHR;
9488
9489typedef enum VkPerformanceCounterScopeKHR {
9490 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
9491 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
9492 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
9493 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
9494 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
9495 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
9496 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
9497} VkPerformanceCounterScopeKHR;
9498
9499typedef enum VkPerformanceCounterStorageKHR {
9500 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
9501 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
9502 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
9503 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
9504 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
9505 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
9506 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
9507} VkPerformanceCounterStorageKHR;
9508
9509typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
9510 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
9511 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
9512 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
9513 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
9514 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9515} VkPerformanceCounterDescriptionFlagBitsKHR;
9516typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
9517
9518typedef enum VkAcquireProfilingLockFlagBitsKHR {
9519 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9520} VkAcquireProfilingLockFlagBitsKHR;
9521typedef VkFlags VkAcquireProfilingLockFlagsKHR;
9522typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
9523 VkStructureType sType;
9524 void* pNext;
9525 VkBool32 performanceCounterQueryPools;
9526 VkBool32 performanceCounterMultipleQueryPools;
9527} VkPhysicalDevicePerformanceQueryFeaturesKHR;
9528
9529typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
9530 VkStructureType sType;
9531 void* pNext;
9532 VkBool32 allowCommandBufferQueryCopies;
9533} VkPhysicalDevicePerformanceQueryPropertiesKHR;
9534
9535typedef struct VkPerformanceCounterKHR {
9536 VkStructureType sType;
9537 void* pNext;
9538 VkPerformanceCounterUnitKHR unit;
9539 VkPerformanceCounterScopeKHR scope;
9540 VkPerformanceCounterStorageKHR storage;
9541 uint8_t uuid[VK_UUID_SIZE];
9542} VkPerformanceCounterKHR;
9543
9544typedef struct VkPerformanceCounterDescriptionKHR {
9545 VkStructureType sType;
9546 void* pNext;
9547 VkPerformanceCounterDescriptionFlagsKHR flags;
9548 char name[VK_MAX_DESCRIPTION_SIZE];
9549 char category[VK_MAX_DESCRIPTION_SIZE];
9550 char description[VK_MAX_DESCRIPTION_SIZE];
9551} VkPerformanceCounterDescriptionKHR;
9552
9553typedef struct VkQueryPoolPerformanceCreateInfoKHR {
9554 VkStructureType sType;
9555 const void* pNext;
9556 uint32_t queueFamilyIndex;
9557 uint32_t counterIndexCount;
9558 const uint32_t* pCounterIndices;
9559} VkQueryPoolPerformanceCreateInfoKHR;
9560
9561typedef union VkPerformanceCounterResultKHR {
9562 int32_t int32;
9563 int64_t int64;
9564 uint32_t uint32;
9565 uint64_t uint64;
9566 float float32;
9567 double float64;
9568} VkPerformanceCounterResultKHR;
9569
9570typedef struct VkAcquireProfilingLockInfoKHR {
9571 VkStructureType sType;
9572 const void* pNext;
9573 VkAcquireProfilingLockFlagsKHR flags;
9574 uint64_t timeout;
9575} VkAcquireProfilingLockInfoKHR;
9576
9577typedef struct VkPerformanceQuerySubmitInfoKHR {
9578 VkStructureType sType;
9579 const void* pNext;
9580 uint32_t counterPassIndex;
9581} VkPerformanceQuerySubmitInfoKHR;
9582
9583typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9584typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
9585typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
9586typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
9587
9588#ifndef VK_NO_PROTOTYPES
9589VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
9590 VkPhysicalDevice physicalDevice,
9591 uint32_t queueFamilyIndex,
9592 uint32_t* pCounterCount,
9593 VkPerformanceCounterKHR* pCounters,
9594 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9595
9596VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
9597 VkPhysicalDevice physicalDevice,
9598 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
9599 uint32_t* pNumPasses);
9600
9601VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
9602 VkDevice device,
9603 const VkAcquireProfilingLockInfoKHR* pInfo);
9604
9605VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
9606 VkDevice device);
9607#endif
9608
9609
9610// VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls.
9611#define VK_KHR_maintenance2 1
9612#define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1
9613#define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2"
9614#define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION
9615#define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME
9616typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
9617
9618typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
9619
9620typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
9621
9622typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
9623
9624typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
9625
9626typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
9627
9628typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
9629
9630
9631
9632// VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls.
9633#define VK_KHR_get_surface_capabilities2 1
9634#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
9635#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
9636typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
9637 VkStructureType sType;
9638 const void* pNext;
9639 VkSurfaceKHR surface;
9640} VkPhysicalDeviceSurfaceInfo2KHR;
9641
9642typedef struct VkSurfaceCapabilities2KHR {
9643 VkStructureType sType;
9644 void* pNext;
9645 VkSurfaceCapabilitiesKHR surfaceCapabilities;
9646} VkSurfaceCapabilities2KHR;
9647
9648typedef struct VkSurfaceFormat2KHR {
9649 VkStructureType sType;
9650 void* pNext;
9651 VkSurfaceFormatKHR surfaceFormat;
9652} VkSurfaceFormat2KHR;
9653
9654typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9655typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
9656
9657#ifndef VK_NO_PROTOTYPES
9658VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
9659 VkPhysicalDevice physicalDevice,
9660 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9661 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9662
9663VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
9664 VkPhysicalDevice physicalDevice,
9665 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9666 uint32_t* pSurfaceFormatCount,
9667 VkSurfaceFormat2KHR* pSurfaceFormats);
9668#endif
9669
9670
9671// VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls.
9672#define VK_KHR_variable_pointers 1
9673#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
9674#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
9675typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
9676
9677typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
9678
9679
9680
9681// VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls.
9682#define VK_KHR_get_display_properties2 1
9683#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
9684#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
9685typedef struct VkDisplayProperties2KHR {
9686 VkStructureType sType;
9687 void* pNext;
9688 VkDisplayPropertiesKHR displayProperties;
9689} VkDisplayProperties2KHR;
9690
9691typedef struct VkDisplayPlaneProperties2KHR {
9692 VkStructureType sType;
9693 void* pNext;
9694 VkDisplayPlanePropertiesKHR displayPlaneProperties;
9695} VkDisplayPlaneProperties2KHR;
9696
9697typedef struct VkDisplayModeProperties2KHR {
9698 VkStructureType sType;
9699 void* pNext;
9700 VkDisplayModePropertiesKHR displayModeProperties;
9701} VkDisplayModeProperties2KHR;
9702
9703typedef struct VkDisplayPlaneInfo2KHR {
9704 VkStructureType sType;
9705 const void* pNext;
9706 VkDisplayModeKHR mode;
9707 uint32_t planeIndex;
9708} VkDisplayPlaneInfo2KHR;
9709
9710typedef struct VkDisplayPlaneCapabilities2KHR {
9711 VkStructureType sType;
9712 void* pNext;
9713 VkDisplayPlaneCapabilitiesKHR capabilities;
9714} VkDisplayPlaneCapabilities2KHR;
9715
9716typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties);
9717typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
9718typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
9719typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
9720
9721#ifndef VK_NO_PROTOTYPES
9722VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
9723 VkPhysicalDevice physicalDevice,
9724 uint32_t* pPropertyCount,
9725 VkDisplayProperties2KHR* pProperties);
9726
9727VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
9728 VkPhysicalDevice physicalDevice,
9729 uint32_t* pPropertyCount,
9730 VkDisplayPlaneProperties2KHR* pProperties);
9731
9732VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
9733 VkPhysicalDevice physicalDevice,
9734 VkDisplayKHR display,
9735 uint32_t* pPropertyCount,
9736 VkDisplayModeProperties2KHR* pProperties);
9737
9738VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
9739 VkPhysicalDevice physicalDevice,
9740 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
9741 VkDisplayPlaneCapabilities2KHR* pCapabilities);
9742#endif
9743
9744
9745// VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls.
9746#define VK_KHR_dedicated_allocation 1
9747#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
9748#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
9749typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
9750
9751typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
9752
9753
9754
9755// VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls.
9756#define VK_KHR_storage_buffer_storage_class 1
9757#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
9758#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
9759
9760
9761// VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls.
9762#define VK_KHR_relaxed_block_layout 1
9763#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
9764#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
9765
9766
9767// VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls.
9768#define VK_KHR_get_memory_requirements2 1
9769#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
9770#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
9771typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
9772
9773typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
9774
9775typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
9776
9777typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
9778
9779typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
9780
9781typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9782typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9783typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9784
9785#ifndef VK_NO_PROTOTYPES
9786VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
9787 VkDevice device,
9788 const VkImageMemoryRequirementsInfo2* pInfo,
9789 VkMemoryRequirements2* pMemoryRequirements);
9790
9791VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
9792 VkDevice device,
9793 const VkBufferMemoryRequirementsInfo2* pInfo,
9794 VkMemoryRequirements2* pMemoryRequirements);
9795
9796VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
9797 VkDevice device,
9798 const VkImageSparseMemoryRequirementsInfo2* pInfo,
9799 uint32_t* pSparseMemoryRequirementCount,
9800 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9801#endif
9802
9803
9804// VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls.
9805#define VK_KHR_image_format_list 1
9806#define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
9807#define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
9808typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
9809
9810
9811
9812// VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls.
9813#define VK_KHR_sampler_ycbcr_conversion 1
9814typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
9815
9816#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
9817#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
9818typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
9819
9820typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
9821
9822typedef VkChromaLocation VkChromaLocationKHR;
9823
9824typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
9825
9826typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
9827
9828typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
9829
9830typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
9831
9832typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
9833
9834typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
9835
9836typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
9837typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
9838
9839#ifndef VK_NO_PROTOTYPES
9840VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
9841 VkDevice device,
9842 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
9843 const VkAllocationCallbacks* pAllocator,
9844 VkSamplerYcbcrConversion* pYcbcrConversion);
9845
9846VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
9847 VkDevice device,
9848 VkSamplerYcbcrConversion ycbcrConversion,
9849 const VkAllocationCallbacks* pAllocator);
9850#endif
9851
9852
9853// VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls.
9854#define VK_KHR_bind_memory2 1
9855#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
9856#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
9857typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
9858
9859typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
9860
9861typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
9862typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
9863
9864#ifndef VK_NO_PROTOTYPES
9865VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
9866 VkDevice device,
9867 uint32_t bindInfoCount,
9868 const VkBindBufferMemoryInfo* pBindInfos);
9869
9870VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
9871 VkDevice device,
9872 uint32_t bindInfoCount,
9873 const VkBindImageMemoryInfo* pBindInfos);
9874#endif
9875
9876
9877// VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls.
9878#define VK_KHR_maintenance3 1
9879#define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1
9880#define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3"
9881#define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION
9882#define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME
9883typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
9884
9885typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
9886
9887typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
9888
9889#ifndef VK_NO_PROTOTYPES
9890VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
9891 VkDevice device,
9892 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
9893 VkDescriptorSetLayoutSupport* pSupport);
9894#endif
9895
9896
9897// VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls.
9898#define VK_KHR_draw_indirect_count 1
9899#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
9900#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
9901typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9902typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
9903
9904#ifndef VK_NO_PROTOTYPES
9905VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
9906 VkCommandBuffer commandBuffer,
9907 VkBuffer buffer,
9908 VkDeviceSize offset,
9909 VkBuffer countBuffer,
9910 VkDeviceSize countBufferOffset,
9911 uint32_t maxDrawCount,
9912 uint32_t stride);
9913
9914VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
9915 VkCommandBuffer commandBuffer,
9916 VkBuffer buffer,
9917 VkDeviceSize offset,
9918 VkBuffer countBuffer,
9919 VkDeviceSize countBufferOffset,
9920 uint32_t maxDrawCount,
9921 uint32_t stride);
9922#endif
9923
9924
9925// VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls.
9926#define VK_KHR_shader_subgroup_extended_types 1
9927#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
9928#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
9929typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
9930
9931
9932
9933// VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls.
9934#define VK_KHR_8bit_storage 1
9935#define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
9936#define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
9937typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
9938
9939
9940
9941// VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls.
9942#define VK_KHR_shader_atomic_int64 1
9943#define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
9944#define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
9945typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
9946
9947
9948
9949// VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls.
9950#define VK_KHR_shader_clock 1
9951#define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
9952#define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
9953typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
9954 VkStructureType sType;
9955 void* pNext;
9956 VkBool32 shaderSubgroupClock;
9957 VkBool32 shaderDeviceClock;
9958} VkPhysicalDeviceShaderClockFeaturesKHR;
9959
9960
9961
9962// VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls.
9963#define VK_KHR_video_decode_h265 1
9964#include "../vk_video/vulkan_video_codec_h265std_decode.h"
9965#define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8
9966#define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265"
9967typedef struct VkVideoDecodeH265ProfileInfoKHR {
9968 VkStructureType sType;
9969 const void* pNext;
9970 StdVideoH265ProfileIdc stdProfileIdc;
9971} VkVideoDecodeH265ProfileInfoKHR;
9972
9973typedef struct VkVideoDecodeH265CapabilitiesKHR {
9974 VkStructureType sType;
9975 void* pNext;
9976 StdVideoH265LevelIdc maxLevelIdc;
9977} VkVideoDecodeH265CapabilitiesKHR;
9978
9979typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR {
9980 VkStructureType sType;
9981 const void* pNext;
9982 uint32_t stdVPSCount;
9983 const StdVideoH265VideoParameterSet* pStdVPSs;
9984 uint32_t stdSPSCount;
9985 const StdVideoH265SequenceParameterSet* pStdSPSs;
9986 uint32_t stdPPSCount;
9987 const StdVideoH265PictureParameterSet* pStdPPSs;
9988} VkVideoDecodeH265SessionParametersAddInfoKHR;
9989
9990typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR {
9991 VkStructureType sType;
9992 const void* pNext;
9993 uint32_t maxStdVPSCount;
9994 uint32_t maxStdSPSCount;
9995 uint32_t maxStdPPSCount;
9996 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo;
9997} VkVideoDecodeH265SessionParametersCreateInfoKHR;
9998
9999typedef struct VkVideoDecodeH265PictureInfoKHR {
10000 VkStructureType sType;
10001 const void* pNext;
10002 const StdVideoDecodeH265PictureInfo* pStdPictureInfo;
10003 uint32_t sliceSegmentCount;
10004 const uint32_t* pSliceSegmentOffsets;
10005} VkVideoDecodeH265PictureInfoKHR;
10006
10007typedef struct VkVideoDecodeH265DpbSlotInfoKHR {
10008 VkStructureType sType;
10009 const void* pNext;
10010 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo;
10011} VkVideoDecodeH265DpbSlotInfoKHR;
10012
10013
10014
10015// VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls.
10016#define VK_KHR_global_priority 1
10017#define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U
10018#define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
10019#define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
10020
10021typedef enum VkQueueGlobalPriorityKHR {
10022 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128,
10023 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256,
10024 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512,
10025 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024,
10026 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
10027 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
10028 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
10029 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR,
10030 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF
10031} VkQueueGlobalPriorityKHR;
10032typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR {
10033 VkStructureType sType;
10034 const void* pNext;
10035 VkQueueGlobalPriorityKHR globalPriority;
10036} VkDeviceQueueGlobalPriorityCreateInfoKHR;
10037
10038typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR {
10039 VkStructureType sType;
10040 void* pNext;
10041 VkBool32 globalPriorityQuery;
10042} VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR;
10043
10044typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR {
10045 VkStructureType sType;
10046 void* pNext;
10047 uint32_t priorityCount;
10048 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR];
10049} VkQueueFamilyGlobalPriorityPropertiesKHR;
10050
10051
10052
10053// VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls.
10054#define VK_KHR_driver_properties 1
10055#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
10056#define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
10057#define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
10058#define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
10059typedef VkDriverId VkDriverIdKHR;
10060
10061typedef VkConformanceVersion VkConformanceVersionKHR;
10062
10063typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
10064
10065
10066
10067// VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls.
10068#define VK_KHR_shader_float_controls 1
10069#define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
10070#define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
10071typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
10072
10073typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
10074
10075
10076
10077// VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls.
10078#define VK_KHR_depth_stencil_resolve 1
10079#define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
10080#define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
10081typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
10082
10083typedef VkResolveModeFlags VkResolveModeFlagsKHR;
10084
10085typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
10086
10087typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
10088
10089
10090
10091// VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls.
10092#define VK_KHR_swapchain_mutable_format 1
10093#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
10094#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
10095
10096
10097// VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls.
10098#define VK_KHR_timeline_semaphore 1
10099#define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
10100#define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
10101typedef VkSemaphoreType VkSemaphoreTypeKHR;
10102
10103typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
10104
10105typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
10106
10107typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
10108
10109typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
10110
10111typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
10112
10113typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
10114
10115typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
10116
10117typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
10118
10119typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, uint64_t* pValue);
10120typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout);
10121typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
10122
10123#ifndef VK_NO_PROTOTYPES
10124VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
10125 VkDevice device,
10126 VkSemaphore semaphore,
10127 uint64_t* pValue);
10128
10129VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
10130 VkDevice device,
10131 const VkSemaphoreWaitInfo* pWaitInfo,
10132 uint64_t timeout);
10133
10134VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
10135 VkDevice device,
10136 const VkSemaphoreSignalInfo* pSignalInfo);
10137#endif
10138
10139
10140// VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls.
10141#define VK_KHR_vulkan_memory_model 1
10142#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
10143#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
10144typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
10145
10146
10147
10148// VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls.
10149#define VK_KHR_shader_terminate_invocation 1
10150#define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
10151#define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
10152typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
10153
10154
10155
10156// VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls.
10157#define VK_KHR_fragment_shading_rate 1
10158#define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2
10159#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
10160
10161typedef enum VkFragmentShadingRateCombinerOpKHR {
10162 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
10163 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
10164 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
10165 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
10166 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
10167 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
10168} VkFragmentShadingRateCombinerOpKHR;
10169typedef struct VkFragmentShadingRateAttachmentInfoKHR {
10170 VkStructureType sType;
10171 const void* pNext;
10172 const VkAttachmentReference2* pFragmentShadingRateAttachment;
10173 VkExtent2D shadingRateAttachmentTexelSize;
10174} VkFragmentShadingRateAttachmentInfoKHR;
10175
10176typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
10177 VkStructureType sType;
10178 const void* pNext;
10179 VkExtent2D fragmentSize;
10180 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
10181} VkPipelineFragmentShadingRateStateCreateInfoKHR;
10182
10183typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
10184 VkStructureType sType;
10185 void* pNext;
10186 VkBool32 pipelineFragmentShadingRate;
10187 VkBool32 primitiveFragmentShadingRate;
10188 VkBool32 attachmentFragmentShadingRate;
10189} VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
10190
10191typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
10192 VkStructureType sType;
10193 void* pNext;
10194 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
10195 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
10196 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
10197 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
10198 VkBool32 layeredShadingRateAttachments;
10199 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
10200 VkExtent2D maxFragmentSize;
10201 uint32_t maxFragmentSizeAspectRatio;
10202 uint32_t maxFragmentShadingRateCoverageSamples;
10203 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
10204 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
10205 VkBool32 fragmentShadingRateWithSampleMask;
10206 VkBool32 fragmentShadingRateWithShaderSampleMask;
10207 VkBool32 fragmentShadingRateWithConservativeRasterization;
10208 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
10209 VkBool32 fragmentShadingRateWithCustomSampleLocations;
10210 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
10211} VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
10212
10213typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
10214 VkStructureType sType;
10215 void* pNext;
10216 VkSampleCountFlags sampleCounts;
10217 VkExtent2D fragmentSize;
10218} VkPhysicalDeviceFragmentShadingRateKHR;
10219
10220typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10221typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10222
10223#ifndef VK_NO_PROTOTYPES
10224VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
10225 VkPhysicalDevice physicalDevice,
10226 uint32_t* pFragmentShadingRateCount,
10227 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10228
10229VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
10230 VkCommandBuffer commandBuffer,
10231 const VkExtent2D* pFragmentSize,
10232 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10233#endif
10234
10235
10236// VK_KHR_dynamic_rendering_local_read is a preprocessor guard. Do not pass it to API calls.
10237#define VK_KHR_dynamic_rendering_local_read 1
10238#define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION 1
10239#define VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME "VK_KHR_dynamic_rendering_local_read"
10240typedef struct VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR {
10241 VkStructureType sType;
10242 void* pNext;
10243 VkBool32 dynamicRenderingLocalRead;
10244} VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR;
10245
10246typedef struct VkRenderingAttachmentLocationInfoKHR {
10247 VkStructureType sType;
10248 const void* pNext;
10249 uint32_t colorAttachmentCount;
10250 const uint32_t* pColorAttachmentLocations;
10251} VkRenderingAttachmentLocationInfoKHR;
10252
10253typedef struct VkRenderingInputAttachmentIndexInfoKHR {
10254 VkStructureType sType;
10255 const void* pNext;
10256 uint32_t colorAttachmentCount;
10257 const uint32_t* pColorAttachmentInputIndices;
10258 const uint32_t* pDepthInputAttachmentIndex;
10259 const uint32_t* pStencilInputAttachmentIndex;
10260} VkRenderingInputAttachmentIndexInfoKHR;
10261
10262typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingAttachmentLocationsKHR)(VkCommandBuffer commandBuffer, const VkRenderingAttachmentLocationInfoKHR* pLocationInfo);
10263typedef void (VKAPI_PTR *PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)(VkCommandBuffer commandBuffer, const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo);
10264
10265#ifndef VK_NO_PROTOTYPES
10266VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingAttachmentLocationsKHR(
10267 VkCommandBuffer commandBuffer,
10268 const VkRenderingAttachmentLocationInfoKHR* pLocationInfo);
10269
10270VKAPI_ATTR void VKAPI_CALL vkCmdSetRenderingInputAttachmentIndicesKHR(
10271 VkCommandBuffer commandBuffer,
10272 const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo);
10273#endif
10274
10275
10276// VK_KHR_shader_quad_control is a preprocessor guard. Do not pass it to API calls.
10277#define VK_KHR_shader_quad_control 1
10278#define VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION 1
10279#define VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME "VK_KHR_shader_quad_control"
10280typedef struct VkPhysicalDeviceShaderQuadControlFeaturesKHR {
10281 VkStructureType sType;
10282 void* pNext;
10283 VkBool32 shaderQuadControl;
10284} VkPhysicalDeviceShaderQuadControlFeaturesKHR;
10285
10286
10287
10288// VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls.
10289#define VK_KHR_spirv_1_4 1
10290#define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
10291#define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
10292
10293
10294// VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls.
10295#define VK_KHR_surface_protected_capabilities 1
10296#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
10297#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
10298typedef struct VkSurfaceProtectedCapabilitiesKHR {
10299 VkStructureType sType;
10300 const void* pNext;
10301 VkBool32 supportsProtected;
10302} VkSurfaceProtectedCapabilitiesKHR;
10303
10304
10305
10306// VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls.
10307#define VK_KHR_separate_depth_stencil_layouts 1
10308#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
10309#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
10310typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
10311
10312typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
10313
10314typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
10315
10316
10317
10318// VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls.
10319#define VK_KHR_present_wait 1
10320#define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
10321#define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
10322typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
10323 VkStructureType sType;
10324 void* pNext;
10325 VkBool32 presentWait;
10326} VkPhysicalDevicePresentWaitFeaturesKHR;
10327
10328typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout);
10329
10330#ifndef VK_NO_PROTOTYPES
10331VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
10332 VkDevice device,
10333 VkSwapchainKHR swapchain,
10334 uint64_t presentId,
10335 uint64_t timeout);
10336#endif
10337
10338
10339// VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls.
10340#define VK_KHR_uniform_buffer_standard_layout 1
10341#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
10342#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
10343typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
10344
10345
10346
10347// VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls.
10348#define VK_KHR_buffer_device_address 1
10349#define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
10350#define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
10351typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
10352
10353typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
10354
10355typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
10356
10357typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
10358
10359typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
10360
10361typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10362typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10363typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10364
10365#ifndef VK_NO_PROTOTYPES
10366VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
10367 VkDevice device,
10368 const VkBufferDeviceAddressInfo* pInfo);
10369
10370VKAPI_ATTR uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
10371 VkDevice device,
10372 const VkBufferDeviceAddressInfo* pInfo);
10373
10374VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
10375 VkDevice device,
10376 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10377#endif
10378
10379
10380// VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls.
10381#define VK_KHR_deferred_host_operations 1
10382VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
10383#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
10384#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
10385typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
10386typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
10387typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
10388typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
10389typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
10390
10391#ifndef VK_NO_PROTOTYPES
10392VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
10393 VkDevice device,
10394 const VkAllocationCallbacks* pAllocator,
10395 VkDeferredOperationKHR* pDeferredOperation);
10396
10397VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
10398 VkDevice device,
10399 VkDeferredOperationKHR operation,
10400 const VkAllocationCallbacks* pAllocator);
10401
10402VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
10403 VkDevice device,
10404 VkDeferredOperationKHR operation);
10405
10406VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
10407 VkDevice device,
10408 VkDeferredOperationKHR operation);
10409
10410VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
10411 VkDevice device,
10412 VkDeferredOperationKHR operation);
10413#endif
10414
10415
10416// VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls.
10417#define VK_KHR_pipeline_executable_properties 1
10418#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
10419#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
10420
10421typedef enum VkPipelineExecutableStatisticFormatKHR {
10422 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
10423 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
10424 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
10425 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
10426 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
10427} VkPipelineExecutableStatisticFormatKHR;
10428typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
10429 VkStructureType sType;
10430 void* pNext;
10431 VkBool32 pipelineExecutableInfo;
10432} VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
10433
10434typedef struct VkPipelineInfoKHR {
10435 VkStructureType sType;
10436 const void* pNext;
10437 VkPipeline pipeline;
10438} VkPipelineInfoKHR;
10439
10440typedef struct VkPipelineExecutablePropertiesKHR {
10441 VkStructureType sType;
10442 void* pNext;
10443 VkShaderStageFlags stages;
10444 char name[VK_MAX_DESCRIPTION_SIZE];
10445 char description[VK_MAX_DESCRIPTION_SIZE];
10446 uint32_t subgroupSize;
10447} VkPipelineExecutablePropertiesKHR;
10448
10449typedef struct VkPipelineExecutableInfoKHR {
10450 VkStructureType sType;
10451 const void* pNext;
10452 VkPipeline pipeline;
10453 uint32_t executableIndex;
10454} VkPipelineExecutableInfoKHR;
10455
10456typedef union VkPipelineExecutableStatisticValueKHR {
10457 VkBool32 b32;
10458 int64_t i64;
10459 uint64_t u64;
10460 double f64;
10461} VkPipelineExecutableStatisticValueKHR;
10462
10463typedef struct VkPipelineExecutableStatisticKHR {
10464 VkStructureType sType;
10465 void* pNext;
10466 char name[VK_MAX_DESCRIPTION_SIZE];
10467 char description[VK_MAX_DESCRIPTION_SIZE];
10468 VkPipelineExecutableStatisticFormatKHR format;
10469 VkPipelineExecutableStatisticValueKHR value;
10470} VkPipelineExecutableStatisticKHR;
10471
10472typedef struct VkPipelineExecutableInternalRepresentationKHR {
10473 VkStructureType sType;
10474 void* pNext;
10475 char name[VK_MAX_DESCRIPTION_SIZE];
10476 char description[VK_MAX_DESCRIPTION_SIZE];
10477 VkBool32 isText;
10478 size_t dataSize;
10479 void* pData;
10480} VkPipelineExecutableInternalRepresentationKHR;
10481
10482typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
10483typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
10484typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10485
10486#ifndef VK_NO_PROTOTYPES
10487VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
10488 VkDevice device,
10489 const VkPipelineInfoKHR* pPipelineInfo,
10490 uint32_t* pExecutableCount,
10491 VkPipelineExecutablePropertiesKHR* pProperties);
10492
10493VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
10494 VkDevice device,
10495 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10496 uint32_t* pStatisticCount,
10497 VkPipelineExecutableStatisticKHR* pStatistics);
10498
10499VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
10500 VkDevice device,
10501 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10502 uint32_t* pInternalRepresentationCount,
10503 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10504#endif
10505
10506
10507// VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls.
10508#define VK_KHR_map_memory2 1
10509#define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1
10510#define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2"
10511
10512typedef enum VkMemoryUnmapFlagBitsKHR {
10513 VK_MEMORY_UNMAP_RESERVE_BIT_EXT = 0x00000001,
10514 VK_MEMORY_UNMAP_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10515} VkMemoryUnmapFlagBitsKHR;
10516typedef VkFlags VkMemoryUnmapFlagsKHR;
10517typedef struct VkMemoryMapInfoKHR {
10518 VkStructureType sType;
10519 const void* pNext;
10520 VkMemoryMapFlags flags;
10521 VkDeviceMemory memory;
10522 VkDeviceSize offset;
10523 VkDeviceSize size;
10524} VkMemoryMapInfoKHR;
10525
10526typedef struct VkMemoryUnmapInfoKHR {
10527 VkStructureType sType;
10528 const void* pNext;
10529 VkMemoryUnmapFlagsKHR flags;
10530 VkDeviceMemory memory;
10531} VkMemoryUnmapInfoKHR;
10532
10533typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData);
10534typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo);
10535
10536#ifndef VK_NO_PROTOTYPES
10537VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR(
10538 VkDevice device,
10539 const VkMemoryMapInfoKHR* pMemoryMapInfo,
10540 void** ppData);
10541
10542VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR(
10543 VkDevice device,
10544 const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo);
10545#endif
10546
10547
10548// VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls.
10549#define VK_KHR_shader_integer_dot_product 1
10550#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
10551#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
10552typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
10553
10554typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
10555
10556
10557
10558// VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls.
10559#define VK_KHR_pipeline_library 1
10560#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
10561#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
10562typedef struct VkPipelineLibraryCreateInfoKHR {
10563 VkStructureType sType;
10564 const void* pNext;
10565 uint32_t libraryCount;
10566 const VkPipeline* pLibraries;
10567} VkPipelineLibraryCreateInfoKHR;
10568
10569
10570
10571// VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls.
10572#define VK_KHR_shader_non_semantic_info 1
10573#define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
10574#define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
10575
10576
10577// VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls.
10578#define VK_KHR_present_id 1
10579#define VK_KHR_PRESENT_ID_SPEC_VERSION 1
10580#define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
10581typedef struct VkPresentIdKHR {
10582 VkStructureType sType;
10583 const void* pNext;
10584 uint32_t swapchainCount;
10585 const uint64_t* pPresentIds;
10586} VkPresentIdKHR;
10587
10588typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
10589 VkStructureType sType;
10590 void* pNext;
10591 VkBool32 presentId;
10592} VkPhysicalDevicePresentIdFeaturesKHR;
10593
10594
10595
10596// VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls.
10597#define VK_KHR_video_encode_queue 1
10598#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12
10599#define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue"
10600
10601typedef enum VkVideoEncodeTuningModeKHR {
10602 VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0,
10603 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1,
10604 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2,
10605 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3,
10606 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4,
10607 VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10608} VkVideoEncodeTuningModeKHR;
10609
10610typedef enum VkVideoEncodeFlagBitsKHR {
10611 VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10612} VkVideoEncodeFlagBitsKHR;
10613typedef VkFlags VkVideoEncodeFlagsKHR;
10614
10615typedef enum VkVideoEncodeCapabilityFlagBitsKHR {
10616 VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001,
10617 VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002,
10618 VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10619} VkVideoEncodeCapabilityFlagBitsKHR;
10620typedef VkFlags VkVideoEncodeCapabilityFlagsKHR;
10621
10622typedef enum VkVideoEncodeRateControlModeFlagBitsKHR {
10623 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0,
10624 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001,
10625 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002,
10626 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004,
10627 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10628} VkVideoEncodeRateControlModeFlagBitsKHR;
10629typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR;
10630
10631typedef enum VkVideoEncodeFeedbackFlagBitsKHR {
10632 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001,
10633 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002,
10634 VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004,
10635 VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10636} VkVideoEncodeFeedbackFlagBitsKHR;
10637typedef VkFlags VkVideoEncodeFeedbackFlagsKHR;
10638
10639typedef enum VkVideoEncodeUsageFlagBitsKHR {
10640 VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0,
10641 VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001,
10642 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002,
10643 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004,
10644 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008,
10645 VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10646} VkVideoEncodeUsageFlagBitsKHR;
10647typedef VkFlags VkVideoEncodeUsageFlagsKHR;
10648
10649typedef enum VkVideoEncodeContentFlagBitsKHR {
10650 VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0,
10651 VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001,
10652 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002,
10653 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004,
10654 VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10655} VkVideoEncodeContentFlagBitsKHR;
10656typedef VkFlags VkVideoEncodeContentFlagsKHR;
10657typedef VkFlags VkVideoEncodeRateControlFlagsKHR;
10658typedef struct VkVideoEncodeInfoKHR {
10659 VkStructureType sType;
10660 const void* pNext;
10661 VkVideoEncodeFlagsKHR flags;
10662 VkBuffer dstBuffer;
10663 VkDeviceSize dstBufferOffset;
10664 VkDeviceSize dstBufferRange;
10665 VkVideoPictureResourceInfoKHR srcPictureResource;
10666 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot;
10667 uint32_t referenceSlotCount;
10668 const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
10669 uint32_t precedingExternallyEncodedBytes;
10670} VkVideoEncodeInfoKHR;
10671
10672typedef struct VkVideoEncodeCapabilitiesKHR {
10673 VkStructureType sType;
10674 void* pNext;
10675 VkVideoEncodeCapabilityFlagsKHR flags;
10676 VkVideoEncodeRateControlModeFlagsKHR rateControlModes;
10677 uint32_t maxRateControlLayers;
10678 uint64_t maxBitrate;
10679 uint32_t maxQualityLevels;
10680 VkExtent2D encodeInputPictureGranularity;
10681 VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags;
10682} VkVideoEncodeCapabilitiesKHR;
10683
10684typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR {
10685 VkStructureType sType;
10686 const void* pNext;
10687 VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags;
10688} VkQueryPoolVideoEncodeFeedbackCreateInfoKHR;
10689
10690typedef struct VkVideoEncodeUsageInfoKHR {
10691 VkStructureType sType;
10692 const void* pNext;
10693 VkVideoEncodeUsageFlagsKHR videoUsageHints;
10694 VkVideoEncodeContentFlagsKHR videoContentHints;
10695 VkVideoEncodeTuningModeKHR tuningMode;
10696} VkVideoEncodeUsageInfoKHR;
10697
10698typedef struct VkVideoEncodeRateControlLayerInfoKHR {
10699 VkStructureType sType;
10700 const void* pNext;
10701 uint64_t averageBitrate;
10702 uint64_t maxBitrate;
10703 uint32_t frameRateNumerator;
10704 uint32_t frameRateDenominator;
10705} VkVideoEncodeRateControlLayerInfoKHR;
10706
10707typedef struct VkVideoEncodeRateControlInfoKHR {
10708 VkStructureType sType;
10709 const void* pNext;
10710 VkVideoEncodeRateControlFlagsKHR flags;
10711 VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode;
10712 uint32_t layerCount;
10713 const VkVideoEncodeRateControlLayerInfoKHR* pLayers;
10714 uint32_t virtualBufferSizeInMs;
10715 uint32_t initialVirtualBufferSizeInMs;
10716} VkVideoEncodeRateControlInfoKHR;
10717
10718typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR {
10719 VkStructureType sType;
10720 const void* pNext;
10721 const VkVideoProfileInfoKHR* pVideoProfile;
10722 uint32_t qualityLevel;
10723} VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR;
10724
10725typedef struct VkVideoEncodeQualityLevelPropertiesKHR {
10726 VkStructureType sType;
10727 void* pNext;
10728 VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode;
10729 uint32_t preferredRateControlLayerCount;
10730} VkVideoEncodeQualityLevelPropertiesKHR;
10731
10732typedef struct VkVideoEncodeQualityLevelInfoKHR {
10733 VkStructureType sType;
10734 const void* pNext;
10735 uint32_t qualityLevel;
10736} VkVideoEncodeQualityLevelInfoKHR;
10737
10738typedef struct VkVideoEncodeSessionParametersGetInfoKHR {
10739 VkStructureType sType;
10740 const void* pNext;
10741 VkVideoSessionParametersKHR videoSessionParameters;
10742} VkVideoEncodeSessionParametersGetInfoKHR;
10743
10744typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR {
10745 VkStructureType sType;
10746 void* pNext;
10747 VkBool32 hasOverrides;
10748} VkVideoEncodeSessionParametersFeedbackInfoKHR;
10749
10750typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties);
10751typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData);
10752typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo);
10753
10754#ifndef VK_NO_PROTOTYPES
10755VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
10756 VkPhysicalDevice physicalDevice,
10757 const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo,
10758 VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties);
10759
10760VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR(
10761 VkDevice device,
10762 const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo,
10763 VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo,
10764 size_t* pDataSize,
10765 void* pData);
10766
10767VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR(
10768 VkCommandBuffer commandBuffer,
10769 const VkVideoEncodeInfoKHR* pEncodeInfo);
10770#endif
10771
10772
10773// VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls.
10774#define VK_KHR_synchronization2 1
10775#define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
10776#define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
10777typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR;
10778
10779typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR;
10780
10781typedef VkAccessFlags2 VkAccessFlags2KHR;
10782
10783typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
10784
10785typedef VkSubmitFlagBits VkSubmitFlagBitsKHR;
10786
10787typedef VkSubmitFlags VkSubmitFlagsKHR;
10788
10789typedef VkMemoryBarrier2 VkMemoryBarrier2KHR;
10790
10791typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR;
10792
10793typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR;
10794
10795typedef VkDependencyInfo VkDependencyInfoKHR;
10796
10797typedef VkSubmitInfo2 VkSubmitInfo2KHR;
10798
10799typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR;
10800
10801typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR;
10802
10803typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR;
10804
10805typedef struct VkQueueFamilyCheckpointProperties2NV {
10806 VkStructureType sType;
10807 void* pNext;
10808 VkPipelineStageFlags2 checkpointExecutionStageMask;
10809} VkQueueFamilyCheckpointProperties2NV;
10810
10811typedef struct VkCheckpointData2NV {
10812 VkStructureType sType;
10813 void* pNext;
10814 VkPipelineStageFlags2 stage;
10815 void* pCheckpointMarker;
10816} VkCheckpointData2NV;
10817
10818typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
10819typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
10820typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
10821typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
10822typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query);
10823typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
10824typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
10825typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
10826
10827#ifndef VK_NO_PROTOTYPES
10828VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
10829 VkCommandBuffer commandBuffer,
10830 VkEvent event,
10831 const VkDependencyInfo* pDependencyInfo);
10832
10833VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
10834 VkCommandBuffer commandBuffer,
10835 VkEvent event,
10836 VkPipelineStageFlags2 stageMask);
10837
10838VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
10839 VkCommandBuffer commandBuffer,
10840 uint32_t eventCount,
10841 const VkEvent* pEvents,
10842 const VkDependencyInfo* pDependencyInfos);
10843
10844VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
10845 VkCommandBuffer commandBuffer,
10846 const VkDependencyInfo* pDependencyInfo);
10847
10848VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
10849 VkCommandBuffer commandBuffer,
10850 VkPipelineStageFlags2 stage,
10851 VkQueryPool queryPool,
10852 uint32_t query);
10853
10854VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
10855 VkQueue queue,
10856 uint32_t submitCount,
10857 const VkSubmitInfo2* pSubmits,
10858 VkFence fence);
10859
10860VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
10861 VkCommandBuffer commandBuffer,
10862 VkPipelineStageFlags2 stage,
10863 VkBuffer dstBuffer,
10864 VkDeviceSize dstOffset,
10865 uint32_t marker);
10866
10867VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
10868 VkQueue queue,
10869 uint32_t* pCheckpointDataCount,
10870 VkCheckpointData2NV* pCheckpointData);
10871#endif
10872
10873
10874// VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls.
10875#define VK_KHR_fragment_shader_barycentric 1
10876#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10877#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
10878typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
10879 VkStructureType sType;
10880 void* pNext;
10881 VkBool32 fragmentShaderBarycentric;
10882} VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
10883
10884typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
10885 VkStructureType sType;
10886 void* pNext;
10887 VkBool32 triStripVertexOrderIndependentOfProvokingVertex;
10888} VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
10889
10890
10891
10892// VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls.
10893#define VK_KHR_shader_subgroup_uniform_control_flow 1
10894#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
10895#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
10896typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
10897 VkStructureType sType;
10898 void* pNext;
10899 VkBool32 shaderSubgroupUniformControlFlow;
10900} VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
10901
10902
10903
10904// VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls.
10905#define VK_KHR_zero_initialize_workgroup_memory 1
10906#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
10907#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
10908typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
10909
10910
10911
10912// VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls.
10913#define VK_KHR_workgroup_memory_explicit_layout 1
10914#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
10915#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
10916typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
10917 VkStructureType sType;
10918 void* pNext;
10919 VkBool32 workgroupMemoryExplicitLayout;
10920 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
10921 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
10922 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
10923} VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
10924
10925
10926
10927// VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls.
10928#define VK_KHR_copy_commands2 1
10929#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
10930#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
10931typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR;
10932
10933typedef VkCopyImageInfo2 VkCopyImageInfo2KHR;
10934
10935typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR;
10936
10937typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR;
10938
10939typedef VkBlitImageInfo2 VkBlitImageInfo2KHR;
10940
10941typedef VkResolveImageInfo2 VkResolveImageInfo2KHR;
10942
10943typedef VkBufferCopy2 VkBufferCopy2KHR;
10944
10945typedef VkImageCopy2 VkImageCopy2KHR;
10946
10947typedef VkImageBlit2 VkImageBlit2KHR;
10948
10949typedef VkBufferImageCopy2 VkBufferImageCopy2KHR;
10950
10951typedef VkImageResolve2 VkImageResolve2KHR;
10952
10953typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
10954typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
10955typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10956typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10957typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
10958typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
10959
10960#ifndef VK_NO_PROTOTYPES
10961VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
10962 VkCommandBuffer commandBuffer,
10963 const VkCopyBufferInfo2* pCopyBufferInfo);
10964
10965VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
10966 VkCommandBuffer commandBuffer,
10967 const VkCopyImageInfo2* pCopyImageInfo);
10968
10969VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
10970 VkCommandBuffer commandBuffer,
10971 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10972
10973VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
10974 VkCommandBuffer commandBuffer,
10975 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10976
10977VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
10978 VkCommandBuffer commandBuffer,
10979 const VkBlitImageInfo2* pBlitImageInfo);
10980
10981VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
10982 VkCommandBuffer commandBuffer,
10983 const VkResolveImageInfo2* pResolveImageInfo);
10984#endif
10985
10986
10987// VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls.
10988#define VK_KHR_format_feature_flags2 1
10989#define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2
10990#define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
10991typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR;
10992
10993typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR;
10994
10995typedef VkFormatProperties3 VkFormatProperties3KHR;
10996
10997
10998
10999// VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls.
11000#define VK_KHR_ray_tracing_maintenance1 1
11001#define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
11002#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
11003typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
11004 VkStructureType sType;
11005 void* pNext;
11006 VkBool32 rayTracingMaintenance1;
11007 VkBool32 rayTracingPipelineTraceRaysIndirect2;
11008} VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;
11009
11010typedef struct VkTraceRaysIndirectCommand2KHR {
11011 VkDeviceAddress raygenShaderRecordAddress;
11012 VkDeviceSize raygenShaderRecordSize;
11013 VkDeviceAddress missShaderBindingTableAddress;
11014 VkDeviceSize missShaderBindingTableSize;
11015 VkDeviceSize missShaderBindingTableStride;
11016 VkDeviceAddress hitShaderBindingTableAddress;
11017 VkDeviceSize hitShaderBindingTableSize;
11018 VkDeviceSize hitShaderBindingTableStride;
11019 VkDeviceAddress callableShaderBindingTableAddress;
11020 VkDeviceSize callableShaderBindingTableSize;
11021 VkDeviceSize callableShaderBindingTableStride;
11022 uint32_t width;
11023 uint32_t height;
11024 uint32_t depth;
11025} VkTraceRaysIndirectCommand2KHR;
11026
11027typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
11028
11029#ifndef VK_NO_PROTOTYPES
11030VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR(
11031 VkCommandBuffer commandBuffer,
11032 VkDeviceAddress indirectDeviceAddress);
11033#endif
11034
11035
11036// VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls.
11037#define VK_KHR_portability_enumeration 1
11038#define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
11039#define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
11040
11041
11042// VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls.
11043#define VK_KHR_maintenance4 1
11044#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
11045#define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
11046typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR;
11047
11048typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR;
11049
11050typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR;
11051
11052typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR;
11053
11054typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
11055typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
11056typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
11057
11058#ifndef VK_NO_PROTOTYPES
11059VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR(
11060 VkDevice device,
11061 const VkDeviceBufferMemoryRequirements* pInfo,
11062 VkMemoryRequirements2* pMemoryRequirements);
11063
11064VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR(
11065 VkDevice device,
11066 const VkDeviceImageMemoryRequirements* pInfo,
11067 VkMemoryRequirements2* pMemoryRequirements);
11068
11069VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
11070 VkDevice device,
11071 const VkDeviceImageMemoryRequirements* pInfo,
11072 uint32_t* pSparseMemoryRequirementCount,
11073 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
11074#endif
11075
11076
11077// VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls.
11078#define VK_KHR_shader_subgroup_rotate 1
11079#define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2
11080#define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate"
11081typedef struct VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR {
11082 VkStructureType sType;
11083 void* pNext;
11084 VkBool32 shaderSubgroupRotate;
11085 VkBool32 shaderSubgroupRotateClustered;
11086} VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR;
11087
11088
11089
11090// VK_KHR_shader_maximal_reconvergence is a preprocessor guard. Do not pass it to API calls.
11091#define VK_KHR_shader_maximal_reconvergence 1
11092#define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1
11093#define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME "VK_KHR_shader_maximal_reconvergence"
11094typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
11095 VkStructureType sType;
11096 void* pNext;
11097 VkBool32 shaderMaximalReconvergence;
11098} VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR;
11099
11100
11101
11102// VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls.
11103#define VK_KHR_maintenance5 1
11104#define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1
11105#define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5"
11106typedef VkFlags64 VkPipelineCreateFlags2KHR;
11107
11108// Flag bits for VkPipelineCreateFlagBits2KHR
11109typedef VkFlags64 VkPipelineCreateFlagBits2KHR;
11110static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL;
11111static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL;
11112static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL;
11113static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL;
11114static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL;
11115static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL;
11116static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL;
11117static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL;
11118static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL;
11119static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL;
11120static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL;
11121static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL;
11122static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL;
11123static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL;
11124static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL;
11125static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL;
11126static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL;
11127static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL;
11128static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL;
11129static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL;
11130static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL;
11131static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL;
11132static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL;
11133static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL;
11134static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL;
11135static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL;
11136static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL;
11137static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL;
11138static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL;
11139static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL;
11140static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL;
11141
11142typedef VkFlags64 VkBufferUsageFlags2KHR;
11143
11144// Flag bits for VkBufferUsageFlagBits2KHR
11145typedef VkFlags64 VkBufferUsageFlagBits2KHR;
11146static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL;
11147static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL;
11148static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL;
11149static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
11150static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL;
11151static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL;
11152static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL;
11153static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL;
11154static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL;
11155static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL;
11156static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL;
11157static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL;
11158static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL;
11159static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL;
11160static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL;
11161static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL;
11162static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL;
11163static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL;
11164static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL;
11165static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL;
11166static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL;
11167static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL;
11168static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL;
11169static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL;
11170static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL;
11171static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL;
11172static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL;
11173
11174typedef struct VkPhysicalDeviceMaintenance5FeaturesKHR {
11175 VkStructureType sType;
11176 void* pNext;
11177 VkBool32 maintenance5;
11178} VkPhysicalDeviceMaintenance5FeaturesKHR;
11179
11180typedef struct VkPhysicalDeviceMaintenance5PropertiesKHR {
11181 VkStructureType sType;
11182 void* pNext;
11183 VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting;
11184 VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting;
11185 VkBool32 depthStencilSwizzleOneSupport;
11186 VkBool32 polygonModePointSize;
11187 VkBool32 nonStrictSinglePixelWideLinesUseParallelogram;
11188 VkBool32 nonStrictWideLinesUseParallelogram;
11189} VkPhysicalDeviceMaintenance5PropertiesKHR;
11190
11191typedef struct VkRenderingAreaInfoKHR {
11192 VkStructureType sType;
11193 const void* pNext;
11194 uint32_t viewMask;
11195 uint32_t colorAttachmentCount;
11196 const VkFormat* pColorAttachmentFormats;
11197 VkFormat depthAttachmentFormat;
11198 VkFormat stencilAttachmentFormat;
11199} VkRenderingAreaInfoKHR;
11200
11201typedef struct VkImageSubresource2KHR {
11202 VkStructureType sType;
11203 void* pNext;
11204 VkImageSubresource imageSubresource;
11205} VkImageSubresource2KHR;
11206
11207typedef struct VkDeviceImageSubresourceInfoKHR {
11208 VkStructureType sType;
11209 const void* pNext;
11210 const VkImageCreateInfo* pCreateInfo;
11211 const VkImageSubresource2KHR* pSubresource;
11212} VkDeviceImageSubresourceInfoKHR;
11213
11214typedef struct VkSubresourceLayout2KHR {
11215 VkStructureType sType;
11216 void* pNext;
11217 VkSubresourceLayout subresourceLayout;
11218} VkSubresourceLayout2KHR;
11219
11220typedef struct VkPipelineCreateFlags2CreateInfoKHR {
11221 VkStructureType sType;
11222 const void* pNext;
11223 VkPipelineCreateFlags2KHR flags;
11224} VkPipelineCreateFlags2CreateInfoKHR;
11225
11226typedef struct VkBufferUsageFlags2CreateInfoKHR {
11227 VkStructureType sType;
11228 const void* pNext;
11229 VkBufferUsageFlags2KHR usage;
11230} VkBufferUsageFlags2CreateInfoKHR;
11231
11232typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType);
11233typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity);
11234typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout);
11235typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout);
11236
11237#ifndef VK_NO_PROTOTYPES
11238VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR(
11239 VkCommandBuffer commandBuffer,
11240 VkBuffer buffer,
11241 VkDeviceSize offset,
11242 VkDeviceSize size,
11243 VkIndexType indexType);
11244
11245VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR(
11246 VkDevice device,
11247 const VkRenderingAreaInfoKHR* pRenderingAreaInfo,
11248 VkExtent2D* pGranularity);
11249
11250VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR(
11251 VkDevice device,
11252 const VkDeviceImageSubresourceInfoKHR* pInfo,
11253 VkSubresourceLayout2KHR* pLayout);
11254
11255VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR(
11256 VkDevice device,
11257 VkImage image,
11258 const VkImageSubresource2KHR* pSubresource,
11259 VkSubresourceLayout2KHR* pLayout);
11260#endif
11261
11262
11263// VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls.
11264#define VK_KHR_ray_tracing_position_fetch 1
11265#define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1
11266#define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch"
11267typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR {
11268 VkStructureType sType;
11269 void* pNext;
11270 VkBool32 rayTracingPositionFetch;
11271} VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR;
11272
11273
11274
11275// VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls.
11276#define VK_KHR_cooperative_matrix 1
11277#define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2
11278#define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix"
11279
11280typedef enum VkComponentTypeKHR {
11281 VK_COMPONENT_TYPE_FLOAT16_KHR = 0,
11282 VK_COMPONENT_TYPE_FLOAT32_KHR = 1,
11283 VK_COMPONENT_TYPE_FLOAT64_KHR = 2,
11284 VK_COMPONENT_TYPE_SINT8_KHR = 3,
11285 VK_COMPONENT_TYPE_SINT16_KHR = 4,
11286 VK_COMPONENT_TYPE_SINT32_KHR = 5,
11287 VK_COMPONENT_TYPE_SINT64_KHR = 6,
11288 VK_COMPONENT_TYPE_UINT8_KHR = 7,
11289 VK_COMPONENT_TYPE_UINT16_KHR = 8,
11290 VK_COMPONENT_TYPE_UINT32_KHR = 9,
11291 VK_COMPONENT_TYPE_UINT64_KHR = 10,
11292 VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR,
11293 VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR,
11294 VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR,
11295 VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR,
11296 VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR,
11297 VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR,
11298 VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR,
11299 VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR,
11300 VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR,
11301 VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR,
11302 VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR,
11303 VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11304} VkComponentTypeKHR;
11305
11306typedef enum VkScopeKHR {
11307 VK_SCOPE_DEVICE_KHR = 1,
11308 VK_SCOPE_WORKGROUP_KHR = 2,
11309 VK_SCOPE_SUBGROUP_KHR = 3,
11310 VK_SCOPE_QUEUE_FAMILY_KHR = 5,
11311 VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR,
11312 VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR,
11313 VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR,
11314 VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR,
11315 VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
11316} VkScopeKHR;
11317typedef struct VkCooperativeMatrixPropertiesKHR {
11318 VkStructureType sType;
11319 void* pNext;
11320 uint32_t MSize;
11321 uint32_t NSize;
11322 uint32_t KSize;
11323 VkComponentTypeKHR AType;
11324 VkComponentTypeKHR BType;
11325 VkComponentTypeKHR CType;
11326 VkComponentTypeKHR ResultType;
11327 VkBool32 saturatingAccumulation;
11328 VkScopeKHR scope;
11329} VkCooperativeMatrixPropertiesKHR;
11330
11331typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR {
11332 VkStructureType sType;
11333 void* pNext;
11334 VkBool32 cooperativeMatrix;
11335 VkBool32 cooperativeMatrixRobustBufferAccess;
11336} VkPhysicalDeviceCooperativeMatrixFeaturesKHR;
11337
11338typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR {
11339 VkStructureType sType;
11340 void* pNext;
11341 VkShaderStageFlags cooperativeMatrixSupportedStages;
11342} VkPhysicalDeviceCooperativeMatrixPropertiesKHR;
11343
11344typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties);
11345
11346#ifndef VK_NO_PROTOTYPES
11347VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(
11348 VkPhysicalDevice physicalDevice,
11349 uint32_t* pPropertyCount,
11350 VkCooperativeMatrixPropertiesKHR* pProperties);
11351#endif
11352
11353
11354// VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls.
11355#define VK_KHR_video_decode_av1 1
11356#include "../vk_video/vulkan_video_codec_av1std.h"
11357#include "../vk_video/vulkan_video_codec_av1std_decode.h"
11358#define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U
11359#define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1
11360#define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1"
11361typedef struct VkVideoDecodeAV1ProfileInfoKHR {
11362 VkStructureType sType;
11363 const void* pNext;
11364 StdVideoAV1Profile stdProfile;
11365 VkBool32 filmGrainSupport;
11366} VkVideoDecodeAV1ProfileInfoKHR;
11367
11368typedef struct VkVideoDecodeAV1CapabilitiesKHR {
11369 VkStructureType sType;
11370 void* pNext;
11371 StdVideoAV1Level maxLevel;
11372} VkVideoDecodeAV1CapabilitiesKHR;
11373
11374typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR {
11375 VkStructureType sType;
11376 const void* pNext;
11377 const StdVideoAV1SequenceHeader* pStdSequenceHeader;
11378} VkVideoDecodeAV1SessionParametersCreateInfoKHR;
11379
11380typedef struct VkVideoDecodeAV1PictureInfoKHR {
11381 VkStructureType sType;
11382 const void* pNext;
11383 const StdVideoDecodeAV1PictureInfo* pStdPictureInfo;
11384 int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR];
11385 uint32_t frameHeaderOffset;
11386 uint32_t tileCount;
11387 const uint32_t* pTileOffsets;
11388 const uint32_t* pTileSizes;
11389} VkVideoDecodeAV1PictureInfoKHR;
11390
11391typedef struct VkVideoDecodeAV1DpbSlotInfoKHR {
11392 VkStructureType sType;
11393 const void* pNext;
11394 const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo;
11395} VkVideoDecodeAV1DpbSlotInfoKHR;
11396
11397
11398
11399// VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls.
11400#define VK_KHR_video_maintenance1 1
11401#define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1
11402#define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1"
11403typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR {
11404 VkStructureType sType;
11405 void* pNext;
11406 VkBool32 videoMaintenance1;
11407} VkPhysicalDeviceVideoMaintenance1FeaturesKHR;
11408
11409typedef struct VkVideoInlineQueryInfoKHR {
11410 VkStructureType sType;
11411 const void* pNext;
11412 VkQueryPool queryPool;
11413 uint32_t firstQuery;
11414 uint32_t queryCount;
11415} VkVideoInlineQueryInfoKHR;
11416
11417
11418
11419// VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls.
11420#define VK_KHR_vertex_attribute_divisor 1
11421#define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1
11422#define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor"
11423typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR {
11424 VkStructureType sType;
11425 void* pNext;
11426 uint32_t maxVertexAttribDivisor;
11427 VkBool32 supportsNonZeroFirstInstance;
11428} VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR;
11429
11430typedef struct VkVertexInputBindingDivisorDescriptionKHR {
11431 uint32_t binding;
11432 uint32_t divisor;
11433} VkVertexInputBindingDivisorDescriptionKHR;
11434
11435typedef struct VkPipelineVertexInputDivisorStateCreateInfoKHR {
11436 VkStructureType sType;
11437 const void* pNext;
11438 uint32_t vertexBindingDivisorCount;
11439 const VkVertexInputBindingDivisorDescriptionKHR* pVertexBindingDivisors;
11440} VkPipelineVertexInputDivisorStateCreateInfoKHR;
11441
11442typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR {
11443 VkStructureType sType;
11444 void* pNext;
11445 VkBool32 vertexAttributeInstanceRateDivisor;
11446 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11447} VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR;
11448
11449
11450
11451// VK_KHR_load_store_op_none is a preprocessor guard. Do not pass it to API calls.
11452#define VK_KHR_load_store_op_none 1
11453#define VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION 1
11454#define VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_KHR_load_store_op_none"
11455
11456
11457// VK_KHR_shader_float_controls2 is a preprocessor guard. Do not pass it to API calls.
11458#define VK_KHR_shader_float_controls2 1
11459#define VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION 1
11460#define VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME "VK_KHR_shader_float_controls2"
11461typedef struct VkPhysicalDeviceShaderFloatControls2FeaturesKHR {
11462 VkStructureType sType;
11463 void* pNext;
11464 VkBool32 shaderFloatControls2;
11465} VkPhysicalDeviceShaderFloatControls2FeaturesKHR;
11466
11467
11468
11469// VK_KHR_index_type_uint8 is a preprocessor guard. Do not pass it to API calls.
11470#define VK_KHR_index_type_uint8 1
11471#define VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION 1
11472#define VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_KHR_index_type_uint8"
11473typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesKHR {
11474 VkStructureType sType;
11475 void* pNext;
11476 VkBool32 indexTypeUint8;
11477} VkPhysicalDeviceIndexTypeUint8FeaturesKHR;
11478
11479
11480
11481// VK_KHR_line_rasterization is a preprocessor guard. Do not pass it to API calls.
11482#define VK_KHR_line_rasterization 1
11483#define VK_KHR_LINE_RASTERIZATION_SPEC_VERSION 1
11484#define VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME "VK_KHR_line_rasterization"
11485
11486typedef enum VkLineRasterizationModeKHR {
11487 VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR = 0,
11488 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = 1,
11489 VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR = 2,
11490 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = 3,
11491 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR,
11492 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR,
11493 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR,
11494 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR,
11495 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
11496} VkLineRasterizationModeKHR;
11497typedef struct VkPhysicalDeviceLineRasterizationFeaturesKHR {
11498 VkStructureType sType;
11499 void* pNext;
11500 VkBool32 rectangularLines;
11501 VkBool32 bresenhamLines;
11502 VkBool32 smoothLines;
11503 VkBool32 stippledRectangularLines;
11504 VkBool32 stippledBresenhamLines;
11505 VkBool32 stippledSmoothLines;
11506} VkPhysicalDeviceLineRasterizationFeaturesKHR;
11507
11508typedef struct VkPhysicalDeviceLineRasterizationPropertiesKHR {
11509 VkStructureType sType;
11510 void* pNext;
11511 uint32_t lineSubPixelPrecisionBits;
11512} VkPhysicalDeviceLineRasterizationPropertiesKHR;
11513
11514typedef struct VkPipelineRasterizationLineStateCreateInfoKHR {
11515 VkStructureType sType;
11516 const void* pNext;
11517 VkLineRasterizationModeKHR lineRasterizationMode;
11518 VkBool32 stippledLineEnable;
11519 uint32_t lineStippleFactor;
11520 uint16_t lineStipplePattern;
11521} VkPipelineRasterizationLineStateCreateInfoKHR;
11522
11523typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleKHR)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
11524
11525#ifndef VK_NO_PROTOTYPES
11526VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleKHR(
11527 VkCommandBuffer commandBuffer,
11528 uint32_t lineStippleFactor,
11529 uint16_t lineStipplePattern);
11530#endif
11531
11532
11533// VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls.
11534#define VK_KHR_calibrated_timestamps 1
11535#define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1
11536#define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps"
11537
11538typedef enum VkTimeDomainKHR {
11539 VK_TIME_DOMAIN_DEVICE_KHR = 0,
11540 VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1,
11541 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2,
11542 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3,
11543 VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR,
11544 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR,
11545 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR,
11546 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR,
11547 VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF
11548} VkTimeDomainKHR;
11549typedef struct VkCalibratedTimestampInfoKHR {
11550 VkStructureType sType;
11551 const void* pNext;
11552 VkTimeDomainKHR timeDomain;
11553} VkCalibratedTimestampInfoKHR;
11554
11555typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains);
11556typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
11557
11558#ifndef VK_NO_PROTOTYPES
11559VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(
11560 VkPhysicalDevice physicalDevice,
11561 uint32_t* pTimeDomainCount,
11562 VkTimeDomainKHR* pTimeDomains);
11563
11564VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR(
11565 VkDevice device,
11566 uint32_t timestampCount,
11567 const VkCalibratedTimestampInfoKHR* pTimestampInfos,
11568 uint64_t* pTimestamps,
11569 uint64_t* pMaxDeviation);
11570#endif
11571
11572
11573// VK_KHR_shader_expect_assume is a preprocessor guard. Do not pass it to API calls.
11574#define VK_KHR_shader_expect_assume 1
11575#define VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION 1
11576#define VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME "VK_KHR_shader_expect_assume"
11577typedef struct VkPhysicalDeviceShaderExpectAssumeFeaturesKHR {
11578 VkStructureType sType;
11579 void* pNext;
11580 VkBool32 shaderExpectAssume;
11581} VkPhysicalDeviceShaderExpectAssumeFeaturesKHR;
11582
11583
11584
11585// VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls.
11586#define VK_KHR_maintenance6 1
11587#define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1
11588#define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6"
11589typedef struct VkPhysicalDeviceMaintenance6FeaturesKHR {
11590 VkStructureType sType;
11591 void* pNext;
11592 VkBool32 maintenance6;
11593} VkPhysicalDeviceMaintenance6FeaturesKHR;
11594
11595typedef struct VkPhysicalDeviceMaintenance6PropertiesKHR {
11596 VkStructureType sType;
11597 void* pNext;
11598 VkBool32 blockTexelViewCompatibleMultipleLayers;
11599 uint32_t maxCombinedImageSamplerDescriptorCount;
11600 VkBool32 fragmentShadingRateClampCombinerInputs;
11601} VkPhysicalDeviceMaintenance6PropertiesKHR;
11602
11603typedef struct VkBindMemoryStatusKHR {
11604 VkStructureType sType;
11605 const void* pNext;
11606 VkResult* pResult;
11607} VkBindMemoryStatusKHR;
11608
11609typedef struct VkBindDescriptorSetsInfoKHR {
11610 VkStructureType sType;
11611 const void* pNext;
11612 VkShaderStageFlags stageFlags;
11613 VkPipelineLayout layout;
11614 uint32_t firstSet;
11615 uint32_t descriptorSetCount;
11616 const VkDescriptorSet* pDescriptorSets;
11617 uint32_t dynamicOffsetCount;
11618 const uint32_t* pDynamicOffsets;
11619} VkBindDescriptorSetsInfoKHR;
11620
11621typedef struct VkPushConstantsInfoKHR {
11622 VkStructureType sType;
11623 const void* pNext;
11624 VkPipelineLayout layout;
11625 VkShaderStageFlags stageFlags;
11626 uint32_t offset;
11627 uint32_t size;
11628 const void* pValues;
11629} VkPushConstantsInfoKHR;
11630
11631typedef struct VkPushDescriptorSetInfoKHR {
11632 VkStructureType sType;
11633 const void* pNext;
11634 VkShaderStageFlags stageFlags;
11635 VkPipelineLayout layout;
11636 uint32_t set;
11637 uint32_t descriptorWriteCount;
11638 const VkWriteDescriptorSet* pDescriptorWrites;
11639} VkPushDescriptorSetInfoKHR;
11640
11641typedef struct VkPushDescriptorSetWithTemplateInfoKHR {
11642 VkStructureType sType;
11643 const void* pNext;
11644 VkDescriptorUpdateTemplate descriptorUpdateTemplate;
11645 VkPipelineLayout layout;
11646 uint32_t set;
11647 const void* pData;
11648} VkPushDescriptorSetWithTemplateInfoKHR;
11649
11650typedef struct VkSetDescriptorBufferOffsetsInfoEXT {
11651 VkStructureType sType;
11652 const void* pNext;
11653 VkShaderStageFlags stageFlags;
11654 VkPipelineLayout layout;
11655 uint32_t firstSet;
11656 uint32_t setCount;
11657 const uint32_t* pBufferIndices;
11658 const VkDeviceSize* pOffsets;
11659} VkSetDescriptorBufferOffsetsInfoEXT;
11660
11661typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT {
11662 VkStructureType sType;
11663 const void* pNext;
11664 VkShaderStageFlags stageFlags;
11665 VkPipelineLayout layout;
11666 uint32_t set;
11667} VkBindDescriptorBufferEmbeddedSamplersInfoEXT;
11668
11669typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo);
11670typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR* pPushConstantsInfo);
11671typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo);
11672typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo);
11673typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo);
11674typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo);
11675
11676#ifndef VK_NO_PROTOTYPES
11677VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR(
11678 VkCommandBuffer commandBuffer,
11679 const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo);
11680
11681VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR(
11682 VkCommandBuffer commandBuffer,
11683 const VkPushConstantsInfoKHR* pPushConstantsInfo);
11684
11685VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR(
11686 VkCommandBuffer commandBuffer,
11687 const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo);
11688
11689VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR(
11690 VkCommandBuffer commandBuffer,
11691 const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo);
11692
11693VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT(
11694 VkCommandBuffer commandBuffer,
11695 const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo);
11696
11697VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
11698 VkCommandBuffer commandBuffer,
11699 const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo);
11700#endif
11701
11702
11703// VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls.
11704#define VK_EXT_debug_report 1
11705VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
11706#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
11707#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
11708
11709typedef enum VkDebugReportObjectTypeEXT {
11710 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
11711 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
11712 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
11713 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
11714 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
11715 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
11716 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
11717 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
11718 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
11719 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
11720 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
11721 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
11722 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
11723 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
11724 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
11725 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
11726 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
11727 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
11728 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
11729 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
11730 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
11731 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
11732 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
11733 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
11734 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
11735 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
11736 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
11737 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
11738 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
11739 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
11740 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
11741 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
11742 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
11743 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
11744 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
11745 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
11746 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
11747 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
11748 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000,
11749 VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001,
11750 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000,
11751 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
11752 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
11753 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
11754 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
11755 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11756} VkDebugReportObjectTypeEXT;
11757
11758typedef enum VkDebugReportFlagBitsEXT {
11759 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
11760 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
11761 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
11762 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
11763 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
11764 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11765} VkDebugReportFlagBitsEXT;
11766typedef VkFlags VkDebugReportFlagsEXT;
11767typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
11768 VkDebugReportFlagsEXT flags,
11769 VkDebugReportObjectTypeEXT objectType,
11770 uint64_t object,
11771 size_t location,
11772 int32_t messageCode,
11773 const char* pLayerPrefix,
11774 const char* pMessage,
11775 void* pUserData);
11776
11777typedef struct VkDebugReportCallbackCreateInfoEXT {
11778 VkStructureType sType;
11779 const void* pNext;
11780 VkDebugReportFlagsEXT flags;
11781 PFN_vkDebugReportCallbackEXT pfnCallback;
11782 void* pUserData;
11783} VkDebugReportCallbackCreateInfoEXT;
11784
11785typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
11786typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
11787typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);
11788
11789#ifndef VK_NO_PROTOTYPES
11790VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
11791 VkInstance instance,
11792 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
11793 const VkAllocationCallbacks* pAllocator,
11794 VkDebugReportCallbackEXT* pCallback);
11795
11796VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
11797 VkInstance instance,
11798 VkDebugReportCallbackEXT callback,
11799 const VkAllocationCallbacks* pAllocator);
11800
11801VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
11802 VkInstance instance,
11803 VkDebugReportFlagsEXT flags,
11804 VkDebugReportObjectTypeEXT objectType,
11805 uint64_t object,
11806 size_t location,
11807 int32_t messageCode,
11808 const char* pLayerPrefix,
11809 const char* pMessage);
11810#endif
11811
11812
11813// VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls.
11814#define VK_NV_glsl_shader 1
11815#define VK_NV_GLSL_SHADER_SPEC_VERSION 1
11816#define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
11817
11818
11819// VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls.
11820#define VK_EXT_depth_range_unrestricted 1
11821#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
11822#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
11823
11824
11825// VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls.
11826#define VK_IMG_filter_cubic 1
11827#define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
11828#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
11829
11830
11831// VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls.
11832#define VK_AMD_rasterization_order 1
11833#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
11834#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
11835
11836typedef enum VkRasterizationOrderAMD {
11837 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
11838 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
11839 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
11840} VkRasterizationOrderAMD;
11841typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
11842 VkStructureType sType;
11843 const void* pNext;
11844 VkRasterizationOrderAMD rasterizationOrder;
11845} VkPipelineRasterizationStateRasterizationOrderAMD;
11846
11847
11848
11849// VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls.
11850#define VK_AMD_shader_trinary_minmax 1
11851#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
11852#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
11853
11854
11855// VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls.
11856#define VK_AMD_shader_explicit_vertex_parameter 1
11857#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
11858#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
11859
11860
11861// VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls.
11862#define VK_EXT_debug_marker 1
11863#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
11864#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
11865typedef struct VkDebugMarkerObjectNameInfoEXT {
11866 VkStructureType sType;
11867 const void* pNext;
11868 VkDebugReportObjectTypeEXT objectType;
11869 uint64_t object;
11870 const char* pObjectName;
11871} VkDebugMarkerObjectNameInfoEXT;
11872
11873typedef struct VkDebugMarkerObjectTagInfoEXT {
11874 VkStructureType sType;
11875 const void* pNext;
11876 VkDebugReportObjectTypeEXT objectType;
11877 uint64_t object;
11878 uint64_t tagName;
11879 size_t tagSize;
11880 const void* pTag;
11881} VkDebugMarkerObjectTagInfoEXT;
11882
11883typedef struct VkDebugMarkerMarkerInfoEXT {
11884 VkStructureType sType;
11885 const void* pNext;
11886 const char* pMarkerName;
11887 float color[4];
11888} VkDebugMarkerMarkerInfoEXT;
11889
11890typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
11891typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
11892typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
11893typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
11894typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
11895
11896#ifndef VK_NO_PROTOTYPES
11897VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
11898 VkDevice device,
11899 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
11900
11901VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
11902 VkDevice device,
11903 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
11904
11905VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
11906 VkCommandBuffer commandBuffer,
11907 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
11908
11909VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
11910 VkCommandBuffer commandBuffer);
11911
11912VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
11913 VkCommandBuffer commandBuffer,
11914 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
11915#endif
11916
11917
11918// VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls.
11919#define VK_AMD_gcn_shader 1
11920#define VK_AMD_GCN_SHADER_SPEC_VERSION 1
11921#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
11922
11923
11924// VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls.
11925#define VK_NV_dedicated_allocation 1
11926#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
11927#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
11928typedef struct VkDedicatedAllocationImageCreateInfoNV {
11929 VkStructureType sType;
11930 const void* pNext;
11931 VkBool32 dedicatedAllocation;
11932} VkDedicatedAllocationImageCreateInfoNV;
11933
11934typedef struct VkDedicatedAllocationBufferCreateInfoNV {
11935 VkStructureType sType;
11936 const void* pNext;
11937 VkBool32 dedicatedAllocation;
11938} VkDedicatedAllocationBufferCreateInfoNV;
11939
11940typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
11941 VkStructureType sType;
11942 const void* pNext;
11943 VkImage image;
11944 VkBuffer buffer;
11945} VkDedicatedAllocationMemoryAllocateInfoNV;
11946
11947
11948
11949// VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls.
11950#define VK_EXT_transform_feedback 1
11951#define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
11952#define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
11953typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
11954typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
11955 VkStructureType sType;
11956 void* pNext;
11957 VkBool32 transformFeedback;
11958 VkBool32 geometryStreams;
11959} VkPhysicalDeviceTransformFeedbackFeaturesEXT;
11960
11961typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
11962 VkStructureType sType;
11963 void* pNext;
11964 uint32_t maxTransformFeedbackStreams;
11965 uint32_t maxTransformFeedbackBuffers;
11966 VkDeviceSize maxTransformFeedbackBufferSize;
11967 uint32_t maxTransformFeedbackStreamDataSize;
11968 uint32_t maxTransformFeedbackBufferDataSize;
11969 uint32_t maxTransformFeedbackBufferDataStride;
11970 VkBool32 transformFeedbackQueries;
11971 VkBool32 transformFeedbackStreamsLinesTriangles;
11972 VkBool32 transformFeedbackRasterizationStreamSelect;
11973 VkBool32 transformFeedbackDraw;
11974} VkPhysicalDeviceTransformFeedbackPropertiesEXT;
11975
11976typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
11977 VkStructureType sType;
11978 const void* pNext;
11979 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
11980 uint32_t rasterizationStream;
11981} VkPipelineRasterizationStateStreamCreateInfoEXT;
11982
11983typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
11984typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
11985typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
11986typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index);
11987typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index);
11988typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride);
11989
11990#ifndef VK_NO_PROTOTYPES
11991VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
11992 VkCommandBuffer commandBuffer,
11993 uint32_t firstBinding,
11994 uint32_t bindingCount,
11995 const VkBuffer* pBuffers,
11996 const VkDeviceSize* pOffsets,
11997 const VkDeviceSize* pSizes);
11998
11999VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
12000 VkCommandBuffer commandBuffer,
12001 uint32_t firstCounterBuffer,
12002 uint32_t counterBufferCount,
12003 const VkBuffer* pCounterBuffers,
12004 const VkDeviceSize* pCounterBufferOffsets);
12005
12006VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
12007 VkCommandBuffer commandBuffer,
12008 uint32_t firstCounterBuffer,
12009 uint32_t counterBufferCount,
12010 const VkBuffer* pCounterBuffers,
12011 const VkDeviceSize* pCounterBufferOffsets);
12012
12013VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
12014 VkCommandBuffer commandBuffer,
12015 VkQueryPool queryPool,
12016 uint32_t query,
12017 VkQueryControlFlags flags,
12018 uint32_t index);
12019
12020VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
12021 VkCommandBuffer commandBuffer,
12022 VkQueryPool queryPool,
12023 uint32_t query,
12024 uint32_t index);
12025
12026VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
12027 VkCommandBuffer commandBuffer,
12028 uint32_t instanceCount,
12029 uint32_t firstInstance,
12030 VkBuffer counterBuffer,
12031 VkDeviceSize counterBufferOffset,
12032 uint32_t counterOffset,
12033 uint32_t vertexStride);
12034#endif
12035
12036
12037// VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls.
12038#define VK_NVX_binary_import 1
12039VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
12040VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
12041#define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
12042#define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
12043typedef struct VkCuModuleCreateInfoNVX {
12044 VkStructureType sType;
12045 const void* pNext;
12046 size_t dataSize;
12047 const void* pData;
12048} VkCuModuleCreateInfoNVX;
12049
12050typedef struct VkCuFunctionCreateInfoNVX {
12051 VkStructureType sType;
12052 const void* pNext;
12053 VkCuModuleNVX module;
12054 const char* pName;
12055} VkCuFunctionCreateInfoNVX;
12056
12057typedef struct VkCuLaunchInfoNVX {
12058 VkStructureType sType;
12059 const void* pNext;
12060 VkCuFunctionNVX function;
12061 uint32_t gridDimX;
12062 uint32_t gridDimY;
12063 uint32_t gridDimZ;
12064 uint32_t blockDimX;
12065 uint32_t blockDimY;
12066 uint32_t blockDimZ;
12067 uint32_t sharedMemBytes;
12068 size_t paramCount;
12069 const void* const * pParams;
12070 size_t extraCount;
12071 const void* const * pExtras;
12072} VkCuLaunchInfoNVX;
12073
12074typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
12075typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
12076typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
12077typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
12078typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
12079
12080#ifndef VK_NO_PROTOTYPES
12081VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
12082 VkDevice device,
12083 const VkCuModuleCreateInfoNVX* pCreateInfo,
12084 const VkAllocationCallbacks* pAllocator,
12085 VkCuModuleNVX* pModule);
12086
12087VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
12088 VkDevice device,
12089 const VkCuFunctionCreateInfoNVX* pCreateInfo,
12090 const VkAllocationCallbacks* pAllocator,
12091 VkCuFunctionNVX* pFunction);
12092
12093VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
12094 VkDevice device,
12095 VkCuModuleNVX module,
12096 const VkAllocationCallbacks* pAllocator);
12097
12098VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
12099 VkDevice device,
12100 VkCuFunctionNVX function,
12101 const VkAllocationCallbacks* pAllocator);
12102
12103VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
12104 VkCommandBuffer commandBuffer,
12105 const VkCuLaunchInfoNVX* pLaunchInfo);
12106#endif
12107
12108
12109// VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls.
12110#define VK_NVX_image_view_handle 1
12111#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
12112#define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
12113typedef struct VkImageViewHandleInfoNVX {
12114 VkStructureType sType;
12115 const void* pNext;
12116 VkImageView imageView;
12117 VkDescriptorType descriptorType;
12118 VkSampler sampler;
12119} VkImageViewHandleInfoNVX;
12120
12121typedef struct VkImageViewAddressPropertiesNVX {
12122 VkStructureType sType;
12123 void* pNext;
12124 VkDeviceAddress deviceAddress;
12125 VkDeviceSize size;
12126} VkImageViewAddressPropertiesNVX;
12127
12128typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
12129typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
12130
12131#ifndef VK_NO_PROTOTYPES
12132VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
12133 VkDevice device,
12134 const VkImageViewHandleInfoNVX* pInfo);
12135
12136VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
12137 VkDevice device,
12138 VkImageView imageView,
12139 VkImageViewAddressPropertiesNVX* pProperties);
12140#endif
12141
12142
12143// VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls.
12144#define VK_AMD_draw_indirect_count 1
12145#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
12146#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
12147typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
12148typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
12149
12150#ifndef VK_NO_PROTOTYPES
12151VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
12152 VkCommandBuffer commandBuffer,
12153 VkBuffer buffer,
12154 VkDeviceSize offset,
12155 VkBuffer countBuffer,
12156 VkDeviceSize countBufferOffset,
12157 uint32_t maxDrawCount,
12158 uint32_t stride);
12159
12160VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
12161 VkCommandBuffer commandBuffer,
12162 VkBuffer buffer,
12163 VkDeviceSize offset,
12164 VkBuffer countBuffer,
12165 VkDeviceSize countBufferOffset,
12166 uint32_t maxDrawCount,
12167 uint32_t stride);
12168#endif
12169
12170
12171// VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls.
12172#define VK_AMD_negative_viewport_height 1
12173#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
12174#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
12175
12176
12177// VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls.
12178#define VK_AMD_gpu_shader_half_float 1
12179#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
12180#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
12181
12182
12183// VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls.
12184#define VK_AMD_shader_ballot 1
12185#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
12186#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
12187
12188
12189// VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls.
12190#define VK_AMD_texture_gather_bias_lod 1
12191#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
12192#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
12193typedef struct VkTextureLODGatherFormatPropertiesAMD {
12194 VkStructureType sType;
12195 void* pNext;
12196 VkBool32 supportsTextureGatherLODBiasAMD;
12197} VkTextureLODGatherFormatPropertiesAMD;
12198
12199
12200
12201// VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls.
12202#define VK_AMD_shader_info 1
12203#define VK_AMD_SHADER_INFO_SPEC_VERSION 1
12204#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
12205
12206typedef enum VkShaderInfoTypeAMD {
12207 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
12208 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
12209 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
12210 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
12211} VkShaderInfoTypeAMD;
12212typedef struct VkShaderResourceUsageAMD {
12213 uint32_t numUsedVgprs;
12214 uint32_t numUsedSgprs;
12215 uint32_t ldsSizePerLocalWorkGroup;
12216 size_t ldsUsageSizeInBytes;
12217 size_t scratchMemUsageInBytes;
12218} VkShaderResourceUsageAMD;
12219
12220typedef struct VkShaderStatisticsInfoAMD {
12221 VkShaderStageFlags shaderStageMask;
12222 VkShaderResourceUsageAMD resourceUsage;
12223 uint32_t numPhysicalVgprs;
12224 uint32_t numPhysicalSgprs;
12225 uint32_t numAvailableVgprs;
12226 uint32_t numAvailableSgprs;
12227 uint32_t computeWorkGroupSize[3];
12228} VkShaderStatisticsInfoAMD;
12229
12230typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);
12231
12232#ifndef VK_NO_PROTOTYPES
12233VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
12234 VkDevice device,
12235 VkPipeline pipeline,
12236 VkShaderStageFlagBits shaderStage,
12237 VkShaderInfoTypeAMD infoType,
12238 size_t* pInfoSize,
12239 void* pInfo);
12240#endif
12241
12242
12243// VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls.
12244#define VK_AMD_shader_image_load_store_lod 1
12245#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
12246#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
12247
12248
12249// VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls.
12250#define VK_NV_corner_sampled_image 1
12251#define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
12252#define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
12253typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
12254 VkStructureType sType;
12255 void* pNext;
12256 VkBool32 cornerSampledImage;
12257} VkPhysicalDeviceCornerSampledImageFeaturesNV;
12258
12259
12260
12261// VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls.
12262#define VK_IMG_format_pvrtc 1
12263#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
12264#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
12265
12266
12267// VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls.
12268#define VK_NV_external_memory_capabilities 1
12269#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
12270#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
12271
12272typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
12273 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
12274 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
12275 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
12276 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
12277 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12278} VkExternalMemoryHandleTypeFlagBitsNV;
12279typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
12280
12281typedef enum VkExternalMemoryFeatureFlagBitsNV {
12282 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
12283 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
12284 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
12285 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12286} VkExternalMemoryFeatureFlagBitsNV;
12287typedef VkFlags VkExternalMemoryFeatureFlagsNV;
12288typedef struct VkExternalImageFormatPropertiesNV {
12289 VkImageFormatProperties imageFormatProperties;
12290 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
12291 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
12292 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
12293} VkExternalImageFormatPropertiesNV;
12294
12295typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
12296
12297#ifndef VK_NO_PROTOTYPES
12298VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
12299 VkPhysicalDevice physicalDevice,
12300 VkFormat format,
12301 VkImageType type,
12302 VkImageTiling tiling,
12303 VkImageUsageFlags usage,
12304 VkImageCreateFlags flags,
12305 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
12306 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
12307#endif
12308
12309
12310// VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls.
12311#define VK_NV_external_memory 1
12312#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
12313#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
12314typedef struct VkExternalMemoryImageCreateInfoNV {
12315 VkStructureType sType;
12316 const void* pNext;
12317 VkExternalMemoryHandleTypeFlagsNV handleTypes;
12318} VkExternalMemoryImageCreateInfoNV;
12319
12320typedef struct VkExportMemoryAllocateInfoNV {
12321 VkStructureType sType;
12322 const void* pNext;
12323 VkExternalMemoryHandleTypeFlagsNV handleTypes;
12324} VkExportMemoryAllocateInfoNV;
12325
12326
12327
12328// VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls.
12329#define VK_EXT_validation_flags 1
12330#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3
12331#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
12332
12333typedef enum VkValidationCheckEXT {
12334 VK_VALIDATION_CHECK_ALL_EXT = 0,
12335 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
12336 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
12337} VkValidationCheckEXT;
12338typedef struct VkValidationFlagsEXT {
12339 VkStructureType sType;
12340 const void* pNext;
12341 uint32_t disabledValidationCheckCount;
12342 const VkValidationCheckEXT* pDisabledValidationChecks;
12343} VkValidationFlagsEXT;
12344
12345
12346
12347// VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls.
12348#define VK_EXT_shader_subgroup_ballot 1
12349#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
12350#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
12351
12352
12353// VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls.
12354#define VK_EXT_shader_subgroup_vote 1
12355#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
12356#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
12357
12358
12359// VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls.
12360#define VK_EXT_texture_compression_astc_hdr 1
12361#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
12362#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
12363typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
12364
12365
12366
12367// VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls.
12368#define VK_EXT_astc_decode_mode 1
12369#define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
12370#define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
12371typedef struct VkImageViewASTCDecodeModeEXT {
12372 VkStructureType sType;
12373 const void* pNext;
12374 VkFormat decodeMode;
12375} VkImageViewASTCDecodeModeEXT;
12376
12377typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
12378 VkStructureType sType;
12379 void* pNext;
12380 VkBool32 decodeModeSharedExponent;
12381} VkPhysicalDeviceASTCDecodeFeaturesEXT;
12382
12383
12384
12385// VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls.
12386#define VK_EXT_pipeline_robustness 1
12387#define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1
12388#define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness"
12389
12390typedef enum VkPipelineRobustnessBufferBehaviorEXT {
12391 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
12392 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1,
12393 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2,
12394 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3,
12395 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF
12396} VkPipelineRobustnessBufferBehaviorEXT;
12397
12398typedef enum VkPipelineRobustnessImageBehaviorEXT {
12399 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
12400 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1,
12401 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2,
12402 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3,
12403 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF
12404} VkPipelineRobustnessImageBehaviorEXT;
12405typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT {
12406 VkStructureType sType;
12407 void* pNext;
12408 VkBool32 pipelineRobustness;
12409} VkPhysicalDevicePipelineRobustnessFeaturesEXT;
12410
12411typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT {
12412 VkStructureType sType;
12413 void* pNext;
12414 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers;
12415 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers;
12416 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs;
12417 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages;
12418} VkPhysicalDevicePipelineRobustnessPropertiesEXT;
12419
12420typedef struct VkPipelineRobustnessCreateInfoEXT {
12421 VkStructureType sType;
12422 const void* pNext;
12423 VkPipelineRobustnessBufferBehaviorEXT storageBuffers;
12424 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers;
12425 VkPipelineRobustnessBufferBehaviorEXT vertexInputs;
12426 VkPipelineRobustnessImageBehaviorEXT images;
12427} VkPipelineRobustnessCreateInfoEXT;
12428
12429
12430
12431// VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls.
12432#define VK_EXT_conditional_rendering 1
12433#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
12434#define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
12435
12436typedef enum VkConditionalRenderingFlagBitsEXT {
12437 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
12438 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12439} VkConditionalRenderingFlagBitsEXT;
12440typedef VkFlags VkConditionalRenderingFlagsEXT;
12441typedef struct VkConditionalRenderingBeginInfoEXT {
12442 VkStructureType sType;
12443 const void* pNext;
12444 VkBuffer buffer;
12445 VkDeviceSize offset;
12446 VkConditionalRenderingFlagsEXT flags;
12447} VkConditionalRenderingBeginInfoEXT;
12448
12449typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
12450 VkStructureType sType;
12451 void* pNext;
12452 VkBool32 conditionalRendering;
12453 VkBool32 inheritedConditionalRendering;
12454} VkPhysicalDeviceConditionalRenderingFeaturesEXT;
12455
12456typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
12457 VkStructureType sType;
12458 const void* pNext;
12459 VkBool32 conditionalRenderingEnable;
12460} VkCommandBufferInheritanceConditionalRenderingInfoEXT;
12461
12462typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
12463typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
12464
12465#ifndef VK_NO_PROTOTYPES
12466VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
12467 VkCommandBuffer commandBuffer,
12468 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
12469
12470VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
12471 VkCommandBuffer commandBuffer);
12472#endif
12473
12474
12475// VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls.
12476#define VK_NV_clip_space_w_scaling 1
12477#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
12478#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
12479typedef struct VkViewportWScalingNV {
12480 float xcoeff;
12481 float ycoeff;
12482} VkViewportWScalingNV;
12483
12484typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
12485 VkStructureType sType;
12486 const void* pNext;
12487 VkBool32 viewportWScalingEnable;
12488 uint32_t viewportCount;
12489 const VkViewportWScalingNV* pViewportWScalings;
12490} VkPipelineViewportWScalingStateCreateInfoNV;
12491
12492typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);
12493
12494#ifndef VK_NO_PROTOTYPES
12495VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
12496 VkCommandBuffer commandBuffer,
12497 uint32_t firstViewport,
12498 uint32_t viewportCount,
12499 const VkViewportWScalingNV* pViewportWScalings);
12500#endif
12501
12502
12503// VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls.
12504#define VK_EXT_direct_mode_display 1
12505#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
12506#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
12507typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
12508
12509#ifndef VK_NO_PROTOTYPES
12510VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
12511 VkPhysicalDevice physicalDevice,
12512 VkDisplayKHR display);
12513#endif
12514
12515
12516// VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls.
12517#define VK_EXT_display_surface_counter 1
12518#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
12519#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
12520
12521typedef enum VkSurfaceCounterFlagBitsEXT {
12522 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
12523 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
12524 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12525} VkSurfaceCounterFlagBitsEXT;
12526typedef VkFlags VkSurfaceCounterFlagsEXT;
12527typedef struct VkSurfaceCapabilities2EXT {
12528 VkStructureType sType;
12529 void* pNext;
12530 uint32_t minImageCount;
12531 uint32_t maxImageCount;
12532 VkExtent2D currentExtent;
12533 VkExtent2D minImageExtent;
12534 VkExtent2D maxImageExtent;
12535 uint32_t maxImageArrayLayers;
12536 VkSurfaceTransformFlagsKHR supportedTransforms;
12537 VkSurfaceTransformFlagBitsKHR currentTransform;
12538 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
12539 VkImageUsageFlags supportedUsageFlags;
12540 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
12541} VkSurfaceCapabilities2EXT;
12542
12543typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
12544
12545#ifndef VK_NO_PROTOTYPES
12546VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
12547 VkPhysicalDevice physicalDevice,
12548 VkSurfaceKHR surface,
12549 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
12550#endif
12551
12552
12553// VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls.
12554#define VK_EXT_display_control 1
12555#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
12556#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
12557
12558typedef enum VkDisplayPowerStateEXT {
12559 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
12560 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
12561 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
12562 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
12563} VkDisplayPowerStateEXT;
12564
12565typedef enum VkDeviceEventTypeEXT {
12566 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
12567 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12568} VkDeviceEventTypeEXT;
12569
12570typedef enum VkDisplayEventTypeEXT {
12571 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
12572 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12573} VkDisplayEventTypeEXT;
12574typedef struct VkDisplayPowerInfoEXT {
12575 VkStructureType sType;
12576 const void* pNext;
12577 VkDisplayPowerStateEXT powerState;
12578} VkDisplayPowerInfoEXT;
12579
12580typedef struct VkDeviceEventInfoEXT {
12581 VkStructureType sType;
12582 const void* pNext;
12583 VkDeviceEventTypeEXT deviceEvent;
12584} VkDeviceEventInfoEXT;
12585
12586typedef struct VkDisplayEventInfoEXT {
12587 VkStructureType sType;
12588 const void* pNext;
12589 VkDisplayEventTypeEXT displayEvent;
12590} VkDisplayEventInfoEXT;
12591
12592typedef struct VkSwapchainCounterCreateInfoEXT {
12593 VkStructureType sType;
12594 const void* pNext;
12595 VkSurfaceCounterFlagsEXT surfaceCounters;
12596} VkSwapchainCounterCreateInfoEXT;
12597
12598typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
12599typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
12600typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
12601typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);
12602
12603#ifndef VK_NO_PROTOTYPES
12604VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
12605 VkDevice device,
12606 VkDisplayKHR display,
12607 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
12608
12609VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
12610 VkDevice device,
12611 const VkDeviceEventInfoEXT* pDeviceEventInfo,
12612 const VkAllocationCallbacks* pAllocator,
12613 VkFence* pFence);
12614
12615VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
12616 VkDevice device,
12617 VkDisplayKHR display,
12618 const VkDisplayEventInfoEXT* pDisplayEventInfo,
12619 const VkAllocationCallbacks* pAllocator,
12620 VkFence* pFence);
12621
12622VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
12623 VkDevice device,
12624 VkSwapchainKHR swapchain,
12625 VkSurfaceCounterFlagBitsEXT counter,
12626 uint64_t* pCounterValue);
12627#endif
12628
12629
12630// VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls.
12631#define VK_GOOGLE_display_timing 1
12632#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
12633#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
12634typedef struct VkRefreshCycleDurationGOOGLE {
12635 uint64_t refreshDuration;
12636} VkRefreshCycleDurationGOOGLE;
12637
12638typedef struct VkPastPresentationTimingGOOGLE {
12639 uint32_t presentID;
12640 uint64_t desiredPresentTime;
12641 uint64_t actualPresentTime;
12642 uint64_t earliestPresentTime;
12643 uint64_t presentMargin;
12644} VkPastPresentationTimingGOOGLE;
12645
12646typedef struct VkPresentTimeGOOGLE {
12647 uint32_t presentID;
12648 uint64_t desiredPresentTime;
12649} VkPresentTimeGOOGLE;
12650
12651typedef struct VkPresentTimesInfoGOOGLE {
12652 VkStructureType sType;
12653 const void* pNext;
12654 uint32_t swapchainCount;
12655 const VkPresentTimeGOOGLE* pTimes;
12656} VkPresentTimesInfoGOOGLE;
12657
12658typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
12659typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
12660
12661#ifndef VK_NO_PROTOTYPES
12662VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
12663 VkDevice device,
12664 VkSwapchainKHR swapchain,
12665 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
12666
12667VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
12668 VkDevice device,
12669 VkSwapchainKHR swapchain,
12670 uint32_t* pPresentationTimingCount,
12671 VkPastPresentationTimingGOOGLE* pPresentationTimings);
12672#endif
12673
12674
12675// VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls.
12676#define VK_NV_sample_mask_override_coverage 1
12677#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
12678#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
12679
12680
12681// VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls.
12682#define VK_NV_geometry_shader_passthrough 1
12683#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
12684#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
12685
12686
12687// VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls.
12688#define VK_NV_viewport_array2 1
12689#define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1
12690#define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2"
12691#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
12692#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
12693
12694
12695// VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls.
12696#define VK_NVX_multiview_per_view_attributes 1
12697#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
12698#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
12699typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
12700 VkStructureType sType;
12701 void* pNext;
12702 VkBool32 perViewPositionAllComponents;
12703} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
12704
12705
12706
12707// VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls.
12708#define VK_NV_viewport_swizzle 1
12709#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
12710#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
12711
12712typedef enum VkViewportCoordinateSwizzleNV {
12713 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
12714 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
12715 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
12716 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
12717 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
12718 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
12719 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
12720 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
12721 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
12722} VkViewportCoordinateSwizzleNV;
12723typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
12724typedef struct VkViewportSwizzleNV {
12725 VkViewportCoordinateSwizzleNV x;
12726 VkViewportCoordinateSwizzleNV y;
12727 VkViewportCoordinateSwizzleNV z;
12728 VkViewportCoordinateSwizzleNV w;
12729} VkViewportSwizzleNV;
12730
12731typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
12732 VkStructureType sType;
12733 const void* pNext;
12734 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
12735 uint32_t viewportCount;
12736 const VkViewportSwizzleNV* pViewportSwizzles;
12737} VkPipelineViewportSwizzleStateCreateInfoNV;
12738
12739
12740
12741// VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls.
12742#define VK_EXT_discard_rectangles 1
12743#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2
12744#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
12745
12746typedef enum VkDiscardRectangleModeEXT {
12747 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
12748 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
12749 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12750} VkDiscardRectangleModeEXT;
12751typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
12752typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
12753 VkStructureType sType;
12754 void* pNext;
12755 uint32_t maxDiscardRectangles;
12756} VkPhysicalDeviceDiscardRectanglePropertiesEXT;
12757
12758typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
12759 VkStructureType sType;
12760 const void* pNext;
12761 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
12762 VkDiscardRectangleModeEXT discardRectangleMode;
12763 uint32_t discardRectangleCount;
12764 const VkRect2D* pDiscardRectangles;
12765} VkPipelineDiscardRectangleStateCreateInfoEXT;
12766
12767typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);
12768typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable);
12769typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode);
12770
12771#ifndef VK_NO_PROTOTYPES
12772VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
12773 VkCommandBuffer commandBuffer,
12774 uint32_t firstDiscardRectangle,
12775 uint32_t discardRectangleCount,
12776 const VkRect2D* pDiscardRectangles);
12777
12778VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT(
12779 VkCommandBuffer commandBuffer,
12780 VkBool32 discardRectangleEnable);
12781
12782VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT(
12783 VkCommandBuffer commandBuffer,
12784 VkDiscardRectangleModeEXT discardRectangleMode);
12785#endif
12786
12787
12788// VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls.
12789#define VK_EXT_conservative_rasterization 1
12790#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
12791#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
12792
12793typedef enum VkConservativeRasterizationModeEXT {
12794 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
12795 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
12796 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
12797 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12798} VkConservativeRasterizationModeEXT;
12799typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
12800typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
12801 VkStructureType sType;
12802 void* pNext;
12803 float primitiveOverestimationSize;
12804 float maxExtraPrimitiveOverestimationSize;
12805 float extraPrimitiveOverestimationSizeGranularity;
12806 VkBool32 primitiveUnderestimation;
12807 VkBool32 conservativePointAndLineRasterization;
12808 VkBool32 degenerateTrianglesRasterized;
12809 VkBool32 degenerateLinesRasterized;
12810 VkBool32 fullyCoveredFragmentShaderInputVariable;
12811 VkBool32 conservativeRasterizationPostDepthCoverage;
12812} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
12813
12814typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
12815 VkStructureType sType;
12816 const void* pNext;
12817 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
12818 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
12819 float extraPrimitiveOverestimationSize;
12820} VkPipelineRasterizationConservativeStateCreateInfoEXT;
12821
12822
12823
12824// VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls.
12825#define VK_EXT_depth_clip_enable 1
12826#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
12827#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
12828typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
12829typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
12830 VkStructureType sType;
12831 void* pNext;
12832 VkBool32 depthClipEnable;
12833} VkPhysicalDeviceDepthClipEnableFeaturesEXT;
12834
12835typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
12836 VkStructureType sType;
12837 const void* pNext;
12838 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
12839 VkBool32 depthClipEnable;
12840} VkPipelineRasterizationDepthClipStateCreateInfoEXT;
12841
12842
12843
12844// VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls.
12845#define VK_EXT_swapchain_colorspace 1
12846#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
12847#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
12848
12849
12850// VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls.
12851#define VK_EXT_hdr_metadata 1
12852#define VK_EXT_HDR_METADATA_SPEC_VERSION 2
12853#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
12854typedef struct VkXYColorEXT {
12855 float x;
12856 float y;
12857} VkXYColorEXT;
12858
12859typedef struct VkHdrMetadataEXT {
12860 VkStructureType sType;
12861 const void* pNext;
12862 VkXYColorEXT displayPrimaryRed;
12863 VkXYColorEXT displayPrimaryGreen;
12864 VkXYColorEXT displayPrimaryBlue;
12865 VkXYColorEXT whitePoint;
12866 float maxLuminance;
12867 float minLuminance;
12868 float maxContentLightLevel;
12869 float maxFrameAverageLightLevel;
12870} VkHdrMetadataEXT;
12871
12872typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
12873
12874#ifndef VK_NO_PROTOTYPES
12875VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
12876 VkDevice device,
12877 uint32_t swapchainCount,
12878 const VkSwapchainKHR* pSwapchains,
12879 const VkHdrMetadataEXT* pMetadata);
12880#endif
12881
12882
12883// VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls.
12884#define VK_IMG_relaxed_line_rasterization 1
12885#define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1
12886#define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization"
12887typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
12888 VkStructureType sType;
12889 void* pNext;
12890 VkBool32 relaxedLineRasterization;
12891} VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG;
12892
12893
12894
12895// VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls.
12896#define VK_EXT_external_memory_dma_buf 1
12897#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
12898#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
12899
12900
12901// VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls.
12902#define VK_EXT_queue_family_foreign 1
12903#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
12904#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
12905#define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
12906
12907
12908// VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls.
12909#define VK_EXT_debug_utils 1
12910VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
12911#define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
12912#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
12913typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
12914
12915typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
12916 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
12917 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
12918 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
12919 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
12920 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12921} VkDebugUtilsMessageSeverityFlagBitsEXT;
12922
12923typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
12924 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
12925 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
12926 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
12927 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008,
12928 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12929} VkDebugUtilsMessageTypeFlagBitsEXT;
12930typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
12931typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
12932typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
12933typedef struct VkDebugUtilsLabelEXT {
12934 VkStructureType sType;
12935 const void* pNext;
12936 const char* pLabelName;
12937 float color[4];
12938} VkDebugUtilsLabelEXT;
12939
12940typedef struct VkDebugUtilsObjectNameInfoEXT {
12941 VkStructureType sType;
12942 const void* pNext;
12943 VkObjectType objectType;
12944 uint64_t objectHandle;
12945 const char* pObjectName;
12946} VkDebugUtilsObjectNameInfoEXT;
12947
12948typedef struct VkDebugUtilsMessengerCallbackDataEXT {
12949 VkStructureType sType;
12950 const void* pNext;
12951 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
12952 const char* pMessageIdName;
12953 int32_t messageIdNumber;
12954 const char* pMessage;
12955 uint32_t queueLabelCount;
12956 const VkDebugUtilsLabelEXT* pQueueLabels;
12957 uint32_t cmdBufLabelCount;
12958 const VkDebugUtilsLabelEXT* pCmdBufLabels;
12959 uint32_t objectCount;
12960 const VkDebugUtilsObjectNameInfoEXT* pObjects;
12961} VkDebugUtilsMessengerCallbackDataEXT;
12962
12963typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
12964 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
12965 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
12966 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
12967 void* pUserData);
12968
12969typedef struct VkDebugUtilsMessengerCreateInfoEXT {
12970 VkStructureType sType;
12971 const void* pNext;
12972 VkDebugUtilsMessengerCreateFlagsEXT flags;
12973 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
12974 VkDebugUtilsMessageTypeFlagsEXT messageType;
12975 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
12976 void* pUserData;
12977} VkDebugUtilsMessengerCreateInfoEXT;
12978
12979typedef struct VkDebugUtilsObjectTagInfoEXT {
12980 VkStructureType sType;
12981 const void* pNext;
12982 VkObjectType objectType;
12983 uint64_t objectHandle;
12984 uint64_t tagName;
12985 size_t tagSize;
12986 const void* pTag;
12987} VkDebugUtilsObjectTagInfoEXT;
12988
12989typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
12990typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
12991typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
12992typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
12993typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
12994typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
12995typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
12996typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
12997typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
12998typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
12999typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
13000
13001#ifndef VK_NO_PROTOTYPES
13002VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
13003 VkDevice device,
13004 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
13005
13006VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
13007 VkDevice device,
13008 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
13009
13010VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
13011 VkQueue queue,
13012 const VkDebugUtilsLabelEXT* pLabelInfo);
13013
13014VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
13015 VkQueue queue);
13016
13017VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
13018 VkQueue queue,
13019 const VkDebugUtilsLabelEXT* pLabelInfo);
13020
13021VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
13022 VkCommandBuffer commandBuffer,
13023 const VkDebugUtilsLabelEXT* pLabelInfo);
13024
13025VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
13026 VkCommandBuffer commandBuffer);
13027
13028VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
13029 VkCommandBuffer commandBuffer,
13030 const VkDebugUtilsLabelEXT* pLabelInfo);
13031
13032VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
13033 VkInstance instance,
13034 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
13035 const VkAllocationCallbacks* pAllocator,
13036 VkDebugUtilsMessengerEXT* pMessenger);
13037
13038VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
13039 VkInstance instance,
13040 VkDebugUtilsMessengerEXT messenger,
13041 const VkAllocationCallbacks* pAllocator);
13042
13043VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
13044 VkInstance instance,
13045 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
13046 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
13047 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
13048#endif
13049
13050
13051// VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls.
13052#define VK_EXT_sampler_filter_minmax 1
13053#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
13054#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
13055typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
13056
13057typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
13058
13059typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
13060
13061
13062
13063// VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls.
13064#define VK_AMD_gpu_shader_int16 1
13065#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
13066#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
13067
13068
13069// VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls.
13070#define VK_AMD_mixed_attachment_samples 1
13071#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
13072#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
13073
13074
13075// VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls.
13076#define VK_AMD_shader_fragment_mask 1
13077#define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
13078#define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
13079
13080
13081// VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls.
13082#define VK_EXT_inline_uniform_block 1
13083#define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
13084#define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
13085typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
13086
13087typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
13088
13089typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT;
13090
13091typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
13092
13093
13094
13095// VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls.
13096#define VK_EXT_shader_stencil_export 1
13097#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
13098#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
13099
13100
13101// VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls.
13102#define VK_EXT_sample_locations 1
13103#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
13104#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
13105typedef struct VkSampleLocationEXT {
13106 float x;
13107 float y;
13108} VkSampleLocationEXT;
13109
13110typedef struct VkSampleLocationsInfoEXT {
13111 VkStructureType sType;
13112 const void* pNext;
13113 VkSampleCountFlagBits sampleLocationsPerPixel;
13114 VkExtent2D sampleLocationGridSize;
13115 uint32_t sampleLocationsCount;
13116 const VkSampleLocationEXT* pSampleLocations;
13117} VkSampleLocationsInfoEXT;
13118
13119typedef struct VkAttachmentSampleLocationsEXT {
13120 uint32_t attachmentIndex;
13121 VkSampleLocationsInfoEXT sampleLocationsInfo;
13122} VkAttachmentSampleLocationsEXT;
13123
13124typedef struct VkSubpassSampleLocationsEXT {
13125 uint32_t subpassIndex;
13126 VkSampleLocationsInfoEXT sampleLocationsInfo;
13127} VkSubpassSampleLocationsEXT;
13128
13129typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
13130 VkStructureType sType;
13131 const void* pNext;
13132 uint32_t attachmentInitialSampleLocationsCount;
13133 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
13134 uint32_t postSubpassSampleLocationsCount;
13135 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
13136} VkRenderPassSampleLocationsBeginInfoEXT;
13137
13138typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
13139 VkStructureType sType;
13140 const void* pNext;
13141 VkBool32 sampleLocationsEnable;
13142 VkSampleLocationsInfoEXT sampleLocationsInfo;
13143} VkPipelineSampleLocationsStateCreateInfoEXT;
13144
13145typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
13146 VkStructureType sType;
13147 void* pNext;
13148 VkSampleCountFlags sampleLocationSampleCounts;
13149 VkExtent2D maxSampleLocationGridSize;
13150 float sampleLocationCoordinateRange[2];
13151 uint32_t sampleLocationSubPixelBits;
13152 VkBool32 variableSampleLocations;
13153} VkPhysicalDeviceSampleLocationsPropertiesEXT;
13154
13155typedef struct VkMultisamplePropertiesEXT {
13156 VkStructureType sType;
13157 void* pNext;
13158 VkExtent2D maxSampleLocationGridSize;
13159} VkMultisamplePropertiesEXT;
13160
13161typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
13162typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
13163
13164#ifndef VK_NO_PROTOTYPES
13165VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
13166 VkCommandBuffer commandBuffer,
13167 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
13168
13169VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
13170 VkPhysicalDevice physicalDevice,
13171 VkSampleCountFlagBits samples,
13172 VkMultisamplePropertiesEXT* pMultisampleProperties);
13173#endif
13174
13175
13176// VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls.
13177#define VK_EXT_blend_operation_advanced 1
13178#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
13179#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
13180
13181typedef enum VkBlendOverlapEXT {
13182 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
13183 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
13184 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
13185 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
13186} VkBlendOverlapEXT;
13187typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13188 VkStructureType sType;
13189 void* pNext;
13190 VkBool32 advancedBlendCoherentOperations;
13191} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
13192
13193typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13194 VkStructureType sType;
13195 void* pNext;
13196 uint32_t advancedBlendMaxColorAttachments;
13197 VkBool32 advancedBlendIndependentBlend;
13198 VkBool32 advancedBlendNonPremultipliedSrcColor;
13199 VkBool32 advancedBlendNonPremultipliedDstColor;
13200 VkBool32 advancedBlendCorrelatedOverlap;
13201 VkBool32 advancedBlendAllOperations;
13202} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
13203
13204typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
13205 VkStructureType sType;
13206 const void* pNext;
13207 VkBool32 srcPremultiplied;
13208 VkBool32 dstPremultiplied;
13209 VkBlendOverlapEXT blendOverlap;
13210} VkPipelineColorBlendAdvancedStateCreateInfoEXT;
13211
13212
13213
13214// VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls.
13215#define VK_NV_fragment_coverage_to_color 1
13216#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
13217#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
13218typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
13219typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
13220 VkStructureType sType;
13221 const void* pNext;
13222 VkPipelineCoverageToColorStateCreateFlagsNV flags;
13223 VkBool32 coverageToColorEnable;
13224 uint32_t coverageToColorLocation;
13225} VkPipelineCoverageToColorStateCreateInfoNV;
13226
13227
13228
13229// VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls.
13230#define VK_NV_framebuffer_mixed_samples 1
13231#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
13232#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
13233
13234typedef enum VkCoverageModulationModeNV {
13235 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
13236 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
13237 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
13238 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
13239 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
13240} VkCoverageModulationModeNV;
13241typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
13242typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
13243 VkStructureType sType;
13244 const void* pNext;
13245 VkPipelineCoverageModulationStateCreateFlagsNV flags;
13246 VkCoverageModulationModeNV coverageModulationMode;
13247 VkBool32 coverageModulationTableEnable;
13248 uint32_t coverageModulationTableCount;
13249 const float* pCoverageModulationTable;
13250} VkPipelineCoverageModulationStateCreateInfoNV;
13251
13252
13253
13254// VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls.
13255#define VK_NV_fill_rectangle 1
13256#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
13257#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
13258
13259
13260// VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls.
13261#define VK_NV_shader_sm_builtins 1
13262#define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
13263#define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
13264typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
13265 VkStructureType sType;
13266 void* pNext;
13267 uint32_t shaderSMCount;
13268 uint32_t shaderWarpsPerSM;
13269} VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
13270
13271typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
13272 VkStructureType sType;
13273 void* pNext;
13274 VkBool32 shaderSMBuiltins;
13275} VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
13276
13277
13278
13279// VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls.
13280#define VK_EXT_post_depth_coverage 1
13281#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
13282#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
13283
13284
13285// VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls.
13286#define VK_EXT_image_drm_format_modifier 1
13287#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2
13288#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
13289typedef struct VkDrmFormatModifierPropertiesEXT {
13290 uint64_t drmFormatModifier;
13291 uint32_t drmFormatModifierPlaneCount;
13292 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
13293} VkDrmFormatModifierPropertiesEXT;
13294
13295typedef struct VkDrmFormatModifierPropertiesListEXT {
13296 VkStructureType sType;
13297 void* pNext;
13298 uint32_t drmFormatModifierCount;
13299 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
13300} VkDrmFormatModifierPropertiesListEXT;
13301
13302typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
13303 VkStructureType sType;
13304 const void* pNext;
13305 uint64_t drmFormatModifier;
13306 VkSharingMode sharingMode;
13307 uint32_t queueFamilyIndexCount;
13308 const uint32_t* pQueueFamilyIndices;
13309} VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
13310
13311typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
13312 VkStructureType sType;
13313 const void* pNext;
13314 uint32_t drmFormatModifierCount;
13315 const uint64_t* pDrmFormatModifiers;
13316} VkImageDrmFormatModifierListCreateInfoEXT;
13317
13318typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
13319 VkStructureType sType;
13320 const void* pNext;
13321 uint64_t drmFormatModifier;
13322 uint32_t drmFormatModifierPlaneCount;
13323 const VkSubresourceLayout* pPlaneLayouts;
13324} VkImageDrmFormatModifierExplicitCreateInfoEXT;
13325
13326typedef struct VkImageDrmFormatModifierPropertiesEXT {
13327 VkStructureType sType;
13328 void* pNext;
13329 uint64_t drmFormatModifier;
13330} VkImageDrmFormatModifierPropertiesEXT;
13331
13332typedef struct VkDrmFormatModifierProperties2EXT {
13333 uint64_t drmFormatModifier;
13334 uint32_t drmFormatModifierPlaneCount;
13335 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
13336} VkDrmFormatModifierProperties2EXT;
13337
13338typedef struct VkDrmFormatModifierPropertiesList2EXT {
13339 VkStructureType sType;
13340 void* pNext;
13341 uint32_t drmFormatModifierCount;
13342 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties;
13343} VkDrmFormatModifierPropertiesList2EXT;
13344
13345typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
13346
13347#ifndef VK_NO_PROTOTYPES
13348VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
13349 VkDevice device,
13350 VkImage image,
13351 VkImageDrmFormatModifierPropertiesEXT* pProperties);
13352#endif
13353
13354
13355// VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls.
13356#define VK_EXT_validation_cache 1
13357VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
13358#define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
13359#define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
13360
13361typedef enum VkValidationCacheHeaderVersionEXT {
13362 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
13363 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
13364} VkValidationCacheHeaderVersionEXT;
13365typedef VkFlags VkValidationCacheCreateFlagsEXT;
13366typedef struct VkValidationCacheCreateInfoEXT {
13367 VkStructureType sType;
13368 const void* pNext;
13369 VkValidationCacheCreateFlagsEXT flags;
13370 size_t initialDataSize;
13371 const void* pInitialData;
13372} VkValidationCacheCreateInfoEXT;
13373
13374typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
13375 VkStructureType sType;
13376 const void* pNext;
13377 VkValidationCacheEXT validationCache;
13378} VkShaderModuleValidationCacheCreateInfoEXT;
13379
13380typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
13381typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
13382typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
13383typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);
13384
13385#ifndef VK_NO_PROTOTYPES
13386VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
13387 VkDevice device,
13388 const VkValidationCacheCreateInfoEXT* pCreateInfo,
13389 const VkAllocationCallbacks* pAllocator,
13390 VkValidationCacheEXT* pValidationCache);
13391
13392VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
13393 VkDevice device,
13394 VkValidationCacheEXT validationCache,
13395 const VkAllocationCallbacks* pAllocator);
13396
13397VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
13398 VkDevice device,
13399 VkValidationCacheEXT dstCache,
13400 uint32_t srcCacheCount,
13401 const VkValidationCacheEXT* pSrcCaches);
13402
13403VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
13404 VkDevice device,
13405 VkValidationCacheEXT validationCache,
13406 size_t* pDataSize,
13407 void* pData);
13408#endif
13409
13410
13411// VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls.
13412#define VK_EXT_descriptor_indexing 1
13413#define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
13414#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
13415typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
13416
13417typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
13418
13419typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
13420
13421typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
13422
13423typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
13424
13425typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
13426
13427typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
13428
13429
13430
13431// VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls.
13432#define VK_EXT_shader_viewport_index_layer 1
13433#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
13434#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
13435
13436
13437// VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls.
13438#define VK_NV_shading_rate_image 1
13439#define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
13440#define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
13441
13442typedef enum VkShadingRatePaletteEntryNV {
13443 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
13444 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
13445 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
13446 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
13447 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
13448 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
13449 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
13450 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
13451 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
13452 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
13453 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
13454 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
13455 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
13456} VkShadingRatePaletteEntryNV;
13457
13458typedef enum VkCoarseSampleOrderTypeNV {
13459 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
13460 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
13461 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
13462 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
13463 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13464} VkCoarseSampleOrderTypeNV;
13465typedef struct VkShadingRatePaletteNV {
13466 uint32_t shadingRatePaletteEntryCount;
13467 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
13468} VkShadingRatePaletteNV;
13469
13470typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
13471 VkStructureType sType;
13472 const void* pNext;
13473 VkBool32 shadingRateImageEnable;
13474 uint32_t viewportCount;
13475 const VkShadingRatePaletteNV* pShadingRatePalettes;
13476} VkPipelineViewportShadingRateImageStateCreateInfoNV;
13477
13478typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
13479 VkStructureType sType;
13480 void* pNext;
13481 VkBool32 shadingRateImage;
13482 VkBool32 shadingRateCoarseSampleOrder;
13483} VkPhysicalDeviceShadingRateImageFeaturesNV;
13484
13485typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
13486 VkStructureType sType;
13487 void* pNext;
13488 VkExtent2D shadingRateTexelSize;
13489 uint32_t shadingRatePaletteSize;
13490 uint32_t shadingRateMaxCoarseSamples;
13491} VkPhysicalDeviceShadingRateImagePropertiesNV;
13492
13493typedef struct VkCoarseSampleLocationNV {
13494 uint32_t pixelX;
13495 uint32_t pixelY;
13496 uint32_t sample;
13497} VkCoarseSampleLocationNV;
13498
13499typedef struct VkCoarseSampleOrderCustomNV {
13500 VkShadingRatePaletteEntryNV shadingRate;
13501 uint32_t sampleCount;
13502 uint32_t sampleLocationCount;
13503 const VkCoarseSampleLocationNV* pSampleLocations;
13504} VkCoarseSampleOrderCustomNV;
13505
13506typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
13507 VkStructureType sType;
13508 const void* pNext;
13509 VkCoarseSampleOrderTypeNV sampleOrderType;
13510 uint32_t customSampleOrderCount;
13511 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
13512} VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
13513
13514typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
13515typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
13516typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
13517
13518#ifndef VK_NO_PROTOTYPES
13519VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
13520 VkCommandBuffer commandBuffer,
13521 VkImageView imageView,
13522 VkImageLayout imageLayout);
13523
13524VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
13525 VkCommandBuffer commandBuffer,
13526 uint32_t firstViewport,
13527 uint32_t viewportCount,
13528 const VkShadingRatePaletteNV* pShadingRatePalettes);
13529
13530VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
13531 VkCommandBuffer commandBuffer,
13532 VkCoarseSampleOrderTypeNV sampleOrderType,
13533 uint32_t customSampleOrderCount,
13534 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
13535#endif
13536
13537
13538// VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls.
13539#define VK_NV_ray_tracing 1
13540VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
13541#define VK_NV_RAY_TRACING_SPEC_VERSION 3
13542#define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
13543#define VK_SHADER_UNUSED_KHR (~0U)
13544#define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
13545
13546typedef enum VkRayTracingShaderGroupTypeKHR {
13547 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
13548 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
13549 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
13550 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
13551 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
13552 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
13553 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13554} VkRayTracingShaderGroupTypeKHR;
13555typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
13556
13557
13558typedef enum VkGeometryTypeKHR {
13559 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
13560 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
13561 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
13562 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
13563 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
13564 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13565} VkGeometryTypeKHR;
13566typedef VkGeometryTypeKHR VkGeometryTypeNV;
13567
13568
13569typedef enum VkAccelerationStructureTypeKHR {
13570 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
13571 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
13572 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
13573 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
13574 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
13575 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13576} VkAccelerationStructureTypeKHR;
13577typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
13578
13579
13580typedef enum VkCopyAccelerationStructureModeKHR {
13581 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
13582 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
13583 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
13584 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
13585 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
13586 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
13587 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13588} VkCopyAccelerationStructureModeKHR;
13589typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
13590
13591
13592typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
13593 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
13594 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
13595 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
13596 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13597} VkAccelerationStructureMemoryRequirementsTypeNV;
13598
13599typedef enum VkGeometryFlagBitsKHR {
13600 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
13601 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
13602 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
13603 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
13604 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13605} VkGeometryFlagBitsKHR;
13606typedef VkFlags VkGeometryFlagsKHR;
13607typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
13608
13609typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
13610
13611
13612typedef enum VkGeometryInstanceFlagBitsKHR {
13613 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
13614 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
13615 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
13616 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
13617 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010,
13618 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020,
13619 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
13620 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
13621 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
13622 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
13623 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
13624 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13625} VkGeometryInstanceFlagBitsKHR;
13626typedef VkFlags VkGeometryInstanceFlagsKHR;
13627typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
13628
13629typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
13630
13631
13632typedef enum VkBuildAccelerationStructureFlagBitsKHR {
13633 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
13634 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
13635 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
13636 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
13637 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
13638 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
13639 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040,
13640 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080,
13641 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100,
13642#ifdef VK_ENABLE_BETA_EXTENSIONS
13643 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200,
13644#endif
13645 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800,
13646 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
13647 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
13648 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
13649 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
13650 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
13651 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13652} VkBuildAccelerationStructureFlagBitsKHR;
13653typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
13654typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
13655
13656typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
13657
13658typedef struct VkRayTracingShaderGroupCreateInfoNV {
13659 VkStructureType sType;
13660 const void* pNext;
13661 VkRayTracingShaderGroupTypeKHR type;
13662 uint32_t generalShader;
13663 uint32_t closestHitShader;
13664 uint32_t anyHitShader;
13665 uint32_t intersectionShader;
13666} VkRayTracingShaderGroupCreateInfoNV;
13667
13668typedef struct VkRayTracingPipelineCreateInfoNV {
13669 VkStructureType sType;
13670 const void* pNext;
13671 VkPipelineCreateFlags flags;
13672 uint32_t stageCount;
13673 const VkPipelineShaderStageCreateInfo* pStages;
13674 uint32_t groupCount;
13675 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
13676 uint32_t maxRecursionDepth;
13677 VkPipelineLayout layout;
13678 VkPipeline basePipelineHandle;
13679 int32_t basePipelineIndex;
13680} VkRayTracingPipelineCreateInfoNV;
13681
13682typedef struct VkGeometryTrianglesNV {
13683 VkStructureType sType;
13684 const void* pNext;
13685 VkBuffer vertexData;
13686 VkDeviceSize vertexOffset;
13687 uint32_t vertexCount;
13688 VkDeviceSize vertexStride;
13689 VkFormat vertexFormat;
13690 VkBuffer indexData;
13691 VkDeviceSize indexOffset;
13692 uint32_t indexCount;
13693 VkIndexType indexType;
13694 VkBuffer transformData;
13695 VkDeviceSize transformOffset;
13696} VkGeometryTrianglesNV;
13697
13698typedef struct VkGeometryAABBNV {
13699 VkStructureType sType;
13700 const void* pNext;
13701 VkBuffer aabbData;
13702 uint32_t numAABBs;
13703 uint32_t stride;
13704 VkDeviceSize offset;
13705} VkGeometryAABBNV;
13706
13707typedef struct VkGeometryDataNV {
13708 VkGeometryTrianglesNV triangles;
13709 VkGeometryAABBNV aabbs;
13710} VkGeometryDataNV;
13711
13712typedef struct VkGeometryNV {
13713 VkStructureType sType;
13714 const void* pNext;
13715 VkGeometryTypeKHR geometryType;
13716 VkGeometryDataNV geometry;
13717 VkGeometryFlagsKHR flags;
13718} VkGeometryNV;
13719
13720typedef struct VkAccelerationStructureInfoNV {
13721 VkStructureType sType;
13722 const void* pNext;
13723 VkAccelerationStructureTypeNV type;
13724 VkBuildAccelerationStructureFlagsNV flags;
13725 uint32_t instanceCount;
13726 uint32_t geometryCount;
13727 const VkGeometryNV* pGeometries;
13728} VkAccelerationStructureInfoNV;
13729
13730typedef struct VkAccelerationStructureCreateInfoNV {
13731 VkStructureType sType;
13732 const void* pNext;
13733 VkDeviceSize compactedSize;
13734 VkAccelerationStructureInfoNV info;
13735} VkAccelerationStructureCreateInfoNV;
13736
13737typedef struct VkBindAccelerationStructureMemoryInfoNV {
13738 VkStructureType sType;
13739 const void* pNext;
13740 VkAccelerationStructureNV accelerationStructure;
13741 VkDeviceMemory memory;
13742 VkDeviceSize memoryOffset;
13743 uint32_t deviceIndexCount;
13744 const uint32_t* pDeviceIndices;
13745} VkBindAccelerationStructureMemoryInfoNV;
13746
13747typedef struct VkWriteDescriptorSetAccelerationStructureNV {
13748 VkStructureType sType;
13749 const void* pNext;
13750 uint32_t accelerationStructureCount;
13751 const VkAccelerationStructureNV* pAccelerationStructures;
13752} VkWriteDescriptorSetAccelerationStructureNV;
13753
13754typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
13755 VkStructureType sType;
13756 const void* pNext;
13757 VkAccelerationStructureMemoryRequirementsTypeNV type;
13758 VkAccelerationStructureNV accelerationStructure;
13759} VkAccelerationStructureMemoryRequirementsInfoNV;
13760
13761typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
13762 VkStructureType sType;
13763 void* pNext;
13764 uint32_t shaderGroupHandleSize;
13765 uint32_t maxRecursionDepth;
13766 uint32_t maxShaderGroupStride;
13767 uint32_t shaderGroupBaseAlignment;
13768 uint64_t maxGeometryCount;
13769 uint64_t maxInstanceCount;
13770 uint64_t maxTriangleCount;
13771 uint32_t maxDescriptorSetAccelerationStructures;
13772} VkPhysicalDeviceRayTracingPropertiesNV;
13773
13774typedef struct VkTransformMatrixKHR {
13775 float matrix[3][4];
13776} VkTransformMatrixKHR;
13777
13778typedef VkTransformMatrixKHR VkTransformMatrixNV;
13779
13780typedef struct VkAabbPositionsKHR {
13781 float minX;
13782 float minY;
13783 float minZ;
13784 float maxX;
13785 float maxY;
13786 float maxZ;
13787} VkAabbPositionsKHR;
13788
13789typedef VkAabbPositionsKHR VkAabbPositionsNV;
13790
13791typedef struct VkAccelerationStructureInstanceKHR {
13792 VkTransformMatrixKHR transform;
13793 uint32_t instanceCustomIndex:24;
13794 uint32_t mask:8;
13795 uint32_t instanceShaderBindingTableRecordOffset:24;
13796 VkGeometryInstanceFlagsKHR flags:8;
13797 uint64_t accelerationStructureReference;
13798} VkAccelerationStructureInstanceKHR;
13799
13800typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
13801
13802typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
13803typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
13804typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
13805typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
13806typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
13807typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
13808typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth);
13809typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13810typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
13811typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
13812typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData);
13813typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
13814typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, uint32_t shader);
13815
13816#ifndef VK_NO_PROTOTYPES
13817VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
13818 VkDevice device,
13819 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
13820 const VkAllocationCallbacks* pAllocator,
13821 VkAccelerationStructureNV* pAccelerationStructure);
13822
13823VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
13824 VkDevice device,
13825 VkAccelerationStructureNV accelerationStructure,
13826 const VkAllocationCallbacks* pAllocator);
13827
13828VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
13829 VkDevice device,
13830 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
13831 VkMemoryRequirements2KHR* pMemoryRequirements);
13832
13833VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
13834 VkDevice device,
13835 uint32_t bindInfoCount,
13836 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
13837
13838VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
13839 VkCommandBuffer commandBuffer,
13840 const VkAccelerationStructureInfoNV* pInfo,
13841 VkBuffer instanceData,
13842 VkDeviceSize instanceOffset,
13843 VkBool32 update,
13844 VkAccelerationStructureNV dst,
13845 VkAccelerationStructureNV src,
13846 VkBuffer scratch,
13847 VkDeviceSize scratchOffset);
13848
13849VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
13850 VkCommandBuffer commandBuffer,
13851 VkAccelerationStructureNV dst,
13852 VkAccelerationStructureNV src,
13853 VkCopyAccelerationStructureModeKHR mode);
13854
13855VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
13856 VkCommandBuffer commandBuffer,
13857 VkBuffer raygenShaderBindingTableBuffer,
13858 VkDeviceSize raygenShaderBindingOffset,
13859 VkBuffer missShaderBindingTableBuffer,
13860 VkDeviceSize missShaderBindingOffset,
13861 VkDeviceSize missShaderBindingStride,
13862 VkBuffer hitShaderBindingTableBuffer,
13863 VkDeviceSize hitShaderBindingOffset,
13864 VkDeviceSize hitShaderBindingStride,
13865 VkBuffer callableShaderBindingTableBuffer,
13866 VkDeviceSize callableShaderBindingOffset,
13867 VkDeviceSize callableShaderBindingStride,
13868 uint32_t width,
13869 uint32_t height,
13870 uint32_t depth);
13871
13872VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
13873 VkDevice device,
13874 VkPipelineCache pipelineCache,
13875 uint32_t createInfoCount,
13876 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
13877 const VkAllocationCallbacks* pAllocator,
13878 VkPipeline* pPipelines);
13879
13880VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
13881 VkDevice device,
13882 VkPipeline pipeline,
13883 uint32_t firstGroup,
13884 uint32_t groupCount,
13885 size_t dataSize,
13886 void* pData);
13887
13888VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
13889 VkDevice device,
13890 VkPipeline pipeline,
13891 uint32_t firstGroup,
13892 uint32_t groupCount,
13893 size_t dataSize,
13894 void* pData);
13895
13896VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
13897 VkDevice device,
13898 VkAccelerationStructureNV accelerationStructure,
13899 size_t dataSize,
13900 void* pData);
13901
13902VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
13903 VkCommandBuffer commandBuffer,
13904 uint32_t accelerationStructureCount,
13905 const VkAccelerationStructureNV* pAccelerationStructures,
13906 VkQueryType queryType,
13907 VkQueryPool queryPool,
13908 uint32_t firstQuery);
13909
13910VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
13911 VkDevice device,
13912 VkPipeline pipeline,
13913 uint32_t shader);
13914#endif
13915
13916
13917// VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls.
13918#define VK_NV_representative_fragment_test 1
13919#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
13920#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
13921typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
13922 VkStructureType sType;
13923 void* pNext;
13924 VkBool32 representativeFragmentTest;
13925} VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
13926
13927typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
13928 VkStructureType sType;
13929 const void* pNext;
13930 VkBool32 representativeFragmentTestEnable;
13931} VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
13932
13933
13934
13935// VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls.
13936#define VK_EXT_filter_cubic 1
13937#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
13938#define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
13939typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
13940 VkStructureType sType;
13941 void* pNext;
13942 VkImageViewType imageViewType;
13943} VkPhysicalDeviceImageViewImageFormatInfoEXT;
13944
13945typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
13946 VkStructureType sType;
13947 void* pNext;
13948 VkBool32 filterCubic;
13949 VkBool32 filterCubicMinmax;
13950} VkFilterCubicImageViewImageFormatPropertiesEXT;
13951
13952
13953
13954// VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls.
13955#define VK_QCOM_render_pass_shader_resolve 1
13956#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
13957#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
13958
13959
13960// VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls.
13961#define VK_EXT_global_priority 1
13962#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
13963#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
13964typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT;
13965
13966typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT;
13967
13968
13969
13970// VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls.
13971#define VK_EXT_external_memory_host 1
13972#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
13973#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
13974typedef struct VkImportMemoryHostPointerInfoEXT {
13975 VkStructureType sType;
13976 const void* pNext;
13977 VkExternalMemoryHandleTypeFlagBits handleType;
13978 void* pHostPointer;
13979} VkImportMemoryHostPointerInfoEXT;
13980
13981typedef struct VkMemoryHostPointerPropertiesEXT {
13982 VkStructureType sType;
13983 void* pNext;
13984 uint32_t memoryTypeBits;
13985} VkMemoryHostPointerPropertiesEXT;
13986
13987typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
13988 VkStructureType sType;
13989 void* pNext;
13990 VkDeviceSize minImportedHostPointerAlignment;
13991} VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
13992
13993typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
13994
13995#ifndef VK_NO_PROTOTYPES
13996VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
13997 VkDevice device,
13998 VkExternalMemoryHandleTypeFlagBits handleType,
13999 const void* pHostPointer,
14000 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
14001#endif
14002
14003
14004// VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls.
14005#define VK_AMD_buffer_marker 1
14006#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
14007#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
14008typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
14009
14010#ifndef VK_NO_PROTOTYPES
14011VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
14012 VkCommandBuffer commandBuffer,
14013 VkPipelineStageFlagBits pipelineStage,
14014 VkBuffer dstBuffer,
14015 VkDeviceSize dstOffset,
14016 uint32_t marker);
14017#endif
14018
14019
14020// VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls.
14021#define VK_AMD_pipeline_compiler_control 1
14022#define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
14023#define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
14024
14025typedef enum VkPipelineCompilerControlFlagBitsAMD {
14026 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
14027} VkPipelineCompilerControlFlagBitsAMD;
14028typedef VkFlags VkPipelineCompilerControlFlagsAMD;
14029typedef struct VkPipelineCompilerControlCreateInfoAMD {
14030 VkStructureType sType;
14031 const void* pNext;
14032 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
14033} VkPipelineCompilerControlCreateInfoAMD;
14034
14035
14036
14037// VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls.
14038#define VK_EXT_calibrated_timestamps 1
14039#define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
14040#define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
14041typedef VkTimeDomainKHR VkTimeDomainEXT;
14042
14043typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT;
14044
14045typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains);
14046typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation);
14047
14048#ifndef VK_NO_PROTOTYPES
14049VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
14050 VkPhysicalDevice physicalDevice,
14051 uint32_t* pTimeDomainCount,
14052 VkTimeDomainKHR* pTimeDomains);
14053
14054VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
14055 VkDevice device,
14056 uint32_t timestampCount,
14057 const VkCalibratedTimestampInfoKHR* pTimestampInfos,
14058 uint64_t* pTimestamps,
14059 uint64_t* pMaxDeviation);
14060#endif
14061
14062
14063// VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls.
14064#define VK_AMD_shader_core_properties 1
14065#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
14066#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
14067typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
14068 VkStructureType sType;
14069 void* pNext;
14070 uint32_t shaderEngineCount;
14071 uint32_t shaderArraysPerEngineCount;
14072 uint32_t computeUnitsPerShaderArray;
14073 uint32_t simdPerComputeUnit;
14074 uint32_t wavefrontsPerSimd;
14075 uint32_t wavefrontSize;
14076 uint32_t sgprsPerSimd;
14077 uint32_t minSgprAllocation;
14078 uint32_t maxSgprAllocation;
14079 uint32_t sgprAllocationGranularity;
14080 uint32_t vgprsPerSimd;
14081 uint32_t minVgprAllocation;
14082 uint32_t maxVgprAllocation;
14083 uint32_t vgprAllocationGranularity;
14084} VkPhysicalDeviceShaderCorePropertiesAMD;
14085
14086
14087
14088// VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls.
14089#define VK_AMD_memory_overallocation_behavior 1
14090#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
14091#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
14092
14093typedef enum VkMemoryOverallocationBehaviorAMD {
14094 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
14095 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
14096 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
14097 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
14098} VkMemoryOverallocationBehaviorAMD;
14099typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
14100 VkStructureType sType;
14101 const void* pNext;
14102 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
14103} VkDeviceMemoryOverallocationCreateInfoAMD;
14104
14105
14106
14107// VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls.
14108#define VK_EXT_vertex_attribute_divisor 1
14109#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
14110#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
14111typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
14112 VkStructureType sType;
14113 void* pNext;
14114 uint32_t maxVertexAttribDivisor;
14115} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
14116
14117typedef VkVertexInputBindingDivisorDescriptionKHR VkVertexInputBindingDivisorDescriptionEXT;
14118
14119typedef VkPipelineVertexInputDivisorStateCreateInfoKHR VkPipelineVertexInputDivisorStateCreateInfoEXT;
14120
14121typedef VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
14122
14123
14124
14125// VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls.
14126#define VK_EXT_pipeline_creation_feedback 1
14127#define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
14128#define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
14129typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT;
14130
14131typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT;
14132
14133typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT;
14134
14135typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT;
14136
14137
14138
14139// VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls.
14140#define VK_NV_shader_subgroup_partitioned 1
14141#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
14142#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
14143
14144
14145// VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls.
14146#define VK_NV_compute_shader_derivatives 1
14147#define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
14148#define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
14149typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
14150 VkStructureType sType;
14151 void* pNext;
14152 VkBool32 computeDerivativeGroupQuads;
14153 VkBool32 computeDerivativeGroupLinear;
14154} VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
14155
14156
14157
14158// VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls.
14159#define VK_NV_mesh_shader 1
14160#define VK_NV_MESH_SHADER_SPEC_VERSION 1
14161#define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
14162typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
14163 VkStructureType sType;
14164 void* pNext;
14165 VkBool32 taskShader;
14166 VkBool32 meshShader;
14167} VkPhysicalDeviceMeshShaderFeaturesNV;
14168
14169typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
14170 VkStructureType sType;
14171 void* pNext;
14172 uint32_t maxDrawMeshTasksCount;
14173 uint32_t maxTaskWorkGroupInvocations;
14174 uint32_t maxTaskWorkGroupSize[3];
14175 uint32_t maxTaskTotalMemorySize;
14176 uint32_t maxTaskOutputCount;
14177 uint32_t maxMeshWorkGroupInvocations;
14178 uint32_t maxMeshWorkGroupSize[3];
14179 uint32_t maxMeshTotalMemorySize;
14180 uint32_t maxMeshOutputVertices;
14181 uint32_t maxMeshOutputPrimitives;
14182 uint32_t maxMeshMultiviewViewCount;
14183 uint32_t meshOutputPerVertexGranularity;
14184 uint32_t meshOutputPerPrimitiveGranularity;
14185} VkPhysicalDeviceMeshShaderPropertiesNV;
14186
14187typedef struct VkDrawMeshTasksIndirectCommandNV {
14188 uint32_t taskCount;
14189 uint32_t firstTask;
14190} VkDrawMeshTasksIndirectCommandNV;
14191
14192typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask);
14193typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
14194typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
14195
14196#ifndef VK_NO_PROTOTYPES
14197VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
14198 VkCommandBuffer commandBuffer,
14199 uint32_t taskCount,
14200 uint32_t firstTask);
14201
14202VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
14203 VkCommandBuffer commandBuffer,
14204 VkBuffer buffer,
14205 VkDeviceSize offset,
14206 uint32_t drawCount,
14207 uint32_t stride);
14208
14209VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
14210 VkCommandBuffer commandBuffer,
14211 VkBuffer buffer,
14212 VkDeviceSize offset,
14213 VkBuffer countBuffer,
14214 VkDeviceSize countBufferOffset,
14215 uint32_t maxDrawCount,
14216 uint32_t stride);
14217#endif
14218
14219
14220// VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls.
14221#define VK_NV_fragment_shader_barycentric 1
14222#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
14223#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
14224typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
14225
14226
14227
14228// VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls.
14229#define VK_NV_shader_image_footprint 1
14230#define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
14231#define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
14232typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
14233 VkStructureType sType;
14234 void* pNext;
14235 VkBool32 imageFootprint;
14236} VkPhysicalDeviceShaderImageFootprintFeaturesNV;
14237
14238
14239
14240// VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls.
14241#define VK_NV_scissor_exclusive 1
14242#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2
14243#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
14244typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
14245 VkStructureType sType;
14246 const void* pNext;
14247 uint32_t exclusiveScissorCount;
14248 const VkRect2D* pExclusiveScissors;
14249} VkPipelineViewportExclusiveScissorStateCreateInfoNV;
14250
14251typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
14252 VkStructureType sType;
14253 void* pNext;
14254 VkBool32 exclusiveScissor;
14255} VkPhysicalDeviceExclusiveScissorFeaturesNV;
14256
14257typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables);
14258typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
14259
14260#ifndef VK_NO_PROTOTYPES
14261VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV(
14262 VkCommandBuffer commandBuffer,
14263 uint32_t firstExclusiveScissor,
14264 uint32_t exclusiveScissorCount,
14265 const VkBool32* pExclusiveScissorEnables);
14266
14267VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
14268 VkCommandBuffer commandBuffer,
14269 uint32_t firstExclusiveScissor,
14270 uint32_t exclusiveScissorCount,
14271 const VkRect2D* pExclusiveScissors);
14272#endif
14273
14274
14275// VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls.
14276#define VK_NV_device_diagnostic_checkpoints 1
14277#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
14278#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
14279typedef struct VkQueueFamilyCheckpointPropertiesNV {
14280 VkStructureType sType;
14281 void* pNext;
14282 VkPipelineStageFlags checkpointExecutionStageMask;
14283} VkQueueFamilyCheckpointPropertiesNV;
14284
14285typedef struct VkCheckpointDataNV {
14286 VkStructureType sType;
14287 void* pNext;
14288 VkPipelineStageFlagBits stage;
14289 void* pCheckpointMarker;
14290} VkCheckpointDataNV;
14291
14292typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
14293typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
14294
14295#ifndef VK_NO_PROTOTYPES
14296VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
14297 VkCommandBuffer commandBuffer,
14298 const void* pCheckpointMarker);
14299
14300VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
14301 VkQueue queue,
14302 uint32_t* pCheckpointDataCount,
14303 VkCheckpointDataNV* pCheckpointData);
14304#endif
14305
14306
14307// VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls.
14308#define VK_INTEL_shader_integer_functions2 1
14309#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
14310#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
14311typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
14312 VkStructureType sType;
14313 void* pNext;
14314 VkBool32 shaderIntegerFunctions2;
14315} VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
14316
14317
14318
14319// VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls.
14320#define VK_INTEL_performance_query 1
14321VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
14322#define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
14323#define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
14324
14325typedef enum VkPerformanceConfigurationTypeINTEL {
14326 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
14327 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
14328} VkPerformanceConfigurationTypeINTEL;
14329
14330typedef enum VkQueryPoolSamplingModeINTEL {
14331 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
14332 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
14333} VkQueryPoolSamplingModeINTEL;
14334
14335typedef enum VkPerformanceOverrideTypeINTEL {
14336 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
14337 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
14338 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
14339} VkPerformanceOverrideTypeINTEL;
14340
14341typedef enum VkPerformanceParameterTypeINTEL {
14342 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
14343 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
14344 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
14345} VkPerformanceParameterTypeINTEL;
14346
14347typedef enum VkPerformanceValueTypeINTEL {
14348 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
14349 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
14350 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
14351 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
14352 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
14353 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
14354} VkPerformanceValueTypeINTEL;
14355typedef union VkPerformanceValueDataINTEL {
14356 uint32_t value32;
14357 uint64_t value64;
14358 float valueFloat;
14359 VkBool32 valueBool;
14360 const char* valueString;
14361} VkPerformanceValueDataINTEL;
14362
14363typedef struct VkPerformanceValueINTEL {
14364 VkPerformanceValueTypeINTEL type;
14365 VkPerformanceValueDataINTEL data;
14366} VkPerformanceValueINTEL;
14367
14368typedef struct VkInitializePerformanceApiInfoINTEL {
14369 VkStructureType sType;
14370 const void* pNext;
14371 void* pUserData;
14372} VkInitializePerformanceApiInfoINTEL;
14373
14374typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
14375 VkStructureType sType;
14376 const void* pNext;
14377 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
14378} VkQueryPoolPerformanceQueryCreateInfoINTEL;
14379
14380typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
14381
14382typedef struct VkPerformanceMarkerInfoINTEL {
14383 VkStructureType sType;
14384 const void* pNext;
14385 uint64_t marker;
14386} VkPerformanceMarkerInfoINTEL;
14387
14388typedef struct VkPerformanceStreamMarkerInfoINTEL {
14389 VkStructureType sType;
14390 const void* pNext;
14391 uint32_t marker;
14392} VkPerformanceStreamMarkerInfoINTEL;
14393
14394typedef struct VkPerformanceOverrideInfoINTEL {
14395 VkStructureType sType;
14396 const void* pNext;
14397 VkPerformanceOverrideTypeINTEL type;
14398 VkBool32 enable;
14399 uint64_t parameter;
14400} VkPerformanceOverrideInfoINTEL;
14401
14402typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
14403 VkStructureType sType;
14404 const void* pNext;
14405 VkPerformanceConfigurationTypeINTEL type;
14406} VkPerformanceConfigurationAcquireInfoINTEL;
14407
14408typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
14409typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
14410typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
14411typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
14412typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
14413typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
14414typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
14415typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
14416typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
14417
14418#ifndef VK_NO_PROTOTYPES
14419VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
14420 VkDevice device,
14421 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
14422
14423VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
14424 VkDevice device);
14425
14426VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
14427 VkCommandBuffer commandBuffer,
14428 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
14429
14430VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
14431 VkCommandBuffer commandBuffer,
14432 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
14433
14434VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
14435 VkCommandBuffer commandBuffer,
14436 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
14437
14438VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
14439 VkDevice device,
14440 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
14441 VkPerformanceConfigurationINTEL* pConfiguration);
14442
14443VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
14444 VkDevice device,
14445 VkPerformanceConfigurationINTEL configuration);
14446
14447VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
14448 VkQueue queue,
14449 VkPerformanceConfigurationINTEL configuration);
14450
14451VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
14452 VkDevice device,
14453 VkPerformanceParameterTypeINTEL parameter,
14454 VkPerformanceValueINTEL* pValue);
14455#endif
14456
14457
14458// VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls.
14459#define VK_EXT_pci_bus_info 1
14460#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
14461#define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
14462typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
14463 VkStructureType sType;
14464 void* pNext;
14465 uint32_t pciDomain;
14466 uint32_t pciBus;
14467 uint32_t pciDevice;
14468 uint32_t pciFunction;
14469} VkPhysicalDevicePCIBusInfoPropertiesEXT;
14470
14471
14472
14473// VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls.
14474#define VK_AMD_display_native_hdr 1
14475#define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
14476#define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
14477typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
14478 VkStructureType sType;
14479 void* pNext;
14480 VkBool32 localDimmingSupport;
14481} VkDisplayNativeHdrSurfaceCapabilitiesAMD;
14482
14483typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
14484 VkStructureType sType;
14485 const void* pNext;
14486 VkBool32 localDimmingEnable;
14487} VkSwapchainDisplayNativeHdrCreateInfoAMD;
14488
14489typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
14490
14491#ifndef VK_NO_PROTOTYPES
14492VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
14493 VkDevice device,
14494 VkSwapchainKHR swapChain,
14495 VkBool32 localDimmingEnable);
14496#endif
14497
14498
14499// VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls.
14500#define VK_EXT_fragment_density_map 1
14501#define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2
14502#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
14503typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
14504 VkStructureType sType;
14505 void* pNext;
14506 VkBool32 fragmentDensityMap;
14507 VkBool32 fragmentDensityMapDynamic;
14508 VkBool32 fragmentDensityMapNonSubsampledImages;
14509} VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
14510
14511typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
14512 VkStructureType sType;
14513 void* pNext;
14514 VkExtent2D minFragmentDensityTexelSize;
14515 VkExtent2D maxFragmentDensityTexelSize;
14516 VkBool32 fragmentDensityInvocations;
14517} VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
14518
14519typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
14520 VkStructureType sType;
14521 const void* pNext;
14522 VkAttachmentReference fragmentDensityMapAttachment;
14523} VkRenderPassFragmentDensityMapCreateInfoEXT;
14524
14525
14526
14527// VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls.
14528#define VK_EXT_scalar_block_layout 1
14529#define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
14530#define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
14531typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
14532
14533
14534
14535// VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls.
14536#define VK_GOOGLE_hlsl_functionality1 1
14537#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1
14538#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
14539#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
14540#define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
14541
14542
14543// VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls.
14544#define VK_GOOGLE_decorate_string 1
14545#define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
14546#define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
14547
14548
14549// VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls.
14550#define VK_EXT_subgroup_size_control 1
14551#define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
14552#define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
14553typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
14554
14555typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
14556
14557typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
14558
14559
14560
14561// VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls.
14562#define VK_AMD_shader_core_properties2 1
14563#define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
14564#define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
14565
14566typedef enum VkShaderCorePropertiesFlagBitsAMD {
14567 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
14568} VkShaderCorePropertiesFlagBitsAMD;
14569typedef VkFlags VkShaderCorePropertiesFlagsAMD;
14570typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
14571 VkStructureType sType;
14572 void* pNext;
14573 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
14574 uint32_t activeComputeUnitCount;
14575} VkPhysicalDeviceShaderCoreProperties2AMD;
14576
14577
14578
14579// VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls.
14580#define VK_AMD_device_coherent_memory 1
14581#define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
14582#define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
14583typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
14584 VkStructureType sType;
14585 void* pNext;
14586 VkBool32 deviceCoherentMemory;
14587} VkPhysicalDeviceCoherentMemoryFeaturesAMD;
14588
14589
14590
14591// VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls.
14592#define VK_EXT_shader_image_atomic_int64 1
14593#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
14594#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
14595typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
14596 VkStructureType sType;
14597 void* pNext;
14598 VkBool32 shaderImageInt64Atomics;
14599 VkBool32 sparseImageInt64Atomics;
14600} VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
14601
14602
14603
14604// VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls.
14605#define VK_EXT_memory_budget 1
14606#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
14607#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
14608typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
14609 VkStructureType sType;
14610 void* pNext;
14611 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
14612 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
14613} VkPhysicalDeviceMemoryBudgetPropertiesEXT;
14614
14615
14616
14617// VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls.
14618#define VK_EXT_memory_priority 1
14619#define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
14620#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
14621typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
14622 VkStructureType sType;
14623 void* pNext;
14624 VkBool32 memoryPriority;
14625} VkPhysicalDeviceMemoryPriorityFeaturesEXT;
14626
14627typedef struct VkMemoryPriorityAllocateInfoEXT {
14628 VkStructureType sType;
14629 const void* pNext;
14630 float priority;
14631} VkMemoryPriorityAllocateInfoEXT;
14632
14633
14634
14635// VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls.
14636#define VK_NV_dedicated_allocation_image_aliasing 1
14637#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
14638#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
14639typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14640 VkStructureType sType;
14641 void* pNext;
14642 VkBool32 dedicatedAllocationImageAliasing;
14643} VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
14644
14645
14646
14647// VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls.
14648#define VK_EXT_buffer_device_address 1
14649#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
14650#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
14651typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
14652 VkStructureType sType;
14653 void* pNext;
14654 VkBool32 bufferDeviceAddress;
14655 VkBool32 bufferDeviceAddressCaptureReplay;
14656 VkBool32 bufferDeviceAddressMultiDevice;
14657} VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
14658
14659typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
14660
14661typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
14662
14663typedef struct VkBufferDeviceAddressCreateInfoEXT {
14664 VkStructureType sType;
14665 const void* pNext;
14666 VkDeviceAddress deviceAddress;
14667} VkBufferDeviceAddressCreateInfoEXT;
14668
14669typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
14670
14671#ifndef VK_NO_PROTOTYPES
14672VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
14673 VkDevice device,
14674 const VkBufferDeviceAddressInfo* pInfo);
14675#endif
14676
14677
14678// VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls.
14679#define VK_EXT_tooling_info 1
14680#define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
14681#define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
14682typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT;
14683
14684typedef VkToolPurposeFlags VkToolPurposeFlagsEXT;
14685
14686typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT;
14687
14688typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
14689
14690#ifndef VK_NO_PROTOTYPES
14691VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
14692 VkPhysicalDevice physicalDevice,
14693 uint32_t* pToolCount,
14694 VkPhysicalDeviceToolProperties* pToolProperties);
14695#endif
14696
14697
14698// VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls.
14699#define VK_EXT_separate_stencil_usage 1
14700#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
14701#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
14702typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
14703
14704
14705
14706// VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls.
14707#define VK_EXT_validation_features 1
14708#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6
14709#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
14710
14711typedef enum VkValidationFeatureEnableEXT {
14712 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
14713 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
14714 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
14715 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
14716 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
14717 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
14718} VkValidationFeatureEnableEXT;
14719
14720typedef enum VkValidationFeatureDisableEXT {
14721 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
14722 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
14723 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
14724 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
14725 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
14726 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
14727 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
14728 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
14729 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
14730} VkValidationFeatureDisableEXT;
14731typedef struct VkValidationFeaturesEXT {
14732 VkStructureType sType;
14733 const void* pNext;
14734 uint32_t enabledValidationFeatureCount;
14735 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
14736 uint32_t disabledValidationFeatureCount;
14737 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
14738} VkValidationFeaturesEXT;
14739
14740
14741
14742// VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls.
14743#define VK_NV_cooperative_matrix 1
14744#define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
14745#define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
14746typedef VkComponentTypeKHR VkComponentTypeNV;
14747
14748typedef VkScopeKHR VkScopeNV;
14749
14750typedef struct VkCooperativeMatrixPropertiesNV {
14751 VkStructureType sType;
14752 void* pNext;
14753 uint32_t MSize;
14754 uint32_t NSize;
14755 uint32_t KSize;
14756 VkComponentTypeNV AType;
14757 VkComponentTypeNV BType;
14758 VkComponentTypeNV CType;
14759 VkComponentTypeNV DType;
14760 VkScopeNV scope;
14761} VkCooperativeMatrixPropertiesNV;
14762
14763typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
14764 VkStructureType sType;
14765 void* pNext;
14766 VkBool32 cooperativeMatrix;
14767 VkBool32 cooperativeMatrixRobustBufferAccess;
14768} VkPhysicalDeviceCooperativeMatrixFeaturesNV;
14769
14770typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
14771 VkStructureType sType;
14772 void* pNext;
14773 VkShaderStageFlags cooperativeMatrixSupportedStages;
14774} VkPhysicalDeviceCooperativeMatrixPropertiesNV;
14775
14776typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
14777
14778#ifndef VK_NO_PROTOTYPES
14779VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
14780 VkPhysicalDevice physicalDevice,
14781 uint32_t* pPropertyCount,
14782 VkCooperativeMatrixPropertiesNV* pProperties);
14783#endif
14784
14785
14786// VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls.
14787#define VK_NV_coverage_reduction_mode 1
14788#define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
14789#define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
14790
14791typedef enum VkCoverageReductionModeNV {
14792 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
14793 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
14794 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
14795} VkCoverageReductionModeNV;
14796typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
14797typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
14798 VkStructureType sType;
14799 void* pNext;
14800 VkBool32 coverageReductionMode;
14801} VkPhysicalDeviceCoverageReductionModeFeaturesNV;
14802
14803typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
14804 VkStructureType sType;
14805 const void* pNext;
14806 VkPipelineCoverageReductionStateCreateFlagsNV flags;
14807 VkCoverageReductionModeNV coverageReductionMode;
14808} VkPipelineCoverageReductionStateCreateInfoNV;
14809
14810typedef struct VkFramebufferMixedSamplesCombinationNV {
14811 VkStructureType sType;
14812 void* pNext;
14813 VkCoverageReductionModeNV coverageReductionMode;
14814 VkSampleCountFlagBits rasterizationSamples;
14815 VkSampleCountFlags depthStencilSamples;
14816 VkSampleCountFlags colorSamples;
14817} VkFramebufferMixedSamplesCombinationNV;
14818
14819typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
14820
14821#ifndef VK_NO_PROTOTYPES
14822VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
14823 VkPhysicalDevice physicalDevice,
14824 uint32_t* pCombinationCount,
14825 VkFramebufferMixedSamplesCombinationNV* pCombinations);
14826#endif
14827
14828
14829// VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls.
14830#define VK_EXT_fragment_shader_interlock 1
14831#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
14832#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
14833typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
14834 VkStructureType sType;
14835 void* pNext;
14836 VkBool32 fragmentShaderSampleInterlock;
14837 VkBool32 fragmentShaderPixelInterlock;
14838 VkBool32 fragmentShaderShadingRateInterlock;
14839} VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
14840
14841
14842
14843// VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls.
14844#define VK_EXT_ycbcr_image_arrays 1
14845#define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
14846#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
14847typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
14848 VkStructureType sType;
14849 void* pNext;
14850 VkBool32 ycbcrImageArrays;
14851} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
14852
14853
14854
14855// VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls.
14856#define VK_EXT_provoking_vertex 1
14857#define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
14858#define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
14859
14860typedef enum VkProvokingVertexModeEXT {
14861 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
14862 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
14863 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
14864} VkProvokingVertexModeEXT;
14865typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
14866 VkStructureType sType;
14867 void* pNext;
14868 VkBool32 provokingVertexLast;
14869 VkBool32 transformFeedbackPreservesProvokingVertex;
14870} VkPhysicalDeviceProvokingVertexFeaturesEXT;
14871
14872typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
14873 VkStructureType sType;
14874 void* pNext;
14875 VkBool32 provokingVertexModePerPipeline;
14876 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
14877} VkPhysicalDeviceProvokingVertexPropertiesEXT;
14878
14879typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
14880 VkStructureType sType;
14881 const void* pNext;
14882 VkProvokingVertexModeEXT provokingVertexMode;
14883} VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
14884
14885
14886
14887// VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls.
14888#define VK_EXT_headless_surface 1
14889#define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
14890#define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
14891typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
14892typedef struct VkHeadlessSurfaceCreateInfoEXT {
14893 VkStructureType sType;
14894 const void* pNext;
14895 VkHeadlessSurfaceCreateFlagsEXT flags;
14896} VkHeadlessSurfaceCreateInfoEXT;
14897
14898typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
14899
14900#ifndef VK_NO_PROTOTYPES
14901VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
14902 VkInstance instance,
14903 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
14904 const VkAllocationCallbacks* pAllocator,
14905 VkSurfaceKHR* pSurface);
14906#endif
14907
14908
14909// VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls.
14910#define VK_EXT_line_rasterization 1
14911#define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
14912#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
14913typedef VkLineRasterizationModeKHR VkLineRasterizationModeEXT;
14914
14915typedef VkPhysicalDeviceLineRasterizationFeaturesKHR VkPhysicalDeviceLineRasterizationFeaturesEXT;
14916
14917typedef VkPhysicalDeviceLineRasterizationPropertiesKHR VkPhysicalDeviceLineRasterizationPropertiesEXT;
14918
14919typedef VkPipelineRasterizationLineStateCreateInfoKHR VkPipelineRasterizationLineStateCreateInfoEXT;
14920
14921typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern);
14922
14923#ifndef VK_NO_PROTOTYPES
14924VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
14925 VkCommandBuffer commandBuffer,
14926 uint32_t lineStippleFactor,
14927 uint16_t lineStipplePattern);
14928#endif
14929
14930
14931// VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls.
14932#define VK_EXT_shader_atomic_float 1
14933#define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
14934#define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
14935typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
14936 VkStructureType sType;
14937 void* pNext;
14938 VkBool32 shaderBufferFloat32Atomics;
14939 VkBool32 shaderBufferFloat32AtomicAdd;
14940 VkBool32 shaderBufferFloat64Atomics;
14941 VkBool32 shaderBufferFloat64AtomicAdd;
14942 VkBool32 shaderSharedFloat32Atomics;
14943 VkBool32 shaderSharedFloat32AtomicAdd;
14944 VkBool32 shaderSharedFloat64Atomics;
14945 VkBool32 shaderSharedFloat64AtomicAdd;
14946 VkBool32 shaderImageFloat32Atomics;
14947 VkBool32 shaderImageFloat32AtomicAdd;
14948 VkBool32 sparseImageFloat32Atomics;
14949 VkBool32 sparseImageFloat32AtomicAdd;
14950} VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
14951
14952
14953
14954// VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls.
14955#define VK_EXT_host_query_reset 1
14956#define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
14957#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
14958typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
14959
14960typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
14961
14962#ifndef VK_NO_PROTOTYPES
14963VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
14964 VkDevice device,
14965 VkQueryPool queryPool,
14966 uint32_t firstQuery,
14967 uint32_t queryCount);
14968#endif
14969
14970
14971// VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls.
14972#define VK_EXT_index_type_uint8 1
14973#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
14974#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
14975typedef VkPhysicalDeviceIndexTypeUint8FeaturesKHR VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
14976
14977
14978
14979// VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls.
14980#define VK_EXT_extended_dynamic_state 1
14981#define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
14982#define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
14983typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
14984 VkStructureType sType;
14985 void* pNext;
14986 VkBool32 extendedDynamicState;
14987} VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
14988
14989typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
14990typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
14991typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
14992typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports);
14993typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors);
14994typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
14995typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
14996typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
14997typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
14998typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
14999typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
15000typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
15001
15002#ifndef VK_NO_PROTOTYPES
15003VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
15004 VkCommandBuffer commandBuffer,
15005 VkCullModeFlags cullMode);
15006
15007VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
15008 VkCommandBuffer commandBuffer,
15009 VkFrontFace frontFace);
15010
15011VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
15012 VkCommandBuffer commandBuffer,
15013 VkPrimitiveTopology primitiveTopology);
15014
15015VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
15016 VkCommandBuffer commandBuffer,
15017 uint32_t viewportCount,
15018 const VkViewport* pViewports);
15019
15020VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
15021 VkCommandBuffer commandBuffer,
15022 uint32_t scissorCount,
15023 const VkRect2D* pScissors);
15024
15025VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
15026 VkCommandBuffer commandBuffer,
15027 uint32_t firstBinding,
15028 uint32_t bindingCount,
15029 const VkBuffer* pBuffers,
15030 const VkDeviceSize* pOffsets,
15031 const VkDeviceSize* pSizes,
15032 const VkDeviceSize* pStrides);
15033
15034VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
15035 VkCommandBuffer commandBuffer,
15036 VkBool32 depthTestEnable);
15037
15038VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
15039 VkCommandBuffer commandBuffer,
15040 VkBool32 depthWriteEnable);
15041
15042VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
15043 VkCommandBuffer commandBuffer,
15044 VkCompareOp depthCompareOp);
15045
15046VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
15047 VkCommandBuffer commandBuffer,
15048 VkBool32 depthBoundsTestEnable);
15049
15050VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
15051 VkCommandBuffer commandBuffer,
15052 VkBool32 stencilTestEnable);
15053
15054VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
15055 VkCommandBuffer commandBuffer,
15056 VkStencilFaceFlags faceMask,
15057 VkStencilOp failOp,
15058 VkStencilOp passOp,
15059 VkStencilOp depthFailOp,
15060 VkCompareOp compareOp);
15061#endif
15062
15063
15064// VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls.
15065#define VK_EXT_host_image_copy 1
15066#define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1
15067#define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy"
15068
15069typedef enum VkHostImageCopyFlagBitsEXT {
15070 VK_HOST_IMAGE_COPY_MEMCPY_EXT = 0x00000001,
15071 VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
15072} VkHostImageCopyFlagBitsEXT;
15073typedef VkFlags VkHostImageCopyFlagsEXT;
15074typedef struct VkPhysicalDeviceHostImageCopyFeaturesEXT {
15075 VkStructureType sType;
15076 void* pNext;
15077 VkBool32 hostImageCopy;
15078} VkPhysicalDeviceHostImageCopyFeaturesEXT;
15079
15080typedef struct VkPhysicalDeviceHostImageCopyPropertiesEXT {
15081 VkStructureType sType;
15082 void* pNext;
15083 uint32_t copySrcLayoutCount;
15084 VkImageLayout* pCopySrcLayouts;
15085 uint32_t copyDstLayoutCount;
15086 VkImageLayout* pCopyDstLayouts;
15087 uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE];
15088 VkBool32 identicalMemoryTypeRequirements;
15089} VkPhysicalDeviceHostImageCopyPropertiesEXT;
15090
15091typedef struct VkMemoryToImageCopyEXT {
15092 VkStructureType sType;
15093 const void* pNext;
15094 const void* pHostPointer;
15095 uint32_t memoryRowLength;
15096 uint32_t memoryImageHeight;
15097 VkImageSubresourceLayers imageSubresource;
15098 VkOffset3D imageOffset;
15099 VkExtent3D imageExtent;
15100} VkMemoryToImageCopyEXT;
15101
15102typedef struct VkImageToMemoryCopyEXT {
15103 VkStructureType sType;
15104 const void* pNext;
15105 void* pHostPointer;
15106 uint32_t memoryRowLength;
15107 uint32_t memoryImageHeight;
15108 VkImageSubresourceLayers imageSubresource;
15109 VkOffset3D imageOffset;
15110 VkExtent3D imageExtent;
15111} VkImageToMemoryCopyEXT;
15112
15113typedef struct VkCopyMemoryToImageInfoEXT {
15114 VkStructureType sType;
15115 const void* pNext;
15116 VkHostImageCopyFlagsEXT flags;
15117 VkImage dstImage;
15118 VkImageLayout dstImageLayout;
15119 uint32_t regionCount;
15120 const VkMemoryToImageCopyEXT* pRegions;
15121} VkCopyMemoryToImageInfoEXT;
15122
15123typedef struct VkCopyImageToMemoryInfoEXT {
15124 VkStructureType sType;
15125 const void* pNext;
15126 VkHostImageCopyFlagsEXT flags;
15127 VkImage srcImage;
15128 VkImageLayout srcImageLayout;
15129 uint32_t regionCount;
15130 const VkImageToMemoryCopyEXT* pRegions;
15131} VkCopyImageToMemoryInfoEXT;
15132
15133typedef struct VkCopyImageToImageInfoEXT {
15134 VkStructureType sType;
15135 const void* pNext;
15136 VkHostImageCopyFlagsEXT flags;
15137 VkImage srcImage;
15138 VkImageLayout srcImageLayout;
15139 VkImage dstImage;
15140 VkImageLayout dstImageLayout;
15141 uint32_t regionCount;
15142 const VkImageCopy2* pRegions;
15143} VkCopyImageToImageInfoEXT;
15144
15145typedef struct VkHostImageLayoutTransitionInfoEXT {
15146 VkStructureType sType;
15147 const void* pNext;
15148 VkImage image;
15149 VkImageLayout oldLayout;
15150 VkImageLayout newLayout;
15151 VkImageSubresourceRange subresourceRange;
15152} VkHostImageLayoutTransitionInfoEXT;
15153
15154typedef struct VkSubresourceHostMemcpySizeEXT {
15155 VkStructureType sType;
15156 void* pNext;
15157 VkDeviceSize size;
15158} VkSubresourceHostMemcpySizeEXT;
15159
15160typedef struct VkHostImageCopyDevicePerformanceQueryEXT {
15161 VkStructureType sType;
15162 void* pNext;
15163 VkBool32 optimalDeviceAccess;
15164 VkBool32 identicalMemoryLayout;
15165} VkHostImageCopyDevicePerformanceQueryEXT;
15166
15167typedef VkSubresourceLayout2KHR VkSubresourceLayout2EXT;
15168
15169typedef VkImageSubresource2KHR VkImageSubresource2EXT;
15170
15171typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo);
15172typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo);
15173typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo);
15174typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT* pTransitions);
15175typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout);
15176
15177#ifndef VK_NO_PROTOTYPES
15178VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT(
15179 VkDevice device,
15180 const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo);
15181
15182VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT(
15183 VkDevice device,
15184 const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo);
15185
15186VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT(
15187 VkDevice device,
15188 const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo);
15189
15190VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT(
15191 VkDevice device,
15192 uint32_t transitionCount,
15193 const VkHostImageLayoutTransitionInfoEXT* pTransitions);
15194
15195VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT(
15196 VkDevice device,
15197 VkImage image,
15198 const VkImageSubresource2KHR* pSubresource,
15199 VkSubresourceLayout2KHR* pLayout);
15200#endif
15201
15202
15203// VK_EXT_map_memory_placed is a preprocessor guard. Do not pass it to API calls.
15204#define VK_EXT_map_memory_placed 1
15205#define VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION 1
15206#define VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME "VK_EXT_map_memory_placed"
15207typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT {
15208 VkStructureType sType;
15209 void* pNext;
15210 VkBool32 memoryMapPlaced;
15211 VkBool32 memoryMapRangePlaced;
15212 VkBool32 memoryUnmapReserve;
15213} VkPhysicalDeviceMapMemoryPlacedFeaturesEXT;
15214
15215typedef struct VkPhysicalDeviceMapMemoryPlacedPropertiesEXT {
15216 VkStructureType sType;
15217 void* pNext;
15218 VkDeviceSize minPlacedMemoryMapAlignment;
15219} VkPhysicalDeviceMapMemoryPlacedPropertiesEXT;
15220
15221typedef struct VkMemoryMapPlacedInfoEXT {
15222 VkStructureType sType;
15223 const void* pNext;
15224 void* pPlacedAddress;
15225} VkMemoryMapPlacedInfoEXT;
15226
15227
15228
15229// VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls.
15230#define VK_EXT_shader_atomic_float2 1
15231#define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
15232#define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
15233typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
15234 VkStructureType sType;
15235 void* pNext;
15236 VkBool32 shaderBufferFloat16Atomics;
15237 VkBool32 shaderBufferFloat16AtomicAdd;
15238 VkBool32 shaderBufferFloat16AtomicMinMax;
15239 VkBool32 shaderBufferFloat32AtomicMinMax;
15240 VkBool32 shaderBufferFloat64AtomicMinMax;
15241 VkBool32 shaderSharedFloat16Atomics;
15242 VkBool32 shaderSharedFloat16AtomicAdd;
15243 VkBool32 shaderSharedFloat16AtomicMinMax;
15244 VkBool32 shaderSharedFloat32AtomicMinMax;
15245 VkBool32 shaderSharedFloat64AtomicMinMax;
15246 VkBool32 shaderImageFloat32AtomicMinMax;
15247 VkBool32 sparseImageFloat32AtomicMinMax;
15248} VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
15249
15250
15251
15252// VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls.
15253#define VK_EXT_surface_maintenance1 1
15254#define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1
15255#define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1"
15256
15257typedef enum VkPresentScalingFlagBitsEXT {
15258 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001,
15259 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002,
15260 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004,
15261 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
15262} VkPresentScalingFlagBitsEXT;
15263typedef VkFlags VkPresentScalingFlagsEXT;
15264
15265typedef enum VkPresentGravityFlagBitsEXT {
15266 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001,
15267 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002,
15268 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004,
15269 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
15270} VkPresentGravityFlagBitsEXT;
15271typedef VkFlags VkPresentGravityFlagsEXT;
15272typedef struct VkSurfacePresentModeEXT {
15273 VkStructureType sType;
15274 void* pNext;
15275 VkPresentModeKHR presentMode;
15276} VkSurfacePresentModeEXT;
15277
15278typedef struct VkSurfacePresentScalingCapabilitiesEXT {
15279 VkStructureType sType;
15280 void* pNext;
15281 VkPresentScalingFlagsEXT supportedPresentScaling;
15282 VkPresentGravityFlagsEXT supportedPresentGravityX;
15283 VkPresentGravityFlagsEXT supportedPresentGravityY;
15284 VkExtent2D minScaledImageExtent;
15285 VkExtent2D maxScaledImageExtent;
15286} VkSurfacePresentScalingCapabilitiesEXT;
15287
15288typedef struct VkSurfacePresentModeCompatibilityEXT {
15289 VkStructureType sType;
15290 void* pNext;
15291 uint32_t presentModeCount;
15292 VkPresentModeKHR* pPresentModes;
15293} VkSurfacePresentModeCompatibilityEXT;
15294
15295
15296
15297// VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls.
15298#define VK_EXT_swapchain_maintenance1 1
15299#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1
15300#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1"
15301typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT {
15302 VkStructureType sType;
15303 void* pNext;
15304 VkBool32 swapchainMaintenance1;
15305} VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT;
15306
15307typedef struct VkSwapchainPresentFenceInfoEXT {
15308 VkStructureType sType;
15309 const void* pNext;
15310 uint32_t swapchainCount;
15311 const VkFence* pFences;
15312} VkSwapchainPresentFenceInfoEXT;
15313
15314typedef struct VkSwapchainPresentModesCreateInfoEXT {
15315 VkStructureType sType;
15316 const void* pNext;
15317 uint32_t presentModeCount;
15318 const VkPresentModeKHR* pPresentModes;
15319} VkSwapchainPresentModesCreateInfoEXT;
15320
15321typedef struct VkSwapchainPresentModeInfoEXT {
15322 VkStructureType sType;
15323 const void* pNext;
15324 uint32_t swapchainCount;
15325 const VkPresentModeKHR* pPresentModes;
15326} VkSwapchainPresentModeInfoEXT;
15327
15328typedef struct VkSwapchainPresentScalingCreateInfoEXT {
15329 VkStructureType sType;
15330 const void* pNext;
15331 VkPresentScalingFlagsEXT scalingBehavior;
15332 VkPresentGravityFlagsEXT presentGravityX;
15333 VkPresentGravityFlagsEXT presentGravityY;
15334} VkSwapchainPresentScalingCreateInfoEXT;
15335
15336typedef struct VkReleaseSwapchainImagesInfoEXT {
15337 VkStructureType sType;
15338 const void* pNext;
15339 VkSwapchainKHR swapchain;
15340 uint32_t imageIndexCount;
15341 const uint32_t* pImageIndices;
15342} VkReleaseSwapchainImagesInfoEXT;
15343
15344typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo);
15345
15346#ifndef VK_NO_PROTOTYPES
15347VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT(
15348 VkDevice device,
15349 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo);
15350#endif
15351
15352
15353// VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls.
15354#define VK_EXT_shader_demote_to_helper_invocation 1
15355#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
15356#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
15357typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
15358
15359
15360
15361// VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls.
15362#define VK_NV_device_generated_commands 1
15363VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
15364#define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
15365#define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
15366
15367typedef enum VkIndirectCommandsTokenTypeNV {
15368 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
15369 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
15370 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
15371 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
15372 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
15373 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
15374 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
15375 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
15376 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000,
15377 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003,
15378 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004,
15379 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
15380} VkIndirectCommandsTokenTypeNV;
15381
15382typedef enum VkIndirectStateFlagBitsNV {
15383 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
15384 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
15385} VkIndirectStateFlagBitsNV;
15386typedef VkFlags VkIndirectStateFlagsNV;
15387
15388typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
15389 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
15390 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
15391 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
15392 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
15393} VkIndirectCommandsLayoutUsageFlagBitsNV;
15394typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
15395typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
15396 VkStructureType sType;
15397 void* pNext;
15398 uint32_t maxGraphicsShaderGroupCount;
15399 uint32_t maxIndirectSequenceCount;
15400 uint32_t maxIndirectCommandsTokenCount;
15401 uint32_t maxIndirectCommandsStreamCount;
15402 uint32_t maxIndirectCommandsTokenOffset;
15403 uint32_t maxIndirectCommandsStreamStride;
15404 uint32_t minSequencesCountBufferOffsetAlignment;
15405 uint32_t minSequencesIndexBufferOffsetAlignment;
15406 uint32_t minIndirectCommandsBufferOffsetAlignment;
15407} VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
15408
15409typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
15410 VkStructureType sType;
15411 void* pNext;
15412 VkBool32 deviceGeneratedCommands;
15413} VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
15414
15415typedef struct VkGraphicsShaderGroupCreateInfoNV {
15416 VkStructureType sType;
15417 const void* pNext;
15418 uint32_t stageCount;
15419 const VkPipelineShaderStageCreateInfo* pStages;
15420 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
15421 const VkPipelineTessellationStateCreateInfo* pTessellationState;
15422} VkGraphicsShaderGroupCreateInfoNV;
15423
15424typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
15425 VkStructureType sType;
15426 const void* pNext;
15427 uint32_t groupCount;
15428 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
15429 uint32_t pipelineCount;
15430 const VkPipeline* pPipelines;
15431} VkGraphicsPipelineShaderGroupsCreateInfoNV;
15432
15433typedef struct VkBindShaderGroupIndirectCommandNV {
15434 uint32_t groupIndex;
15435} VkBindShaderGroupIndirectCommandNV;
15436
15437typedef struct VkBindIndexBufferIndirectCommandNV {
15438 VkDeviceAddress bufferAddress;
15439 uint32_t size;
15440 VkIndexType indexType;
15441} VkBindIndexBufferIndirectCommandNV;
15442
15443typedef struct VkBindVertexBufferIndirectCommandNV {
15444 VkDeviceAddress bufferAddress;
15445 uint32_t size;
15446 uint32_t stride;
15447} VkBindVertexBufferIndirectCommandNV;
15448
15449typedef struct VkSetStateFlagsIndirectCommandNV {
15450 uint32_t data;
15451} VkSetStateFlagsIndirectCommandNV;
15452
15453typedef struct VkIndirectCommandsStreamNV {
15454 VkBuffer buffer;
15455 VkDeviceSize offset;
15456} VkIndirectCommandsStreamNV;
15457
15458typedef struct VkIndirectCommandsLayoutTokenNV {
15459 VkStructureType sType;
15460 const void* pNext;
15461 VkIndirectCommandsTokenTypeNV tokenType;
15462 uint32_t stream;
15463 uint32_t offset;
15464 uint32_t vertexBindingUnit;
15465 VkBool32 vertexDynamicStride;
15466 VkPipelineLayout pushconstantPipelineLayout;
15467 VkShaderStageFlags pushconstantShaderStageFlags;
15468 uint32_t pushconstantOffset;
15469 uint32_t pushconstantSize;
15470 VkIndirectStateFlagsNV indirectStateFlags;
15471 uint32_t indexTypeCount;
15472 const VkIndexType* pIndexTypes;
15473 const uint32_t* pIndexTypeValues;
15474} VkIndirectCommandsLayoutTokenNV;
15475
15476typedef struct VkIndirectCommandsLayoutCreateInfoNV {
15477 VkStructureType sType;
15478 const void* pNext;
15479 VkIndirectCommandsLayoutUsageFlagsNV flags;
15480 VkPipelineBindPoint pipelineBindPoint;
15481 uint32_t tokenCount;
15482 const VkIndirectCommandsLayoutTokenNV* pTokens;
15483 uint32_t streamCount;
15484 const uint32_t* pStreamStrides;
15485} VkIndirectCommandsLayoutCreateInfoNV;
15486
15487typedef struct VkGeneratedCommandsInfoNV {
15488 VkStructureType sType;
15489 const void* pNext;
15490 VkPipelineBindPoint pipelineBindPoint;
15491 VkPipeline pipeline;
15492 VkIndirectCommandsLayoutNV indirectCommandsLayout;
15493 uint32_t streamCount;
15494 const VkIndirectCommandsStreamNV* pStreams;
15495 uint32_t sequencesCount;
15496 VkBuffer preprocessBuffer;
15497 VkDeviceSize preprocessOffset;
15498 VkDeviceSize preprocessSize;
15499 VkBuffer sequencesCountBuffer;
15500 VkDeviceSize sequencesCountOffset;
15501 VkBuffer sequencesIndexBuffer;
15502 VkDeviceSize sequencesIndexOffset;
15503} VkGeneratedCommandsInfoNV;
15504
15505typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
15506 VkStructureType sType;
15507 const void* pNext;
15508 VkPipelineBindPoint pipelineBindPoint;
15509 VkPipeline pipeline;
15510 VkIndirectCommandsLayoutNV indirectCommandsLayout;
15511 uint32_t maxSequencesCount;
15512} VkGeneratedCommandsMemoryRequirementsInfoNV;
15513
15514typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
15515typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
15516typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
15517typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex);
15518typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
15519typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
15520
15521#ifndef VK_NO_PROTOTYPES
15522VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
15523 VkDevice device,
15524 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
15525 VkMemoryRequirements2* pMemoryRequirements);
15526
15527VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
15528 VkCommandBuffer commandBuffer,
15529 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
15530
15531VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
15532 VkCommandBuffer commandBuffer,
15533 VkBool32 isPreprocessed,
15534 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
15535
15536VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
15537 VkCommandBuffer commandBuffer,
15538 VkPipelineBindPoint pipelineBindPoint,
15539 VkPipeline pipeline,
15540 uint32_t groupIndex);
15541
15542VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
15543 VkDevice device,
15544 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
15545 const VkAllocationCallbacks* pAllocator,
15546 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
15547
15548VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
15549 VkDevice device,
15550 VkIndirectCommandsLayoutNV indirectCommandsLayout,
15551 const VkAllocationCallbacks* pAllocator);
15552#endif
15553
15554
15555// VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls.
15556#define VK_NV_inherited_viewport_scissor 1
15557#define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
15558#define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
15559typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
15560 VkStructureType sType;
15561 void* pNext;
15562 VkBool32 inheritedViewportScissor2D;
15563} VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
15564
15565typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
15566 VkStructureType sType;
15567 const void* pNext;
15568 VkBool32 viewportScissor2D;
15569 uint32_t viewportDepthCount;
15570 const VkViewport* pViewportDepths;
15571} VkCommandBufferInheritanceViewportScissorInfoNV;
15572
15573
15574
15575// VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls.
15576#define VK_EXT_texel_buffer_alignment 1
15577#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
15578#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
15579typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
15580 VkStructureType sType;
15581 void* pNext;
15582 VkBool32 texelBufferAlignment;
15583} VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
15584
15585typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
15586
15587
15588
15589// VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls.
15590#define VK_QCOM_render_pass_transform 1
15591#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4
15592#define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
15593typedef struct VkRenderPassTransformBeginInfoQCOM {
15594 VkStructureType sType;
15595 void* pNext;
15596 VkSurfaceTransformFlagBitsKHR transform;
15597} VkRenderPassTransformBeginInfoQCOM;
15598
15599typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
15600 VkStructureType sType;
15601 void* pNext;
15602 VkSurfaceTransformFlagBitsKHR transform;
15603 VkRect2D renderArea;
15604} VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
15605
15606
15607
15608// VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls.
15609#define VK_EXT_depth_bias_control 1
15610#define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1
15611#define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control"
15612
15613typedef enum VkDepthBiasRepresentationEXT {
15614 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0,
15615 VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1,
15616 VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2,
15617 VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF
15618} VkDepthBiasRepresentationEXT;
15619typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT {
15620 VkStructureType sType;
15621 void* pNext;
15622 VkBool32 depthBiasControl;
15623 VkBool32 leastRepresentableValueForceUnormRepresentation;
15624 VkBool32 floatRepresentation;
15625 VkBool32 depthBiasExact;
15626} VkPhysicalDeviceDepthBiasControlFeaturesEXT;
15627
15628typedef struct VkDepthBiasInfoEXT {
15629 VkStructureType sType;
15630 const void* pNext;
15631 float depthBiasConstantFactor;
15632 float depthBiasClamp;
15633 float depthBiasSlopeFactor;
15634} VkDepthBiasInfoEXT;
15635
15636typedef struct VkDepthBiasRepresentationInfoEXT {
15637 VkStructureType sType;
15638 const void* pNext;
15639 VkDepthBiasRepresentationEXT depthBiasRepresentation;
15640 VkBool32 depthBiasExact;
15641} VkDepthBiasRepresentationInfoEXT;
15642
15643typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo);
15644
15645#ifndef VK_NO_PROTOTYPES
15646VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT(
15647 VkCommandBuffer commandBuffer,
15648 const VkDepthBiasInfoEXT* pDepthBiasInfo);
15649#endif
15650
15651
15652// VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls.
15653#define VK_EXT_device_memory_report 1
15654#define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
15655#define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
15656
15657typedef enum VkDeviceMemoryReportEventTypeEXT {
15658 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
15659 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
15660 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
15661 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
15662 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
15663 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
15664} VkDeviceMemoryReportEventTypeEXT;
15665typedef VkFlags VkDeviceMemoryReportFlagsEXT;
15666typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
15667 VkStructureType sType;
15668 void* pNext;
15669 VkBool32 deviceMemoryReport;
15670} VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
15671
15672typedef struct VkDeviceMemoryReportCallbackDataEXT {
15673 VkStructureType sType;
15674 void* pNext;
15675 VkDeviceMemoryReportFlagsEXT flags;
15676 VkDeviceMemoryReportEventTypeEXT type;
15677 uint64_t memoryObjectId;
15678 VkDeviceSize size;
15679 VkObjectType objectType;
15680 uint64_t objectHandle;
15681 uint32_t heapIndex;
15682} VkDeviceMemoryReportCallbackDataEXT;
15683
15684typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
15685 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
15686 void* pUserData);
15687
15688typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
15689 VkStructureType sType;
15690 const void* pNext;
15691 VkDeviceMemoryReportFlagsEXT flags;
15692 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
15693 void* pUserData;
15694} VkDeviceDeviceMemoryReportCreateInfoEXT;
15695
15696
15697
15698// VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls.
15699#define VK_EXT_acquire_drm_display 1
15700#define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
15701#define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
15702typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display);
15703typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display);
15704
15705#ifndef VK_NO_PROTOTYPES
15706VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
15707 VkPhysicalDevice physicalDevice,
15708 int32_t drmFd,
15709 VkDisplayKHR display);
15710
15711VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
15712 VkPhysicalDevice physicalDevice,
15713 int32_t drmFd,
15714 uint32_t connectorId,
15715 VkDisplayKHR* display);
15716#endif
15717
15718
15719// VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls.
15720#define VK_EXT_robustness2 1
15721#define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
15722#define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
15723typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
15724 VkStructureType sType;
15725 void* pNext;
15726 VkBool32 robustBufferAccess2;
15727 VkBool32 robustImageAccess2;
15728 VkBool32 nullDescriptor;
15729} VkPhysicalDeviceRobustness2FeaturesEXT;
15730
15731typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
15732 VkStructureType sType;
15733 void* pNext;
15734 VkDeviceSize robustStorageBufferAccessSizeAlignment;
15735 VkDeviceSize robustUniformBufferAccessSizeAlignment;
15736} VkPhysicalDeviceRobustness2PropertiesEXT;
15737
15738
15739
15740// VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls.
15741#define VK_EXT_custom_border_color 1
15742#define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
15743#define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
15744typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
15745 VkStructureType sType;
15746 const void* pNext;
15747 VkClearColorValue customBorderColor;
15748 VkFormat format;
15749} VkSamplerCustomBorderColorCreateInfoEXT;
15750
15751typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
15752 VkStructureType sType;
15753 void* pNext;
15754 uint32_t maxCustomBorderColorSamplers;
15755} VkPhysicalDeviceCustomBorderColorPropertiesEXT;
15756
15757typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
15758 VkStructureType sType;
15759 void* pNext;
15760 VkBool32 customBorderColors;
15761 VkBool32 customBorderColorWithoutFormat;
15762} VkPhysicalDeviceCustomBorderColorFeaturesEXT;
15763
15764
15765
15766// VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls.
15767#define VK_GOOGLE_user_type 1
15768#define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
15769#define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
15770
15771
15772// VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls.
15773#define VK_NV_present_barrier 1
15774#define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1
15775#define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier"
15776typedef struct VkPhysicalDevicePresentBarrierFeaturesNV {
15777 VkStructureType sType;
15778 void* pNext;
15779 VkBool32 presentBarrier;
15780} VkPhysicalDevicePresentBarrierFeaturesNV;
15781
15782typedef struct VkSurfaceCapabilitiesPresentBarrierNV {
15783 VkStructureType sType;
15784 void* pNext;
15785 VkBool32 presentBarrierSupported;
15786} VkSurfaceCapabilitiesPresentBarrierNV;
15787
15788typedef struct VkSwapchainPresentBarrierCreateInfoNV {
15789 VkStructureType sType;
15790 void* pNext;
15791 VkBool32 presentBarrierEnable;
15792} VkSwapchainPresentBarrierCreateInfoNV;
15793
15794
15795
15796// VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls.
15797#define VK_EXT_private_data 1
15798typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
15799
15800#define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
15801#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
15802typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
15803
15804typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
15805
15806typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
15807
15808typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT;
15809
15810typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
15811typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
15812typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
15813typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
15814
15815#ifndef VK_NO_PROTOTYPES
15816VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
15817 VkDevice device,
15818 const VkPrivateDataSlotCreateInfo* pCreateInfo,
15819 const VkAllocationCallbacks* pAllocator,
15820 VkPrivateDataSlot* pPrivateDataSlot);
15821
15822VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
15823 VkDevice device,
15824 VkPrivateDataSlot privateDataSlot,
15825 const VkAllocationCallbacks* pAllocator);
15826
15827VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
15828 VkDevice device,
15829 VkObjectType objectType,
15830 uint64_t objectHandle,
15831 VkPrivateDataSlot privateDataSlot,
15832 uint64_t data);
15833
15834VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
15835 VkDevice device,
15836 VkObjectType objectType,
15837 uint64_t objectHandle,
15838 VkPrivateDataSlot privateDataSlot,
15839 uint64_t* pData);
15840#endif
15841
15842
15843// VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls.
15844#define VK_EXT_pipeline_creation_cache_control 1
15845#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
15846#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
15847typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
15848
15849
15850
15851// VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls.
15852#define VK_NV_device_diagnostics_config 1
15853#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2
15854#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
15855
15856typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
15857 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
15858 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
15859 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
15860 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008,
15861 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
15862} VkDeviceDiagnosticsConfigFlagBitsNV;
15863typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
15864typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
15865 VkStructureType sType;
15866 void* pNext;
15867 VkBool32 diagnosticsConfig;
15868} VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
15869
15870typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
15871 VkStructureType sType;
15872 const void* pNext;
15873 VkDeviceDiagnosticsConfigFlagsNV flags;
15874} VkDeviceDiagnosticsConfigCreateInfoNV;
15875
15876
15877
15878// VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls.
15879#define VK_QCOM_render_pass_store_ops 1
15880#define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
15881#define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
15882
15883
15884// VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls.
15885#define VK_NV_cuda_kernel_launch 1
15886VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV)
15887VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV)
15888#define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2
15889#define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch"
15890typedef struct VkCudaModuleCreateInfoNV {
15891 VkStructureType sType;
15892 const void* pNext;
15893 size_t dataSize;
15894 const void* pData;
15895} VkCudaModuleCreateInfoNV;
15896
15897typedef struct VkCudaFunctionCreateInfoNV {
15898 VkStructureType sType;
15899 const void* pNext;
15900 VkCudaModuleNV module;
15901 const char* pName;
15902} VkCudaFunctionCreateInfoNV;
15903
15904typedef struct VkCudaLaunchInfoNV {
15905 VkStructureType sType;
15906 const void* pNext;
15907 VkCudaFunctionNV function;
15908 uint32_t gridDimX;
15909 uint32_t gridDimY;
15910 uint32_t gridDimZ;
15911 uint32_t blockDimX;
15912 uint32_t blockDimY;
15913 uint32_t blockDimZ;
15914 uint32_t sharedMemBytes;
15915 size_t paramCount;
15916 const void* const * pParams;
15917 size_t extraCount;
15918 const void* const * pExtras;
15919} VkCudaLaunchInfoNV;
15920
15921typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV {
15922 VkStructureType sType;
15923 void* pNext;
15924 VkBool32 cudaKernelLaunchFeatures;
15925} VkPhysicalDeviceCudaKernelLaunchFeaturesNV;
15926
15927typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV {
15928 VkStructureType sType;
15929 void* pNext;
15930 uint32_t computeCapabilityMinor;
15931 uint32_t computeCapabilityMajor;
15932} VkPhysicalDeviceCudaKernelLaunchPropertiesNV;
15933
15934typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule);
15935typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData);
15936typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction);
15937typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator);
15938typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator);
15939typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo);
15940
15941#ifndef VK_NO_PROTOTYPES
15942VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV(
15943 VkDevice device,
15944 const VkCudaModuleCreateInfoNV* pCreateInfo,
15945 const VkAllocationCallbacks* pAllocator,
15946 VkCudaModuleNV* pModule);
15947
15948VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV(
15949 VkDevice device,
15950 VkCudaModuleNV module,
15951 size_t* pCacheSize,
15952 void* pCacheData);
15953
15954VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV(
15955 VkDevice device,
15956 const VkCudaFunctionCreateInfoNV* pCreateInfo,
15957 const VkAllocationCallbacks* pAllocator,
15958 VkCudaFunctionNV* pFunction);
15959
15960VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV(
15961 VkDevice device,
15962 VkCudaModuleNV module,
15963 const VkAllocationCallbacks* pAllocator);
15964
15965VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV(
15966 VkDevice device,
15967 VkCudaFunctionNV function,
15968 const VkAllocationCallbacks* pAllocator);
15969
15970VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV(
15971 VkCommandBuffer commandBuffer,
15972 const VkCudaLaunchInfoNV* pLaunchInfo);
15973#endif
15974
15975
15976// VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls.
15977#define VK_NV_low_latency 1
15978#define VK_NV_LOW_LATENCY_SPEC_VERSION 1
15979#define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency"
15980typedef struct VkQueryLowLatencySupportNV {
15981 VkStructureType sType;
15982 const void* pNext;
15983 void* pQueriedLowLatencyData;
15984} VkQueryLowLatencySupportNV;
15985
15986
15987
15988// VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls.
15989#define VK_EXT_descriptor_buffer 1
15990VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
15991#define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1
15992#define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer"
15993typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT {
15994 VkStructureType sType;
15995 void* pNext;
15996 VkBool32 combinedImageSamplerDescriptorSingleArray;
15997 VkBool32 bufferlessPushDescriptors;
15998 VkBool32 allowSamplerImageViewPostSubmitCreation;
15999 VkDeviceSize descriptorBufferOffsetAlignment;
16000 uint32_t maxDescriptorBufferBindings;
16001 uint32_t maxResourceDescriptorBufferBindings;
16002 uint32_t maxSamplerDescriptorBufferBindings;
16003 uint32_t maxEmbeddedImmutableSamplerBindings;
16004 uint32_t maxEmbeddedImmutableSamplers;
16005 size_t bufferCaptureReplayDescriptorDataSize;
16006 size_t imageCaptureReplayDescriptorDataSize;
16007 size_t imageViewCaptureReplayDescriptorDataSize;
16008 size_t samplerCaptureReplayDescriptorDataSize;
16009 size_t accelerationStructureCaptureReplayDescriptorDataSize;
16010 size_t samplerDescriptorSize;
16011 size_t combinedImageSamplerDescriptorSize;
16012 size_t sampledImageDescriptorSize;
16013 size_t storageImageDescriptorSize;
16014 size_t uniformTexelBufferDescriptorSize;
16015 size_t robustUniformTexelBufferDescriptorSize;
16016 size_t storageTexelBufferDescriptorSize;
16017 size_t robustStorageTexelBufferDescriptorSize;
16018 size_t uniformBufferDescriptorSize;
16019 size_t robustUniformBufferDescriptorSize;
16020 size_t storageBufferDescriptorSize;
16021 size_t robustStorageBufferDescriptorSize;
16022 size_t inputAttachmentDescriptorSize;
16023 size_t accelerationStructureDescriptorSize;
16024 VkDeviceSize maxSamplerDescriptorBufferRange;
16025 VkDeviceSize maxResourceDescriptorBufferRange;
16026 VkDeviceSize samplerDescriptorBufferAddressSpaceSize;
16027 VkDeviceSize resourceDescriptorBufferAddressSpaceSize;
16028 VkDeviceSize descriptorBufferAddressSpaceSize;
16029} VkPhysicalDeviceDescriptorBufferPropertiesEXT;
16030
16031typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
16032 VkStructureType sType;
16033 void* pNext;
16034 size_t combinedImageSamplerDensityMapDescriptorSize;
16035} VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
16036
16037typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT {
16038 VkStructureType sType;
16039 void* pNext;
16040 VkBool32 descriptorBuffer;
16041 VkBool32 descriptorBufferCaptureReplay;
16042 VkBool32 descriptorBufferImageLayoutIgnored;
16043 VkBool32 descriptorBufferPushDescriptors;
16044} VkPhysicalDeviceDescriptorBufferFeaturesEXT;
16045
16046typedef struct VkDescriptorAddressInfoEXT {
16047 VkStructureType sType;
16048 void* pNext;
16049 VkDeviceAddress address;
16050 VkDeviceSize range;
16051 VkFormat format;
16052} VkDescriptorAddressInfoEXT;
16053
16054typedef struct VkDescriptorBufferBindingInfoEXT {
16055 VkStructureType sType;
16056 void* pNext;
16057 VkDeviceAddress address;
16058 VkBufferUsageFlags usage;
16059} VkDescriptorBufferBindingInfoEXT;
16060
16061typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT {
16062 VkStructureType sType;
16063 void* pNext;
16064 VkBuffer buffer;
16065} VkDescriptorBufferBindingPushDescriptorBufferHandleEXT;
16066
16067typedef union VkDescriptorDataEXT {
16068 const VkSampler* pSampler;
16069 const VkDescriptorImageInfo* pCombinedImageSampler;
16070 const VkDescriptorImageInfo* pInputAttachmentImage;
16071 const VkDescriptorImageInfo* pSampledImage;
16072 const VkDescriptorImageInfo* pStorageImage;
16073 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer;
16074 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer;
16075 const VkDescriptorAddressInfoEXT* pUniformBuffer;
16076 const VkDescriptorAddressInfoEXT* pStorageBuffer;
16077 VkDeviceAddress accelerationStructure;
16078} VkDescriptorDataEXT;
16079
16080typedef struct VkDescriptorGetInfoEXT {
16081 VkStructureType sType;
16082 const void* pNext;
16083 VkDescriptorType type;
16084 VkDescriptorDataEXT data;
16085} VkDescriptorGetInfoEXT;
16086
16087typedef struct VkBufferCaptureDescriptorDataInfoEXT {
16088 VkStructureType sType;
16089 const void* pNext;
16090 VkBuffer buffer;
16091} VkBufferCaptureDescriptorDataInfoEXT;
16092
16093typedef struct VkImageCaptureDescriptorDataInfoEXT {
16094 VkStructureType sType;
16095 const void* pNext;
16096 VkImage image;
16097} VkImageCaptureDescriptorDataInfoEXT;
16098
16099typedef struct VkImageViewCaptureDescriptorDataInfoEXT {
16100 VkStructureType sType;
16101 const void* pNext;
16102 VkImageView imageView;
16103} VkImageViewCaptureDescriptorDataInfoEXT;
16104
16105typedef struct VkSamplerCaptureDescriptorDataInfoEXT {
16106 VkStructureType sType;
16107 const void* pNext;
16108 VkSampler sampler;
16109} VkSamplerCaptureDescriptorDataInfoEXT;
16110
16111typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT {
16112 VkStructureType sType;
16113 const void* pNext;
16114 const void* opaqueCaptureDescriptorData;
16115} VkOpaqueCaptureDescriptorDataCreateInfoEXT;
16116
16117typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT {
16118 VkStructureType sType;
16119 const void* pNext;
16120 VkAccelerationStructureKHR accelerationStructure;
16121 VkAccelerationStructureNV accelerationStructureNV;
16122} VkAccelerationStructureCaptureDescriptorDataInfoEXT;
16123
16124typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes);
16125typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset);
16126typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor);
16127typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
16128typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets);
16129typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set);
16130typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData);
16131typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData);
16132typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData);
16133typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData);
16134typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData);
16135
16136#ifndef VK_NO_PROTOTYPES
16137VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT(
16138 VkDevice device,
16139 VkDescriptorSetLayout layout,
16140 VkDeviceSize* pLayoutSizeInBytes);
16141
16142VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT(
16143 VkDevice device,
16144 VkDescriptorSetLayout layout,
16145 uint32_t binding,
16146 VkDeviceSize* pOffset);
16147
16148VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT(
16149 VkDevice device,
16150 const VkDescriptorGetInfoEXT* pDescriptorInfo,
16151 size_t dataSize,
16152 void* pDescriptor);
16153
16154VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT(
16155 VkCommandBuffer commandBuffer,
16156 uint32_t bufferCount,
16157 const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
16158
16159VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT(
16160 VkCommandBuffer commandBuffer,
16161 VkPipelineBindPoint pipelineBindPoint,
16162 VkPipelineLayout layout,
16163 uint32_t firstSet,
16164 uint32_t setCount,
16165 const uint32_t* pBufferIndices,
16166 const VkDeviceSize* pOffsets);
16167
16168VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT(
16169 VkCommandBuffer commandBuffer,
16170 VkPipelineBindPoint pipelineBindPoint,
16171 VkPipelineLayout layout,
16172 uint32_t set);
16173
16174VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT(
16175 VkDevice device,
16176 const VkBufferCaptureDescriptorDataInfoEXT* pInfo,
16177 void* pData);
16178
16179VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT(
16180 VkDevice device,
16181 const VkImageCaptureDescriptorDataInfoEXT* pInfo,
16182 void* pData);
16183
16184VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT(
16185 VkDevice device,
16186 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo,
16187 void* pData);
16188
16189VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT(
16190 VkDevice device,
16191 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo,
16192 void* pData);
16193
16194VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
16195 VkDevice device,
16196 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo,
16197 void* pData);
16198#endif
16199
16200
16201// VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls.
16202#define VK_EXT_graphics_pipeline_library 1
16203#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
16204#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
16205
16206typedef enum VkGraphicsPipelineLibraryFlagBitsEXT {
16207 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001,
16208 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002,
16209 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004,
16210 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008,
16211 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16212} VkGraphicsPipelineLibraryFlagBitsEXT;
16213typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
16214typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
16215 VkStructureType sType;
16216 void* pNext;
16217 VkBool32 graphicsPipelineLibrary;
16218} VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
16219
16220typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
16221 VkStructureType sType;
16222 void* pNext;
16223 VkBool32 graphicsPipelineLibraryFastLinking;
16224 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration;
16225} VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
16226
16227typedef struct VkGraphicsPipelineLibraryCreateInfoEXT {
16228 VkStructureType sType;
16229 const void* pNext;
16230 VkGraphicsPipelineLibraryFlagsEXT flags;
16231} VkGraphicsPipelineLibraryCreateInfoEXT;
16232
16233
16234
16235// VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls.
16236#define VK_AMD_shader_early_and_late_fragment_tests 1
16237#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1
16238#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests"
16239typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
16240 VkStructureType sType;
16241 void* pNext;
16242 VkBool32 shaderEarlyAndLateFragmentTests;
16243} VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
16244
16245
16246
16247// VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls.
16248#define VK_NV_fragment_shading_rate_enums 1
16249#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
16250#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
16251
16252typedef enum VkFragmentShadingRateTypeNV {
16253 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
16254 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
16255 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
16256} VkFragmentShadingRateTypeNV;
16257
16258typedef enum VkFragmentShadingRateNV {
16259 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
16260 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
16261 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
16262 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
16263 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
16264 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
16265 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
16266 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
16267 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
16268 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
16269 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
16270 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
16271 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
16272} VkFragmentShadingRateNV;
16273typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16274 VkStructureType sType;
16275 void* pNext;
16276 VkBool32 fragmentShadingRateEnums;
16277 VkBool32 supersampleFragmentShadingRates;
16278 VkBool32 noInvocationFragmentShadingRates;
16279} VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
16280
16281typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16282 VkStructureType sType;
16283 void* pNext;
16284 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
16285} VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
16286
16287typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
16288 VkStructureType sType;
16289 const void* pNext;
16290 VkFragmentShadingRateTypeNV shadingRateType;
16291 VkFragmentShadingRateNV shadingRate;
16292 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
16293} VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
16294
16295typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
16296
16297#ifndef VK_NO_PROTOTYPES
16298VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
16299 VkCommandBuffer commandBuffer,
16300 VkFragmentShadingRateNV shadingRate,
16301 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
16302#endif
16303
16304
16305// VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls.
16306#define VK_NV_ray_tracing_motion_blur 1
16307#define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
16308#define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
16309
16310typedef enum VkAccelerationStructureMotionInstanceTypeNV {
16311 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
16312 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
16313 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
16314 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
16315} VkAccelerationStructureMotionInstanceTypeNV;
16316typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
16317typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
16318typedef union VkDeviceOrHostAddressConstKHR {
16319 VkDeviceAddress deviceAddress;
16320 const void* hostAddress;
16321} VkDeviceOrHostAddressConstKHR;
16322
16323typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
16324 VkStructureType sType;
16325 const void* pNext;
16326 VkDeviceOrHostAddressConstKHR vertexData;
16327} VkAccelerationStructureGeometryMotionTrianglesDataNV;
16328
16329typedef struct VkAccelerationStructureMotionInfoNV {
16330 VkStructureType sType;
16331 const void* pNext;
16332 uint32_t maxInstances;
16333 VkAccelerationStructureMotionInfoFlagsNV flags;
16334} VkAccelerationStructureMotionInfoNV;
16335
16336typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
16337 VkTransformMatrixKHR transformT0;
16338 VkTransformMatrixKHR transformT1;
16339 uint32_t instanceCustomIndex:24;
16340 uint32_t mask:8;
16341 uint32_t instanceShaderBindingTableRecordOffset:24;
16342 VkGeometryInstanceFlagsKHR flags:8;
16343 uint64_t accelerationStructureReference;
16344} VkAccelerationStructureMatrixMotionInstanceNV;
16345
16346typedef struct VkSRTDataNV {
16347 float sx;
16348 float a;
16349 float b;
16350 float pvx;
16351 float sy;
16352 float c;
16353 float pvy;
16354 float sz;
16355 float pvz;
16356 float qx;
16357 float qy;
16358 float qz;
16359 float qw;
16360 float tx;
16361 float ty;
16362 float tz;
16363} VkSRTDataNV;
16364
16365typedef struct VkAccelerationStructureSRTMotionInstanceNV {
16366 VkSRTDataNV transformT0;
16367 VkSRTDataNV transformT1;
16368 uint32_t instanceCustomIndex:24;
16369 uint32_t mask:8;
16370 uint32_t instanceShaderBindingTableRecordOffset:24;
16371 VkGeometryInstanceFlagsKHR flags:8;
16372 uint64_t accelerationStructureReference;
16373} VkAccelerationStructureSRTMotionInstanceNV;
16374
16375typedef union VkAccelerationStructureMotionInstanceDataNV {
16376 VkAccelerationStructureInstanceKHR staticInstance;
16377 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
16378 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
16379} VkAccelerationStructureMotionInstanceDataNV;
16380
16381typedef struct VkAccelerationStructureMotionInstanceNV {
16382 VkAccelerationStructureMotionInstanceTypeNV type;
16383 VkAccelerationStructureMotionInstanceFlagsNV flags;
16384 VkAccelerationStructureMotionInstanceDataNV data;
16385} VkAccelerationStructureMotionInstanceNV;
16386
16387typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
16388 VkStructureType sType;
16389 void* pNext;
16390 VkBool32 rayTracingMotionBlur;
16391 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
16392} VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
16393
16394
16395
16396// VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls.
16397#define VK_EXT_ycbcr_2plane_444_formats 1
16398#define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
16399#define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
16400typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
16401 VkStructureType sType;
16402 void* pNext;
16403 VkBool32 ycbcr2plane444Formats;
16404} VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
16405
16406
16407
16408// VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls.
16409#define VK_EXT_fragment_density_map2 1
16410#define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
16411#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
16412typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
16413 VkStructureType sType;
16414 void* pNext;
16415 VkBool32 fragmentDensityMapDeferred;
16416} VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
16417
16418typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
16419 VkStructureType sType;
16420 void* pNext;
16421 VkBool32 subsampledLoads;
16422 VkBool32 subsampledCoarseReconstructionEarlyAccess;
16423 uint32_t maxSubsampledArrayLayers;
16424 uint32_t maxDescriptorSetSubsampledSamplers;
16425} VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
16426
16427
16428
16429// VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls.
16430#define VK_QCOM_rotated_copy_commands 1
16431#define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2
16432#define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
16433typedef struct VkCopyCommandTransformInfoQCOM {
16434 VkStructureType sType;
16435 const void* pNext;
16436 VkSurfaceTransformFlagBitsKHR transform;
16437} VkCopyCommandTransformInfoQCOM;
16438
16439
16440
16441// VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls.
16442#define VK_EXT_image_robustness 1
16443#define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
16444#define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
16445typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT;
16446
16447
16448
16449// VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls.
16450#define VK_EXT_image_compression_control 1
16451#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
16452#define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
16453
16454typedef enum VkImageCompressionFlagBitsEXT {
16455 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0,
16456 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001,
16457 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002,
16458 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004,
16459 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16460} VkImageCompressionFlagBitsEXT;
16461typedef VkFlags VkImageCompressionFlagsEXT;
16462
16463typedef enum VkImageCompressionFixedRateFlagBitsEXT {
16464 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0,
16465 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001,
16466 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002,
16467 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004,
16468 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008,
16469 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010,
16470 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020,
16471 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040,
16472 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080,
16473 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100,
16474 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200,
16475 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400,
16476 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800,
16477 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000,
16478 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000,
16479 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000,
16480 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000,
16481 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000,
16482 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000,
16483 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000,
16484 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000,
16485 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000,
16486 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000,
16487 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000,
16488 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000,
16489 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16490} VkImageCompressionFixedRateFlagBitsEXT;
16491typedef VkFlags VkImageCompressionFixedRateFlagsEXT;
16492typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
16493 VkStructureType sType;
16494 void* pNext;
16495 VkBool32 imageCompressionControl;
16496} VkPhysicalDeviceImageCompressionControlFeaturesEXT;
16497
16498typedef struct VkImageCompressionControlEXT {
16499 VkStructureType sType;
16500 const void* pNext;
16501 VkImageCompressionFlagsEXT flags;
16502 uint32_t compressionControlPlaneCount;
16503 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags;
16504} VkImageCompressionControlEXT;
16505
16506typedef struct VkImageCompressionPropertiesEXT {
16507 VkStructureType sType;
16508 void* pNext;
16509 VkImageCompressionFlagsEXT imageCompressionFlags;
16510 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags;
16511} VkImageCompressionPropertiesEXT;
16512
16513
16514
16515// VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls.
16516#define VK_EXT_attachment_feedback_loop_layout 1
16517#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2
16518#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout"
16519typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
16520 VkStructureType sType;
16521 void* pNext;
16522 VkBool32 attachmentFeedbackLoopLayout;
16523} VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT;
16524
16525
16526
16527// VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls.
16528#define VK_EXT_4444_formats 1
16529#define VK_EXT_4444_FORMATS_SPEC_VERSION 1
16530#define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
16531typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
16532 VkStructureType sType;
16533 void* pNext;
16534 VkBool32 formatA4R4G4B4;
16535 VkBool32 formatA4B4G4R4;
16536} VkPhysicalDevice4444FormatsFeaturesEXT;
16537
16538
16539
16540// VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls.
16541#define VK_EXT_device_fault 1
16542#define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2
16543#define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault"
16544
16545typedef enum VkDeviceFaultAddressTypeEXT {
16546 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0,
16547 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1,
16548 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2,
16549 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3,
16550 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4,
16551 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5,
16552 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6,
16553 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
16554} VkDeviceFaultAddressTypeEXT;
16555
16556typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT {
16557 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1,
16558 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
16559} VkDeviceFaultVendorBinaryHeaderVersionEXT;
16560typedef struct VkPhysicalDeviceFaultFeaturesEXT {
16561 VkStructureType sType;
16562 void* pNext;
16563 VkBool32 deviceFault;
16564 VkBool32 deviceFaultVendorBinary;
16565} VkPhysicalDeviceFaultFeaturesEXT;
16566
16567typedef struct VkDeviceFaultCountsEXT {
16568 VkStructureType sType;
16569 void* pNext;
16570 uint32_t addressInfoCount;
16571 uint32_t vendorInfoCount;
16572 VkDeviceSize vendorBinarySize;
16573} VkDeviceFaultCountsEXT;
16574
16575typedef struct VkDeviceFaultAddressInfoEXT {
16576 VkDeviceFaultAddressTypeEXT addressType;
16577 VkDeviceAddress reportedAddress;
16578 VkDeviceSize addressPrecision;
16579} VkDeviceFaultAddressInfoEXT;
16580
16581typedef struct VkDeviceFaultVendorInfoEXT {
16582 char description[VK_MAX_DESCRIPTION_SIZE];
16583 uint64_t vendorFaultCode;
16584 uint64_t vendorFaultData;
16585} VkDeviceFaultVendorInfoEXT;
16586
16587typedef struct VkDeviceFaultInfoEXT {
16588 VkStructureType sType;
16589 void* pNext;
16590 char description[VK_MAX_DESCRIPTION_SIZE];
16591 VkDeviceFaultAddressInfoEXT* pAddressInfos;
16592 VkDeviceFaultVendorInfoEXT* pVendorInfos;
16593 void* pVendorBinaryData;
16594} VkDeviceFaultInfoEXT;
16595
16596typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT {
16597 uint32_t headerSize;
16598 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion;
16599 uint32_t vendorID;
16600 uint32_t deviceID;
16601 uint32_t driverVersion;
16602 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
16603 uint32_t applicationNameOffset;
16604 uint32_t applicationVersion;
16605 uint32_t engineNameOffset;
16606 uint32_t engineVersion;
16607 uint32_t apiVersion;
16608} VkDeviceFaultVendorBinaryHeaderVersionOneEXT;
16609
16610typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo);
16611
16612#ifndef VK_NO_PROTOTYPES
16613VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT(
16614 VkDevice device,
16615 VkDeviceFaultCountsEXT* pFaultCounts,
16616 VkDeviceFaultInfoEXT* pFaultInfo);
16617#endif
16618
16619
16620// VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls.
16621#define VK_ARM_rasterization_order_attachment_access 1
16622#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
16623#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
16624typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
16625 VkStructureType sType;
16626 void* pNext;
16627 VkBool32 rasterizationOrderColorAttachmentAccess;
16628 VkBool32 rasterizationOrderDepthAttachmentAccess;
16629 VkBool32 rasterizationOrderStencilAttachmentAccess;
16630} VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
16631
16632typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM;
16633
16634
16635
16636// VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls.
16637#define VK_EXT_rgba10x6_formats 1
16638#define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
16639#define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats"
16640typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
16641 VkStructureType sType;
16642 void* pNext;
16643 VkBool32 formatRgba10x6WithoutYCbCrSampler;
16644} VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT;
16645
16646
16647
16648// VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls.
16649#define VK_VALVE_mutable_descriptor_type 1
16650#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
16651#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
16652typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT {
16653 VkStructureType sType;
16654 void* pNext;
16655 VkBool32 mutableDescriptorType;
16656} VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT;
16657
16658typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
16659
16660typedef struct VkMutableDescriptorTypeListEXT {
16661 uint32_t descriptorTypeCount;
16662 const VkDescriptorType* pDescriptorTypes;
16663} VkMutableDescriptorTypeListEXT;
16664
16665typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE;
16666
16667typedef struct VkMutableDescriptorTypeCreateInfoEXT {
16668 VkStructureType sType;
16669 const void* pNext;
16670 uint32_t mutableDescriptorTypeListCount;
16671 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists;
16672} VkMutableDescriptorTypeCreateInfoEXT;
16673
16674typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE;
16675
16676
16677
16678// VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls.
16679#define VK_EXT_vertex_input_dynamic_state 1
16680#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
16681#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
16682typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
16683 VkStructureType sType;
16684 void* pNext;
16685 VkBool32 vertexInputDynamicState;
16686} VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
16687
16688typedef struct VkVertexInputBindingDescription2EXT {
16689 VkStructureType sType;
16690 void* pNext;
16691 uint32_t binding;
16692 uint32_t stride;
16693 VkVertexInputRate inputRate;
16694 uint32_t divisor;
16695} VkVertexInputBindingDescription2EXT;
16696
16697typedef struct VkVertexInputAttributeDescription2EXT {
16698 VkStructureType sType;
16699 void* pNext;
16700 uint32_t location;
16701 uint32_t binding;
16702 VkFormat format;
16703 uint32_t offset;
16704} VkVertexInputAttributeDescription2EXT;
16705
16706typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
16707
16708#ifndef VK_NO_PROTOTYPES
16709VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
16710 VkCommandBuffer commandBuffer,
16711 uint32_t vertexBindingDescriptionCount,
16712 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
16713 uint32_t vertexAttributeDescriptionCount,
16714 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
16715#endif
16716
16717
16718// VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls.
16719#define VK_EXT_physical_device_drm 1
16720#define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
16721#define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
16722typedef struct VkPhysicalDeviceDrmPropertiesEXT {
16723 VkStructureType sType;
16724 void* pNext;
16725 VkBool32 hasPrimary;
16726 VkBool32 hasRender;
16727 int64_t primaryMajor;
16728 int64_t primaryMinor;
16729 int64_t renderMajor;
16730 int64_t renderMinor;
16731} VkPhysicalDeviceDrmPropertiesEXT;
16732
16733
16734
16735// VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls.
16736#define VK_EXT_device_address_binding_report 1
16737#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1
16738#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report"
16739
16740typedef enum VkDeviceAddressBindingTypeEXT {
16741 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0,
16742 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1,
16743 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
16744} VkDeviceAddressBindingTypeEXT;
16745
16746typedef enum VkDeviceAddressBindingFlagBitsEXT {
16747 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001,
16748 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16749} VkDeviceAddressBindingFlagBitsEXT;
16750typedef VkFlags VkDeviceAddressBindingFlagsEXT;
16751typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT {
16752 VkStructureType sType;
16753 void* pNext;
16754 VkBool32 reportAddressBinding;
16755} VkPhysicalDeviceAddressBindingReportFeaturesEXT;
16756
16757typedef struct VkDeviceAddressBindingCallbackDataEXT {
16758 VkStructureType sType;
16759 void* pNext;
16760 VkDeviceAddressBindingFlagsEXT flags;
16761 VkDeviceAddress baseAddress;
16762 VkDeviceSize size;
16763 VkDeviceAddressBindingTypeEXT bindingType;
16764} VkDeviceAddressBindingCallbackDataEXT;
16765
16766
16767
16768// VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls.
16769#define VK_EXT_depth_clip_control 1
16770#define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1
16771#define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
16772typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT {
16773 VkStructureType sType;
16774 void* pNext;
16775 VkBool32 depthClipControl;
16776} VkPhysicalDeviceDepthClipControlFeaturesEXT;
16777
16778typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT {
16779 VkStructureType sType;
16780 const void* pNext;
16781 VkBool32 negativeOneToOne;
16782} VkPipelineViewportDepthClipControlCreateInfoEXT;
16783
16784
16785
16786// VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls.
16787#define VK_EXT_primitive_topology_list_restart 1
16788#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1
16789#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart"
16790typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
16791 VkStructureType sType;
16792 void* pNext;
16793 VkBool32 primitiveTopologyListRestart;
16794 VkBool32 primitiveTopologyPatchListRestart;
16795} VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
16796
16797
16798
16799// VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls.
16800#define VK_HUAWEI_subpass_shading 1
16801#define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3
16802#define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
16803typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
16804 VkStructureType sType;
16805 void* pNext;
16806 VkRenderPass renderPass;
16807 uint32_t subpass;
16808} VkSubpassShadingPipelineCreateInfoHUAWEI;
16809
16810typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
16811 VkStructureType sType;
16812 void* pNext;
16813 VkBool32 subpassShading;
16814} VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
16815
16816typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
16817 VkStructureType sType;
16818 void* pNext;
16819 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio;
16820} VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
16821
16822typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
16823typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
16824
16825#ifndef VK_NO_PROTOTYPES
16826VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
16827 VkDevice device,
16828 VkRenderPass renderpass,
16829 VkExtent2D* pMaxWorkgroupSize);
16830
16831VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
16832 VkCommandBuffer commandBuffer);
16833#endif
16834
16835
16836// VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls.
16837#define VK_HUAWEI_invocation_mask 1
16838#define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
16839#define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
16840typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
16841 VkStructureType sType;
16842 void* pNext;
16843 VkBool32 invocationMask;
16844} VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
16845
16846typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
16847
16848#ifndef VK_NO_PROTOTYPES
16849VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
16850 VkCommandBuffer commandBuffer,
16851 VkImageView imageView,
16852 VkImageLayout imageLayout);
16853#endif
16854
16855
16856// VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls.
16857#define VK_NV_external_memory_rdma 1
16858typedef void* VkRemoteAddressNV;
16859#define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
16860#define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
16861typedef struct VkMemoryGetRemoteAddressInfoNV {
16862 VkStructureType sType;
16863 const void* pNext;
16864 VkDeviceMemory memory;
16865 VkExternalMemoryHandleTypeFlagBits handleType;
16866} VkMemoryGetRemoteAddressInfoNV;
16867
16868typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
16869 VkStructureType sType;
16870 void* pNext;
16871 VkBool32 externalMemoryRDMA;
16872} VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
16873
16874typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
16875
16876#ifndef VK_NO_PROTOTYPES
16877VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
16878 VkDevice device,
16879 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
16880 VkRemoteAddressNV* pAddress);
16881#endif
16882
16883
16884// VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls.
16885#define VK_EXT_pipeline_properties 1
16886#define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
16887#define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
16888typedef VkPipelineInfoKHR VkPipelineInfoEXT;
16889
16890typedef struct VkPipelinePropertiesIdentifierEXT {
16891 VkStructureType sType;
16892 void* pNext;
16893 uint8_t pipelineIdentifier[VK_UUID_SIZE];
16894} VkPipelinePropertiesIdentifierEXT;
16895
16896typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
16897 VkStructureType sType;
16898 void* pNext;
16899 VkBool32 pipelinePropertiesIdentifier;
16900} VkPhysicalDevicePipelinePropertiesFeaturesEXT;
16901
16902typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
16903
16904#ifndef VK_NO_PROTOTYPES
16905VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(
16906 VkDevice device,
16907 const VkPipelineInfoEXT* pPipelineInfo,
16908 VkBaseOutStructure* pPipelineProperties);
16909#endif
16910
16911
16912// VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls.
16913#define VK_EXT_frame_boundary 1
16914#define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1
16915#define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary"
16916
16917typedef enum VkFrameBoundaryFlagBitsEXT {
16918 VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001,
16919 VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
16920} VkFrameBoundaryFlagBitsEXT;
16921typedef VkFlags VkFrameBoundaryFlagsEXT;
16922typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT {
16923 VkStructureType sType;
16924 void* pNext;
16925 VkBool32 frameBoundary;
16926} VkPhysicalDeviceFrameBoundaryFeaturesEXT;
16927
16928typedef struct VkFrameBoundaryEXT {
16929 VkStructureType sType;
16930 const void* pNext;
16931 VkFrameBoundaryFlagsEXT flags;
16932 uint64_t frameID;
16933 uint32_t imageCount;
16934 const VkImage* pImages;
16935 uint32_t bufferCount;
16936 const VkBuffer* pBuffers;
16937 uint64_t tagName;
16938 size_t tagSize;
16939 const void* pTag;
16940} VkFrameBoundaryEXT;
16941
16942
16943
16944// VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls.
16945#define VK_EXT_multisampled_render_to_single_sampled 1
16946#define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1
16947#define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled"
16948typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
16949 VkStructureType sType;
16950 void* pNext;
16951 VkBool32 multisampledRenderToSingleSampled;
16952} VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
16953
16954typedef struct VkSubpassResolvePerformanceQueryEXT {
16955 VkStructureType sType;
16956 void* pNext;
16957 VkBool32 optimal;
16958} VkSubpassResolvePerformanceQueryEXT;
16959
16960typedef struct VkMultisampledRenderToSingleSampledInfoEXT {
16961 VkStructureType sType;
16962 const void* pNext;
16963 VkBool32 multisampledRenderToSingleSampledEnable;
16964 VkSampleCountFlagBits rasterizationSamples;
16965} VkMultisampledRenderToSingleSampledInfoEXT;
16966
16967
16968
16969// VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls.
16970#define VK_EXT_extended_dynamic_state2 1
16971#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
16972#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
16973typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
16974 VkStructureType sType;
16975 void* pNext;
16976 VkBool32 extendedDynamicState2;
16977 VkBool32 extendedDynamicState2LogicOp;
16978 VkBool32 extendedDynamicState2PatchControlPoints;
16979} VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
16980
16981typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, uint32_t patchControlPoints);
16982typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
16983typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
16984typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
16985typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
16986
16987#ifndef VK_NO_PROTOTYPES
16988VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
16989 VkCommandBuffer commandBuffer,
16990 uint32_t patchControlPoints);
16991
16992VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
16993 VkCommandBuffer commandBuffer,
16994 VkBool32 rasterizerDiscardEnable);
16995
16996VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
16997 VkCommandBuffer commandBuffer,
16998 VkBool32 depthBiasEnable);
16999
17000VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
17001 VkCommandBuffer commandBuffer,
17002 VkLogicOp logicOp);
17003
17004VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
17005 VkCommandBuffer commandBuffer,
17006 VkBool32 primitiveRestartEnable);
17007#endif
17008
17009
17010// VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls.
17011#define VK_EXT_color_write_enable 1
17012#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
17013#define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
17014typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
17015 VkStructureType sType;
17016 void* pNext;
17017 VkBool32 colorWriteEnable;
17018} VkPhysicalDeviceColorWriteEnableFeaturesEXT;
17019
17020typedef struct VkPipelineColorWriteCreateInfoEXT {
17021 VkStructureType sType;
17022 const void* pNext;
17023 uint32_t attachmentCount;
17024 const VkBool32* pColorWriteEnables;
17025} VkPipelineColorWriteCreateInfoEXT;
17026
17027typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables);
17028
17029#ifndef VK_NO_PROTOTYPES
17030VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
17031 VkCommandBuffer commandBuffer,
17032 uint32_t attachmentCount,
17033 const VkBool32* pColorWriteEnables);
17034#endif
17035
17036
17037// VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls.
17038#define VK_EXT_primitives_generated_query 1
17039#define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
17040#define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query"
17041typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
17042 VkStructureType sType;
17043 void* pNext;
17044 VkBool32 primitivesGeneratedQuery;
17045 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard;
17046 VkBool32 primitivesGeneratedQueryWithNonZeroStreams;
17047} VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
17048
17049
17050
17051// VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls.
17052#define VK_EXT_global_priority_query 1
17053#define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
17054#define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
17055#define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
17056typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
17057
17058typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
17059
17060
17061
17062// VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls.
17063#define VK_EXT_image_view_min_lod 1
17064#define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1
17065#define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod"
17066typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT {
17067 VkStructureType sType;
17068 void* pNext;
17069 VkBool32 minLod;
17070} VkPhysicalDeviceImageViewMinLodFeaturesEXT;
17071
17072typedef struct VkImageViewMinLodCreateInfoEXT {
17073 VkStructureType sType;
17074 const void* pNext;
17075 float minLod;
17076} VkImageViewMinLodCreateInfoEXT;
17077
17078
17079
17080// VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls.
17081#define VK_EXT_multi_draw 1
17082#define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
17083#define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
17084typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
17085 VkStructureType sType;
17086 void* pNext;
17087 VkBool32 multiDraw;
17088} VkPhysicalDeviceMultiDrawFeaturesEXT;
17089
17090typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
17091 VkStructureType sType;
17092 void* pNext;
17093 uint32_t maxMultiDrawCount;
17094} VkPhysicalDeviceMultiDrawPropertiesEXT;
17095
17096typedef struct VkMultiDrawInfoEXT {
17097 uint32_t firstVertex;
17098 uint32_t vertexCount;
17099} VkMultiDrawInfoEXT;
17100
17101typedef struct VkMultiDrawIndexedInfoEXT {
17102 uint32_t firstIndex;
17103 uint32_t indexCount;
17104 int32_t vertexOffset;
17105} VkMultiDrawIndexedInfoEXT;
17106
17107typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride);
17108typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset);
17109
17110#ifndef VK_NO_PROTOTYPES
17111VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
17112 VkCommandBuffer commandBuffer,
17113 uint32_t drawCount,
17114 const VkMultiDrawInfoEXT* pVertexInfo,
17115 uint32_t instanceCount,
17116 uint32_t firstInstance,
17117 uint32_t stride);
17118
17119VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
17120 VkCommandBuffer commandBuffer,
17121 uint32_t drawCount,
17122 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
17123 uint32_t instanceCount,
17124 uint32_t firstInstance,
17125 uint32_t stride,
17126 const int32_t* pVertexOffset);
17127#endif
17128
17129
17130// VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls.
17131#define VK_EXT_image_2d_view_of_3d 1
17132#define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1
17133#define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
17134typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
17135 VkStructureType sType;
17136 void* pNext;
17137 VkBool32 image2DViewOf3D;
17138 VkBool32 sampler2DViewOf3D;
17139} VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
17140
17141
17142
17143// VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls.
17144#define VK_EXT_shader_tile_image 1
17145#define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1
17146#define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image"
17147typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT {
17148 VkStructureType sType;
17149 void* pNext;
17150 VkBool32 shaderTileImageColorReadAccess;
17151 VkBool32 shaderTileImageDepthReadAccess;
17152 VkBool32 shaderTileImageStencilReadAccess;
17153} VkPhysicalDeviceShaderTileImageFeaturesEXT;
17154
17155typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT {
17156 VkStructureType sType;
17157 void* pNext;
17158 VkBool32 shaderTileImageCoherentReadAccelerated;
17159 VkBool32 shaderTileImageReadSampleFromPixelRateInvocation;
17160 VkBool32 shaderTileImageReadFromHelperInvocation;
17161} VkPhysicalDeviceShaderTileImagePropertiesEXT;
17162
17163
17164
17165// VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls.
17166#define VK_EXT_opacity_micromap 1
17167VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT)
17168#define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2
17169#define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap"
17170
17171typedef enum VkMicromapTypeEXT {
17172 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0,
17173#ifdef VK_ENABLE_BETA_EXTENSIONS
17174 VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000,
17175#endif
17176 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
17177} VkMicromapTypeEXT;
17178
17179typedef enum VkBuildMicromapModeEXT {
17180 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0,
17181 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
17182} VkBuildMicromapModeEXT;
17183
17184typedef enum VkCopyMicromapModeEXT {
17185 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0,
17186 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1,
17187 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2,
17188 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3,
17189 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
17190} VkCopyMicromapModeEXT;
17191
17192typedef enum VkOpacityMicromapFormatEXT {
17193 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1,
17194 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2,
17195 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF
17196} VkOpacityMicromapFormatEXT;
17197
17198typedef enum VkOpacityMicromapSpecialIndexEXT {
17199 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1,
17200 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2,
17201 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3,
17202 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4,
17203 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF
17204} VkOpacityMicromapSpecialIndexEXT;
17205
17206typedef enum VkAccelerationStructureCompatibilityKHR {
17207 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
17208 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
17209 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
17210} VkAccelerationStructureCompatibilityKHR;
17211
17212typedef enum VkAccelerationStructureBuildTypeKHR {
17213 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
17214 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
17215 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
17216 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
17217} VkAccelerationStructureBuildTypeKHR;
17218
17219typedef enum VkBuildMicromapFlagBitsEXT {
17220 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001,
17221 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002,
17222 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004,
17223 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
17224} VkBuildMicromapFlagBitsEXT;
17225typedef VkFlags VkBuildMicromapFlagsEXT;
17226
17227typedef enum VkMicromapCreateFlagBitsEXT {
17228 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001,
17229 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
17230} VkMicromapCreateFlagBitsEXT;
17231typedef VkFlags VkMicromapCreateFlagsEXT;
17232typedef struct VkMicromapUsageEXT {
17233 uint32_t count;
17234 uint32_t subdivisionLevel;
17235 uint32_t format;
17236} VkMicromapUsageEXT;
17237
17238typedef union VkDeviceOrHostAddressKHR {
17239 VkDeviceAddress deviceAddress;
17240 void* hostAddress;
17241} VkDeviceOrHostAddressKHR;
17242
17243typedef struct VkMicromapBuildInfoEXT {
17244 VkStructureType sType;
17245 const void* pNext;
17246 VkMicromapTypeEXT type;
17247 VkBuildMicromapFlagsEXT flags;
17248 VkBuildMicromapModeEXT mode;
17249 VkMicromapEXT dstMicromap;
17250 uint32_t usageCountsCount;
17251 const VkMicromapUsageEXT* pUsageCounts;
17252 const VkMicromapUsageEXT* const* ppUsageCounts;
17253 VkDeviceOrHostAddressConstKHR data;
17254 VkDeviceOrHostAddressKHR scratchData;
17255 VkDeviceOrHostAddressConstKHR triangleArray;
17256 VkDeviceSize triangleArrayStride;
17257} VkMicromapBuildInfoEXT;
17258
17259typedef struct VkMicromapCreateInfoEXT {
17260 VkStructureType sType;
17261 const void* pNext;
17262 VkMicromapCreateFlagsEXT createFlags;
17263 VkBuffer buffer;
17264 VkDeviceSize offset;
17265 VkDeviceSize size;
17266 VkMicromapTypeEXT type;
17267 VkDeviceAddress deviceAddress;
17268} VkMicromapCreateInfoEXT;
17269
17270typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT {
17271 VkStructureType sType;
17272 void* pNext;
17273 VkBool32 micromap;
17274 VkBool32 micromapCaptureReplay;
17275 VkBool32 micromapHostCommands;
17276} VkPhysicalDeviceOpacityMicromapFeaturesEXT;
17277
17278typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT {
17279 VkStructureType sType;
17280 void* pNext;
17281 uint32_t maxOpacity2StateSubdivisionLevel;
17282 uint32_t maxOpacity4StateSubdivisionLevel;
17283} VkPhysicalDeviceOpacityMicromapPropertiesEXT;
17284
17285typedef struct VkMicromapVersionInfoEXT {
17286 VkStructureType sType;
17287 const void* pNext;
17288 const uint8_t* pVersionData;
17289} VkMicromapVersionInfoEXT;
17290
17291typedef struct VkCopyMicromapToMemoryInfoEXT {
17292 VkStructureType sType;
17293 const void* pNext;
17294 VkMicromapEXT src;
17295 VkDeviceOrHostAddressKHR dst;
17296 VkCopyMicromapModeEXT mode;
17297} VkCopyMicromapToMemoryInfoEXT;
17298
17299typedef struct VkCopyMemoryToMicromapInfoEXT {
17300 VkStructureType sType;
17301 const void* pNext;
17302 VkDeviceOrHostAddressConstKHR src;
17303 VkMicromapEXT dst;
17304 VkCopyMicromapModeEXT mode;
17305} VkCopyMemoryToMicromapInfoEXT;
17306
17307typedef struct VkCopyMicromapInfoEXT {
17308 VkStructureType sType;
17309 const void* pNext;
17310 VkMicromapEXT src;
17311 VkMicromapEXT dst;
17312 VkCopyMicromapModeEXT mode;
17313} VkCopyMicromapInfoEXT;
17314
17315typedef struct VkMicromapBuildSizesInfoEXT {
17316 VkStructureType sType;
17317 const void* pNext;
17318 VkDeviceSize micromapSize;
17319 VkDeviceSize buildScratchSize;
17320 VkBool32 discardable;
17321} VkMicromapBuildSizesInfoEXT;
17322
17323typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT {
17324 VkStructureType sType;
17325 void* pNext;
17326 VkIndexType indexType;
17327 VkDeviceOrHostAddressConstKHR indexBuffer;
17328 VkDeviceSize indexStride;
17329 uint32_t baseTriangle;
17330 uint32_t usageCountsCount;
17331 const VkMicromapUsageEXT* pUsageCounts;
17332 const VkMicromapUsageEXT* const* ppUsageCounts;
17333 VkMicromapEXT micromap;
17334} VkAccelerationStructureTrianglesOpacityMicromapEXT;
17335
17336typedef struct VkMicromapTriangleEXT {
17337 uint32_t dataOffset;
17338 uint16_t subdivisionLevel;
17339 uint16_t format;
17340} VkMicromapTriangleEXT;
17341
17342typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap);
17343typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator);
17344typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos);
17345typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos);
17346typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo);
17347typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo);
17348typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo);
17349typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
17350typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo);
17351typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo);
17352typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo);
17353typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
17354typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
17355typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo);
17356
17357#ifndef VK_NO_PROTOTYPES
17358VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT(
17359 VkDevice device,
17360 const VkMicromapCreateInfoEXT* pCreateInfo,
17361 const VkAllocationCallbacks* pAllocator,
17362 VkMicromapEXT* pMicromap);
17363
17364VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT(
17365 VkDevice device,
17366 VkMicromapEXT micromap,
17367 const VkAllocationCallbacks* pAllocator);
17368
17369VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT(
17370 VkCommandBuffer commandBuffer,
17371 uint32_t infoCount,
17372 const VkMicromapBuildInfoEXT* pInfos);
17373
17374VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT(
17375 VkDevice device,
17376 VkDeferredOperationKHR deferredOperation,
17377 uint32_t infoCount,
17378 const VkMicromapBuildInfoEXT* pInfos);
17379
17380VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT(
17381 VkDevice device,
17382 VkDeferredOperationKHR deferredOperation,
17383 const VkCopyMicromapInfoEXT* pInfo);
17384
17385VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT(
17386 VkDevice device,
17387 VkDeferredOperationKHR deferredOperation,
17388 const VkCopyMicromapToMemoryInfoEXT* pInfo);
17389
17390VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT(
17391 VkDevice device,
17392 VkDeferredOperationKHR deferredOperation,
17393 const VkCopyMemoryToMicromapInfoEXT* pInfo);
17394
17395VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(
17396 VkDevice device,
17397 uint32_t micromapCount,
17398 const VkMicromapEXT* pMicromaps,
17399 VkQueryType queryType,
17400 size_t dataSize,
17401 void* pData,
17402 size_t stride);
17403
17404VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT(
17405 VkCommandBuffer commandBuffer,
17406 const VkCopyMicromapInfoEXT* pInfo);
17407
17408VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT(
17409 VkCommandBuffer commandBuffer,
17410 const VkCopyMicromapToMemoryInfoEXT* pInfo);
17411
17412VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT(
17413 VkCommandBuffer commandBuffer,
17414 const VkCopyMemoryToMicromapInfoEXT* pInfo);
17415
17416VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT(
17417 VkCommandBuffer commandBuffer,
17418 uint32_t micromapCount,
17419 const VkMicromapEXT* pMicromaps,
17420 VkQueryType queryType,
17421 VkQueryPool queryPool,
17422 uint32_t firstQuery);
17423
17424VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT(
17425 VkDevice device,
17426 const VkMicromapVersionInfoEXT* pVersionInfo,
17427 VkAccelerationStructureCompatibilityKHR* pCompatibility);
17428
17429VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT(
17430 VkDevice device,
17431 VkAccelerationStructureBuildTypeKHR buildType,
17432 const VkMicromapBuildInfoEXT* pBuildInfo,
17433 VkMicromapBuildSizesInfoEXT* pSizeInfo);
17434#endif
17435
17436
17437// VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls.
17438#define VK_EXT_load_store_op_none 1
17439#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
17440#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
17441
17442
17443// VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls.
17444#define VK_HUAWEI_cluster_culling_shader 1
17445#define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3
17446#define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader"
17447typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
17448 VkStructureType sType;
17449 void* pNext;
17450 VkBool32 clustercullingShader;
17451 VkBool32 multiviewClusterCullingShader;
17452} VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI;
17453
17454typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
17455 VkStructureType sType;
17456 void* pNext;
17457 uint32_t maxWorkGroupCount[3];
17458 uint32_t maxWorkGroupSize[3];
17459 uint32_t maxOutputClusterCount;
17460 VkDeviceSize indirectBufferOffsetAlignment;
17461} VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI;
17462
17463typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
17464 VkStructureType sType;
17465 void* pNext;
17466 VkBool32 clusterShadingRate;
17467} VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI;
17468
17469typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
17470typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
17471
17472#ifndef VK_NO_PROTOTYPES
17473VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI(
17474 VkCommandBuffer commandBuffer,
17475 uint32_t groupCountX,
17476 uint32_t groupCountY,
17477 uint32_t groupCountZ);
17478
17479VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI(
17480 VkCommandBuffer commandBuffer,
17481 VkBuffer buffer,
17482 VkDeviceSize offset);
17483#endif
17484
17485
17486// VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls.
17487#define VK_EXT_border_color_swizzle 1
17488#define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
17489#define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle"
17490typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
17491 VkStructureType sType;
17492 void* pNext;
17493 VkBool32 borderColorSwizzle;
17494 VkBool32 borderColorSwizzleFromImage;
17495} VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
17496
17497typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
17498 VkStructureType sType;
17499 const void* pNext;
17500 VkComponentMapping components;
17501 VkBool32 srgb;
17502} VkSamplerBorderColorComponentMappingCreateInfoEXT;
17503
17504
17505
17506// VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls.
17507#define VK_EXT_pageable_device_local_memory 1
17508#define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
17509#define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory"
17510typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
17511 VkStructureType sType;
17512 void* pNext;
17513 VkBool32 pageableDeviceLocalMemory;
17514} VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
17515
17516typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority);
17517
17518#ifndef VK_NO_PROTOTYPES
17519VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
17520 VkDevice device,
17521 VkDeviceMemory memory,
17522 float priority);
17523#endif
17524
17525
17526// VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls.
17527#define VK_ARM_shader_core_properties 1
17528#define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1
17529#define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties"
17530typedef struct VkPhysicalDeviceShaderCorePropertiesARM {
17531 VkStructureType sType;
17532 void* pNext;
17533 uint32_t pixelRate;
17534 uint32_t texelRate;
17535 uint32_t fmaRate;
17536} VkPhysicalDeviceShaderCorePropertiesARM;
17537
17538
17539
17540// VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls.
17541#define VK_ARM_scheduling_controls 1
17542#define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1
17543#define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls"
17544typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM;
17545
17546// Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM
17547typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM;
17548static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL;
17549
17550typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM {
17551 VkStructureType sType;
17552 void* pNext;
17553 uint32_t shaderCoreCount;
17554} VkDeviceQueueShaderCoreControlCreateInfoARM;
17555
17556typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM {
17557 VkStructureType sType;
17558 void* pNext;
17559 VkBool32 schedulingControls;
17560} VkPhysicalDeviceSchedulingControlsFeaturesARM;
17561
17562typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM {
17563 VkStructureType sType;
17564 void* pNext;
17565 VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags;
17566} VkPhysicalDeviceSchedulingControlsPropertiesARM;
17567
17568
17569
17570// VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls.
17571#define VK_EXT_image_sliced_view_of_3d 1
17572#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1
17573#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d"
17574#define VK_REMAINING_3D_SLICES_EXT (~0U)
17575typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17576 VkStructureType sType;
17577 void* pNext;
17578 VkBool32 imageSlicedViewOf3D;
17579} VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT;
17580
17581typedef struct VkImageViewSlicedCreateInfoEXT {
17582 VkStructureType sType;
17583 const void* pNext;
17584 uint32_t sliceOffset;
17585 uint32_t sliceCount;
17586} VkImageViewSlicedCreateInfoEXT;
17587
17588
17589
17590// VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls.
17591#define VK_VALVE_descriptor_set_host_mapping 1
17592#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
17593#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
17594typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
17595 VkStructureType sType;
17596 void* pNext;
17597 VkBool32 descriptorSetHostMapping;
17598} VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
17599
17600typedef struct VkDescriptorSetBindingReferenceVALVE {
17601 VkStructureType sType;
17602 const void* pNext;
17603 VkDescriptorSetLayout descriptorSetLayout;
17604 uint32_t binding;
17605} VkDescriptorSetBindingReferenceVALVE;
17606
17607typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE {
17608 VkStructureType sType;
17609 void* pNext;
17610 size_t descriptorOffset;
17611 uint32_t descriptorSize;
17612} VkDescriptorSetLayoutHostMappingInfoVALVE;
17613
17614typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
17615typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
17616
17617#ifndef VK_NO_PROTOTYPES
17618VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(
17619 VkDevice device,
17620 const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
17621 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
17622
17623VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
17624 VkDevice device,
17625 VkDescriptorSet descriptorSet,
17626 void** ppData);
17627#endif
17628
17629
17630// VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls.
17631#define VK_EXT_depth_clamp_zero_one 1
17632#define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1
17633#define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one"
17634typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT {
17635 VkStructureType sType;
17636 void* pNext;
17637 VkBool32 depthClampZeroOne;
17638} VkPhysicalDeviceDepthClampZeroOneFeaturesEXT;
17639
17640
17641
17642// VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls.
17643#define VK_EXT_non_seamless_cube_map 1
17644#define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1
17645#define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map"
17646typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
17647 VkStructureType sType;
17648 void* pNext;
17649 VkBool32 nonSeamlessCubeMap;
17650} VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT;
17651
17652
17653
17654// VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls.
17655#define VK_ARM_render_pass_striped 1
17656#define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1
17657#define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped"
17658typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM {
17659 VkStructureType sType;
17660 void* pNext;
17661 VkBool32 renderPassStriped;
17662} VkPhysicalDeviceRenderPassStripedFeaturesARM;
17663
17664typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM {
17665 VkStructureType sType;
17666 void* pNext;
17667 VkExtent2D renderPassStripeGranularity;
17668 uint32_t maxRenderPassStripes;
17669} VkPhysicalDeviceRenderPassStripedPropertiesARM;
17670
17671typedef struct VkRenderPassStripeInfoARM {
17672 VkStructureType sType;
17673 const void* pNext;
17674 VkRect2D stripeArea;
17675} VkRenderPassStripeInfoARM;
17676
17677typedef struct VkRenderPassStripeBeginInfoARM {
17678 VkStructureType sType;
17679 const void* pNext;
17680 uint32_t stripeInfoCount;
17681 const VkRenderPassStripeInfoARM* pStripeInfos;
17682} VkRenderPassStripeBeginInfoARM;
17683
17684typedef struct VkRenderPassStripeSubmitInfoARM {
17685 VkStructureType sType;
17686 const void* pNext;
17687 uint32_t stripeSemaphoreInfoCount;
17688 const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos;
17689} VkRenderPassStripeSubmitInfoARM;
17690
17691
17692
17693// VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls.
17694#define VK_QCOM_fragment_density_map_offset 1
17695#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
17696#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
17697typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
17698 VkStructureType sType;
17699 void* pNext;
17700 VkBool32 fragmentDensityMapOffset;
17701} VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
17702
17703typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
17704 VkStructureType sType;
17705 void* pNext;
17706 VkExtent2D fragmentDensityOffsetGranularity;
17707} VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
17708
17709typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM {
17710 VkStructureType sType;
17711 const void* pNext;
17712 uint32_t fragmentDensityOffsetCount;
17713 const VkOffset2D* pFragmentDensityOffsets;
17714} VkSubpassFragmentDensityMapOffsetEndInfoQCOM;
17715
17716
17717
17718// VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls.
17719#define VK_NV_copy_memory_indirect 1
17720#define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1
17721#define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect"
17722typedef struct VkCopyMemoryIndirectCommandNV {
17723 VkDeviceAddress srcAddress;
17724 VkDeviceAddress dstAddress;
17725 VkDeviceSize size;
17726} VkCopyMemoryIndirectCommandNV;
17727
17728typedef struct VkCopyMemoryToImageIndirectCommandNV {
17729 VkDeviceAddress srcAddress;
17730 uint32_t bufferRowLength;
17731 uint32_t bufferImageHeight;
17732 VkImageSubresourceLayers imageSubresource;
17733 VkOffset3D imageOffset;
17734 VkExtent3D imageExtent;
17735} VkCopyMemoryToImageIndirectCommandNV;
17736
17737typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV {
17738 VkStructureType sType;
17739 void* pNext;
17740 VkBool32 indirectCopy;
17741} VkPhysicalDeviceCopyMemoryIndirectFeaturesNV;
17742
17743typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV {
17744 VkStructureType sType;
17745 void* pNext;
17746 VkQueueFlags supportedQueues;
17747} VkPhysicalDeviceCopyMemoryIndirectPropertiesNV;
17748
17749typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride);
17750typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources);
17751
17752#ifndef VK_NO_PROTOTYPES
17753VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV(
17754 VkCommandBuffer commandBuffer,
17755 VkDeviceAddress copyBufferAddress,
17756 uint32_t copyCount,
17757 uint32_t stride);
17758
17759VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV(
17760 VkCommandBuffer commandBuffer,
17761 VkDeviceAddress copyBufferAddress,
17762 uint32_t copyCount,
17763 uint32_t stride,
17764 VkImage dstImage,
17765 VkImageLayout dstImageLayout,
17766 const VkImageSubresourceLayers* pImageSubresources);
17767#endif
17768
17769
17770// VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls.
17771#define VK_NV_memory_decompression 1
17772#define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1
17773#define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression"
17774
17775// Flag bits for VkMemoryDecompressionMethodFlagBitsNV
17776typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV;
17777static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL;
17778
17779typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV;
17780typedef struct VkDecompressMemoryRegionNV {
17781 VkDeviceAddress srcAddress;
17782 VkDeviceAddress dstAddress;
17783 VkDeviceSize compressedSize;
17784 VkDeviceSize decompressedSize;
17785 VkMemoryDecompressionMethodFlagsNV decompressionMethod;
17786} VkDecompressMemoryRegionNV;
17787
17788typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV {
17789 VkStructureType sType;
17790 void* pNext;
17791 VkBool32 memoryDecompression;
17792} VkPhysicalDeviceMemoryDecompressionFeaturesNV;
17793
17794typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV {
17795 VkStructureType sType;
17796 void* pNext;
17797 VkMemoryDecompressionMethodFlagsNV decompressionMethods;
17798 uint64_t maxDecompressionIndirectCount;
17799} VkPhysicalDeviceMemoryDecompressionPropertiesNV;
17800
17801typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions);
17802typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride);
17803
17804#ifndef VK_NO_PROTOTYPES
17805VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV(
17806 VkCommandBuffer commandBuffer,
17807 uint32_t decompressRegionCount,
17808 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions);
17809
17810VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV(
17811 VkCommandBuffer commandBuffer,
17812 VkDeviceAddress indirectCommandsAddress,
17813 VkDeviceAddress indirectCommandsCountAddress,
17814 uint32_t stride);
17815#endif
17816
17817
17818// VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls.
17819#define VK_NV_device_generated_commands_compute 1
17820#define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2
17821#define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute"
17822typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
17823 VkStructureType sType;
17824 void* pNext;
17825 VkBool32 deviceGeneratedCompute;
17826 VkBool32 deviceGeneratedComputePipelines;
17827 VkBool32 deviceGeneratedComputeCaptureReplay;
17828} VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV;
17829
17830typedef struct VkComputePipelineIndirectBufferInfoNV {
17831 VkStructureType sType;
17832 const void* pNext;
17833 VkDeviceAddress deviceAddress;
17834 VkDeviceSize size;
17835 VkDeviceAddress pipelineDeviceAddressCaptureReplay;
17836} VkComputePipelineIndirectBufferInfoNV;
17837
17838typedef struct VkPipelineIndirectDeviceAddressInfoNV {
17839 VkStructureType sType;
17840 const void* pNext;
17841 VkPipelineBindPoint pipelineBindPoint;
17842 VkPipeline pipeline;
17843} VkPipelineIndirectDeviceAddressInfoNV;
17844
17845typedef struct VkBindPipelineIndirectCommandNV {
17846 VkDeviceAddress pipelineAddress;
17847} VkBindPipelineIndirectCommandNV;
17848
17849typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements);
17850typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
17851typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo);
17852
17853#ifndef VK_NO_PROTOTYPES
17854VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV(
17855 VkDevice device,
17856 const VkComputePipelineCreateInfo* pCreateInfo,
17857 VkMemoryRequirements2* pMemoryRequirements);
17858
17859VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV(
17860 VkCommandBuffer commandBuffer,
17861 VkPipelineBindPoint pipelineBindPoint,
17862 VkPipeline pipeline);
17863
17864VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV(
17865 VkDevice device,
17866 const VkPipelineIndirectDeviceAddressInfoNV* pInfo);
17867#endif
17868
17869
17870// VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls.
17871#define VK_NV_linear_color_attachment 1
17872#define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
17873#define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
17874typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
17875 VkStructureType sType;
17876 void* pNext;
17877 VkBool32 linearColorAttachment;
17878} VkPhysicalDeviceLinearColorAttachmentFeaturesNV;
17879
17880
17881
17882// VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls.
17883#define VK_GOOGLE_surfaceless_query 1
17884#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2
17885#define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
17886
17887
17888// VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls.
17889#define VK_EXT_image_compression_control_swapchain 1
17890#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
17891#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
17892typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
17893 VkStructureType sType;
17894 void* pNext;
17895 VkBool32 imageCompressionControlSwapchain;
17896} VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
17897
17898
17899
17900// VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls.
17901#define VK_QCOM_image_processing 1
17902#define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1
17903#define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing"
17904typedef struct VkImageViewSampleWeightCreateInfoQCOM {
17905 VkStructureType sType;
17906 const void* pNext;
17907 VkOffset2D filterCenter;
17908 VkExtent2D filterSize;
17909 uint32_t numPhases;
17910} VkImageViewSampleWeightCreateInfoQCOM;
17911
17912typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM {
17913 VkStructureType sType;
17914 void* pNext;
17915 VkBool32 textureSampleWeighted;
17916 VkBool32 textureBoxFilter;
17917 VkBool32 textureBlockMatch;
17918} VkPhysicalDeviceImageProcessingFeaturesQCOM;
17919
17920typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM {
17921 VkStructureType sType;
17922 void* pNext;
17923 uint32_t maxWeightFilterPhases;
17924 VkExtent2D maxWeightFilterDimension;
17925 VkExtent2D maxBlockMatchRegion;
17926 VkExtent2D maxBoxFilterBlockSize;
17927} VkPhysicalDeviceImageProcessingPropertiesQCOM;
17928
17929
17930
17931// VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls.
17932#define VK_EXT_nested_command_buffer 1
17933#define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1
17934#define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer"
17935typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT {
17936 VkStructureType sType;
17937 void* pNext;
17938 VkBool32 nestedCommandBuffer;
17939 VkBool32 nestedCommandBufferRendering;
17940 VkBool32 nestedCommandBufferSimultaneousUse;
17941} VkPhysicalDeviceNestedCommandBufferFeaturesEXT;
17942
17943typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT {
17944 VkStructureType sType;
17945 void* pNext;
17946 uint32_t maxCommandBufferNestingLevel;
17947} VkPhysicalDeviceNestedCommandBufferPropertiesEXT;
17948
17949
17950
17951// VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls.
17952#define VK_EXT_external_memory_acquire_unmodified 1
17953#define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1
17954#define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified"
17955typedef struct VkExternalMemoryAcquireUnmodifiedEXT {
17956 VkStructureType sType;
17957 const void* pNext;
17958 VkBool32 acquireUnmodifiedMemory;
17959} VkExternalMemoryAcquireUnmodifiedEXT;
17960
17961
17962
17963// VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls.
17964#define VK_EXT_extended_dynamic_state3 1
17965#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2
17966#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3"
17967typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT {
17968 VkStructureType sType;
17969 void* pNext;
17970 VkBool32 extendedDynamicState3TessellationDomainOrigin;
17971 VkBool32 extendedDynamicState3DepthClampEnable;
17972 VkBool32 extendedDynamicState3PolygonMode;
17973 VkBool32 extendedDynamicState3RasterizationSamples;
17974 VkBool32 extendedDynamicState3SampleMask;
17975 VkBool32 extendedDynamicState3AlphaToCoverageEnable;
17976 VkBool32 extendedDynamicState3AlphaToOneEnable;
17977 VkBool32 extendedDynamicState3LogicOpEnable;
17978 VkBool32 extendedDynamicState3ColorBlendEnable;
17979 VkBool32 extendedDynamicState3ColorBlendEquation;
17980 VkBool32 extendedDynamicState3ColorWriteMask;
17981 VkBool32 extendedDynamicState3RasterizationStream;
17982 VkBool32 extendedDynamicState3ConservativeRasterizationMode;
17983 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize;
17984 VkBool32 extendedDynamicState3DepthClipEnable;
17985 VkBool32 extendedDynamicState3SampleLocationsEnable;
17986 VkBool32 extendedDynamicState3ColorBlendAdvanced;
17987 VkBool32 extendedDynamicState3ProvokingVertexMode;
17988 VkBool32 extendedDynamicState3LineRasterizationMode;
17989 VkBool32 extendedDynamicState3LineStippleEnable;
17990 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne;
17991 VkBool32 extendedDynamicState3ViewportWScalingEnable;
17992 VkBool32 extendedDynamicState3ViewportSwizzle;
17993 VkBool32 extendedDynamicState3CoverageToColorEnable;
17994 VkBool32 extendedDynamicState3CoverageToColorLocation;
17995 VkBool32 extendedDynamicState3CoverageModulationMode;
17996 VkBool32 extendedDynamicState3CoverageModulationTableEnable;
17997 VkBool32 extendedDynamicState3CoverageModulationTable;
17998 VkBool32 extendedDynamicState3CoverageReductionMode;
17999 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable;
18000 VkBool32 extendedDynamicState3ShadingRateImageEnable;
18001} VkPhysicalDeviceExtendedDynamicState3FeaturesEXT;
18002
18003typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT {
18004 VkStructureType sType;
18005 void* pNext;
18006 VkBool32 dynamicPrimitiveTopologyUnrestricted;
18007} VkPhysicalDeviceExtendedDynamicState3PropertiesEXT;
18008
18009typedef struct VkColorBlendEquationEXT {
18010 VkBlendFactor srcColorBlendFactor;
18011 VkBlendFactor dstColorBlendFactor;
18012 VkBlendOp colorBlendOp;
18013 VkBlendFactor srcAlphaBlendFactor;
18014 VkBlendFactor dstAlphaBlendFactor;
18015 VkBlendOp alphaBlendOp;
18016} VkColorBlendEquationEXT;
18017
18018typedef struct VkColorBlendAdvancedEXT {
18019 VkBlendOp advancedBlendOp;
18020 VkBool32 srcPremultiplied;
18021 VkBool32 dstPremultiplied;
18022 VkBlendOverlapEXT blendOverlap;
18023 VkBool32 clampResults;
18024} VkColorBlendAdvancedEXT;
18025
18026typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable);
18027typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode);
18028typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples);
18029typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask);
18030typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable);
18031typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable);
18032typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable);
18033typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables);
18034typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations);
18035typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks);
18036typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin);
18037typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream);
18038typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode);
18039typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize);
18040typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable);
18041typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable);
18042typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced);
18043typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode);
18044typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode);
18045typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable);
18046typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne);
18047typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable);
18048typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles);
18049typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable);
18050typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation);
18051typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode);
18052typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable);
18053typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable);
18054typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable);
18055typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable);
18056typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode);
18057
18058#ifndef VK_NO_PROTOTYPES
18059VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT(
18060 VkCommandBuffer commandBuffer,
18061 VkBool32 depthClampEnable);
18062
18063VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT(
18064 VkCommandBuffer commandBuffer,
18065 VkPolygonMode polygonMode);
18066
18067VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT(
18068 VkCommandBuffer commandBuffer,
18069 VkSampleCountFlagBits rasterizationSamples);
18070
18071VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT(
18072 VkCommandBuffer commandBuffer,
18073 VkSampleCountFlagBits samples,
18074 const VkSampleMask* pSampleMask);
18075
18076VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT(
18077 VkCommandBuffer commandBuffer,
18078 VkBool32 alphaToCoverageEnable);
18079
18080VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT(
18081 VkCommandBuffer commandBuffer,
18082 VkBool32 alphaToOneEnable);
18083
18084VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT(
18085 VkCommandBuffer commandBuffer,
18086 VkBool32 logicOpEnable);
18087
18088VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT(
18089 VkCommandBuffer commandBuffer,
18090 uint32_t firstAttachment,
18091 uint32_t attachmentCount,
18092 const VkBool32* pColorBlendEnables);
18093
18094VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT(
18095 VkCommandBuffer commandBuffer,
18096 uint32_t firstAttachment,
18097 uint32_t attachmentCount,
18098 const VkColorBlendEquationEXT* pColorBlendEquations);
18099
18100VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT(
18101 VkCommandBuffer commandBuffer,
18102 uint32_t firstAttachment,
18103 uint32_t attachmentCount,
18104 const VkColorComponentFlags* pColorWriteMasks);
18105
18106VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT(
18107 VkCommandBuffer commandBuffer,
18108 VkTessellationDomainOrigin domainOrigin);
18109
18110VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT(
18111 VkCommandBuffer commandBuffer,
18112 uint32_t rasterizationStream);
18113
18114VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT(
18115 VkCommandBuffer commandBuffer,
18116 VkConservativeRasterizationModeEXT conservativeRasterizationMode);
18117
18118VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT(
18119 VkCommandBuffer commandBuffer,
18120 float extraPrimitiveOverestimationSize);
18121
18122VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT(
18123 VkCommandBuffer commandBuffer,
18124 VkBool32 depthClipEnable);
18125
18126VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT(
18127 VkCommandBuffer commandBuffer,
18128 VkBool32 sampleLocationsEnable);
18129
18130VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT(
18131 VkCommandBuffer commandBuffer,
18132 uint32_t firstAttachment,
18133 uint32_t attachmentCount,
18134 const VkColorBlendAdvancedEXT* pColorBlendAdvanced);
18135
18136VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT(
18137 VkCommandBuffer commandBuffer,
18138 VkProvokingVertexModeEXT provokingVertexMode);
18139
18140VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT(
18141 VkCommandBuffer commandBuffer,
18142 VkLineRasterizationModeEXT lineRasterizationMode);
18143
18144VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT(
18145 VkCommandBuffer commandBuffer,
18146 VkBool32 stippledLineEnable);
18147
18148VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT(
18149 VkCommandBuffer commandBuffer,
18150 VkBool32 negativeOneToOne);
18151
18152VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV(
18153 VkCommandBuffer commandBuffer,
18154 VkBool32 viewportWScalingEnable);
18155
18156VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV(
18157 VkCommandBuffer commandBuffer,
18158 uint32_t firstViewport,
18159 uint32_t viewportCount,
18160 const VkViewportSwizzleNV* pViewportSwizzles);
18161
18162VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV(
18163 VkCommandBuffer commandBuffer,
18164 VkBool32 coverageToColorEnable);
18165
18166VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV(
18167 VkCommandBuffer commandBuffer,
18168 uint32_t coverageToColorLocation);
18169
18170VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV(
18171 VkCommandBuffer commandBuffer,
18172 VkCoverageModulationModeNV coverageModulationMode);
18173
18174VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV(
18175 VkCommandBuffer commandBuffer,
18176 VkBool32 coverageModulationTableEnable);
18177
18178VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV(
18179 VkCommandBuffer commandBuffer,
18180 uint32_t coverageModulationTableCount,
18181 const float* pCoverageModulationTable);
18182
18183VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV(
18184 VkCommandBuffer commandBuffer,
18185 VkBool32 shadingRateImageEnable);
18186
18187VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV(
18188 VkCommandBuffer commandBuffer,
18189 VkBool32 representativeFragmentTestEnable);
18190
18191VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV(
18192 VkCommandBuffer commandBuffer,
18193 VkCoverageReductionModeNV coverageReductionMode);
18194#endif
18195
18196
18197// VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls.
18198#define VK_EXT_subpass_merge_feedback 1
18199#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2
18200#define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
18201
18202typedef enum VkSubpassMergeStatusEXT {
18203 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
18204 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
18205 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
18206 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
18207 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
18208 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
18209 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
18210 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
18211 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
18212 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
18213 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
18214 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
18215 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
18216 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13,
18217 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF
18218} VkSubpassMergeStatusEXT;
18219typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
18220 VkStructureType sType;
18221 void* pNext;
18222 VkBool32 subpassMergeFeedback;
18223} VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
18224
18225typedef struct VkRenderPassCreationControlEXT {
18226 VkStructureType sType;
18227 const void* pNext;
18228 VkBool32 disallowMerging;
18229} VkRenderPassCreationControlEXT;
18230
18231typedef struct VkRenderPassCreationFeedbackInfoEXT {
18232 uint32_t postMergeSubpassCount;
18233} VkRenderPassCreationFeedbackInfoEXT;
18234
18235typedef struct VkRenderPassCreationFeedbackCreateInfoEXT {
18236 VkStructureType sType;
18237 const void* pNext;
18238 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback;
18239} VkRenderPassCreationFeedbackCreateInfoEXT;
18240
18241typedef struct VkRenderPassSubpassFeedbackInfoEXT {
18242 VkSubpassMergeStatusEXT subpassMergeStatus;
18243 char description[VK_MAX_DESCRIPTION_SIZE];
18244 uint32_t postMergeIndex;
18245} VkRenderPassSubpassFeedbackInfoEXT;
18246
18247typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT {
18248 VkStructureType sType;
18249 const void* pNext;
18250 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback;
18251} VkRenderPassSubpassFeedbackCreateInfoEXT;
18252
18253
18254
18255// VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls.
18256#define VK_LUNARG_direct_driver_loading 1
18257#define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1
18258#define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading"
18259
18260typedef enum VkDirectDriverLoadingModeLUNARG {
18261 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0,
18262 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1,
18263 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF
18264} VkDirectDriverLoadingModeLUNARG;
18265typedef VkFlags VkDirectDriverLoadingFlagsLUNARG;
18266typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)(
18267 VkInstance instance, const char* pName);
18268
18269typedef struct VkDirectDriverLoadingInfoLUNARG {
18270 VkStructureType sType;
18271 void* pNext;
18272 VkDirectDriverLoadingFlagsLUNARG flags;
18273 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr;
18274} VkDirectDriverLoadingInfoLUNARG;
18275
18276typedef struct VkDirectDriverLoadingListLUNARG {
18277 VkStructureType sType;
18278 const void* pNext;
18279 VkDirectDriverLoadingModeLUNARG mode;
18280 uint32_t driverCount;
18281 const VkDirectDriverLoadingInfoLUNARG* pDrivers;
18282} VkDirectDriverLoadingListLUNARG;
18283
18284
18285
18286// VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls.
18287#define VK_EXT_shader_module_identifier 1
18288#define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U
18289#define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1
18290#define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
18291typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT {
18292 VkStructureType sType;
18293 void* pNext;
18294 VkBool32 shaderModuleIdentifier;
18295} VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT;
18296
18297typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
18298 VkStructureType sType;
18299 void* pNext;
18300 uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE];
18301} VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT;
18302
18303typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
18304 VkStructureType sType;
18305 const void* pNext;
18306 uint32_t identifierSize;
18307 const uint8_t* pIdentifier;
18308} VkPipelineShaderStageModuleIdentifierCreateInfoEXT;
18309
18310typedef struct VkShaderModuleIdentifierEXT {
18311 VkStructureType sType;
18312 void* pNext;
18313 uint32_t identifierSize;
18314 uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT];
18315} VkShaderModuleIdentifierEXT;
18316
18317typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier);
18318typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier);
18319
18320#ifndef VK_NO_PROTOTYPES
18321VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT(
18322 VkDevice device,
18323 VkShaderModule shaderModule,
18324 VkShaderModuleIdentifierEXT* pIdentifier);
18325
18326VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT(
18327 VkDevice device,
18328 const VkShaderModuleCreateInfo* pCreateInfo,
18329 VkShaderModuleIdentifierEXT* pIdentifier);
18330#endif
18331
18332
18333// VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls.
18334#define VK_EXT_rasterization_order_attachment_access 1
18335#define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
18336#define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access"
18337
18338
18339// VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls.
18340#define VK_NV_optical_flow 1
18341VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV)
18342#define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1
18343#define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow"
18344
18345typedef enum VkOpticalFlowPerformanceLevelNV {
18346 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0,
18347 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1,
18348 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2,
18349 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3,
18350 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF
18351} VkOpticalFlowPerformanceLevelNV;
18352
18353typedef enum VkOpticalFlowSessionBindingPointNV {
18354 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0,
18355 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1,
18356 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2,
18357 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3,
18358 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4,
18359 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5,
18360 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6,
18361 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7,
18362 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8,
18363 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF
18364} VkOpticalFlowSessionBindingPointNV;
18365
18366typedef enum VkOpticalFlowGridSizeFlagBitsNV {
18367 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0,
18368 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001,
18369 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002,
18370 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004,
18371 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008,
18372 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
18373} VkOpticalFlowGridSizeFlagBitsNV;
18374typedef VkFlags VkOpticalFlowGridSizeFlagsNV;
18375
18376typedef enum VkOpticalFlowUsageFlagBitsNV {
18377 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0,
18378 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001,
18379 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002,
18380 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004,
18381 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008,
18382 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010,
18383 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
18384} VkOpticalFlowUsageFlagBitsNV;
18385typedef VkFlags VkOpticalFlowUsageFlagsNV;
18386
18387typedef enum VkOpticalFlowSessionCreateFlagBitsNV {
18388 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001,
18389 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002,
18390 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004,
18391 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008,
18392 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010,
18393 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
18394} VkOpticalFlowSessionCreateFlagBitsNV;
18395typedef VkFlags VkOpticalFlowSessionCreateFlagsNV;
18396
18397typedef enum VkOpticalFlowExecuteFlagBitsNV {
18398 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001,
18399 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
18400} VkOpticalFlowExecuteFlagBitsNV;
18401typedef VkFlags VkOpticalFlowExecuteFlagsNV;
18402typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV {
18403 VkStructureType sType;
18404 void* pNext;
18405 VkBool32 opticalFlow;
18406} VkPhysicalDeviceOpticalFlowFeaturesNV;
18407
18408typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV {
18409 VkStructureType sType;
18410 void* pNext;
18411 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes;
18412 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes;
18413 VkBool32 hintSupported;
18414 VkBool32 costSupported;
18415 VkBool32 bidirectionalFlowSupported;
18416 VkBool32 globalFlowSupported;
18417 uint32_t minWidth;
18418 uint32_t minHeight;
18419 uint32_t maxWidth;
18420 uint32_t maxHeight;
18421 uint32_t maxNumRegionsOfInterest;
18422} VkPhysicalDeviceOpticalFlowPropertiesNV;
18423
18424typedef struct VkOpticalFlowImageFormatInfoNV {
18425 VkStructureType sType;
18426 const void* pNext;
18427 VkOpticalFlowUsageFlagsNV usage;
18428} VkOpticalFlowImageFormatInfoNV;
18429
18430typedef struct VkOpticalFlowImageFormatPropertiesNV {
18431 VkStructureType sType;
18432 const void* pNext;
18433 VkFormat format;
18434} VkOpticalFlowImageFormatPropertiesNV;
18435
18436typedef struct VkOpticalFlowSessionCreateInfoNV {
18437 VkStructureType sType;
18438 void* pNext;
18439 uint32_t width;
18440 uint32_t height;
18441 VkFormat imageFormat;
18442 VkFormat flowVectorFormat;
18443 VkFormat costFormat;
18444 VkOpticalFlowGridSizeFlagsNV outputGridSize;
18445 VkOpticalFlowGridSizeFlagsNV hintGridSize;
18446 VkOpticalFlowPerformanceLevelNV performanceLevel;
18447 VkOpticalFlowSessionCreateFlagsNV flags;
18448} VkOpticalFlowSessionCreateInfoNV;
18449
18450typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV {
18451 VkStructureType sType;
18452 void* pNext;
18453 uint32_t id;
18454 uint32_t size;
18455 const void* pPrivateData;
18456} VkOpticalFlowSessionCreatePrivateDataInfoNV;
18457
18458typedef struct VkOpticalFlowExecuteInfoNV {
18459 VkStructureType sType;
18460 void* pNext;
18461 VkOpticalFlowExecuteFlagsNV flags;
18462 uint32_t regionCount;
18463 const VkRect2D* pRegions;
18464} VkOpticalFlowExecuteInfoNV;
18465
18466typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);
18467typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession);
18468typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator);
18469typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout);
18470typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
18471
18472#ifndef VK_NO_PROTOTYPES
18473VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV(
18474 VkPhysicalDevice physicalDevice,
18475 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo,
18476 uint32_t* pFormatCount,
18477 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);
18478
18479VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV(
18480 VkDevice device,
18481 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo,
18482 const VkAllocationCallbacks* pAllocator,
18483 VkOpticalFlowSessionNV* pSession);
18484
18485VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV(
18486 VkDevice device,
18487 VkOpticalFlowSessionNV session,
18488 const VkAllocationCallbacks* pAllocator);
18489
18490VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV(
18491 VkDevice device,
18492 VkOpticalFlowSessionNV session,
18493 VkOpticalFlowSessionBindingPointNV bindingPoint,
18494 VkImageView view,
18495 VkImageLayout layout);
18496
18497VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV(
18498 VkCommandBuffer commandBuffer,
18499 VkOpticalFlowSessionNV session,
18500 const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
18501#endif
18502
18503
18504// VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls.
18505#define VK_EXT_legacy_dithering 1
18506#define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1
18507#define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering"
18508typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT {
18509 VkStructureType sType;
18510 void* pNext;
18511 VkBool32 legacyDithering;
18512} VkPhysicalDeviceLegacyDitheringFeaturesEXT;
18513
18514
18515
18516// VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls.
18517#define VK_EXT_pipeline_protected_access 1
18518#define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1
18519#define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access"
18520typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT {
18521 VkStructureType sType;
18522 void* pNext;
18523 VkBool32 pipelineProtectedAccess;
18524} VkPhysicalDevicePipelineProtectedAccessFeaturesEXT;
18525
18526
18527
18528// VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls.
18529#define VK_EXT_shader_object 1
18530VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT)
18531#define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1
18532#define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object"
18533
18534typedef enum VkShaderCodeTypeEXT {
18535 VK_SHADER_CODE_TYPE_BINARY_EXT = 0,
18536 VK_SHADER_CODE_TYPE_SPIRV_EXT = 1,
18537 VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
18538} VkShaderCodeTypeEXT;
18539
18540typedef enum VkShaderCreateFlagBitsEXT {
18541 VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001,
18542 VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002,
18543 VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004,
18544 VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008,
18545 VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010,
18546 VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020,
18547 VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040,
18548 VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
18549} VkShaderCreateFlagBitsEXT;
18550typedef VkFlags VkShaderCreateFlagsEXT;
18551typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT {
18552 VkStructureType sType;
18553 void* pNext;
18554 VkBool32 shaderObject;
18555} VkPhysicalDeviceShaderObjectFeaturesEXT;
18556
18557typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT {
18558 VkStructureType sType;
18559 void* pNext;
18560 uint8_t shaderBinaryUUID[VK_UUID_SIZE];
18561 uint32_t shaderBinaryVersion;
18562} VkPhysicalDeviceShaderObjectPropertiesEXT;
18563
18564typedef struct VkShaderCreateInfoEXT {
18565 VkStructureType sType;
18566 const void* pNext;
18567 VkShaderCreateFlagsEXT flags;
18568 VkShaderStageFlagBits stage;
18569 VkShaderStageFlags nextStage;
18570 VkShaderCodeTypeEXT codeType;
18571 size_t codeSize;
18572 const void* pCode;
18573 const char* pName;
18574 uint32_t setLayoutCount;
18575 const VkDescriptorSetLayout* pSetLayouts;
18576 uint32_t pushConstantRangeCount;
18577 const VkPushConstantRange* pPushConstantRanges;
18578 const VkSpecializationInfo* pSpecializationInfo;
18579} VkShaderCreateInfoEXT;
18580
18581typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT;
18582
18583typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders);
18584typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator);
18585typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData);
18586typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders);
18587
18588#ifndef VK_NO_PROTOTYPES
18589VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT(
18590 VkDevice device,
18591 uint32_t createInfoCount,
18592 const VkShaderCreateInfoEXT* pCreateInfos,
18593 const VkAllocationCallbacks* pAllocator,
18594 VkShaderEXT* pShaders);
18595
18596VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT(
18597 VkDevice device,
18598 VkShaderEXT shader,
18599 const VkAllocationCallbacks* pAllocator);
18600
18601VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT(
18602 VkDevice device,
18603 VkShaderEXT shader,
18604 size_t* pDataSize,
18605 void* pData);
18606
18607VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT(
18608 VkCommandBuffer commandBuffer,
18609 uint32_t stageCount,
18610 const VkShaderStageFlagBits* pStages,
18611 const VkShaderEXT* pShaders);
18612#endif
18613
18614
18615// VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls.
18616#define VK_QCOM_tile_properties 1
18617#define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
18618#define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
18619typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM {
18620 VkStructureType sType;
18621 void* pNext;
18622 VkBool32 tileProperties;
18623} VkPhysicalDeviceTilePropertiesFeaturesQCOM;
18624
18625typedef struct VkTilePropertiesQCOM {
18626 VkStructureType sType;
18627 void* pNext;
18628 VkExtent3D tileSize;
18629 VkExtent2D apronSize;
18630 VkOffset2D origin;
18631} VkTilePropertiesQCOM;
18632
18633typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties);
18634typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties);
18635
18636#ifndef VK_NO_PROTOTYPES
18637VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM(
18638 VkDevice device,
18639 VkFramebuffer framebuffer,
18640 uint32_t* pPropertiesCount,
18641 VkTilePropertiesQCOM* pProperties);
18642
18643VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM(
18644 VkDevice device,
18645 const VkRenderingInfo* pRenderingInfo,
18646 VkTilePropertiesQCOM* pProperties);
18647#endif
18648
18649
18650// VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls.
18651#define VK_SEC_amigo_profiling 1
18652#define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1
18653#define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling"
18654typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC {
18655 VkStructureType sType;
18656 void* pNext;
18657 VkBool32 amigoProfiling;
18658} VkPhysicalDeviceAmigoProfilingFeaturesSEC;
18659
18660typedef struct VkAmigoProfilingSubmitInfoSEC {
18661 VkStructureType sType;
18662 const void* pNext;
18663 uint64_t firstDrawTimestamp;
18664 uint64_t swapBufferTimestamp;
18665} VkAmigoProfilingSubmitInfoSEC;
18666
18667
18668
18669// VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls.
18670#define VK_QCOM_multiview_per_view_viewports 1
18671#define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1
18672#define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports"
18673typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18674 VkStructureType sType;
18675 void* pNext;
18676 VkBool32 multiviewPerViewViewports;
18677} VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM;
18678
18679
18680
18681// VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls.
18682#define VK_NV_ray_tracing_invocation_reorder 1
18683#define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1
18684#define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder"
18685
18686typedef enum VkRayTracingInvocationReorderModeNV {
18687 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0,
18688 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1,
18689 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF
18690} VkRayTracingInvocationReorderModeNV;
18691typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV {
18692 VkStructureType sType;
18693 void* pNext;
18694 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint;
18695} VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV;
18696
18697typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV {
18698 VkStructureType sType;
18699 void* pNext;
18700 VkBool32 rayTracingInvocationReorder;
18701} VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV;
18702
18703
18704
18705// VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls.
18706#define VK_NV_extended_sparse_address_space 1
18707#define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1
18708#define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space"
18709typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
18710 VkStructureType sType;
18711 void* pNext;
18712 VkBool32 extendedSparseAddressSpace;
18713} VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV;
18714
18715typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
18716 VkStructureType sType;
18717 void* pNext;
18718 VkDeviceSize extendedSparseAddressSpaceSize;
18719 VkImageUsageFlags extendedSparseImageUsageFlags;
18720 VkBufferUsageFlags extendedSparseBufferUsageFlags;
18721} VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV;
18722
18723
18724
18725// VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls.
18726#define VK_EXT_mutable_descriptor_type 1
18727#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
18728#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type"
18729
18730
18731// VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls.
18732#define VK_EXT_layer_settings 1
18733#define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2
18734#define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings"
18735
18736typedef enum VkLayerSettingTypeEXT {
18737 VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0,
18738 VK_LAYER_SETTING_TYPE_INT32_EXT = 1,
18739 VK_LAYER_SETTING_TYPE_INT64_EXT = 2,
18740 VK_LAYER_SETTING_TYPE_UINT32_EXT = 3,
18741 VK_LAYER_SETTING_TYPE_UINT64_EXT = 4,
18742 VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5,
18743 VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6,
18744 VK_LAYER_SETTING_TYPE_STRING_EXT = 7,
18745 VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
18746} VkLayerSettingTypeEXT;
18747typedef struct VkLayerSettingEXT {
18748 const char* pLayerName;
18749 const char* pSettingName;
18750 VkLayerSettingTypeEXT type;
18751 uint32_t valueCount;
18752 const void* pValues;
18753} VkLayerSettingEXT;
18754
18755typedef struct VkLayerSettingsCreateInfoEXT {
18756 VkStructureType sType;
18757 const void* pNext;
18758 uint32_t settingCount;
18759 const VkLayerSettingEXT* pSettings;
18760} VkLayerSettingsCreateInfoEXT;
18761
18762
18763
18764// VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls.
18765#define VK_ARM_shader_core_builtins 1
18766#define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2
18767#define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins"
18768typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM {
18769 VkStructureType sType;
18770 void* pNext;
18771 VkBool32 shaderCoreBuiltins;
18772} VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM;
18773
18774typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM {
18775 VkStructureType sType;
18776 void* pNext;
18777 uint64_t shaderCoreMask;
18778 uint32_t shaderCoreCount;
18779 uint32_t shaderWarpsPerCore;
18780} VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM;
18781
18782
18783
18784// VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls.
18785#define VK_EXT_pipeline_library_group_handles 1
18786#define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1
18787#define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles"
18788typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
18789 VkStructureType sType;
18790 void* pNext;
18791 VkBool32 pipelineLibraryGroupHandles;
18792} VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT;
18793
18794
18795
18796// VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls.
18797#define VK_EXT_dynamic_rendering_unused_attachments 1
18798#define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1
18799#define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments"
18800typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
18801 VkStructureType sType;
18802 void* pNext;
18803 VkBool32 dynamicRenderingUnusedAttachments;
18804} VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT;
18805
18806
18807
18808// VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls.
18809#define VK_NV_low_latency2 1
18810#define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2
18811#define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2"
18812
18813typedef enum VkLatencyMarkerNV {
18814 VK_LATENCY_MARKER_SIMULATION_START_NV = 0,
18815 VK_LATENCY_MARKER_SIMULATION_END_NV = 1,
18816 VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2,
18817 VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3,
18818 VK_LATENCY_MARKER_PRESENT_START_NV = 4,
18819 VK_LATENCY_MARKER_PRESENT_END_NV = 5,
18820 VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6,
18821 VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7,
18822 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8,
18823 VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9,
18824 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10,
18825 VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11,
18826 VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF
18827} VkLatencyMarkerNV;
18828
18829typedef enum VkOutOfBandQueueTypeNV {
18830 VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0,
18831 VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1,
18832 VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
18833} VkOutOfBandQueueTypeNV;
18834typedef struct VkLatencySleepModeInfoNV {
18835 VkStructureType sType;
18836 const void* pNext;
18837 VkBool32 lowLatencyMode;
18838 VkBool32 lowLatencyBoost;
18839 uint32_t minimumIntervalUs;
18840} VkLatencySleepModeInfoNV;
18841
18842typedef struct VkLatencySleepInfoNV {
18843 VkStructureType sType;
18844 const void* pNext;
18845 VkSemaphore signalSemaphore;
18846 uint64_t value;
18847} VkLatencySleepInfoNV;
18848
18849typedef struct VkSetLatencyMarkerInfoNV {
18850 VkStructureType sType;
18851 const void* pNext;
18852 uint64_t presentID;
18853 VkLatencyMarkerNV marker;
18854} VkSetLatencyMarkerInfoNV;
18855
18856typedef struct VkLatencyTimingsFrameReportNV {
18857 VkStructureType sType;
18858 const void* pNext;
18859 uint64_t presentID;
18860 uint64_t inputSampleTimeUs;
18861 uint64_t simStartTimeUs;
18862 uint64_t simEndTimeUs;
18863 uint64_t renderSubmitStartTimeUs;
18864 uint64_t renderSubmitEndTimeUs;
18865 uint64_t presentStartTimeUs;
18866 uint64_t presentEndTimeUs;
18867 uint64_t driverStartTimeUs;
18868 uint64_t driverEndTimeUs;
18869 uint64_t osRenderQueueStartTimeUs;
18870 uint64_t osRenderQueueEndTimeUs;
18871 uint64_t gpuRenderStartTimeUs;
18872 uint64_t gpuRenderEndTimeUs;
18873} VkLatencyTimingsFrameReportNV;
18874
18875typedef struct VkGetLatencyMarkerInfoNV {
18876 VkStructureType sType;
18877 const void* pNext;
18878 uint32_t timingCount;
18879 VkLatencyTimingsFrameReportNV* pTimings;
18880} VkGetLatencyMarkerInfoNV;
18881
18882typedef struct VkLatencySubmissionPresentIdNV {
18883 VkStructureType sType;
18884 const void* pNext;
18885 uint64_t presentID;
18886} VkLatencySubmissionPresentIdNV;
18887
18888typedef struct VkSwapchainLatencyCreateInfoNV {
18889 VkStructureType sType;
18890 const void* pNext;
18891 VkBool32 latencyModeEnable;
18892} VkSwapchainLatencyCreateInfoNV;
18893
18894typedef struct VkOutOfBandQueueTypeInfoNV {
18895 VkStructureType sType;
18896 const void* pNext;
18897 VkOutOfBandQueueTypeNV queueType;
18898} VkOutOfBandQueueTypeInfoNV;
18899
18900typedef struct VkLatencySurfaceCapabilitiesNV {
18901 VkStructureType sType;
18902 const void* pNext;
18903 uint32_t presentModeCount;
18904 VkPresentModeKHR* pPresentModes;
18905} VkLatencySurfaceCapabilitiesNV;
18906
18907typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo);
18908typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo);
18909typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo);
18910typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo);
18911typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo);
18912
18913#ifndef VK_NO_PROTOTYPES
18914VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV(
18915 VkDevice device,
18916 VkSwapchainKHR swapchain,
18917 const VkLatencySleepModeInfoNV* pSleepModeInfo);
18918
18919VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV(
18920 VkDevice device,
18921 VkSwapchainKHR swapchain,
18922 const VkLatencySleepInfoNV* pSleepInfo);
18923
18924VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV(
18925 VkDevice device,
18926 VkSwapchainKHR swapchain,
18927 const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo);
18928
18929VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV(
18930 VkDevice device,
18931 VkSwapchainKHR swapchain,
18932 VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo);
18933
18934VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV(
18935 VkQueue queue,
18936 const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo);
18937#endif
18938
18939
18940// VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls.
18941#define VK_QCOM_multiview_per_view_render_areas 1
18942#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1
18943#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas"
18944typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18945 VkStructureType sType;
18946 void* pNext;
18947 VkBool32 multiviewPerViewRenderAreas;
18948} VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM;
18949
18950typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
18951 VkStructureType sType;
18952 const void* pNext;
18953 uint32_t perViewRenderAreaCount;
18954 const VkRect2D* pPerViewRenderAreas;
18955} VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM;
18956
18957
18958
18959// VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls.
18960#define VK_NV_per_stage_descriptor_set 1
18961#define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1
18962#define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set"
18963typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV {
18964 VkStructureType sType;
18965 void* pNext;
18966 VkBool32 perStageDescriptorSet;
18967 VkBool32 dynamicPipelineLayout;
18968} VkPhysicalDevicePerStageDescriptorSetFeaturesNV;
18969
18970
18971
18972// VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls.
18973#define VK_QCOM_image_processing2 1
18974#define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1
18975#define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2"
18976
18977typedef enum VkBlockMatchWindowCompareModeQCOM {
18978 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0,
18979 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1,
18980 VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF
18981} VkBlockMatchWindowCompareModeQCOM;
18982typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM {
18983 VkStructureType sType;
18984 void* pNext;
18985 VkBool32 textureBlockMatch2;
18986} VkPhysicalDeviceImageProcessing2FeaturesQCOM;
18987
18988typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM {
18989 VkStructureType sType;
18990 void* pNext;
18991 VkExtent2D maxBlockMatchWindow;
18992} VkPhysicalDeviceImageProcessing2PropertiesQCOM;
18993
18994typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM {
18995 VkStructureType sType;
18996 const void* pNext;
18997 VkExtent2D windowExtent;
18998 VkBlockMatchWindowCompareModeQCOM windowCompareMode;
18999} VkSamplerBlockMatchWindowCreateInfoQCOM;
19000
19001
19002
19003// VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls.
19004#define VK_QCOM_filter_cubic_weights 1
19005#define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1
19006#define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights"
19007
19008typedef enum VkCubicFilterWeightsQCOM {
19009 VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0,
19010 VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1,
19011 VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2,
19012 VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3,
19013 VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF
19014} VkCubicFilterWeightsQCOM;
19015typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM {
19016 VkStructureType sType;
19017 void* pNext;
19018 VkBool32 selectableCubicWeights;
19019} VkPhysicalDeviceCubicWeightsFeaturesQCOM;
19020
19021typedef struct VkSamplerCubicWeightsCreateInfoQCOM {
19022 VkStructureType sType;
19023 const void* pNext;
19024 VkCubicFilterWeightsQCOM cubicWeights;
19025} VkSamplerCubicWeightsCreateInfoQCOM;
19026
19027typedef struct VkBlitImageCubicWeightsInfoQCOM {
19028 VkStructureType sType;
19029 const void* pNext;
19030 VkCubicFilterWeightsQCOM cubicWeights;
19031} VkBlitImageCubicWeightsInfoQCOM;
19032
19033
19034
19035// VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls.
19036#define VK_QCOM_ycbcr_degamma 1
19037#define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1
19038#define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma"
19039typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM {
19040 VkStructureType sType;
19041 void* pNext;
19042 VkBool32 ycbcrDegamma;
19043} VkPhysicalDeviceYcbcrDegammaFeaturesQCOM;
19044
19045typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
19046 VkStructureType sType;
19047 void* pNext;
19048 VkBool32 enableYDegamma;
19049 VkBool32 enableCbCrDegamma;
19050} VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM;
19051
19052
19053
19054// VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls.
19055#define VK_QCOM_filter_cubic_clamp 1
19056#define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1
19057#define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp"
19058typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM {
19059 VkStructureType sType;
19060 void* pNext;
19061 VkBool32 cubicRangeClamp;
19062} VkPhysicalDeviceCubicClampFeaturesQCOM;
19063
19064
19065
19066// VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls.
19067#define VK_EXT_attachment_feedback_loop_dynamic_state 1
19068#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1
19069#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state"
19070typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
19071 VkStructureType sType;
19072 void* pNext;
19073 VkBool32 attachmentFeedbackLoopDynamicState;
19074} VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT;
19075
19076typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask);
19077
19078#ifndef VK_NO_PROTOTYPES
19079VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT(
19080 VkCommandBuffer commandBuffer,
19081 VkImageAspectFlags aspectMask);
19082#endif
19083
19084
19085// VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls.
19086#define VK_MSFT_layered_driver 1
19087#define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1
19088#define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver"
19089
19090typedef enum VkLayeredDriverUnderlyingApiMSFT {
19091 VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0,
19092 VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1,
19093 VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF
19094} VkLayeredDriverUnderlyingApiMSFT;
19095typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT {
19096 VkStructureType sType;
19097 void* pNext;
19098 VkLayeredDriverUnderlyingApiMSFT underlyingAPI;
19099} VkPhysicalDeviceLayeredDriverPropertiesMSFT;
19100
19101
19102
19103// VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls.
19104#define VK_NV_descriptor_pool_overallocation 1
19105#define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1
19106#define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation"
19107typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
19108 VkStructureType sType;
19109 void* pNext;
19110 VkBool32 descriptorPoolOverallocation;
19111} VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV;
19112
19113
19114
19115// VK_NV_raw_access_chains is a preprocessor guard. Do not pass it to API calls.
19116#define VK_NV_raw_access_chains 1
19117#define VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION 1
19118#define VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME "VK_NV_raw_access_chains"
19119typedef struct VkPhysicalDeviceRawAccessChainsFeaturesNV {
19120 VkStructureType sType;
19121 void* pNext;
19122 VkBool32 shaderRawAccessChains;
19123} VkPhysicalDeviceRawAccessChainsFeaturesNV;
19124
19125
19126
19127// VK_NV_shader_atomic_float16_vector is a preprocessor guard. Do not pass it to API calls.
19128#define VK_NV_shader_atomic_float16_vector 1
19129#define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION 1
19130#define VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME "VK_NV_shader_atomic_float16_vector"
19131typedef struct VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
19132 VkStructureType sType;
19133 void* pNext;
19134 VkBool32 shaderFloat16VectorAtomics;
19135} VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV;
19136
19137
19138
19139// VK_NV_ray_tracing_validation is a preprocessor guard. Do not pass it to API calls.
19140#define VK_NV_ray_tracing_validation 1
19141#define VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION 1
19142#define VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME "VK_NV_ray_tracing_validation"
19143typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV {
19144 VkStructureType sType;
19145 void* pNext;
19146 VkBool32 rayTracingValidation;
19147} VkPhysicalDeviceRayTracingValidationFeaturesNV;
19148
19149
19150
19151// VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls.
19152#define VK_KHR_acceleration_structure 1
19153#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
19154#define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
19155
19156typedef enum VkBuildAccelerationStructureModeKHR {
19157 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
19158 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
19159 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
19160} VkBuildAccelerationStructureModeKHR;
19161
19162typedef enum VkAccelerationStructureCreateFlagBitsKHR {
19163 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
19164 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
19165 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
19166 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
19167} VkAccelerationStructureCreateFlagBitsKHR;
19168typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
19169typedef struct VkAccelerationStructureBuildRangeInfoKHR {
19170 uint32_t primitiveCount;
19171 uint32_t primitiveOffset;
19172 uint32_t firstVertex;
19173 uint32_t transformOffset;
19174} VkAccelerationStructureBuildRangeInfoKHR;
19175
19176typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
19177 VkStructureType sType;
19178 const void* pNext;
19179 VkFormat vertexFormat;
19180 VkDeviceOrHostAddressConstKHR vertexData;
19181 VkDeviceSize vertexStride;
19182 uint32_t maxVertex;
19183 VkIndexType indexType;
19184 VkDeviceOrHostAddressConstKHR indexData;
19185 VkDeviceOrHostAddressConstKHR transformData;
19186} VkAccelerationStructureGeometryTrianglesDataKHR;
19187
19188typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
19189 VkStructureType sType;
19190 const void* pNext;
19191 VkDeviceOrHostAddressConstKHR data;
19192 VkDeviceSize stride;
19193} VkAccelerationStructureGeometryAabbsDataKHR;
19194
19195typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
19196 VkStructureType sType;
19197 const void* pNext;
19198 VkBool32 arrayOfPointers;
19199 VkDeviceOrHostAddressConstKHR data;
19200} VkAccelerationStructureGeometryInstancesDataKHR;
19201
19202typedef union VkAccelerationStructureGeometryDataKHR {
19203 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
19204 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
19205 VkAccelerationStructureGeometryInstancesDataKHR instances;
19206} VkAccelerationStructureGeometryDataKHR;
19207
19208typedef struct VkAccelerationStructureGeometryKHR {
19209 VkStructureType sType;
19210 const void* pNext;
19211 VkGeometryTypeKHR geometryType;
19212 VkAccelerationStructureGeometryDataKHR geometry;
19213 VkGeometryFlagsKHR flags;
19214} VkAccelerationStructureGeometryKHR;
19215
19216typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
19217 VkStructureType sType;
19218 const void* pNext;
19219 VkAccelerationStructureTypeKHR type;
19220 VkBuildAccelerationStructureFlagsKHR flags;
19221 VkBuildAccelerationStructureModeKHR mode;
19222 VkAccelerationStructureKHR srcAccelerationStructure;
19223 VkAccelerationStructureKHR dstAccelerationStructure;
19224 uint32_t geometryCount;
19225 const VkAccelerationStructureGeometryKHR* pGeometries;
19226 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
19227 VkDeviceOrHostAddressKHR scratchData;
19228} VkAccelerationStructureBuildGeometryInfoKHR;
19229
19230typedef struct VkAccelerationStructureCreateInfoKHR {
19231 VkStructureType sType;
19232 const void* pNext;
19233 VkAccelerationStructureCreateFlagsKHR createFlags;
19234 VkBuffer buffer;
19235 VkDeviceSize offset;
19236 VkDeviceSize size;
19237 VkAccelerationStructureTypeKHR type;
19238 VkDeviceAddress deviceAddress;
19239} VkAccelerationStructureCreateInfoKHR;
19240
19241typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
19242 VkStructureType sType;
19243 const void* pNext;
19244 uint32_t accelerationStructureCount;
19245 const VkAccelerationStructureKHR* pAccelerationStructures;
19246} VkWriteDescriptorSetAccelerationStructureKHR;
19247
19248typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
19249 VkStructureType sType;
19250 void* pNext;
19251 VkBool32 accelerationStructure;
19252 VkBool32 accelerationStructureCaptureReplay;
19253 VkBool32 accelerationStructureIndirectBuild;
19254 VkBool32 accelerationStructureHostCommands;
19255 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
19256} VkPhysicalDeviceAccelerationStructureFeaturesKHR;
19257
19258typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
19259 VkStructureType sType;
19260 void* pNext;
19261 uint64_t maxGeometryCount;
19262 uint64_t maxInstanceCount;
19263 uint64_t maxPrimitiveCount;
19264 uint32_t maxPerStageDescriptorAccelerationStructures;
19265 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
19266 uint32_t maxDescriptorSetAccelerationStructures;
19267 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures;
19268 uint32_t minAccelerationStructureScratchOffsetAlignment;
19269} VkPhysicalDeviceAccelerationStructurePropertiesKHR;
19270
19271typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
19272 VkStructureType sType;
19273 const void* pNext;
19274 VkAccelerationStructureKHR accelerationStructure;
19275} VkAccelerationStructureDeviceAddressInfoKHR;
19276
19277typedef struct VkAccelerationStructureVersionInfoKHR {
19278 VkStructureType sType;
19279 const void* pNext;
19280 const uint8_t* pVersionData;
19281} VkAccelerationStructureVersionInfoKHR;
19282
19283typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
19284 VkStructureType sType;
19285 const void* pNext;
19286 VkAccelerationStructureKHR src;
19287 VkDeviceOrHostAddressKHR dst;
19288 VkCopyAccelerationStructureModeKHR mode;
19289} VkCopyAccelerationStructureToMemoryInfoKHR;
19290
19291typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
19292 VkStructureType sType;
19293 const void* pNext;
19294 VkDeviceOrHostAddressConstKHR src;
19295 VkAccelerationStructureKHR dst;
19296 VkCopyAccelerationStructureModeKHR mode;
19297} VkCopyMemoryToAccelerationStructureInfoKHR;
19298
19299typedef struct VkCopyAccelerationStructureInfoKHR {
19300 VkStructureType sType;
19301 const void* pNext;
19302 VkAccelerationStructureKHR src;
19303 VkAccelerationStructureKHR dst;
19304 VkCopyAccelerationStructureModeKHR mode;
19305} VkCopyAccelerationStructureInfoKHR;
19306
19307typedef struct VkAccelerationStructureBuildSizesInfoKHR {
19308 VkStructureType sType;
19309 const void* pNext;
19310 VkDeviceSize accelerationStructureSize;
19311 VkDeviceSize updateScratchSize;
19312 VkDeviceSize buildScratchSize;
19313} VkAccelerationStructureBuildSizesInfoKHR;
19314
19315typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
19316typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
19317typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
19318typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts);
19319typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
19320typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
19321typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
19322typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
19323typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
19324typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
19325typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
19326typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
19327typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
19328typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
19329typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
19330typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
19331
19332#ifndef VK_NO_PROTOTYPES
19333VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
19334 VkDevice device,
19335 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
19336 const VkAllocationCallbacks* pAllocator,
19337 VkAccelerationStructureKHR* pAccelerationStructure);
19338
19339VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
19340 VkDevice device,
19341 VkAccelerationStructureKHR accelerationStructure,
19342 const VkAllocationCallbacks* pAllocator);
19343
19344VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
19345 VkCommandBuffer commandBuffer,
19346 uint32_t infoCount,
19347 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
19348 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
19349
19350VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
19351 VkCommandBuffer commandBuffer,
19352 uint32_t infoCount,
19353 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
19354 const VkDeviceAddress* pIndirectDeviceAddresses,
19355 const uint32_t* pIndirectStrides,
19356 const uint32_t* const* ppMaxPrimitiveCounts);
19357
19358VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
19359 VkDevice device,
19360 VkDeferredOperationKHR deferredOperation,
19361 uint32_t infoCount,
19362 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
19363 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
19364
19365VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
19366 VkDevice device,
19367 VkDeferredOperationKHR deferredOperation,
19368 const VkCopyAccelerationStructureInfoKHR* pInfo);
19369
19370VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
19371 VkDevice device,
19372 VkDeferredOperationKHR deferredOperation,
19373 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
19374
19375VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
19376 VkDevice device,
19377 VkDeferredOperationKHR deferredOperation,
19378 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
19379
19380VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
19381 VkDevice device,
19382 uint32_t accelerationStructureCount,
19383 const VkAccelerationStructureKHR* pAccelerationStructures,
19384 VkQueryType queryType,
19385 size_t dataSize,
19386 void* pData,
19387 size_t stride);
19388
19389VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
19390 VkCommandBuffer commandBuffer,
19391 const VkCopyAccelerationStructureInfoKHR* pInfo);
19392
19393VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
19394 VkCommandBuffer commandBuffer,
19395 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
19396
19397VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
19398 VkCommandBuffer commandBuffer,
19399 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
19400
19401VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
19402 VkDevice device,
19403 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
19404
19405VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
19406 VkCommandBuffer commandBuffer,
19407 uint32_t accelerationStructureCount,
19408 const VkAccelerationStructureKHR* pAccelerationStructures,
19409 VkQueryType queryType,
19410 VkQueryPool queryPool,
19411 uint32_t firstQuery);
19412
19413VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
19414 VkDevice device,
19415 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
19416 VkAccelerationStructureCompatibilityKHR* pCompatibility);
19417
19418VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
19419 VkDevice device,
19420 VkAccelerationStructureBuildTypeKHR buildType,
19421 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
19422 const uint32_t* pMaxPrimitiveCounts,
19423 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
19424#endif
19425
19426
19427// VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls.
19428#define VK_KHR_ray_tracing_pipeline 1
19429#define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
19430#define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
19431
19432typedef enum VkShaderGroupShaderKHR {
19433 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
19434 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
19435 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
19436 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
19437 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
19438} VkShaderGroupShaderKHR;
19439typedef struct VkRayTracingShaderGroupCreateInfoKHR {
19440 VkStructureType sType;
19441 const void* pNext;
19442 VkRayTracingShaderGroupTypeKHR type;
19443 uint32_t generalShader;
19444 uint32_t closestHitShader;
19445 uint32_t anyHitShader;
19446 uint32_t intersectionShader;
19447 const void* pShaderGroupCaptureReplayHandle;
19448} VkRayTracingShaderGroupCreateInfoKHR;
19449
19450typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
19451 VkStructureType sType;
19452 const void* pNext;
19453 uint32_t maxPipelineRayPayloadSize;
19454 uint32_t maxPipelineRayHitAttributeSize;
19455} VkRayTracingPipelineInterfaceCreateInfoKHR;
19456
19457typedef struct VkRayTracingPipelineCreateInfoKHR {
19458 VkStructureType sType;
19459 const void* pNext;
19460 VkPipelineCreateFlags flags;
19461 uint32_t stageCount;
19462 const VkPipelineShaderStageCreateInfo* pStages;
19463 uint32_t groupCount;
19464 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
19465 uint32_t maxPipelineRayRecursionDepth;
19466 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
19467 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
19468 const VkPipelineDynamicStateCreateInfo* pDynamicState;
19469 VkPipelineLayout layout;
19470 VkPipeline basePipelineHandle;
19471 int32_t basePipelineIndex;
19472} VkRayTracingPipelineCreateInfoKHR;
19473
19474typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
19475 VkStructureType sType;
19476 void* pNext;
19477 VkBool32 rayTracingPipeline;
19478 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
19479 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
19480 VkBool32 rayTracingPipelineTraceRaysIndirect;
19481 VkBool32 rayTraversalPrimitiveCulling;
19482} VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
19483
19484typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
19485 VkStructureType sType;
19486 void* pNext;
19487 uint32_t shaderGroupHandleSize;
19488 uint32_t maxRayRecursionDepth;
19489 uint32_t maxShaderGroupStride;
19490 uint32_t shaderGroupBaseAlignment;
19491 uint32_t shaderGroupHandleCaptureReplaySize;
19492 uint32_t maxRayDispatchInvocationCount;
19493 uint32_t shaderGroupHandleAlignment;
19494 uint32_t maxRayHitAttributeSize;
19495} VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
19496
19497typedef struct VkStridedDeviceAddressRegionKHR {
19498 VkDeviceAddress deviceAddress;
19499 VkDeviceSize stride;
19500 VkDeviceSize size;
19501} VkStridedDeviceAddressRegionKHR;
19502
19503typedef struct VkTraceRaysIndirectCommandKHR {
19504 uint32_t width;
19505 uint32_t height;
19506 uint32_t depth;
19507} VkTraceRaysIndirectCommandKHR;
19508
19509typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth);
19510typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
19511typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
19512typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
19513typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader);
19514typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, uint32_t pipelineStackSize);
19515
19516#ifndef VK_NO_PROTOTYPES
19517VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
19518 VkCommandBuffer commandBuffer,
19519 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
19520 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
19521 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
19522 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
19523 uint32_t width,
19524 uint32_t height,
19525 uint32_t depth);
19526
19527VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
19528 VkDevice device,
19529 VkDeferredOperationKHR deferredOperation,
19530 VkPipelineCache pipelineCache,
19531 uint32_t createInfoCount,
19532 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
19533 const VkAllocationCallbacks* pAllocator,
19534 VkPipeline* pPipelines);
19535
19536VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
19537 VkDevice device,
19538 VkPipeline pipeline,
19539 uint32_t firstGroup,
19540 uint32_t groupCount,
19541 size_t dataSize,
19542 void* pData);
19543
19544VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
19545 VkCommandBuffer commandBuffer,
19546 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
19547 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
19548 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
19549 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
19550 VkDeviceAddress indirectDeviceAddress);
19551
19552VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
19553 VkDevice device,
19554 VkPipeline pipeline,
19555 uint32_t group,
19556 VkShaderGroupShaderKHR groupShader);
19557
19558VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
19559 VkCommandBuffer commandBuffer,
19560 uint32_t pipelineStackSize);
19561#endif
19562
19563
19564// VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls.
19565#define VK_KHR_ray_query 1
19566#define VK_KHR_RAY_QUERY_SPEC_VERSION 1
19567#define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
19568typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
19569 VkStructureType sType;
19570 void* pNext;
19571 VkBool32 rayQuery;
19572} VkPhysicalDeviceRayQueryFeaturesKHR;
19573
19574
19575
19576// VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls.
19577#define VK_EXT_mesh_shader 1
19578#define VK_EXT_MESH_SHADER_SPEC_VERSION 1
19579#define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader"
19580typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT {
19581 VkStructureType sType;
19582 void* pNext;
19583 VkBool32 taskShader;
19584 VkBool32 meshShader;
19585 VkBool32 multiviewMeshShader;
19586 VkBool32 primitiveFragmentShadingRateMeshShader;
19587 VkBool32 meshShaderQueries;
19588} VkPhysicalDeviceMeshShaderFeaturesEXT;
19589
19590typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT {
19591 VkStructureType sType;
19592 void* pNext;
19593 uint32_t maxTaskWorkGroupTotalCount;
19594 uint32_t maxTaskWorkGroupCount[3];
19595 uint32_t maxTaskWorkGroupInvocations;
19596 uint32_t maxTaskWorkGroupSize[3];
19597 uint32_t maxTaskPayloadSize;
19598 uint32_t maxTaskSharedMemorySize;
19599 uint32_t maxTaskPayloadAndSharedMemorySize;
19600 uint32_t maxMeshWorkGroupTotalCount;
19601 uint32_t maxMeshWorkGroupCount[3];
19602 uint32_t maxMeshWorkGroupInvocations;
19603 uint32_t maxMeshWorkGroupSize[3];
19604 uint32_t maxMeshSharedMemorySize;
19605 uint32_t maxMeshPayloadAndSharedMemorySize;
19606 uint32_t maxMeshOutputMemorySize;
19607 uint32_t maxMeshPayloadAndOutputMemorySize;
19608 uint32_t maxMeshOutputComponents;
19609 uint32_t maxMeshOutputVertices;
19610 uint32_t maxMeshOutputPrimitives;
19611 uint32_t maxMeshOutputLayers;
19612 uint32_t maxMeshMultiviewViewCount;
19613 uint32_t meshOutputPerVertexGranularity;
19614 uint32_t meshOutputPerPrimitiveGranularity;
19615 uint32_t maxPreferredTaskWorkGroupInvocations;
19616 uint32_t maxPreferredMeshWorkGroupInvocations;
19617 VkBool32 prefersLocalInvocationVertexOutput;
19618 VkBool32 prefersLocalInvocationPrimitiveOutput;
19619 VkBool32 prefersCompactVertexOutput;
19620 VkBool32 prefersCompactPrimitiveOutput;
19621} VkPhysicalDeviceMeshShaderPropertiesEXT;
19622
19623typedef struct VkDrawMeshTasksIndirectCommandEXT {
19624 uint32_t groupCountX;
19625 uint32_t groupCountY;
19626 uint32_t groupCountZ;
19627} VkDrawMeshTasksIndirectCommandEXT;
19628
19629typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
19630typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
19631typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);
19632
19633#ifndef VK_NO_PROTOTYPES
19634VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT(
19635 VkCommandBuffer commandBuffer,
19636 uint32_t groupCountX,
19637 uint32_t groupCountY,
19638 uint32_t groupCountZ);
19639
19640VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT(
19641 VkCommandBuffer commandBuffer,
19642 VkBuffer buffer,
19643 VkDeviceSize offset,
19644 uint32_t drawCount,
19645 uint32_t stride);
19646
19647VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT(
19648 VkCommandBuffer commandBuffer,
19649 VkBuffer buffer,
19650 VkDeviceSize offset,
19651 VkBuffer countBuffer,
19652 VkDeviceSize countBufferOffset,
19653 uint32_t maxDrawCount,
19654 uint32_t stride);
19655#endif
19656
19657#ifdef __cplusplus
19658}
19659#endif
19660
19661#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_directfb.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_directfb.h
new file mode 100644
index 0000000..f06f80b
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_directfb.h
@@ -0,0 +1,55 @@
1#ifndef VULKAN_DIRECTFB_H_
2#define VULKAN_DIRECTFB_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_EXT_directfb_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_EXT_directfb_surface 1
24#define VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION 1
25#define VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME "VK_EXT_directfb_surface"
26typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT;
27typedef struct VkDirectFBSurfaceCreateInfoEXT {
28 VkStructureType sType;
29 const void* pNext;
30 VkDirectFBSurfaceCreateFlagsEXT flags;
31 IDirectFB* dfb;
32 IDirectFBSurface* surface;
33} VkDirectFBSurfaceCreateInfoEXT;
34
35typedef VkResult (VKAPI_PTR *PFN_vkCreateDirectFBSurfaceEXT)(VkInstance instance, const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB* dfb);
37
38#ifndef VK_NO_PROTOTYPES
39VKAPI_ATTR VkResult VKAPI_CALL vkCreateDirectFBSurfaceEXT(
40 VkInstance instance,
41 const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo,
42 const VkAllocationCallbacks* pAllocator,
43 VkSurfaceKHR* pSurface);
44
45VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
46 VkPhysicalDevice physicalDevice,
47 uint32_t queueFamilyIndex,
48 IDirectFB* dfb);
49#endif
50
51#ifdef __cplusplus
52}
53#endif
54
55#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h
new file mode 100644
index 0000000..f60907d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_fuchsia.h
@@ -0,0 +1,262 @@
1#ifndef VULKAN_FUCHSIA_H_
2#define VULKAN_FUCHSIA_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_FUCHSIA_imagepipe_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_FUCHSIA_imagepipe_surface 1
24#define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
25#define VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME "VK_FUCHSIA_imagepipe_surface"
26typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA;
27typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA {
28 VkStructureType sType;
29 const void* pNext;
30 VkImagePipeSurfaceCreateFlagsFUCHSIA flags;
31 zx_handle_t imagePipeHandle;
32} VkImagePipeSurfaceCreateInfoFUCHSIA;
33
34typedef VkResult (VKAPI_PTR *PFN_vkCreateImagePipeSurfaceFUCHSIA)(VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35
36#ifndef VK_NO_PROTOTYPES
37VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA(
38 VkInstance instance,
39 const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
40 const VkAllocationCallbacks* pAllocator,
41 VkSurfaceKHR* pSurface);
42#endif
43
44
45// VK_FUCHSIA_external_memory is a preprocessor guard. Do not pass it to API calls.
46#define VK_FUCHSIA_external_memory 1
47#define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1
48#define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory"
49typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
50 VkStructureType sType;
51 const void* pNext;
52 VkExternalMemoryHandleTypeFlagBits handleType;
53 zx_handle_t handle;
54} VkImportMemoryZirconHandleInfoFUCHSIA;
55
56typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
57 VkStructureType sType;
58 void* pNext;
59 uint32_t memoryTypeBits;
60} VkMemoryZirconHandlePropertiesFUCHSIA;
61
62typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
63 VkStructureType sType;
64 const void* pNext;
65 VkDeviceMemory memory;
66 VkExternalMemoryHandleTypeFlagBits handleType;
67} VkMemoryGetZirconHandleInfoFUCHSIA;
68
69typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
70typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
71
72#ifndef VK_NO_PROTOTYPES
73VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
74 VkDevice device,
75 const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
76 zx_handle_t* pZirconHandle);
77
78VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
79 VkDevice device,
80 VkExternalMemoryHandleTypeFlagBits handleType,
81 zx_handle_t zirconHandle,
82 VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
83#endif
84
85
86// VK_FUCHSIA_external_semaphore is a preprocessor guard. Do not pass it to API calls.
87#define VK_FUCHSIA_external_semaphore 1
88#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
89#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore"
90typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
91 VkStructureType sType;
92 const void* pNext;
93 VkSemaphore semaphore;
94 VkSemaphoreImportFlags flags;
95 VkExternalSemaphoreHandleTypeFlagBits handleType;
96 zx_handle_t zirconHandle;
97} VkImportSemaphoreZirconHandleInfoFUCHSIA;
98
99typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
100 VkStructureType sType;
101 const void* pNext;
102 VkSemaphore semaphore;
103 VkExternalSemaphoreHandleTypeFlagBits handleType;
104} VkSemaphoreGetZirconHandleInfoFUCHSIA;
105
106typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
107typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
108
109#ifndef VK_NO_PROTOTYPES
110VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
111 VkDevice device,
112 const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
113
114VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
115 VkDevice device,
116 const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
117 zx_handle_t* pZirconHandle);
118#endif
119
120
121// VK_FUCHSIA_buffer_collection is a preprocessor guard. Do not pass it to API calls.
122#define VK_FUCHSIA_buffer_collection 1
123VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA)
124#define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 2
125#define VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME "VK_FUCHSIA_buffer_collection"
126typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA;
127
128typedef enum VkImageConstraintsInfoFlagBitsFUCHSIA {
129 VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 0x00000001,
130 VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 0x00000002,
131 VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0x00000004,
132 VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0x00000008,
133 VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0x00000010,
134 VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF
135} VkImageConstraintsInfoFlagBitsFUCHSIA;
136typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA;
137typedef struct VkBufferCollectionCreateInfoFUCHSIA {
138 VkStructureType sType;
139 const void* pNext;
140 zx_handle_t collectionToken;
141} VkBufferCollectionCreateInfoFUCHSIA;
142
143typedef struct VkImportMemoryBufferCollectionFUCHSIA {
144 VkStructureType sType;
145 const void* pNext;
146 VkBufferCollectionFUCHSIA collection;
147 uint32_t index;
148} VkImportMemoryBufferCollectionFUCHSIA;
149
150typedef struct VkBufferCollectionImageCreateInfoFUCHSIA {
151 VkStructureType sType;
152 const void* pNext;
153 VkBufferCollectionFUCHSIA collection;
154 uint32_t index;
155} VkBufferCollectionImageCreateInfoFUCHSIA;
156
157typedef struct VkBufferCollectionConstraintsInfoFUCHSIA {
158 VkStructureType sType;
159 const void* pNext;
160 uint32_t minBufferCount;
161 uint32_t maxBufferCount;
162 uint32_t minBufferCountForCamping;
163 uint32_t minBufferCountForDedicatedSlack;
164 uint32_t minBufferCountForSharedSlack;
165} VkBufferCollectionConstraintsInfoFUCHSIA;
166
167typedef struct VkBufferConstraintsInfoFUCHSIA {
168 VkStructureType sType;
169 const void* pNext;
170 VkBufferCreateInfo createInfo;
171 VkFormatFeatureFlags requiredFormatFeatures;
172 VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
173} VkBufferConstraintsInfoFUCHSIA;
174
175typedef struct VkBufferCollectionBufferCreateInfoFUCHSIA {
176 VkStructureType sType;
177 const void* pNext;
178 VkBufferCollectionFUCHSIA collection;
179 uint32_t index;
180} VkBufferCollectionBufferCreateInfoFUCHSIA;
181
182typedef struct VkSysmemColorSpaceFUCHSIA {
183 VkStructureType sType;
184 const void* pNext;
185 uint32_t colorSpace;
186} VkSysmemColorSpaceFUCHSIA;
187
188typedef struct VkBufferCollectionPropertiesFUCHSIA {
189 VkStructureType sType;
190 void* pNext;
191 uint32_t memoryTypeBits;
192 uint32_t bufferCount;
193 uint32_t createInfoIndex;
194 uint64_t sysmemPixelFormat;
195 VkFormatFeatureFlags formatFeatures;
196 VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex;
197 VkComponentMapping samplerYcbcrConversionComponents;
198 VkSamplerYcbcrModelConversion suggestedYcbcrModel;
199 VkSamplerYcbcrRange suggestedYcbcrRange;
200 VkChromaLocation suggestedXChromaOffset;
201 VkChromaLocation suggestedYChromaOffset;
202} VkBufferCollectionPropertiesFUCHSIA;
203
204typedef struct VkImageFormatConstraintsInfoFUCHSIA {
205 VkStructureType sType;
206 const void* pNext;
207 VkImageCreateInfo imageCreateInfo;
208 VkFormatFeatureFlags requiredFormatFeatures;
209 VkImageFormatConstraintsFlagsFUCHSIA flags;
210 uint64_t sysmemPixelFormat;
211 uint32_t colorSpaceCount;
212 const VkSysmemColorSpaceFUCHSIA* pColorSpaces;
213} VkImageFormatConstraintsInfoFUCHSIA;
214
215typedef struct VkImageConstraintsInfoFUCHSIA {
216 VkStructureType sType;
217 const void* pNext;
218 uint32_t formatConstraintsCount;
219 const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints;
220 VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
221 VkImageConstraintsInfoFlagsFUCHSIA flags;
222} VkImageConstraintsInfoFUCHSIA;
223
224typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferCollectionFUCHSIA)(VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection);
225typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
226typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
227typedef void (VKAPI_PTR *PFN_vkDestroyBufferCollectionFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator);
228typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionPropertiesFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties);
229
230#ifndef VK_NO_PROTOTYPES
231VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIA(
232 VkDevice device,
233 const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
234 const VkAllocationCallbacks* pAllocator,
235 VkBufferCollectionFUCHSIA* pCollection);
236
237VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIA(
238 VkDevice device,
239 VkBufferCollectionFUCHSIA collection,
240 const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
241
242VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA(
243 VkDevice device,
244 VkBufferCollectionFUCHSIA collection,
245 const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
246
247VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIA(
248 VkDevice device,
249 VkBufferCollectionFUCHSIA collection,
250 const VkAllocationCallbacks* pAllocator);
251
252VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIA(
253 VkDevice device,
254 VkBufferCollectionFUCHSIA collection,
255 VkBufferCollectionPropertiesFUCHSIA* pProperties);
256#endif
257
258#ifdef __cplusplus
259}
260#endif
261
262#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_ggp.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_ggp.h
new file mode 100644
index 0000000..0a8863a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_ggp.h
@@ -0,0 +1,60 @@
1#ifndef VULKAN_GGP_H_
2#define VULKAN_GGP_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_GGP_stream_descriptor_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_GGP_stream_descriptor_surface 1
24#define VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION 1
25#define VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME "VK_GGP_stream_descriptor_surface"
26typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP;
27typedef struct VkStreamDescriptorSurfaceCreateInfoGGP {
28 VkStructureType sType;
29 const void* pNext;
30 VkStreamDescriptorSurfaceCreateFlagsGGP flags;
31 GgpStreamDescriptor streamDescriptor;
32} VkStreamDescriptorSurfaceCreateInfoGGP;
33
34typedef VkResult (VKAPI_PTR *PFN_vkCreateStreamDescriptorSurfaceGGP)(VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35
36#ifndef VK_NO_PROTOTYPES
37VKAPI_ATTR VkResult VKAPI_CALL vkCreateStreamDescriptorSurfaceGGP(
38 VkInstance instance,
39 const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo,
40 const VkAllocationCallbacks* pAllocator,
41 VkSurfaceKHR* pSurface);
42#endif
43
44
45// VK_GGP_frame_token is a preprocessor guard. Do not pass it to API calls.
46#define VK_GGP_frame_token 1
47#define VK_GGP_FRAME_TOKEN_SPEC_VERSION 1
48#define VK_GGP_FRAME_TOKEN_EXTENSION_NAME "VK_GGP_frame_token"
49typedef struct VkPresentFrameTokenGGP {
50 VkStructureType sType;
51 const void* pNext;
52 GgpFrameToken frameToken;
53} VkPresentFrameTokenGGP;
54
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_ios.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_ios.h
new file mode 100644
index 0000000..22ed2c0
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_ios.h
@@ -0,0 +1,48 @@
1#ifndef VULKAN_IOS_H_
2#define VULKAN_IOS_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_MVK_ios_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_MVK_ios_surface 1
24#define VK_MVK_IOS_SURFACE_SPEC_VERSION 3
25#define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"
26typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
27typedef struct VkIOSSurfaceCreateInfoMVK {
28 VkStructureType sType;
29 const void* pNext;
30 VkIOSSurfaceCreateFlagsMVK flags;
31 const void* pView;
32} VkIOSSurfaceCreateInfoMVK;
33
34typedef VkResult (VKAPI_PTR *PFN_vkCreateIOSSurfaceMVK)(VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35
36#ifndef VK_NO_PROTOTYPES
37VKAPI_ATTR VkResult VKAPI_CALL vkCreateIOSSurfaceMVK(
38 VkInstance instance,
39 const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
40 const VkAllocationCallbacks* pAllocator,
41 VkSurfaceKHR* pSurface);
42#endif
43
44#ifdef __cplusplus
45}
46#endif
47
48#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_macos.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_macos.h
new file mode 100644
index 0000000..a7f5613
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_macos.h
@@ -0,0 +1,48 @@
1#ifndef VULKAN_MACOS_H_
2#define VULKAN_MACOS_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_MVK_macos_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_MVK_macos_surface 1
24#define VK_MVK_MACOS_SURFACE_SPEC_VERSION 3
25#define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"
26typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
27typedef struct VkMacOSSurfaceCreateInfoMVK {
28 VkStructureType sType;
29 const void* pNext;
30 VkMacOSSurfaceCreateFlagsMVK flags;
31 const void* pView;
32} VkMacOSSurfaceCreateInfoMVK;
33
34typedef VkResult (VKAPI_PTR *PFN_vkCreateMacOSSurfaceMVK)(VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35
36#ifndef VK_NO_PROTOTYPES
37VKAPI_ATTR VkResult VKAPI_CALL vkCreateMacOSSurfaceMVK(
38 VkInstance instance,
39 const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
40 const VkAllocationCallbacks* pAllocator,
41 VkSurfaceKHR* pSurface);
42#endif
43
44#ifdef __cplusplus
45}
46#endif
47
48#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_metal.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_metal.h
new file mode 100644
index 0000000..4cb9c69
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_metal.h
@@ -0,0 +1,206 @@
1#ifndef VULKAN_METAL_H_
2#define VULKAN_METAL_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_EXT_metal_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_EXT_metal_surface 1
24#ifdef __OBJC__
25@class CAMetalLayer;
26#else
27typedef void CAMetalLayer;
28#endif
29
30#define SDL_UNSAFE_UNRETAINED
31#if defined(__OBJC__) && defined(__has_feature)
32#if __has_feature(objc_arc)
33#undef SDL_UNSAFE_UNRETAINED
34#define SDL_UNSAFE_UNRETAINED __unsafe_unretained
35#endif
36#endif
37
38#define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
39#define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
40typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
41typedef struct VkMetalSurfaceCreateInfoEXT {
42 VkStructureType sType;
43 const void* pNext;
44 VkMetalSurfaceCreateFlagsEXT flags;
45 const CAMetalLayer SDL_UNSAFE_UNRETAINED *pLayer;
46} VkMetalSurfaceCreateInfoEXT;
47
48typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
49
50#ifndef VK_NO_PROTOTYPES
51VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
52 VkInstance instance,
53 const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
54 const VkAllocationCallbacks* pAllocator,
55 VkSurfaceKHR* pSurface);
56#endif
57
58
59// VK_EXT_metal_objects is a preprocessor guard. Do not pass it to API calls.
60#define VK_EXT_metal_objects 1
61#ifdef __OBJC__
62@protocol MTLDevice;
63typedef __unsafe_unretained id<MTLDevice> MTLDevice_id;
64#else
65typedef void* MTLDevice_id;
66#endif
67
68#ifdef __OBJC__
69@protocol MTLCommandQueue;
70typedef __unsafe_unretained id<MTLCommandQueue> MTLCommandQueue_id;
71#else
72typedef void* MTLCommandQueue_id;
73#endif
74
75#ifdef __OBJC__
76@protocol MTLBuffer;
77typedef __unsafe_unretained id<MTLBuffer> MTLBuffer_id;
78#else
79typedef void* MTLBuffer_id;
80#endif
81
82#ifdef __OBJC__
83@protocol MTLTexture;
84typedef __unsafe_unretained id<MTLTexture> MTLTexture_id;
85#else
86typedef void* MTLTexture_id;
87#endif
88
89typedef struct __IOSurface* IOSurfaceRef;
90#ifdef __OBJC__
91#pragma clang diagnostic push
92#pragma clang diagnostic ignored "-Wunguarded-availability"
93@protocol MTLSharedEvent;
94typedef __unsafe_unretained id<MTLSharedEvent> MTLSharedEvent_id;
95#pragma clang diagnostic pop
96#else
97typedef void* MTLSharedEvent_id;
98#endif
99
100#define VK_EXT_METAL_OBJECTS_SPEC_VERSION 2
101#define VK_EXT_METAL_OBJECTS_EXTENSION_NAME "VK_EXT_metal_objects"
102
103typedef enum VkExportMetalObjectTypeFlagBitsEXT {
104 VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT = 0x00000001,
105 VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT = 0x00000002,
106 VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT = 0x00000004,
107 VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT = 0x00000008,
108 VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT = 0x00000010,
109 VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT = 0x00000020,
110 VK_EXPORT_METAL_OBJECT_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
111} VkExportMetalObjectTypeFlagBitsEXT;
112typedef VkFlags VkExportMetalObjectTypeFlagsEXT;
113typedef struct VkExportMetalObjectCreateInfoEXT {
114 VkStructureType sType;
115 const void* pNext;
116 VkExportMetalObjectTypeFlagBitsEXT exportObjectType;
117} VkExportMetalObjectCreateInfoEXT;
118
119typedef struct VkExportMetalObjectsInfoEXT {
120 VkStructureType sType;
121 const void* pNext;
122} VkExportMetalObjectsInfoEXT;
123
124typedef struct VkExportMetalDeviceInfoEXT {
125 VkStructureType sType;
126 const void* pNext;
127 MTLDevice_id mtlDevice;
128} VkExportMetalDeviceInfoEXT;
129
130typedef struct VkExportMetalCommandQueueInfoEXT {
131 VkStructureType sType;
132 const void* pNext;
133 VkQueue queue;
134 MTLCommandQueue_id mtlCommandQueue;
135} VkExportMetalCommandQueueInfoEXT;
136
137typedef struct VkExportMetalBufferInfoEXT {
138 VkStructureType sType;
139 const void* pNext;
140 VkDeviceMemory memory;
141 MTLBuffer_id mtlBuffer;
142} VkExportMetalBufferInfoEXT;
143
144typedef struct VkImportMetalBufferInfoEXT {
145 VkStructureType sType;
146 const void* pNext;
147 MTLBuffer_id mtlBuffer;
148} VkImportMetalBufferInfoEXT;
149
150typedef struct VkExportMetalTextureInfoEXT {
151 VkStructureType sType;
152 const void* pNext;
153 VkImage image;
154 VkImageView imageView;
155 VkBufferView bufferView;
156 VkImageAspectFlagBits plane;
157 MTLTexture_id mtlTexture;
158} VkExportMetalTextureInfoEXT;
159
160typedef struct VkImportMetalTextureInfoEXT {
161 VkStructureType sType;
162 const void* pNext;
163 VkImageAspectFlagBits plane;
164 MTLTexture_id mtlTexture;
165} VkImportMetalTextureInfoEXT;
166
167typedef struct VkExportMetalIOSurfaceInfoEXT {
168 VkStructureType sType;
169 const void* pNext;
170 VkImage image;
171 IOSurfaceRef ioSurface;
172} VkExportMetalIOSurfaceInfoEXT;
173
174typedef struct VkImportMetalIOSurfaceInfoEXT {
175 VkStructureType sType;
176 const void* pNext;
177 IOSurfaceRef ioSurface;
178} VkImportMetalIOSurfaceInfoEXT;
179
180typedef struct VkExportMetalSharedEventInfoEXT {
181 VkStructureType sType;
182 const void* pNext;
183 VkSemaphore semaphore;
184 VkEvent event;
185 MTLSharedEvent_id mtlSharedEvent;
186} VkExportMetalSharedEventInfoEXT;
187
188typedef struct VkImportMetalSharedEventInfoEXT {
189 VkStructureType sType;
190 const void* pNext;
191 MTLSharedEvent_id mtlSharedEvent;
192} VkImportMetalSharedEventInfoEXT;
193
194typedef void (VKAPI_PTR *PFN_vkExportMetalObjectsEXT)(VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
195
196#ifndef VK_NO_PROTOTYPES
197VKAPI_ATTR void VKAPI_CALL vkExportMetalObjectsEXT(
198 VkDevice device,
199 VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
200#endif
201
202#ifdef __cplusplus
203}
204#endif
205
206#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h
new file mode 100644
index 0000000..7e84d4d
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_screen.h
@@ -0,0 +1,108 @@
1#ifndef VULKAN_SCREEN_H_
2#define VULKAN_SCREEN_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_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"
26typedef VkFlags VkScreenSurfaceCreateFlagsQNX;
27typedef 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
35typedef VkResult (VKAPI_PTR *PFN_vkCreateScreenSurfaceQNX)(VkInstance instance, const VkScreenSurfaceCreateInfoQNX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct _screen_window* window);
37
38#ifndef VK_NO_PROTOTYPES
39VKAPI_ATTR VkResult VKAPI_CALL vkCreateScreenSurfaceQNX(
40 VkInstance instance,
41 const VkScreenSurfaceCreateInfoQNX* pCreateInfo,
42 const VkAllocationCallbacks* pAllocator,
43 VkSurfaceKHR* pSurface);
44
45VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceScreenPresentationSupportQNX(
46 VkPhysicalDevice physicalDevice,
47 uint32_t queueFamilyIndex,
48 struct _screen_window* window);
49#endif
50
51
52// VK_QNX_external_memory_screen_buffer is a preprocessor guard. Do not pass it to API calls.
53#define VK_QNX_external_memory_screen_buffer 1
54#define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION 1
55#define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME "VK_QNX_external_memory_screen_buffer"
56typedef struct VkScreenBufferPropertiesQNX {
57 VkStructureType sType;
58 void* pNext;
59 VkDeviceSize allocationSize;
60 uint32_t memoryTypeBits;
61} VkScreenBufferPropertiesQNX;
62
63typedef struct VkScreenBufferFormatPropertiesQNX {
64 VkStructureType sType;
65 void* pNext;
66 VkFormat format;
67 uint64_t externalFormat;
68 uint64_t screenUsage;
69 VkFormatFeatureFlags formatFeatures;
70 VkComponentMapping samplerYcbcrConversionComponents;
71 VkSamplerYcbcrModelConversion suggestedYcbcrModel;
72 VkSamplerYcbcrRange suggestedYcbcrRange;
73 VkChromaLocation suggestedXChromaOffset;
74 VkChromaLocation suggestedYChromaOffset;
75} VkScreenBufferFormatPropertiesQNX;
76
77typedef struct VkImportScreenBufferInfoQNX {
78 VkStructureType sType;
79 const void* pNext;
80 struct _screen_buffer* buffer;
81} VkImportScreenBufferInfoQNX;
82
83typedef struct VkExternalFormatQNX {
84 VkStructureType sType;
85 void* pNext;
86 uint64_t externalFormat;
87} VkExternalFormatQNX;
88
89typedef struct VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
90 VkStructureType sType;
91 void* pNext;
92 VkBool32 screenBufferImport;
93} VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX;
94
95typedef VkResult (VKAPI_PTR *PFN_vkGetScreenBufferPropertiesQNX)(VkDevice device, const struct _screen_buffer* buffer, VkScreenBufferPropertiesQNX* pProperties);
96
97#ifndef VK_NO_PROTOTYPES
98VKAPI_ATTR VkResult VKAPI_CALL vkGetScreenBufferPropertiesQNX(
99 VkDevice device,
100 const struct _screen_buffer* buffer,
101 VkScreenBufferPropertiesQNX* pProperties);
102#endif
103
104#ifdef __cplusplus
105}
106#endif
107
108#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_vi.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_vi.h
new file mode 100644
index 0000000..c145f4a
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_vi.h
@@ -0,0 +1,48 @@
1#ifndef VULKAN_VI_H_
2#define VULKAN_VI_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_NN_vi_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_NN_vi_surface 1
24#define VK_NN_VI_SURFACE_SPEC_VERSION 1
25#define VK_NN_VI_SURFACE_EXTENSION_NAME "VK_NN_vi_surface"
26typedef VkFlags VkViSurfaceCreateFlagsNN;
27typedef struct VkViSurfaceCreateInfoNN {
28 VkStructureType sType;
29 const void* pNext;
30 VkViSurfaceCreateFlagsNN flags;
31 void* window;
32} VkViSurfaceCreateInfoNN;
33
34typedef VkResult (VKAPI_PTR *PFN_vkCreateViSurfaceNN)(VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
35
36#ifndef VK_NO_PROTOTYPES
37VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN(
38 VkInstance instance,
39 const VkViSurfaceCreateInfoNN* pCreateInfo,
40 const VkAllocationCallbacks* pAllocator,
41 VkSurfaceKHR* pSurface);
42#endif
43
44#ifdef __cplusplus
45}
46#endif
47
48#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_wayland.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_wayland.h
new file mode 100644
index 0000000..ec706a1
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_wayland.h
@@ -0,0 +1,55 @@
1#ifndef VULKAN_WAYLAND_H_
2#define VULKAN_WAYLAND_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_wayland_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_KHR_wayland_surface 1
24#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6
25#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
26typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
27typedef struct VkWaylandSurfaceCreateInfoKHR {
28 VkStructureType sType;
29 const void* pNext;
30 VkWaylandSurfaceCreateFlagsKHR flags;
31 struct wl_display* display;
32 struct wl_surface* surface;
33} VkWaylandSurfaceCreateInfoKHR;
34
35typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);
37
38#ifndef VK_NO_PROTOTYPES
39VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
40 VkInstance instance,
41 const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
42 const VkAllocationCallbacks* pAllocator,
43 VkSurfaceKHR* pSurface);
44
45VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
46 VkPhysicalDevice physicalDevice,
47 uint32_t queueFamilyIndex,
48 struct wl_display* display);
49#endif
50
51#ifdef __cplusplus
52}
53#endif
54
55#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_win32.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_win32.h
new file mode 100644
index 0000000..d7a0b2b
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_win32.h
@@ -0,0 +1,342 @@
1#ifndef VULKAN_WIN32_H_
2#define VULKAN_WIN32_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_win32_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_KHR_win32_surface 1
24#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6
25#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
26typedef VkFlags VkWin32SurfaceCreateFlagsKHR;
27typedef struct VkWin32SurfaceCreateInfoKHR {
28 VkStructureType sType;
29 const void* pNext;
30 VkWin32SurfaceCreateFlagsKHR flags;
31 HINSTANCE hinstance;
32 HWND hwnd;
33} VkWin32SurfaceCreateInfoKHR;
34
35typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
37
38#ifndef VK_NO_PROTOTYPES
39VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(
40 VkInstance instance,
41 const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
42 const VkAllocationCallbacks* pAllocator,
43 VkSurfaceKHR* pSurface);
44
45VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(
46 VkPhysicalDevice physicalDevice,
47 uint32_t queueFamilyIndex);
48#endif
49
50
51// VK_KHR_external_memory_win32 is a preprocessor guard. Do not pass it to API calls.
52#define VK_KHR_external_memory_win32 1
53#define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
54#define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32"
55typedef struct VkImportMemoryWin32HandleInfoKHR {
56 VkStructureType sType;
57 const void* pNext;
58 VkExternalMemoryHandleTypeFlagBits handleType;
59 HANDLE handle;
60 LPCWSTR name;
61} VkImportMemoryWin32HandleInfoKHR;
62
63typedef struct VkExportMemoryWin32HandleInfoKHR {
64 VkStructureType sType;
65 const void* pNext;
66 const SECURITY_ATTRIBUTES* pAttributes;
67 DWORD dwAccess;
68 LPCWSTR name;
69} VkExportMemoryWin32HandleInfoKHR;
70
71typedef struct VkMemoryWin32HandlePropertiesKHR {
72 VkStructureType sType;
73 void* pNext;
74 uint32_t memoryTypeBits;
75} VkMemoryWin32HandlePropertiesKHR;
76
77typedef struct VkMemoryGetWin32HandleInfoKHR {
78 VkStructureType sType;
79 const void* pNext;
80 VkDeviceMemory memory;
81 VkExternalMemoryHandleTypeFlagBits handleType;
82} VkMemoryGetWin32HandleInfoKHR;
83
84typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
85typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
86
87#ifndef VK_NO_PROTOTYPES
88VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(
89 VkDevice device,
90 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
91 HANDLE* pHandle);
92
93VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(
94 VkDevice device,
95 VkExternalMemoryHandleTypeFlagBits handleType,
96 HANDLE handle,
97 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
98#endif
99
100
101// VK_KHR_win32_keyed_mutex is a preprocessor guard. Do not pass it to API calls.
102#define VK_KHR_win32_keyed_mutex 1
103#define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1
104#define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex"
105typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR {
106 VkStructureType sType;
107 const void* pNext;
108 uint32_t acquireCount;
109 const VkDeviceMemory* pAcquireSyncs;
110 const uint64_t* pAcquireKeys;
111 const uint32_t* pAcquireTimeouts;
112 uint32_t releaseCount;
113 const VkDeviceMemory* pReleaseSyncs;
114 const uint64_t* pReleaseKeys;
115} VkWin32KeyedMutexAcquireReleaseInfoKHR;
116
117
118
119// VK_KHR_external_semaphore_win32 is a preprocessor guard. Do not pass it to API calls.
120#define VK_KHR_external_semaphore_win32 1
121#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1
122#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32"
123typedef struct VkImportSemaphoreWin32HandleInfoKHR {
124 VkStructureType sType;
125 const void* pNext;
126 VkSemaphore semaphore;
127 VkSemaphoreImportFlags flags;
128 VkExternalSemaphoreHandleTypeFlagBits handleType;
129 HANDLE handle;
130 LPCWSTR name;
131} VkImportSemaphoreWin32HandleInfoKHR;
132
133typedef struct VkExportSemaphoreWin32HandleInfoKHR {
134 VkStructureType sType;
135 const void* pNext;
136 const SECURITY_ATTRIBUTES* pAttributes;
137 DWORD dwAccess;
138 LPCWSTR name;
139} VkExportSemaphoreWin32HandleInfoKHR;
140
141typedef struct VkD3D12FenceSubmitInfoKHR {
142 VkStructureType sType;
143 const void* pNext;
144 uint32_t waitSemaphoreValuesCount;
145 const uint64_t* pWaitSemaphoreValues;
146 uint32_t signalSemaphoreValuesCount;
147 const uint64_t* pSignalSemaphoreValues;
148} VkD3D12FenceSubmitInfoKHR;
149
150typedef struct VkSemaphoreGetWin32HandleInfoKHR {
151 VkStructureType sType;
152 const void* pNext;
153 VkSemaphore semaphore;
154 VkExternalSemaphoreHandleTypeFlagBits handleType;
155} VkSemaphoreGetWin32HandleInfoKHR;
156
157typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
158typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
159
160#ifndef VK_NO_PROTOTYPES
161VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(
162 VkDevice device,
163 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
164
165VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(
166 VkDevice device,
167 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
168 HANDLE* pHandle);
169#endif
170
171
172// VK_KHR_external_fence_win32 is a preprocessor guard. Do not pass it to API calls.
173#define VK_KHR_external_fence_win32 1
174#define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1
175#define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32"
176typedef struct VkImportFenceWin32HandleInfoKHR {
177 VkStructureType sType;
178 const void* pNext;
179 VkFence fence;
180 VkFenceImportFlags flags;
181 VkExternalFenceHandleTypeFlagBits handleType;
182 HANDLE handle;
183 LPCWSTR name;
184} VkImportFenceWin32HandleInfoKHR;
185
186typedef struct VkExportFenceWin32HandleInfoKHR {
187 VkStructureType sType;
188 const void* pNext;
189 const SECURITY_ATTRIBUTES* pAttributes;
190 DWORD dwAccess;
191 LPCWSTR name;
192} VkExportFenceWin32HandleInfoKHR;
193
194typedef struct VkFenceGetWin32HandleInfoKHR {
195 VkStructureType sType;
196 const void* pNext;
197 VkFence fence;
198 VkExternalFenceHandleTypeFlagBits handleType;
199} VkFenceGetWin32HandleInfoKHR;
200
201typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
202typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
203
204#ifndef VK_NO_PROTOTYPES
205VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR(
206 VkDevice device,
207 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
208
209VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR(
210 VkDevice device,
211 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
212 HANDLE* pHandle);
213#endif
214
215
216// VK_NV_external_memory_win32 is a preprocessor guard. Do not pass it to API calls.
217#define VK_NV_external_memory_win32 1
218#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
219#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32"
220typedef struct VkImportMemoryWin32HandleInfoNV {
221 VkStructureType sType;
222 const void* pNext;
223 VkExternalMemoryHandleTypeFlagsNV handleType;
224 HANDLE handle;
225} VkImportMemoryWin32HandleInfoNV;
226
227typedef struct VkExportMemoryWin32HandleInfoNV {
228 VkStructureType sType;
229 const void* pNext;
230 const SECURITY_ATTRIBUTES* pAttributes;
231 DWORD dwAccess;
232} VkExportMemoryWin32HandleInfoNV;
233
234typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle);
235
236#ifndef VK_NO_PROTOTYPES
237VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(
238 VkDevice device,
239 VkDeviceMemory memory,
240 VkExternalMemoryHandleTypeFlagsNV handleType,
241 HANDLE* pHandle);
242#endif
243
244
245// VK_NV_win32_keyed_mutex is a preprocessor guard. Do not pass it to API calls.
246#define VK_NV_win32_keyed_mutex 1
247#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 2
248#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex"
249typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {
250 VkStructureType sType;
251 const void* pNext;
252 uint32_t acquireCount;
253 const VkDeviceMemory* pAcquireSyncs;
254 const uint64_t* pAcquireKeys;
255 const uint32_t* pAcquireTimeoutMilliseconds;
256 uint32_t releaseCount;
257 const VkDeviceMemory* pReleaseSyncs;
258 const uint64_t* pReleaseKeys;
259} VkWin32KeyedMutexAcquireReleaseInfoNV;
260
261
262
263// VK_EXT_full_screen_exclusive is a preprocessor guard. Do not pass it to API calls.
264#define VK_EXT_full_screen_exclusive 1
265#define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4
266#define VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME "VK_EXT_full_screen_exclusive"
267
268typedef enum VkFullScreenExclusiveEXT {
269 VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0,
270 VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1,
271 VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2,
272 VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3,
273 VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF
274} VkFullScreenExclusiveEXT;
275typedef struct VkSurfaceFullScreenExclusiveInfoEXT {
276 VkStructureType sType;
277 void* pNext;
278 VkFullScreenExclusiveEXT fullScreenExclusive;
279} VkSurfaceFullScreenExclusiveInfoEXT;
280
281typedef struct VkSurfaceCapabilitiesFullScreenExclusiveEXT {
282 VkStructureType sType;
283 void* pNext;
284 VkBool32 fullScreenExclusiveSupported;
285} VkSurfaceCapabilitiesFullScreenExclusiveEXT;
286
287typedef struct VkSurfaceFullScreenExclusiveWin32InfoEXT {
288 VkStructureType sType;
289 const void* pNext;
290 HMONITOR hmonitor;
291} VkSurfaceFullScreenExclusiveWin32InfoEXT;
292
293typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
294typedef VkResult (VKAPI_PTR *PFN_vkAcquireFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain);
295typedef VkResult (VKAPI_PTR *PFN_vkReleaseFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain);
296typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModes2EXT)(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes);
297
298#ifndef VK_NO_PROTOTYPES
299VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModes2EXT(
300 VkPhysicalDevice physicalDevice,
301 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
302 uint32_t* pPresentModeCount,
303 VkPresentModeKHR* pPresentModes);
304
305VKAPI_ATTR VkResult VKAPI_CALL vkAcquireFullScreenExclusiveModeEXT(
306 VkDevice device,
307 VkSwapchainKHR swapchain);
308
309VKAPI_ATTR VkResult VKAPI_CALL vkReleaseFullScreenExclusiveModeEXT(
310 VkDevice device,
311 VkSwapchainKHR swapchain);
312
313VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT(
314 VkDevice device,
315 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
316 VkDeviceGroupPresentModeFlagsKHR* pModes);
317#endif
318
319
320// VK_NV_acquire_winrt_display is a preprocessor guard. Do not pass it to API calls.
321#define VK_NV_acquire_winrt_display 1
322#define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
323#define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
324typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
325typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
326
327#ifndef VK_NO_PROTOTYPES
328VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
329 VkPhysicalDevice physicalDevice,
330 VkDisplayKHR display);
331
332VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
333 VkPhysicalDevice physicalDevice,
334 uint32_t deviceRelativeId,
335 VkDisplayKHR* pDisplay);
336#endif
337
338#ifdef __cplusplus
339}
340#endif
341
342#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xcb.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xcb.h
new file mode 100644
index 0000000..cdf6b52
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xcb.h
@@ -0,0 +1,56 @@
1#ifndef VULKAN_XCB_H_
2#define VULKAN_XCB_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_xcb_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_KHR_xcb_surface 1
24#define VK_KHR_XCB_SURFACE_SPEC_VERSION 6
25#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"
26typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
27typedef struct VkXcbSurfaceCreateInfoKHR {
28 VkStructureType sType;
29 const void* pNext;
30 VkXcbSurfaceCreateFlagsKHR flags;
31 xcb_connection_t* connection;
32 xcb_window_t window;
33} VkXcbSurfaceCreateInfoKHR;
34
35typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);
37
38#ifndef VK_NO_PROTOTYPES
39VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(
40 VkInstance instance,
41 const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
42 const VkAllocationCallbacks* pAllocator,
43 VkSurfaceKHR* pSurface);
44
45VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(
46 VkPhysicalDevice physicalDevice,
47 uint32_t queueFamilyIndex,
48 xcb_connection_t* connection,
49 xcb_visualid_t visual_id);
50#endif
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xlib.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xlib.h
new file mode 100644
index 0000000..b3c3e27
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xlib.h
@@ -0,0 +1,56 @@
1#ifndef VULKAN_XLIB_H_
2#define VULKAN_XLIB_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_xlib_surface is a preprocessor guard. Do not pass it to API calls.
23#define VK_KHR_xlib_surface 1
24#define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6
25#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"
26typedef VkFlags VkXlibSurfaceCreateFlagsKHR;
27typedef struct VkXlibSurfaceCreateInfoKHR {
28 VkStructureType sType;
29 const void* pNext;
30 VkXlibSurfaceCreateFlagsKHR flags;
31 Display* dpy;
32 Window window;
33} VkXlibSurfaceCreateInfoKHR;
34
35typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);
37
38#ifndef VK_NO_PROTOTYPES
39VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
40 VkInstance instance,
41 const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
42 const VkAllocationCallbacks* pAllocator,
43 VkSurfaceKHR* pSurface);
44
45VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(
46 VkPhysicalDevice physicalDevice,
47 uint32_t queueFamilyIndex,
48 Display* dpy,
49 VisualID visualID);
50#endif
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif
diff --git a/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xlib_xrandr.h b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xlib_xrandr.h
new file mode 100644
index 0000000..8e99190
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/video/khronos/vulkan/vulkan_xlib_xrandr.h
@@ -0,0 +1,46 @@
1#ifndef VULKAN_XLIB_XRANDR_H_
2#define VULKAN_XLIB_XRANDR_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_EXT_acquire_xlib_display is a preprocessor guard. Do not pass it to API calls.
23#define VK_EXT_acquire_xlib_display 1
24#define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1
25#define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display"
26typedef VkResult (VKAPI_PTR *PFN_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display);
27typedef VkResult (VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay);
28
29#ifndef VK_NO_PROTOTYPES
30VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT(
31 VkPhysicalDevice physicalDevice,
32 Display* dpy,
33 VkDisplayKHR display);
34
35VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT(
36 VkPhysicalDevice physicalDevice,
37 Display* dpy,
38 RROutput rrOutput,
39 VkDisplayKHR* pDisplay);
40#endif
41
42#ifdef __cplusplus
43}
44#endif
45
46#endif