diff --git a/.gitignore b/.gitignore
index aa47a958..8cff707d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
*.pyc
-*.xml
+/*.xml
*.kdev4
build/
*.o
@@ -11,8 +11,9 @@ main.c
.idea
dist/
*.egg-info
-khrplatform.h
-eglplatform.h
+/khrplatform.h
+/eglplatform.h
+/vk_platform.h
/glad-rs/
/rust/
target/
diff --git a/MANIFEST.in b/MANIFEST.in
index c92b0cd8..ebabdd04 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1 +1 @@
-recursive-include glad *.c *.h *.d *.volt *.rs *.toml
+recursive-include glad *.c *.h *.d *.volt *.rs *.toml *.xml
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 9bec6a23..33b79a86 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -174,7 +174,7 @@ endfunction()
# Create a glad library named "${TARGET}"
function(glad_add_library TARGET)
- cmake_parse_arguments(GG "MERGE;QUIET;KEEP_SOURCES;STATIC;SHARED;MODULE;EXCLUDE_FROM_ALL" "LOCATION;LANGUAGE" "API;EXTENSIONS" ${ARGN})
+ cmake_parse_arguments(GG "MERGE;QUIET;REPRODUCIBLE;KEEP_SOURCES;STATIC;SHARED;MODULE;EXCLUDE_FROM_ALL" "LOCATION;LANGUAGE" "API;EXTENSIONS" ${ARGN})
if(NOT GG_LOCATION)
set(GG_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/gladsources/${TARGET}")
@@ -209,6 +209,10 @@ function(glad_add_library TARGET)
list(APPEND GLAD_ARGS --merge)
endif()
+ if(GG_REPRODUCIBLE)
+ list(APPEND GLAD_ARGS --reproducible)
+ endif()
+
set(GLAD_LANGUAGE "c")
if(GG_LANGUAGE)
string(TOLOWER "${GG_LANGUAGE}" "${GLAD_LANGUAGE}")
diff --git a/example/c++/multiwin_mx/CMakeLists.txt b/example/c++/multiwin_mx/CMakeLists.txt
index 21164e4a..e8548874 100644
--- a/example/c++/multiwin_mx/CMakeLists.txt
+++ b/example/c++/multiwin_mx/CMakeLists.txt
@@ -6,7 +6,7 @@ find_package(glfw3 REQUIRED)
set(GLAD_SOURCES_DIR "${PROJECT_SOURCE_DIR}/../../..")
add_subdirectory("${GLAD_SOURCES_DIR}/cmake" glad_cmake)
-glad_add_library(glad_gl_core_mx_33 MX API gl:core=3.3)
+glad_add_library(glad_gl_core_mx_33 REPRODUCIBLE MX API gl:core=3.3)
add_executable(multiwin_mx
multiwin_mx.cpp
diff --git a/example/c/egl_x11/CMakeLists.txt b/example/c/egl_x11/CMakeLists.txt
index c4b76eff..501bb58d 100644
--- a/example/c/egl_x11/CMakeLists.txt
+++ b/example/c/egl_x11/CMakeLists.txt
@@ -6,7 +6,7 @@ find_package(X11 REQUIRED)
set(GLAD_SOURCES_DIR "${PROJECT_SOURCE_DIR}/../../..")
add_subdirectory("${GLAD_SOURCES_DIR}/cmake" glad_cmake)
-glad_add_library(glad_egl_15_gles2_20 LOADER API egl=1.5 gles2=2.0)
+glad_add_library(glad_egl_15_gles2_20 REPRODUCIBLE LOADER API egl=1.5 gles2=2.0)
add_executable(egl_x11
egl_x11.c
)
diff --git a/example/c/vulkan_tri_glfw/CMakeLists.txt b/example/c/vulkan_tri_glfw/CMakeLists.txt
index 6b849ada..a95947a9 100644
--- a/example/c/vulkan_tri_glfw/CMakeLists.txt
+++ b/example/c/vulkan_tri_glfw/CMakeLists.txt
@@ -6,7 +6,7 @@ add_subdirectory("${GLAD_SOURCES_DIR}/cmake" glad_cmake)
find_package(glfw3 REQUIRED)
-glad_add_library(glad_vulkan_11 LOADER API vulkan=1.1)
+glad_add_library(glad_vulkan_11 REPRODUCIBLE LOADER API vulkan=1.1)
add_executable(vulkan_tri_glfw
vulkan_tri_glfw.c
)
diff --git a/glad/__main__.py b/glad/__main__.py
index d57b8131..5d0673eb 100644
--- a/glad/__main__.py
+++ b/glad/__main__.py
@@ -9,6 +9,7 @@
import logging
import os
+import glad.files
from glad.config import Config, ConfigOption
from glad.sink import LoggingSink
from glad.opener import URLOpener
@@ -48,7 +49,7 @@ class GlobalConfig(Config):
default=None,
description='Path to a file containing a list of extensions or '
'a comma separated list of extensions, if missing '
- 'all possible extensions are included'
+ 'all possible extensions are included.'
)
MERGE = ConfigOption(
converter=bool,
@@ -57,11 +58,17 @@ class GlobalConfig(Config):
)
QUIET = ConfigOption(
converter=bool,
- description='Disable logging'
+ description='Disable logging.'
+ )
+ REPRODUCIBLE = ConfigOption(
+ converter=bool,
+ default=False,
+ description='Makes the build reproducible by not fetching the latest '
+ 'specification from Khronos.'
)
-def load_specifications(specification_names, opener, specification_classes=None):
+def load_specifications(specification_names, opener, specification_classes=None, reproducible=False):
specifications = dict()
if specification_classes is None:
@@ -71,7 +78,10 @@ def load_specifications(specification_names, opener, specification_classes=None)
Specification = specification_classes[name]
xml_name = name + '.xml'
- if os.path.isfile(xml_name):
+ if reproducible and False:
+ logger.info('reproducible build, using packaged specification: %s', xml_name)
+ specification = Specification.from_file(glad.files.open_local(xml_name))
+ elif os.path.isfile(xml_name):
logger.info('using local specification: %s', xml_name)
specification = Specification.from_file(xml_name, opener=opener)
else:
@@ -132,11 +142,15 @@ def main(args=None):
global_config.validate() # Done before, but doesn't hurt
config.validate()
- opener = URLOpener()
+ if global_config['REPRODUCIBLE']:
+ opener = glad.files.StaticFileOpener()
+ else:
+ opener = URLOpener()
specifications = load_specifications(
[value[0] for value in global_config['API'].values()],
- opener=opener
+ opener=opener,
+ reproducible=global_config['REPRODUCIBLE']
)
generator = generators[ns.subparser_name](global_config['OUT_PATH'], opener=opener)
diff --git a/glad/files/__init__.py b/glad/files/__init__.py
new file mode 100644
index 00000000..57149ee7
--- /dev/null
+++ b/glad/files/__init__.py
@@ -0,0 +1,56 @@
+import os.path
+import logging
+import shutil
+
+try:
+ from urlparse import urlparse
+except ImportError:
+ from urllib.parse import urlparse
+
+try:
+ from pkg_resources import resource_exists, resource_stream
+except ImportError:
+ def resource_exists(*args, **kwargs):
+ return False
+
+ def resource_stream(*args, **kwargs):
+ return None
+
+
+BASE_PATH = os.path.abspath(os.path.dirname(__file__))
+
+logger = logging.getLogger('glad.files')
+
+
+class GladFileException(Exception):
+ pass
+
+
+def open_local(name, *args, **kwargs):
+ # use pkg_resources when available, makes it work in zipped modules
+ # or other environments
+ if resource_exists(__name__, name):
+ logger.info('opening packaged resource: %r', name)
+ return resource_stream(__name__, name)
+
+ # fallback to filesystem
+ logger.info('opening packaged path: %r', name)
+ local_path = os.path.normpath(os.path.join(BASE_PATH, os.path.join(name)))
+ if not local_path.startswith(BASE_PATH):
+ raise GladFileException('unsafe file path, won\'t open {!r}'.format(local_path))
+ return open(local_path, *args, **kwargs)
+
+
+class StaticFileOpener(object):
+ def urlopen(self, url, data=None, *args, **kwargs):
+ logger.debug('intercepted attempt to retrieve remote resource %r', url)
+ if data is not None:
+ raise GladFileException('can not resolve requests with payload')
+
+ filename = urlparse(url).path.rsplit('/', 1)[-1]
+ return open_local(filename, 'rb')
+
+ def urlretrieve(self, url, filename, *args, **kwargs):
+ with self.urlopen(url) as src:
+ with open(filename, 'wb') as dst:
+ shutil.copyfileobj(src, dst)
diff --git a/glad/files/egl.xml b/glad/files/egl.xml
new file mode 100644
index 00000000..c271846a
--- /dev/null
+++ b/glad/files/egl.xml
@@ -0,0 +1,3120 @@
+
+
+
+
+
+
+
+
+ #include <KHR/khrplatform.h>
+ #include <EGL/eglplatform.h>
+
+
+
+
+
+
+
+
+
+
+
+ struct AHardwareBuffer;
+
+
+
+ typedef unsigned int EGLBoolean;
+ typedef unsigned int EGLenum;
+ typedef intptr_t EGLAttribKHR;
+ typedef intptr_t EGLAttrib;
+ typedef void *EGLClientBuffer;
+ typedef void *EGLConfig;
+ typedef void *EGLContext;
+ typedef void *EGLDeviceEXT;
+ typedef void *EGLDisplay;
+ typedef void *EGLImage;
+ typedef void *EGLImageKHR;
+ typedef void *EGLLabelKHR;
+ typedef void *EGLObjectKHR;
+ typedef void *EGLOutputLayerEXT;
+ typedef void *EGLOutputPortEXT;
+ typedef void *EGLStreamKHR;
+ typedef void *EGLSurface;
+ typedef void *EGLSync;
+ typedef void *EGLSyncKHR;
+ typedef void *EGLSyncNV;
+ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
+ typedef khronos_utime_nanoseconds_t EGLTimeKHR;
+ typedef khronos_utime_nanoseconds_t EGLTime;
+ typedef khronos_utime_nanoseconds_t EGLTimeNV;
+ typedef khronos_utime_nanoseconds_t EGLuint64NV;
+ typedef khronos_uint64_t EGLuint64KHR;
+ typedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
+ typedef int EGLNativeFileDescriptorKHR;
+ typedef khronos_ssize_t EGLsizeiANDROID;
+ typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
+ typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
+ struct EGLClientPixmapHI {
+ void *pData;
+ EGLint iWidth;
+ EGLint iHeight;
+ EGLint iStride;
+};
+ typedef void ( *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EGLBoolean eglBindAPI
+ EGLenum api
+
+
+ EGLBoolean eglBindTexImage
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint buffer
+
+
+ EGLBoolean eglChooseConfig
+ EGLDisplay dpy
+ const EGLint *attrib_list
+ EGLConfig *configs
+ EGLint config_size
+ EGLint *num_config
+
+
+ EGLBoolean eglClientSignalSyncEXT
+ EGLDisplay dpy
+ EGLSync sync
+ const EGLAttrib *attrib_list
+
+
+ EGLint eglClientWaitSync
+ EGLDisplay dpy
+ EGLSync sync
+ EGLint flags
+ EGLTime timeout
+
+
+ EGLint eglClientWaitSyncKHR
+ EGLDisplay dpy
+ EGLSyncKHR sync
+ EGLint flags
+ EGLTimeKHR timeout
+
+
+
+ EGLint eglClientWaitSyncNV
+ EGLSyncNV sync
+ EGLint flags
+ EGLTimeNV timeout
+
+
+ EGLBoolean eglCopyBuffers
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLNativePixmapType target
+
+
+ EGLContext eglCreateContext
+ EGLDisplay dpy
+ EGLConfig config
+ EGLContext share_context
+ const EGLint *attrib_list
+
+
+ EGLImageKHR eglCreateDRMImageMESA
+ EGLDisplay dpy
+ const EGLint *attrib_list
+
+
+ EGLSyncNV eglCreateFenceSyncNV
+ EGLDisplay dpy
+ EGLenum condition
+ const EGLint *attrib_list
+
+
+ EGLImage eglCreateImage
+ EGLDisplay dpy
+ EGLContext ctx
+ EGLenum target
+ EGLClientBuffer buffer
+ const EGLAttrib *attrib_list
+
+
+ EGLImageKHR eglCreateImageKHR
+ EGLDisplay dpy
+ EGLContext ctx
+ EGLenum target
+ EGLClientBuffer buffer
+ const EGLint *attrib_list
+
+
+ EGLClientBuffer eglCreateNativeClientBufferANDROID
+ const EGLint *attrib_list
+
+
+ EGLSurface eglCreatePbufferFromClientBuffer
+ EGLDisplay dpy
+ EGLenum buftype
+ EGLClientBuffer buffer
+ EGLConfig config
+ const EGLint *attrib_list
+
+
+ EGLSurface eglCreatePbufferSurface
+ EGLDisplay dpy
+ EGLConfig config
+ const EGLint *attrib_list
+
+
+ EGLSurface eglCreatePixmapSurface
+ EGLDisplay dpy
+ EGLConfig config
+ EGLNativePixmapType pixmap
+ const EGLint *attrib_list
+
+
+ EGLSurface eglCreatePixmapSurfaceHI
+ EGLDisplay dpy
+ EGLConfig config
+ struct EGLClientPixmapHI *pixmap
+
+
+ EGLSurface eglCreatePlatformPixmapSurface
+ EGLDisplay dpy
+ EGLConfig config
+ void *native_pixmap
+ const EGLAttrib *attrib_list
+
+
+ EGLSurface eglCreatePlatformPixmapSurfaceEXT
+ EGLDisplay dpy
+ EGLConfig config
+ void *native_pixmap
+ const EGLint *attrib_list
+
+
+ EGLSurface eglCreatePlatformWindowSurface
+ EGLDisplay dpy
+ EGLConfig config
+ void *native_window
+ const EGLAttrib *attrib_list
+
+
+ EGLSurface eglCreatePlatformWindowSurfaceEXT
+ EGLDisplay dpy
+ EGLConfig config
+ void *native_window
+ const EGLint *attrib_list
+
+
+ EGLStreamKHR eglCreateStreamFromFileDescriptorKHR
+ EGLDisplay dpy
+ EGLNativeFileDescriptorKHR file_descriptor
+
+
+ EGLStreamKHR eglCreateStreamKHR
+ EGLDisplay dpy
+ const EGLint *attrib_list
+
+
+ EGLStreamKHR eglCreateStreamAttribKHR
+ EGLDisplay dpy
+ const EGLAttrib *attrib_list
+
+
+ EGLSurface eglCreateStreamProducerSurfaceKHR
+ EGLDisplay dpy
+ EGLConfig config
+ EGLStreamKHR stream
+ const EGLint *attrib_list
+
+
+ EGLSyncKHR eglCreateStreamSyncNV
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLenum type
+ const EGLint *attrib_list
+
+
+ EGLSync eglCreateSync
+ EGLDisplay dpy
+ EGLenum type
+ const EGLAttrib *attrib_list
+
+
+ EGLSyncKHR eglCreateSyncKHR
+ EGLDisplay dpy
+ EGLenum type
+ const EGLint *attrib_list
+
+
+ EGLSyncKHR eglCreateSync64KHR
+ EGLDisplay dpy
+ EGLenum type
+ const EGLAttribKHR *attrib_list
+
+
+
+ EGLSurface eglCreateWindowSurface
+ EGLDisplay dpy
+ EGLConfig config
+ EGLNativeWindowType win
+ const EGLint *attrib_list
+
+
+ EGLint eglDebugMessageControlKHR
+ EGLDEBUGPROCKHR callback
+ const EGLAttrib *attrib_list
+
+
+ EGLBoolean eglDestroyContext
+ EGLDisplay dpy
+ EGLContext ctx
+
+
+ EGLBoolean eglDestroyImage
+ EGLDisplay dpy
+ EGLImage image
+
+
+ EGLBoolean eglDestroyImageKHR
+ EGLDisplay dpy
+ EGLImageKHR image
+
+
+
+ EGLBoolean eglDestroyStreamKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+
+
+ EGLBoolean eglDestroySurface
+ EGLDisplay dpy
+ EGLSurface surface
+
+
+ EGLBoolean eglDestroySync
+ EGLDisplay dpy
+ EGLSync sync
+
+
+ EGLBoolean eglDestroySyncKHR
+ EGLDisplay dpy
+ EGLSyncKHR sync
+
+
+
+ EGLBoolean eglDestroySyncNV
+ EGLSyncNV sync
+
+
+ EGLint eglDupNativeFenceFDANDROID
+ EGLDisplay dpy
+ EGLSyncKHR sync
+
+
+ EGLBoolean eglExportDMABUFImageMESA
+ EGLDisplay dpy
+ EGLImageKHR image
+ int *fds
+ EGLint *strides
+ EGLint *offsets
+
+
+ EGLBoolean eglExportDMABUFImageQueryMESA
+ EGLDisplay dpy
+ EGLImageKHR image
+ int *fourcc
+ int *num_planes
+ EGLuint64KHR *modifiers
+
+
+ EGLBoolean eglExportDRMImageMESA
+ EGLDisplay dpy
+ EGLImageKHR image
+ EGLint *name
+ EGLint *handle
+ EGLint *stride
+
+
+ EGLBoolean eglFenceNV
+ EGLSyncNV sync
+
+
+ EGLBoolean eglGetConfigAttrib
+ EGLDisplay dpy
+ EGLConfig config
+ EGLint attribute
+ EGLint *value
+
+
+ EGLBoolean eglGetConfigs
+ EGLDisplay dpy
+ EGLConfig *configs
+ EGLint config_size
+ EGLint *num_config
+
+
+ EGLContext eglGetCurrentContext
+
+
+ EGLDisplay eglGetCurrentDisplay
+
+
+ EGLSurface eglGetCurrentSurface
+ EGLint readdraw
+
+
+ EGLDisplay eglGetDisplay
+ EGLNativeDisplayType display_id
+
+
+ EGLint eglGetError
+
+
+ EGLClientBuffer eglGetNativeClientBufferANDROID
+ const struct AHardwareBuffer *buffer
+
+
+ EGLBoolean eglGetOutputLayersEXT
+ EGLDisplay dpy
+ const EGLAttrib *attrib_list
+ EGLOutputLayerEXT *layers
+ EGLint max_layers
+ EGLint *num_layers
+
+
+ EGLBoolean eglGetOutputPortsEXT
+ EGLDisplay dpy
+ const EGLAttrib *attrib_list
+ EGLOutputPortEXT *ports
+ EGLint max_ports
+ EGLint *num_ports
+
+
+ EGLDisplay eglGetPlatformDisplay
+ EGLenum platform
+ void *native_display
+ const EGLAttrib *attrib_list
+
+
+ EGLDisplay eglGetPlatformDisplayEXT
+ EGLenum platform
+ void *native_display
+ const EGLint *attrib_list
+
+
+ __eglMustCastToProperFunctionPointerType eglGetProcAddress
+ const char *procname
+
+
+ EGLNativeFileDescriptorKHR eglGetStreamFileDescriptorKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+
+
+ EGLBoolean eglGetSyncAttrib
+ EGLDisplay dpy
+ EGLSync sync
+ EGLint attribute
+ EGLAttrib *value
+
+
+ EGLBoolean eglGetSyncAttribKHR
+ EGLDisplay dpy
+ EGLSyncKHR sync
+ EGLint attribute
+ EGLint *value
+
+
+ EGLBoolean eglGetSyncAttribNV
+ EGLSyncNV sync
+ EGLint attribute
+ EGLint *value
+
+
+ EGLuint64NV eglGetSystemTimeFrequencyNV
+
+
+ EGLuint64NV eglGetSystemTimeNV
+
+
+ EGLBoolean eglInitialize
+ EGLDisplay dpy
+ EGLint *major
+ EGLint *minor
+
+
+ EGLint eglLabelObjectKHR
+ EGLDisplay display
+ EGLenum objectType
+ EGLObjectKHR object
+ EGLLabelKHR label
+
+
+ EGLBoolean eglLockSurfaceKHR
+ EGLDisplay dpy
+ EGLSurface surface
+ const EGLint *attrib_list
+
+
+ EGLBoolean eglMakeCurrent
+ EGLDisplay dpy
+ EGLSurface draw
+ EGLSurface read
+ EGLContext ctx
+
+
+ EGLBoolean eglOutputLayerAttribEXT
+ EGLDisplay dpy
+ EGLOutputLayerEXT layer
+ EGLint attribute
+ EGLAttrib value
+
+
+ EGLBoolean eglOutputPortAttribEXT
+ EGLDisplay dpy
+ EGLOutputPortEXT port
+ EGLint attribute
+ EGLAttrib value
+
+
+ EGLBoolean eglPostSubBufferNV
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint x
+ EGLint y
+ EGLint width
+ EGLint height
+
+
+ EGLBoolean eglPresentationTimeANDROID
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLnsecsANDROID time
+
+
+ EGLBoolean eglGetCompositorTimingSupportedANDROID
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint name
+
+
+ EGLBoolean eglGetCompositorTimingANDROID
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint numTimestamps
+ const EGLint *names
+ EGLnsecsANDROID *values
+
+
+ EGLBoolean eglGetNextFrameIdANDROID
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLuint64KHR *frameId
+
+
+ EGLBoolean eglGetFrameTimestampSupportedANDROID
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint timestamp
+
+
+ EGLBoolean eglGetFrameTimestampsANDROID
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLuint64KHR frameId
+ EGLint numTimestamps
+ const EGLint *timestamps
+ EGLnsecsANDROID *values
+
+
+ EGLenum eglQueryAPI
+
+
+ EGLBoolean eglQueryContext
+ EGLDisplay dpy
+ EGLContext ctx
+ EGLint attribute
+ EGLint *value
+
+
+ EGLBoolean eglQueryDebugKHR
+ EGLint attribute
+ EGLAttrib *value
+
+
+ EGLBoolean eglQueryDeviceAttribEXT
+ EGLDeviceEXT device
+ EGLint attribute
+ EGLAttrib *value
+
+
+ const char *eglQueryDeviceStringEXT
+ EGLDeviceEXT device
+ EGLint name
+
+
+ EGLBoolean eglQueryDevicesEXT
+ EGLint max_devices
+ EGLDeviceEXT *devices
+ EGLint *num_devices
+
+
+ EGLBoolean eglQueryDisplayAttribEXT
+ EGLDisplay dpy
+ EGLint attribute
+ EGLAttrib *value
+
+
+
+ EGLBoolean eglQueryDisplayAttribKHR
+ EGLDisplay dpy
+ EGLint name
+ EGLAttrib *value
+
+
+ EGLBoolean eglQueryDisplayAttribNV
+ EGLDisplay dpy
+ EGLint attribute
+ EGLAttrib *value
+
+
+
+ EGLBoolean eglQueryDmaBufFormatsEXT
+ EGLDisplay dpy
+ EGLint max_formats
+ EGLint *formats
+ EGLint *num_formats
+
+
+ EGLBoolean eglQueryDmaBufModifiersEXT
+ EGLDisplay dpy
+ EGLint format
+ EGLint max_modifiers
+ EGLuint64KHR *modifiers
+ EGLBoolean *external_only
+ EGLint *num_modifiers
+
+
+ EGLBoolean eglQueryNativeDisplayNV
+ EGLDisplay dpy
+ EGLNativeDisplayType *display_id
+
+
+ EGLBoolean eglQueryNativePixmapNV
+ EGLDisplay dpy
+ EGLSurface surf
+ EGLNativePixmapType *pixmap
+
+
+ EGLBoolean eglQueryNativeWindowNV
+ EGLDisplay dpy
+ EGLSurface surf
+ EGLNativeWindowType *window
+
+
+ EGLBoolean eglQueryOutputLayerAttribEXT
+ EGLDisplay dpy
+ EGLOutputLayerEXT layer
+ EGLint attribute
+ EGLAttrib *value
+
+
+ const char *eglQueryOutputLayerStringEXT
+ EGLDisplay dpy
+ EGLOutputLayerEXT layer
+ EGLint name
+
+
+ EGLBoolean eglQueryOutputPortAttribEXT
+ EGLDisplay dpy
+ EGLOutputPortEXT port
+ EGLint attribute
+ EGLAttrib *value
+
+
+ const char *eglQueryOutputPortStringEXT
+ EGLDisplay dpy
+ EGLOutputPortEXT port
+ EGLint name
+
+
+ EGLBoolean eglQueryStreamKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLenum attribute
+ EGLint *value
+
+
+ EGLBoolean eglQueryStreamAttribKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLenum attribute
+ EGLAttrib *value
+
+
+ EGLBoolean eglQueryStreamMetadataNV
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLenum name
+ EGLint n
+ EGLint offset
+ EGLint size
+ void *data
+
+
+ EGLBoolean eglQueryStreamTimeKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLenum attribute
+ EGLTimeKHR *value
+
+
+ EGLBoolean eglQueryStreamu64KHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLenum attribute
+ EGLuint64KHR *value
+
+
+ const char *eglQueryString
+ EGLDisplay dpy
+ EGLint name
+
+
+ EGLBoolean eglQuerySurface
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint attribute
+ EGLint *value
+
+
+ EGLBoolean eglQuerySurface64KHR
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint attribute
+ EGLAttribKHR *value
+
+
+ EGLBoolean eglQuerySurfacePointerANGLE
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint attribute
+ void **value
+
+
+ EGLBoolean eglReleaseTexImage
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint buffer
+
+
+ EGLBoolean eglReleaseThread
+
+
+ EGLBoolean eglResetStreamNV
+ EGLDisplay dpy
+ EGLStreamKHR stream
+
+
+ void eglSetBlobCacheFuncsANDROID
+ EGLDisplay dpy
+ EGLSetBlobFuncANDROID set
+ EGLGetBlobFuncANDROID get
+
+
+ EGLBoolean eglSetDamageRegionKHR
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint *rects
+ EGLint n_rects
+
+
+ EGLBoolean eglSetStreamAttribKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLenum attribute
+ EGLAttrib value
+
+
+ EGLBoolean eglSetStreamMetadataNV
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLint n
+ EGLint offset
+ EGLint size
+ const void *data
+
+
+ EGLBoolean eglSignalSyncKHR
+ EGLDisplay dpy
+ EGLSyncKHR sync
+ EGLenum mode
+
+
+ EGLBoolean eglSignalSyncNV
+ EGLSyncNV sync
+ EGLenum mode
+
+
+ EGLBoolean eglStreamAttribKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLenum attribute
+ EGLint value
+
+
+ EGLBoolean eglStreamConsumerAcquireKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+
+
+ EGLBoolean eglStreamConsumerAcquireAttribKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ const EGLAttrib *attrib_list
+
+
+ EGLBoolean eglStreamConsumerGLTextureExternalKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+
+
+ EGLBoolean eglStreamConsumerGLTextureExternalAttribsNV
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ const EGLAttrib *attrib_list
+
+
+ EGLBoolean eglStreamConsumerOutputEXT
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ EGLOutputLayerEXT layer
+
+
+ EGLBoolean eglStreamConsumerReleaseKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+
+
+ EGLBoolean eglStreamConsumerReleaseAttribKHR
+ EGLDisplay dpy
+ EGLStreamKHR stream
+ const EGLAttrib *attrib_list
+
+
+ EGLBoolean eglStreamFlushNV
+ EGLDisplay dpy
+ EGLStreamKHR stream
+
+
+ EGLBoolean eglSurfaceAttrib
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint attribute
+ EGLint value
+
+
+ EGLBoolean eglSwapBuffers
+ EGLDisplay dpy
+ EGLSurface surface
+
+
+ EGLBoolean eglSwapBuffersWithDamageEXT
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint *rects
+ EGLint n_rects
+
+
+ EGLBoolean eglSwapBuffersWithDamageKHR
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint *rects
+ EGLint n_rects
+
+
+ EGLBoolean eglSwapBuffersRegionNOK
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint numRects
+ const EGLint *rects
+
+
+ EGLBoolean eglSwapBuffersRegion2NOK
+ EGLDisplay dpy
+ EGLSurface surface
+ EGLint numRects
+ const EGLint *rects
+
+
+ EGLBoolean eglSwapInterval
+ EGLDisplay dpy
+ EGLint interval
+
+
+ EGLBoolean eglTerminate
+ EGLDisplay dpy
+
+
+ EGLBoolean eglUnlockSurfaceKHR
+ EGLDisplay dpy
+ EGLSurface surface
+
+
+ EGLBoolean eglUnsignalSyncEXT
+ EGLDisplay dpy
+ EGLSync sync
+ const EGLAttrib *attrib_list
+
+
+ EGLBoolean eglWaitClient
+
+
+ EGLBoolean eglWaitGL
+
+
+ EGLBoolean eglWaitNative
+ EGLint engine
+
+
+ EGLBoolean eglWaitSync
+ EGLDisplay dpy
+ EGLSync sync
+ EGLint flags
+
+
+ EGLint eglWaitSyncKHR
+ EGLDisplay dpy
+ EGLSyncKHR sync
+ EGLint flags
+
+
+ EGLBoolean eglCompositorSetContextListEXT
+ const EGLint *external_ref_ids
+ EGLint num_entries
+
+
+ EGLBoolean eglCompositorSetContextAttributesEXT
+ EGLint external_ref_id
+ const EGLint *context_attributes
+ EGLint num_entries
+
+
+ EGLBoolean eglCompositorSetWindowListEXT
+ EGLint external_ref_id
+ const EGLint *external_win_ids
+ EGLint num_entries
+
+
+ EGLBoolean eglCompositorSetWindowAttributesEXT
+ EGLint external_win_id
+ const EGLint *window_attributes
+ EGLint num_entries
+
+
+ EGLBoolean eglCompositorBindTexWindowEXT
+ EGLint external_win_id
+
+
+ EGLBoolean eglCompositorSetSizeEXT
+ EGLint external_win_id
+ EGLint width
+ EGLint height
+
+
+ EGLBoolean eglCompositorSwapPolicyEXT
+ EGLint external_win_id
+ EGLint policy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/glad/files/eglplatform.h b/glad/files/eglplatform.h
new file mode 100644
index 00000000..b0541d52
--- /dev/null
+++ b/glad/files/eglplatform.h
@@ -0,0 +1,168 @@
+#ifndef __eglplatform_h_
+#define __eglplatform_h_
+
+/*
+** Copyright (c) 2007-2016 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a
+** copy of this software and/or associated documentation files (the
+** "Materials"), to deal in the Materials without restriction, including
+** without limitation the rights to use, copy, modify, merge, publish,
+** distribute, sublicense, and/or sell copies of the Materials, and to
+** permit persons to whom the Materials are furnished to do so, subject to
+** the following conditions:
+**
+** The above copyright notice and this permission notice shall be included
+** in all copies or substantial portions of the Materials.
+**
+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+*/
+
+/* Platform-specific types and definitions for egl.h
+ * $Revision: 30994 $ on $Date: 2015-04-30 13:36:48 -0700 (Thu, 30 Apr 2015) $
+ *
+ * Adopters may modify khrplatform.h and this file to suit their platform.
+ * You are encouraged to submit all modifications to the Khronos group so that
+ * they can be included in future versions of this file. Please submit changes
+ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
+ * by filing a bug against product "EGL" component "Registry".
+ */
+
+#include
+
+/* Macros used in EGL function prototype declarations.
+ *
+ * EGL functions should be prototyped as:
+ *
+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
+ *
+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
+ */
+
+#ifndef EGLAPI
+#define EGLAPI KHRONOS_APICALL
+#endif
+
+#ifndef EGLAPIENTRY
+#define EGLAPIENTRY KHRONOS_APIENTRY
+#endif
+#define EGLAPIENTRYP EGLAPIENTRY*
+
+/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
+ * are aliases of window-system-dependent types, such as X Display * or
+ * Windows Device Context. They must be defined in platform-specific
+ * code below. The EGL-prefixed versions of Native*Type are the same
+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
+ *
+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
+ * provided below, since these changes affect both binary and source
+ * portability of applications using EGL running on different EGL
+ * implementations.
+ */
+
+#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN 1
+#endif
+#include
+
+typedef HDC EGLNativeDisplayType;
+typedef HBITMAP EGLNativePixmapType;
+typedef HWND EGLNativeWindowType;
+
+#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
+
+typedef int EGLNativeDisplayType;
+typedef void *EGLNativeWindowType;
+typedef void *EGLNativePixmapType;
+
+#elif defined(WL_EGL_PLATFORM)
+
+typedef struct wl_display *EGLNativeDisplayType;
+typedef struct wl_egl_pixmap *EGLNativePixmapType;
+typedef struct wl_egl_window *EGLNativeWindowType;
+
+#elif defined(__GBM__)
+
+typedef struct gbm_device *EGLNativeDisplayType;
+typedef struct gbm_bo *EGLNativePixmapType;
+typedef void *EGLNativeWindowType;
+
+#elif defined(__ANDROID__) || defined(ANDROID)
+
+struct ANativeWindow;
+struct egl_native_pixmap_t;
+
+typedef struct ANativeWindow* EGLNativeWindowType;
+typedef struct egl_native_pixmap_t* EGLNativePixmapType;
+typedef void* EGLNativeDisplayType;
+
+#elif defined(USE_OZONE)
+
+typedef intptr_t EGLNativeDisplayType;
+typedef intptr_t EGLNativeWindowType;
+typedef intptr_t EGLNativePixmapType;
+
+#elif defined(__unix__) || defined(__APPLE__)
+
+#if defined(MESA_EGL_NO_X11_HEADERS)
+
+typedef void *EGLNativeDisplayType;
+typedef khronos_uintptr_t EGLNativePixmapType;
+typedef khronos_uintptr_t EGLNativeWindowType;
+
+#else
+
+/* X11 (tentative) */
+#include
+#include
+
+typedef Display *EGLNativeDisplayType;
+typedef Pixmap EGLNativePixmapType;
+typedef Window EGLNativeWindowType;
+
+#endif /* MESA_EGL_NO_X11_HEADERS */
+
+#elif defined(__HAIKU__)
+
+#include
+
+typedef void *EGLNativeDisplayType;
+typedef khronos_uintptr_t EGLNativePixmapType;
+typedef khronos_uintptr_t EGLNativeWindowType;
+
+#else
+#error "Platform not recognized"
+#endif
+
+/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
+typedef EGLNativeDisplayType NativeDisplayType;
+typedef EGLNativePixmapType NativePixmapType;
+typedef EGLNativeWindowType NativeWindowType;
+
+
+/* Define EGLint. This must be a signed integral type large enough to contain
+ * all legal attribute names and values passed into and out of EGL, whether
+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
+ * handle, or other. While in general a 32-bit integer will suffice, if
+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
+ * integer type.
+ */
+typedef khronos_int32_t EGLint;
+
+
+/* C++ / C typecast macros for special EGL handle values */
+#if defined(__cplusplus)
+#define EGL_CAST(type, value) (static_cast(value))
+#else
+#define EGL_CAST(type, value) ((type) (value))
+#endif
+
+#endif /* __eglplatform_h */
diff --git a/glad/files/gl.xml b/glad/files/gl.xml
new file mode 100644
index 00000000..3628bb28
--- /dev/null
+++ b/glad/files/gl.xml
@@ -0,0 +1,49883 @@
+
+
+
+Copyright (c) 2013-2018 The Khronos Group Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+------------------------------------------------------------------------
+
+This file, gl.xml, is the OpenGL and OpenGL API Registry. The canonical
+version of the registry, together with documentation, schema, and Python
+generator scripts used to generate C header files for OpenGL and OpenGL ES,
+can always be found in the Khronos Registry at
+ https://github.com/KhronosGroup/OpenGL-Registry
+
+
+
+
+
+ #include <stddef.h>
+ #include <KHR/khrplatform.h>
+ #ifndef GLEXT_64_TYPES_DEFINED
+/* This code block is duplicated in glxext.h, so must be protected */
+#define GLEXT_64_TYPES_DEFINED
+/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
+/* (as used in the GL_EXT_timer_query extension). */
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#include <inttypes.h>
+#elif defined(__sun__) || defined(__digital__)
+#include <inttypes.h>
+#if defined(__STDC__)
+#if defined(__arch64__) || defined(_LP64)
+typedef long int int64_t;
+typedef unsigned long int uint64_t;
+#else
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#endif /* __arch64__ */
+#endif /* __STDC__ */
+#elif defined( __VMS ) || defined(__sgi)
+#include <inttypes.h>
+#elif defined(__SCO__) || defined(__USLC__)
+#include <stdint.h>
+#elif defined(__UNIXOS2__) || defined(__SOL64__)
+typedef long int int32_t;
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#elif defined(_WIN32) && defined(__GNUC__)
+#include <stdint.h>
+#elif defined(_WIN32)
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+/* Fallback if nothing above works */
+#include <inttypes.h>
+#endif
+#endif
+
+ typedef unsigned int GLenum;
+ typedef unsigned char GLboolean;
+ typedef unsigned int GLbitfield;
+ typedef void GLvoid;
+ typedef signed char GLbyte;
+ typedef short GLshort;
+ typedef int GLint;
+ typedef int GLclampx;
+ typedef unsigned char GLubyte;
+ typedef unsigned short GLushort;
+ typedef unsigned int GLuint;
+ typedef int GLsizei;
+ typedef float GLfloat;
+ typedef float GLclampf;
+ typedef double GLdouble;
+ typedef double GLclampd;
+ typedef void *GLeglClientBufferEXT;
+ typedef void *GLeglImageOES;
+ typedef char GLchar;
+ typedef char GLcharARB;
+ #ifdef __APPLE__
+typedef void *GLhandleARB;
+#else
+typedef unsigned int GLhandleARB;
+#endif
+ typedef unsigned short GLhalfARB;
+ typedef unsigned short GLhalf;
+ typedef GLint GLfixed;
+ typedef khronos_intptr_t GLintptr;
+ typedef khronos_ssize_t GLsizeiptr;
+ typedef int64_t GLint64;
+ typedef uint64_t GLuint64;
+ typedef ptrdiff_t GLintptrARB;
+ typedef ptrdiff_t GLsizeiptrARB;
+ typedef int64_t GLint64EXT;
+ typedef uint64_t GLuint64EXT;
+ typedef struct __GLsync *GLsync;
+ struct _cl_context;
+ struct _cl_event;
+ typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
+ typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
+ typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
+
+ typedef khronos_int32_t GLclampx;
+
+ typedef khronos_int8_t GLbyte;
+ typedef khronos_uint8_t GLubyte;
+ typedef khronos_float_t GLfloat;
+ typedef khronos_float_t GLclampf;
+ typedef khronos_int32_t GLfixed;
+ typedef khronos_int64_t GLint64;
+ typedef khronos_uint64_t GLuint64;
+ typedef khronos_intptr_t GLintptr;
+ typedef khronos_ssize_t GLsizeiptr;
+
+ typedef khronos_int8_t GLbyte;
+ typedef khronos_uint8_t GLubyte;
+ typedef khronos_float_t GLfloat;
+ typedef khronos_float_t GLclampf;
+ typedef khronos_int32_t GLfixed;
+ typedef khronos_int64_t GLint64;
+ typedef khronos_uint64_t GLuint64;
+ typedef khronos_int64_t GLint64EXT;
+ typedef khronos_uint64_t GLuint64EXT;
+ typedef khronos_intptr_t GLintptr;
+ typedef khronos_ssize_t GLsizeiptr;
+
+
+ typedef khronos_uint8_t GLubyte;
+ typedef khronos_float_t GLfloat;
+ typedef khronos_intptr_t GLintptr;
+ typedef khronos_ssize_t GLsizeiptr;
+
+ typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
+ typedef unsigned short GLhalfNV;
+ typedef GLintptr GLvdpauSurfaceNV;
+ typedef void ( *GLVULKANPROCNV)(void);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ void glAccum
+ GLenum op
+ GLfloat value
+
+
+
+ void glAccumxOES
+ GLenum op
+ GLfixed value
+
+
+ void glActiveProgramEXT
+ GLuint program
+
+
+ void glActiveShaderProgram
+ GLuint pipeline
+ GLuint program
+
+
+ void glActiveShaderProgramEXT
+ GLuint pipeline
+ GLuint program
+
+
+ void glActiveStencilFaceEXT
+ GLenum face
+
+
+
+ void glActiveTexture
+ GLenum texture
+
+
+
+ void glActiveTextureARB
+ GLenum texture
+
+
+
+
+ void glActiveVaryingNV
+ GLuint program
+ const GLchar *name
+
+
+ void glAlphaFragmentOp1ATI
+ GLenum op
+ GLuint dst
+ GLuint dstMod
+ GLuint arg1
+ GLuint arg1Rep
+ GLuint arg1Mod
+
+
+ void glAlphaFragmentOp2ATI
+ GLenum op
+ GLuint dst
+ GLuint dstMod
+ GLuint arg1
+ GLuint arg1Rep
+ GLuint arg1Mod
+ GLuint arg2
+ GLuint arg2Rep
+ GLuint arg2Mod
+
+
+ void glAlphaFragmentOp3ATI
+ GLenum op
+ GLuint dst
+ GLuint dstMod
+ GLuint arg1
+ GLuint arg1Rep
+ GLuint arg1Mod
+ GLuint arg2
+ GLuint arg2Rep
+ GLuint arg2Mod
+ GLuint arg3
+ GLuint arg3Rep
+ GLuint arg3Mod
+
+
+ void glAlphaFunc
+ GLenum func
+ GLfloat ref
+
+
+
+ void glAlphaFuncQCOM
+ GLenum func
+ GLclampf ref
+
+
+ void glAlphaFuncx
+ GLenum func
+ GLfixed ref
+
+
+ void glAlphaFuncxOES
+ GLenum func
+ GLfixed ref
+
+
+ void glAlphaToCoverageDitherControlNV
+ GLenum mode
+
+
+ void glApplyFramebufferAttachmentCMAAINTEL
+
+
+ void glApplyTextureEXT
+ GLenum mode
+
+
+ GLboolean glAcquireKeyedMutexWin32EXT
+ GLuint memory
+ GLuint64 key
+ GLuint timeout
+
+
+ GLboolean glAreProgramsResidentNV
+ GLsizei n
+ const GLuint *programs
+ GLboolean *residences
+
+
+
+ GLboolean glAreTexturesResident
+ GLsizei n
+ const GLuint *textures
+ GLboolean *residences
+
+
+
+ GLboolean glAreTexturesResidentEXT
+ GLsizei n
+ const GLuint *textures
+ GLboolean *residences
+
+
+
+ void glArrayElement
+ GLint i
+
+
+ void glArrayElementEXT
+ GLint i
+
+
+
+ void glArrayObjectATI
+ GLenum array
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLuint buffer
+ GLuint offset
+
+
+ void glAsyncMarkerSGIX
+ GLuint marker
+
+
+ void glAttachObjectARB
+ GLhandleARB containerObj
+ GLhandleARB obj
+
+
+
+ void glAttachShader
+ GLuint program
+ GLuint shader
+
+
+ void glBegin
+ GLenum mode
+
+
+
+ void glBeginConditionalRender
+ GLuint id
+ GLenum mode
+
+
+ void glBeginConditionalRenderNV
+ GLuint id
+ GLenum mode
+
+
+
+
+ void glBeginConditionalRenderNVX
+ GLuint id
+
+
+ void glBeginFragmentShaderATI
+
+
+ void glBeginOcclusionQueryNV
+ GLuint id
+
+
+ void glBeginPerfMonitorAMD
+ GLuint monitor
+
+
+ void glBeginPerfQueryINTEL
+ GLuint queryHandle
+
+
+ void glBeginQuery
+ GLenum target
+ GLuint id
+
+
+
+ void glBeginQueryARB
+ GLenum target
+ GLuint id
+
+
+
+ void glBeginQueryEXT
+ GLenum target
+ GLuint id
+
+
+ void glBeginQueryIndexed
+ GLenum target
+ GLuint index
+ GLuint id
+
+
+ void glBeginTransformFeedback
+ GLenum primitiveMode
+
+
+
+ void glBeginTransformFeedbackEXT
+ GLenum primitiveMode
+
+
+
+ void glBeginTransformFeedbackNV
+ GLenum primitiveMode
+
+
+
+ void glBeginVertexShaderEXT
+
+
+ void glBeginVideoCaptureNV
+ GLuint video_capture_slot
+
+
+ void glBindAttribLocation
+ GLuint program
+ GLuint index
+ const GLchar *name
+
+
+ void glBindAttribLocationARB
+ GLhandleARB programObj
+ GLuint index
+ const GLcharARB *name
+
+
+
+ void glBindBuffer
+ GLenum target
+ GLuint buffer
+
+
+ void glBindBufferARB
+ GLenum target
+ GLuint buffer
+
+
+
+ void glBindBufferBase
+ GLenum target
+ GLuint index
+ GLuint buffer
+
+
+
+ void glBindBufferBaseEXT
+ GLenum target
+ GLuint index
+ GLuint buffer
+
+
+
+ void glBindBufferBaseNV
+ GLenum target
+ GLuint index
+ GLuint buffer
+
+
+
+ void glBindBufferOffsetEXT
+ GLenum target
+ GLuint index
+ GLuint buffer
+ GLintptr offset
+
+
+ void glBindBufferOffsetNV
+ GLenum target
+ GLuint index
+ GLuint buffer
+ GLintptr offset
+
+
+
+ void glBindBufferRange
+ GLenum target
+ GLuint index
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+
+
+
+ void glBindBufferRangeEXT
+ GLenum target
+ GLuint index
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+
+
+
+ void glBindBufferRangeNV
+ GLenum target
+ GLuint index
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+
+
+
+ void glBindBuffersBase
+ GLenum target
+ GLuint first
+ GLsizei count
+ const GLuint *buffers
+
+
+ void glBindBuffersRange
+ GLenum target
+ GLuint first
+ GLsizei count
+ const GLuint *buffers
+ const GLintptr *offsets
+ const GLsizeiptr *sizes
+
+
+ void glBindFragDataLocation
+ GLuint program
+ GLuint color
+ const GLchar *name
+
+
+ void glBindFragDataLocationEXT
+ GLuint program
+ GLuint color
+ const GLchar *name
+
+
+
+ void glBindFragDataLocationIndexed
+ GLuint program
+ GLuint colorNumber
+ GLuint index
+ const GLchar *name
+
+
+ void glBindFragDataLocationIndexedEXT
+ GLuint program
+ GLuint colorNumber
+ GLuint index
+ const GLchar *name
+
+
+
+ void glBindFragmentShaderATI
+ GLuint id
+
+
+ void glBindFramebuffer
+ GLenum target
+ GLuint framebuffer
+
+
+
+ void glBindFramebufferEXT
+ GLenum target
+ GLuint framebuffer
+
+
+
+ void glBindFramebufferOES
+ GLenum target
+ GLuint framebuffer
+
+
+ void glBindImageTexture
+ GLuint unit
+ GLuint texture
+ GLint level
+ GLboolean layered
+ GLint layer
+ GLenum access
+ GLenum format
+
+
+ void glBindImageTextureEXT
+ GLuint index
+ GLuint texture
+ GLint level
+ GLboolean layered
+ GLint layer
+ GLenum access
+ GLint format
+
+
+ void glBindImageTextures
+ GLuint first
+ GLsizei count
+ const GLuint *textures
+
+
+ GLuint glBindLightParameterEXT
+ GLenum light
+ GLenum value
+
+
+ GLuint glBindMaterialParameterEXT
+ GLenum face
+ GLenum value
+
+
+ void glBindMultiTextureEXT
+ GLenum texunit
+ GLenum target
+ GLuint texture
+
+
+ GLuint glBindParameterEXT
+ GLenum value
+
+
+ void glBindProgramARB
+ GLenum target
+ GLuint program
+
+
+
+ void glBindProgramNV
+ GLenum target
+ GLuint id
+
+
+
+
+ void glBindProgramPipeline
+ GLuint pipeline
+
+
+ void glBindProgramPipelineEXT
+ GLuint pipeline
+
+
+ void glBindRenderbuffer
+ GLenum target
+ GLuint renderbuffer
+
+
+
+ void glBindRenderbufferEXT
+ GLenum target
+ GLuint renderbuffer
+
+
+
+ void glBindRenderbufferOES
+ GLenum target
+ GLuint renderbuffer
+
+
+ void glBindSampler
+ GLuint unit
+ GLuint sampler
+
+
+ void glBindSamplers
+ GLuint first
+ GLsizei count
+ const GLuint *samplers
+
+
+ GLuint glBindTexGenParameterEXT
+ GLenum unit
+ GLenum coord
+ GLenum value
+
+
+ void glBindTexture
+ GLenum target
+ GLuint texture
+
+
+
+ void glBindTextureEXT
+ GLenum target
+ GLuint texture
+
+
+
+
+ void glBindTextureUnit
+ GLuint unit
+ GLuint texture
+
+
+ GLuint glBindTextureUnitParameterEXT
+ GLenum unit
+ GLenum value
+
+
+ void glBindTextures
+ GLuint first
+ GLsizei count
+ const GLuint *textures
+
+
+ void glBindTransformFeedback
+ GLenum target
+ GLuint id
+
+
+ void glBindTransformFeedbackNV
+ GLenum target
+ GLuint id
+
+
+ void glBindVertexArray
+ GLuint array
+
+
+
+ void glBindVertexArrayAPPLE
+ GLuint array
+
+
+ void glBindVertexArrayOES
+ GLuint array
+
+
+
+ void glBindVertexBuffer
+ GLuint bindingindex
+ GLuint buffer
+ GLintptr offset
+ GLsizei stride
+
+
+ void glBindVertexBuffers
+ GLuint first
+ GLsizei count
+ const GLuint *buffers
+ const GLintptr *offsets
+ const GLsizei *strides
+
+
+ void glBindVertexShaderEXT
+ GLuint id
+
+
+ void glBindVideoCaptureStreamBufferNV
+ GLuint video_capture_slot
+ GLuint stream
+ GLenum frame_region
+ GLintptrARB offset
+
+
+ void glBindVideoCaptureStreamTextureNV
+ GLuint video_capture_slot
+ GLuint stream
+ GLenum frame_region
+ GLenum target
+ GLuint texture
+
+
+ void glBinormal3bEXT
+ GLbyte bx
+ GLbyte by
+ GLbyte bz
+
+
+
+ void glBinormal3bvEXT
+ const GLbyte *v
+
+
+ void glBinormal3dEXT
+ GLdouble bx
+ GLdouble by
+ GLdouble bz
+
+
+
+ void glBinormal3dvEXT
+ const GLdouble *v
+
+
+ void glBinormal3fEXT
+ GLfloat bx
+ GLfloat by
+ GLfloat bz
+
+
+
+ void glBinormal3fvEXT
+ const GLfloat *v
+
+
+ void glBinormal3iEXT
+ GLint bx
+ GLint by
+ GLint bz
+
+
+
+ void glBinormal3ivEXT
+ const GLint *v
+
+
+ void glBinormal3sEXT
+ GLshort bx
+ GLshort by
+ GLshort bz
+
+
+
+ void glBinormal3svEXT
+ const GLshort *v
+
+
+ void glBinormalPointerEXT
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glBitmap
+ GLsizei width
+ GLsizei height
+ GLfloat xorig
+ GLfloat yorig
+ GLfloat xmove
+ GLfloat ymove
+ const GLubyte *bitmap
+
+
+
+
+ void glBitmapxOES
+ GLsizei width
+ GLsizei height
+ GLfixed xorig
+ GLfixed yorig
+ GLfixed xmove
+ GLfixed ymove
+ const GLubyte *bitmap
+
+
+ void glBlendBarrier
+
+
+ void glBlendBarrierKHR
+
+
+
+ void glBlendBarrierNV
+
+
+
+ void glBlendColor
+ GLfloat red
+ GLfloat green
+ GLfloat blue
+ GLfloat alpha
+
+
+
+ void glBlendColorEXT
+ GLfloat red
+ GLfloat green
+ GLfloat blue
+ GLfloat alpha
+
+
+
+
+ void glBlendColorxOES
+ GLfixed red
+ GLfixed green
+ GLfixed blue
+ GLfixed alpha
+
+
+ void glBlendEquation
+ GLenum mode
+
+
+
+ void glBlendEquationEXT
+ GLenum mode
+
+
+
+
+ void glBlendEquationIndexedAMD
+ GLuint buf
+ GLenum mode
+
+
+
+ void glBlendEquationOES
+ GLenum mode
+
+
+ void glBlendEquationSeparate
+ GLenum modeRGB
+ GLenum modeAlpha
+
+
+
+ void glBlendEquationSeparateEXT
+ GLenum modeRGB
+ GLenum modeAlpha
+
+
+
+
+ void glBlendEquationSeparateIndexedAMD
+ GLuint buf
+ GLenum modeRGB
+ GLenum modeAlpha
+
+
+
+ void glBlendEquationSeparateOES
+ GLenum modeRGB
+ GLenum modeAlpha
+
+
+ void glBlendEquationSeparatei
+ GLuint buf
+ GLenum modeRGB
+ GLenum modeAlpha
+
+
+ void glBlendEquationSeparateiARB
+ GLuint buf
+ GLenum modeRGB
+ GLenum modeAlpha
+
+
+
+ void glBlendEquationSeparateiEXT
+ GLuint buf
+ GLenum modeRGB
+ GLenum modeAlpha
+
+
+
+ void glBlendEquationSeparateiOES
+ GLuint buf
+ GLenum modeRGB
+ GLenum modeAlpha
+
+
+
+ void glBlendEquationi
+ GLuint buf
+ GLenum mode
+
+
+ void glBlendEquationiARB
+ GLuint buf
+ GLenum mode
+
+
+
+ void glBlendEquationiEXT
+ GLuint buf
+ GLenum mode
+
+
+
+ void glBlendEquationiOES
+ GLuint buf
+ GLenum mode
+
+
+
+ void glBlendFunc
+ GLenum sfactor
+ GLenum dfactor
+
+
+
+ void glBlendFuncIndexedAMD
+ GLuint buf
+ GLenum src
+ GLenum dst
+
+
+
+ void glBlendFuncSeparate
+ GLenum sfactorRGB
+ GLenum dfactorRGB
+ GLenum sfactorAlpha
+ GLenum dfactorAlpha
+
+
+
+ void glBlendFuncSeparateEXT
+ GLenum sfactorRGB
+ GLenum dfactorRGB
+ GLenum sfactorAlpha
+ GLenum dfactorAlpha
+
+
+
+
+ void glBlendFuncSeparateINGR
+ GLenum sfactorRGB
+ GLenum dfactorRGB
+ GLenum sfactorAlpha
+ GLenum dfactorAlpha
+
+
+
+
+ void glBlendFuncSeparateIndexedAMD
+ GLuint buf
+ GLenum srcRGB
+ GLenum dstRGB
+ GLenum srcAlpha
+ GLenum dstAlpha
+
+
+
+ void glBlendFuncSeparateOES
+ GLenum srcRGB
+ GLenum dstRGB
+ GLenum srcAlpha
+ GLenum dstAlpha
+
+
+ void glBlendFuncSeparatei
+ GLuint buf
+ GLenum srcRGB
+ GLenum dstRGB
+ GLenum srcAlpha
+ GLenum dstAlpha
+
+
+ void glBlendFuncSeparateiARB
+ GLuint buf
+ GLenum srcRGB
+ GLenum dstRGB
+ GLenum srcAlpha
+ GLenum dstAlpha
+
+
+
+ void glBlendFuncSeparateiEXT
+ GLuint buf
+ GLenum srcRGB
+ GLenum dstRGB
+ GLenum srcAlpha
+ GLenum dstAlpha
+
+
+
+ void glBlendFuncSeparateiOES
+ GLuint buf
+ GLenum srcRGB
+ GLenum dstRGB
+ GLenum srcAlpha
+ GLenum dstAlpha
+
+
+
+ void glBlendFunci
+ GLuint buf
+ GLenum src
+ GLenum dst
+
+
+ void glBlendFunciARB
+ GLuint buf
+ GLenum src
+ GLenum dst
+
+
+
+ void glBlendFunciEXT
+ GLuint buf
+ GLenum src
+ GLenum dst
+
+
+
+ void glBlendFunciOES
+ GLuint buf
+ GLenum src
+ GLenum dst
+
+
+
+ void glBlendParameteriNV
+ GLenum pname
+ GLint value
+
+
+ void glBlitFramebuffer
+ GLint srcX0
+ GLint srcY0
+ GLint srcX1
+ GLint srcY1
+ GLint dstX0
+ GLint dstY0
+ GLint dstX1
+ GLint dstY1
+ GLbitfield mask
+ GLenum filter
+
+
+
+ void glBlitFramebufferANGLE
+ GLint srcX0
+ GLint srcY0
+ GLint srcX1
+ GLint srcY1
+ GLint dstX0
+ GLint dstY0
+ GLint dstX1
+ GLint dstY1
+ GLbitfield mask
+ GLenum filter
+
+
+ void glBlitFramebufferEXT
+ GLint srcX0
+ GLint srcY0
+ GLint srcX1
+ GLint srcY1
+ GLint dstX0
+ GLint dstY0
+ GLint dstX1
+ GLint dstY1
+ GLbitfield mask
+ GLenum filter
+
+
+
+
+ void glBlitFramebufferNV
+ GLint srcX0
+ GLint srcY0
+ GLint srcX1
+ GLint srcY1
+ GLint dstX0
+ GLint dstY0
+ GLint dstX1
+ GLint dstY1
+ GLbitfield mask
+ GLenum filter
+
+
+
+ void glBlitNamedFramebuffer
+ GLuint readFramebuffer
+ GLuint drawFramebuffer
+ GLint srcX0
+ GLint srcY0
+ GLint srcX1
+ GLint srcY1
+ GLint dstX0
+ GLint dstY0
+ GLint dstX1
+ GLint dstY1
+ GLbitfield mask
+ GLenum filter
+
+
+ void glBufferAddressRangeNV
+ GLenum pname
+ GLuint index
+ GLuint64EXT address
+ GLsizeiptr length
+
+
+ void glBufferAttachMemoryNV
+ GLenum target
+ GLuint memory
+ GLuint64 offset
+
+
+ void glBufferData
+ GLenum target
+ GLsizeiptr size
+ const void *data
+ GLenum usage
+
+
+ void glBufferDataARB
+ GLenum target
+ GLsizeiptrARB size
+ const void *data
+ GLenum usage
+
+
+
+ void glBufferPageCommitmentARB
+ GLenum target
+ GLintptr offset
+ GLsizeiptr size
+ GLboolean commit
+
+
+ void glBufferParameteriAPPLE
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+ void glBufferStorage
+ GLenum target
+ GLsizeiptr size
+ const void *data
+ GLbitfield flags
+
+
+ void glBufferStorageEXT
+ GLenum target
+ GLsizeiptr size
+ const void *data
+ GLbitfield flags
+
+
+
+ void glBufferStorageExternalEXT
+ GLenum target
+ GLintptr offset
+ GLsizeiptr size
+ GLeglClientBufferEXT clientBuffer
+ GLbitfield flags
+
+
+ void glBufferStorageMemEXT
+ GLenum target
+ GLsizeiptr size
+ GLuint memory
+ GLuint64 offset
+
+
+ void glBufferSubData
+ GLenum target
+ GLintptr offset
+ GLsizeiptr size
+ const void *data
+
+
+ void glBufferSubDataARB
+ GLenum target
+ GLintptrARB offset
+ GLsizeiptrARB size
+ const void *data
+
+
+
+ void glCallCommandListNV
+ GLuint list
+
+
+ void glCallList
+ GLuint list
+
+
+
+ void glCallLists
+ GLsizei n
+ GLenum type
+ const void *lists
+
+
+
+ GLenum glCheckFramebufferStatus
+ GLenum target
+
+
+
+ GLenum glCheckFramebufferStatusEXT
+ GLenum target
+
+
+
+
+ GLenum glCheckFramebufferStatusOES
+ GLenum target
+
+
+ GLenum glCheckNamedFramebufferStatus
+ GLuint framebuffer
+ GLenum target
+
+
+ GLenum glCheckNamedFramebufferStatusEXT
+ GLuint framebuffer
+ GLenum target
+
+
+ void glClampColor
+ GLenum target
+ GLenum clamp
+
+
+
+ void glClampColorARB
+ GLenum target
+ GLenum clamp
+
+
+
+
+ void glClear
+ GLbitfield mask
+
+
+
+ void glClearAccum
+ GLfloat red
+ GLfloat green
+ GLfloat blue
+ GLfloat alpha
+
+
+
+ void glClearAccumxOES
+ GLfixed red
+ GLfixed green
+ GLfixed blue
+ GLfixed alpha
+
+
+ void glClearBufferData
+ GLenum target
+ GLenum internalformat
+ GLenum format
+ GLenum type
+ const void *data
+
+
+ void glClearBufferSubData
+ GLenum target
+ GLenum internalformat
+ GLintptr offset
+ GLsizeiptr size
+ GLenum format
+ GLenum type
+ const void *data
+
+
+ void glClearBufferfi
+ GLenum buffer
+ GLint drawbuffer
+ GLfloat depth
+ GLint stencil
+
+
+
+ void glClearBufferfv
+ GLenum buffer
+ GLint drawbuffer
+ const GLfloat *value
+
+
+
+ void glClearBufferiv
+ GLenum buffer
+ GLint drawbuffer
+ const GLint *value
+
+
+
+ void glClearBufferuiv
+ GLenum buffer
+ GLint drawbuffer
+ const GLuint *value
+
+
+
+ void glClearColor
+ GLfloat red
+ GLfloat green
+ GLfloat blue
+ GLfloat alpha
+
+
+
+ void glClearColorIiEXT
+ GLint red
+ GLint green
+ GLint blue
+ GLint alpha
+
+
+
+ void glClearColorIuiEXT
+ GLuint red
+ GLuint green
+ GLuint blue
+ GLuint alpha
+
+
+
+ void glClearColorx
+ GLfixed red
+ GLfixed green
+ GLfixed blue
+ GLfixed alpha
+
+
+ void glClearColorxOES
+ GLfixed red
+ GLfixed green
+ GLfixed blue
+ GLfixed alpha
+
+
+ void glClearDepth
+ GLdouble depth
+
+
+
+ void glClearDepthdNV
+ GLdouble depth
+
+
+
+ void glClearDepthf
+ GLfloat d
+
+
+ void glClearDepthfOES
+ GLclampf depth
+
+
+
+
+ void glClearDepthx
+ GLfixed depth
+
+
+ void glClearDepthxOES
+ GLfixed depth
+
+
+ void glClearIndex
+ GLfloat c
+
+
+
+ void glClearNamedBufferData
+ GLuint buffer
+ GLenum internalformat
+ GLenum format
+ GLenum type
+ const void *data
+
+
+ void glClearNamedBufferDataEXT
+ GLuint buffer
+ GLenum internalformat
+ GLenum format
+ GLenum type
+ const void *data
+
+
+ void glClearNamedBufferSubData
+ GLuint buffer
+ GLenum internalformat
+ GLintptr offset
+ GLsizeiptr size
+ GLenum format
+ GLenum type
+ const void *data
+
+
+ void glClearNamedBufferSubDataEXT
+ GLuint buffer
+ GLenum internalformat
+ GLsizeiptr offset
+ GLsizeiptr size
+ GLenum format
+ GLenum type
+ const void *data
+
+
+ void glClearNamedFramebufferfi
+ GLuint framebuffer
+ GLenum buffer
+ GLint drawbuffer
+ GLfloat depth
+ GLint stencil
+
+
+ void glClearNamedFramebufferfv
+ GLuint framebuffer
+ GLenum buffer
+ GLint drawbuffer
+ const GLfloat *value
+
+
+ void glClearNamedFramebufferiv
+ GLuint framebuffer
+ GLenum buffer
+ GLint drawbuffer
+ const GLint *value
+
+
+ void glClearNamedFramebufferuiv
+ GLuint framebuffer
+ GLenum buffer
+ GLint drawbuffer
+ const GLuint *value
+
+
+ void glClearPixelLocalStorageuiEXT
+ GLsizei offset
+ GLsizei n
+ const GLuint *values
+
+
+ void glClearStencil
+ GLint s
+
+
+
+ void glClearTexImage
+ GLuint texture
+ GLint level
+ GLenum format
+ GLenum type
+ const void *data
+
+
+ void glClearTexImageEXT
+ GLuint texture
+ GLint level
+ GLenum format
+ GLenum type
+ const void *data
+
+
+
+ void glClearTexSubImage
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ const void *data
+
+
+ void glClearTexSubImageEXT
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ const void *data
+
+
+
+ void glClientActiveTexture
+ GLenum texture
+
+
+ void glClientActiveTextureARB
+ GLenum texture
+
+
+
+ void glClientActiveVertexStreamATI
+ GLenum stream
+
+
+ void glClientAttribDefaultEXT
+ GLbitfield mask
+
+
+ GLenum glClientWaitSync
+ GLsync sync
+ GLbitfield flags
+ GLuint64 timeout
+
+
+ GLenum glClientWaitSyncAPPLE
+ GLsync sync
+ GLbitfield flags
+ GLuint64 timeout
+
+
+
+ void glClipControl
+ GLenum origin
+ GLenum depth
+
+
+ void glClipControlEXT
+ GLenum origin
+ GLenum depth
+
+
+
+ void glClipPlane
+ GLenum plane
+ const GLdouble *equation
+
+
+
+ void glClipPlanef
+ GLenum p
+ const GLfloat *eqn
+
+
+ void glClipPlanefIMG
+ GLenum p
+ const GLfloat *eqn
+
+
+ void glClipPlanefOES
+ GLenum plane
+ const GLfloat *equation
+
+
+
+ void glClipPlanex
+ GLenum plane
+ const GLfixed *equation
+
+
+ void glClipPlanexIMG
+ GLenum p
+ const GLfixed *eqn
+
+
+ void glClipPlanexOES
+ GLenum plane
+ const GLfixed *equation
+
+
+ void glColor3b
+ GLbyte red
+ GLbyte green
+ GLbyte blue
+
+
+
+ void glColor3bv
+ const GLbyte *v
+
+
+
+ void glColor3d
+ GLdouble red
+ GLdouble green
+ GLdouble blue
+
+
+
+ void glColor3dv
+ const GLdouble *v
+
+
+
+ void glColor3f
+ GLfloat red
+ GLfloat green
+ GLfloat blue
+
+
+
+ void glColor3fVertex3fSUN
+ GLfloat r
+ GLfloat g
+ GLfloat b
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glColor3fVertex3fvSUN
+ const GLfloat *c
+ const GLfloat *v
+
+
+ void glColor3fv
+ const GLfloat *v
+
+
+
+ void glColor3hNV
+ GLhalfNV red
+ GLhalfNV green
+ GLhalfNV blue
+
+
+
+ void glColor3hvNV
+ const GLhalfNV *v
+
+
+
+ void glColor3i
+ GLint red
+ GLint green
+ GLint blue
+
+
+
+ void glColor3iv
+ const GLint *v
+
+
+
+ void glColor3s
+ GLshort red
+ GLshort green
+ GLshort blue
+
+
+
+ void glColor3sv
+ const GLshort *v
+
+
+
+ void glColor3ub
+ GLubyte red
+ GLubyte green
+ GLubyte blue
+
+
+
+ void glColor3ubv
+ const GLubyte *v
+
+
+
+ void glColor3ui
+ GLuint red
+ GLuint green
+ GLuint blue
+
+
+
+ void glColor3uiv
+ const GLuint *v
+
+
+
+ void glColor3us
+ GLushort red
+ GLushort green
+ GLushort blue
+
+
+
+ void glColor3usv
+ const GLushort *v
+
+
+
+ void glColor3xOES
+ GLfixed red
+ GLfixed green
+ GLfixed blue
+
+
+ void glColor3xvOES
+ const GLfixed *components
+
+
+ void glColor4b
+ GLbyte red
+ GLbyte green
+ GLbyte blue
+ GLbyte alpha
+
+
+
+ void glColor4bv
+ const GLbyte *v
+
+
+
+ void glColor4d
+ GLdouble red
+ GLdouble green
+ GLdouble blue
+ GLdouble alpha
+
+
+
+ void glColor4dv
+ const GLdouble *v
+
+
+
+ void glColor4f
+ GLfloat red
+ GLfloat green
+ GLfloat blue
+ GLfloat alpha
+
+
+
+ void glColor4fNormal3fVertex3fSUN
+ GLfloat r
+ GLfloat g
+ GLfloat b
+ GLfloat a
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glColor4fNormal3fVertex3fvSUN
+ const GLfloat *c
+ const GLfloat *n
+ const GLfloat *v
+
+
+ void glColor4fv
+ const GLfloat *v
+
+
+
+ void glColor4hNV
+ GLhalfNV red
+ GLhalfNV green
+ GLhalfNV blue
+ GLhalfNV alpha
+
+
+
+ void glColor4hvNV
+ const GLhalfNV *v
+
+
+
+ void glColor4i
+ GLint red
+ GLint green
+ GLint blue
+ GLint alpha
+
+
+
+ void glColor4iv
+ const GLint *v
+
+
+
+ void glColor4s
+ GLshort red
+ GLshort green
+ GLshort blue
+ GLshort alpha
+
+
+
+ void glColor4sv
+ const GLshort *v
+
+
+
+ void glColor4ub
+ GLubyte red
+ GLubyte green
+ GLubyte blue
+ GLubyte alpha
+
+
+
+ void glColor4ubVertex2fSUN
+ GLubyte r
+ GLubyte g
+ GLubyte b
+ GLubyte a
+ GLfloat x
+ GLfloat y
+
+
+ void glColor4ubVertex2fvSUN
+ const GLubyte *c
+ const GLfloat *v
+
+
+ void glColor4ubVertex3fSUN
+ GLubyte r
+ GLubyte g
+ GLubyte b
+ GLubyte a
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glColor4ubVertex3fvSUN
+ const GLubyte *c
+ const GLfloat *v
+
+
+ void glColor4ubv
+ const GLubyte *v
+
+
+
+ void glColor4ui
+ GLuint red
+ GLuint green
+ GLuint blue
+ GLuint alpha
+
+
+
+ void glColor4uiv
+ const GLuint *v
+
+
+
+ void glColor4us
+ GLushort red
+ GLushort green
+ GLushort blue
+ GLushort alpha
+
+
+
+ void glColor4usv
+ const GLushort *v
+
+
+
+ void glColor4x
+ GLfixed red
+ GLfixed green
+ GLfixed blue
+ GLfixed alpha
+
+
+ void glColor4xOES
+ GLfixed red
+ GLfixed green
+ GLfixed blue
+ GLfixed alpha
+
+
+ void glColor4xvOES
+ const GLfixed *components
+
+
+ void glColorFormatNV
+ GLint size
+ GLenum type
+ GLsizei stride
+
+
+ void glColorFragmentOp1ATI
+ GLenum op
+ GLuint dst
+ GLuint dstMask
+ GLuint dstMod
+ GLuint arg1
+ GLuint arg1Rep
+ GLuint arg1Mod
+
+
+ void glColorFragmentOp2ATI
+ GLenum op
+ GLuint dst
+ GLuint dstMask
+ GLuint dstMod
+ GLuint arg1
+ GLuint arg1Rep
+ GLuint arg1Mod
+ GLuint arg2
+ GLuint arg2Rep
+ GLuint arg2Mod
+
+
+ void glColorFragmentOp3ATI
+ GLenum op
+ GLuint dst
+ GLuint dstMask
+ GLuint dstMod
+ GLuint arg1
+ GLuint arg1Rep
+ GLuint arg1Mod
+ GLuint arg2
+ GLuint arg2Rep
+ GLuint arg2Mod
+ GLuint arg3
+ GLuint arg3Rep
+ GLuint arg3Mod
+
+
+ void glColorMask
+ GLboolean red
+ GLboolean green
+ GLboolean blue
+ GLboolean alpha
+
+
+
+ void glColorMaskIndexedEXT
+ GLuint index
+ GLboolean r
+ GLboolean g
+ GLboolean b
+ GLboolean a
+
+
+
+
+ void glColorMaski
+ GLuint index
+ GLboolean r
+ GLboolean g
+ GLboolean b
+ GLboolean a
+
+
+ void glColorMaskiEXT
+ GLuint index
+ GLboolean r
+ GLboolean g
+ GLboolean b
+ GLboolean a
+
+
+
+ void glColorMaskiOES
+ GLuint index
+ GLboolean r
+ GLboolean g
+ GLboolean b
+ GLboolean a
+
+
+
+ void glColorMaterial
+ GLenum face
+ GLenum mode
+
+
+
+ void glColorP3ui
+ GLenum type
+ GLuint color
+
+
+ void glColorP3uiv
+ GLenum type
+ const GLuint *color
+
+
+ void glColorP4ui
+ GLenum type
+ GLuint color
+
+
+ void glColorP4uiv
+ GLenum type
+ const GLuint *color
+
+
+ void glColorPointer
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glColorPointerEXT
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLsizei count
+ const void *pointer
+
+
+ void glColorPointerListIBM
+ GLint size
+ GLenum type
+ GLint stride
+ const void **pointer
+ GLint ptrstride
+
+
+ void glColorPointervINTEL
+ GLint size
+ GLenum type
+ const void **pointer
+
+
+ void glColorSubTable
+ GLenum target
+ GLsizei start
+ GLsizei count
+ GLenum format
+ GLenum type
+ const void *data
+
+
+
+
+ void glColorSubTableEXT
+ GLenum target
+ GLsizei start
+ GLsizei count
+ GLenum format
+ GLenum type
+ const void *data
+
+
+
+ void glColorTable
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *table
+
+
+
+
+ void glColorTableEXT
+ GLenum target
+ GLenum internalFormat
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *table
+
+
+
+ void glColorTableParameterfv
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glColorTableParameterfvSGI
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+
+
+ void glColorTableParameteriv
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+
+ void glColorTableParameterivSGI
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+
+
+ void glColorTableSGI
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *table
+
+
+
+
+ void glCombinerInputNV
+ GLenum stage
+ GLenum portion
+ GLenum variable
+ GLenum input
+ GLenum mapping
+ GLenum componentUsage
+
+
+
+ void glCombinerOutputNV
+ GLenum stage
+ GLenum portion
+ GLenum abOutput
+ GLenum cdOutput
+ GLenum sumOutput
+ GLenum scale
+ GLenum bias
+ GLboolean abDotProduct
+ GLboolean cdDotProduct
+ GLboolean muxSum
+
+
+
+ void glCombinerParameterfNV
+ GLenum pname
+ GLfloat param
+
+
+
+ void glCombinerParameterfvNV
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glCombinerParameteriNV
+ GLenum pname
+ GLint param
+
+
+
+ void glCombinerParameterivNV
+ GLenum pname
+ const GLint *params
+
+
+
+ void glCombinerStageParameterfvNV
+ GLenum stage
+ GLenum pname
+ const GLfloat *params
+
+
+ void glCommandListSegmentsNV
+ GLuint list
+ GLuint segments
+
+
+ void glCompileCommandListNV
+ GLuint list
+
+
+ void glCompileShader
+ GLuint shader
+
+
+ void glCompileShaderARB
+ GLhandleARB shaderObj
+
+
+
+ void glCompileShaderIncludeARB
+ GLuint shader
+ GLsizei count
+ const GLchar *const*path
+ const GLint *length
+
+
+ void glCompressedMultiTexImage1DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLint border
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedMultiTexImage2DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLint border
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedMultiTexImage3DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedMultiTexSubImage1DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedMultiTexSubImage2DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedMultiTexSubImage3DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedTexImage1D
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLint border
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexImage1DARB
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLint border
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexImage2D
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLint border
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexImage2DARB
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLint border
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexImage3D
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexImage3DARB
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexImage3DOES
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLsizei imageSize
+ const void *data
+
+
+ void glCompressedTexSubImage1D
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexSubImage1DARB
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexSubImage2D
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexSubImage2DARB
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexSubImage3D
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexSubImage3DARB
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+
+
+ void glCompressedTexSubImage3DOES
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+ void glCompressedTextureImage1DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLint border
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedTextureImage2DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLint border
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedTextureImage3DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedTextureSubImage1D
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+ void glCompressedTextureSubImage1DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedTextureSubImage2D
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+ void glCompressedTextureSubImage2DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLsizei imageSize
+ const void *bits
+
+
+ void glCompressedTextureSubImage3D
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLsizei imageSize
+ const void *data
+
+
+ void glCompressedTextureSubImage3DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLsizei imageSize
+ const void *bits
+
+
+ void glConservativeRasterParameterfNV
+ GLenum pname
+ GLfloat value
+
+
+ void glConservativeRasterParameteriNV
+ GLenum pname
+ GLint param
+
+
+ void glConvolutionFilter1D
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *image
+
+
+
+
+ void glConvolutionFilter1DEXT
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *image
+
+
+
+
+ void glConvolutionFilter2D
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *image
+
+
+
+
+ void glConvolutionFilter2DEXT
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *image
+
+
+
+
+ void glConvolutionParameterf
+ GLenum target
+ GLenum pname
+ GLfloat params
+
+
+
+ void glConvolutionParameterfEXT
+ GLenum target
+ GLenum pname
+ GLfloat params
+
+
+
+
+ void glConvolutionParameterfv
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glConvolutionParameterfvEXT
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+
+
+ void glConvolutionParameteri
+ GLenum target
+ GLenum pname
+ GLint params
+
+
+
+ void glConvolutionParameteriEXT
+ GLenum target
+ GLenum pname
+ GLint params
+
+
+
+
+ void glConvolutionParameteriv
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+
+ void glConvolutionParameterivEXT
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+
+
+ void glConvolutionParameterxOES
+ GLenum target
+ GLenum pname
+ GLfixed param
+
+
+ void glConvolutionParameterxvOES
+ GLenum target
+ GLenum pname
+ const GLfixed *params
+
+
+ void glCopyBufferSubData
+ GLenum readTarget
+ GLenum writeTarget
+ GLintptr readOffset
+ GLintptr writeOffset
+ GLsizeiptr size
+
+
+
+ void glCopyBufferSubDataNV
+ GLenum readTarget
+ GLenum writeTarget
+ GLintptr readOffset
+ GLintptr writeOffset
+ GLsizeiptr size
+
+
+
+ void glCopyColorSubTable
+ GLenum target
+ GLsizei start
+ GLint x
+ GLint y
+ GLsizei width
+
+
+
+ void glCopyColorSubTableEXT
+ GLenum target
+ GLsizei start
+ GLint x
+ GLint y
+ GLsizei width
+
+
+
+ void glCopyColorTable
+ GLenum target
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+
+
+
+ void glCopyColorTableSGI
+ GLenum target
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+
+
+
+
+ void glCopyConvolutionFilter1D
+ GLenum target
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+
+
+
+ void glCopyConvolutionFilter1DEXT
+ GLenum target
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+
+
+
+
+ void glCopyConvolutionFilter2D
+ GLenum target
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+
+ void glCopyConvolutionFilter2DEXT
+ GLenum target
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+
+
+ void 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
+
+
+ void 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
+
+
+
+ void glCopyImageSubDataNV
+ 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 width
+ GLsizei height
+ GLsizei depth
+
+
+
+ void 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
+
+
+
+ void glCopyMultiTexImage1DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLint border
+
+
+ void glCopyMultiTexImage2DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLint border
+
+
+ void glCopyMultiTexSubImage1DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint x
+ GLint y
+ GLsizei width
+
+
+ void glCopyMultiTexSubImage2DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+ void glCopyMultiTexSubImage3DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+ void glCopyNamedBufferSubData
+ GLuint readBuffer
+ GLuint writeBuffer
+ GLintptr readOffset
+ GLintptr writeOffset
+ GLsizeiptr size
+
+
+ void glCopyPathNV
+ GLuint resultPath
+ GLuint srcPath
+
+
+ void glCopyPixels
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLenum type
+
+
+
+ void glCopyTexImage1D
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLint border
+
+
+
+ void glCopyTexImage1DEXT
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLint border
+
+
+
+
+ void glCopyTexImage2D
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLint border
+
+
+
+ void glCopyTexImage2DEXT
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLint border
+
+
+
+
+ void glCopyTexSubImage1D
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint x
+ GLint y
+ GLsizei width
+
+
+
+ void glCopyTexSubImage1DEXT
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint x
+ GLint y
+ GLsizei width
+
+
+
+
+ void glCopyTexSubImage2D
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+
+ void glCopyTexSubImage2DEXT
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+
+
+ void glCopyTexSubImage3D
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+
+ void glCopyTexSubImage3DEXT
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+
+
+ void glCopyTexSubImage3DOES
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+ void glCopyTextureImage1DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLint border
+
+
+ void glCopyTextureImage2DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLint border
+
+
+ void glCopyTextureLevelsAPPLE
+ GLuint destinationTexture
+ GLuint sourceTexture
+ GLint sourceBaseLevel
+ GLsizei sourceLevelCount
+
+
+ void glCopyTextureSubImage1D
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint x
+ GLint y
+ GLsizei width
+
+
+ void glCopyTextureSubImage1DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint x
+ GLint y
+ GLsizei width
+
+
+ void glCopyTextureSubImage2D
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+ void glCopyTextureSubImage2DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+ void glCopyTextureSubImage3D
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+ void glCopyTextureSubImage3DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+ void glCoverFillPathInstancedNV
+ GLsizei numPaths
+ GLenum pathNameType
+ const void *paths
+ GLuint pathBase
+ GLenum coverMode
+ GLenum transformType
+ const GLfloat *transformValues
+
+
+ void glCoverFillPathNV
+ GLuint path
+ GLenum coverMode
+
+
+ void glCoverStrokePathInstancedNV
+ GLsizei numPaths
+ GLenum pathNameType
+ const void *paths
+ GLuint pathBase
+ GLenum coverMode
+ GLenum transformType
+ const GLfloat *transformValues
+
+
+ void glCoverStrokePathNV
+ GLuint path
+ GLenum coverMode
+
+
+ void glCoverageMaskNV
+ GLboolean mask
+
+
+ void glCoverageModulationNV
+ GLenum components
+
+
+ void glCoverageModulationTableNV
+ GLsizei n
+ const GLfloat *v
+
+
+ void glCoverageOperationNV
+ GLenum operation
+
+
+ void glCreateBuffers
+ GLsizei n
+ GLuint *buffers
+
+
+ void glCreateCommandListsNV
+ GLsizei n
+ GLuint *lists
+
+
+ void glCreateFramebuffers
+ GLsizei n
+ GLuint *framebuffers
+
+
+ void glCreateMemoryObjectsEXT
+ GLsizei n
+ GLuint *memoryObjects
+
+
+ void glCreatePerfQueryINTEL
+ GLuint queryId
+ GLuint *queryHandle
+
+
+ GLuint glCreateProgram
+
+
+ GLhandleARB glCreateProgramObjectARB
+
+
+
+ void glCreateProgramPipelines
+ GLsizei n
+ GLuint *pipelines
+
+
+ void glCreateQueries
+ GLenum target
+ GLsizei n
+ GLuint *ids
+
+
+ void glCreateRenderbuffers
+ GLsizei n
+ GLuint *renderbuffers
+
+
+ void glCreateSamplers
+ GLsizei n
+ GLuint *samplers
+
+
+ GLuint glCreateShader
+ GLenum type
+
+
+ GLhandleARB glCreateShaderObjectARB
+ GLenum shaderType
+
+
+
+ GLuint glCreateShaderProgramEXT
+ GLenum type
+ const GLchar *string
+
+
+ GLuint glCreateShaderProgramv
+ GLenum type
+ GLsizei count
+ const GLchar *const*strings
+
+
+ GLuint glCreateShaderProgramvEXT
+ GLenum type
+ GLsizei count
+ const GLchar **strings
+
+
+ void glCreateStatesNV
+ GLsizei n
+ GLuint *states
+
+
+ GLsync glCreateSyncFromCLeventARB
+ struct _cl_context *context
+ struct _cl_event *event
+ GLbitfield flags
+
+
+ void glCreateTextures
+ GLenum target
+ GLsizei n
+ GLuint *textures
+
+
+ void glCreateTransformFeedbacks
+ GLsizei n
+ GLuint *ids
+
+
+ void glCreateVertexArrays
+ GLsizei n
+ GLuint *arrays
+
+
+ void glCullFace
+ GLenum mode
+
+
+
+ void glCullParameterdvEXT
+ GLenum pname
+ GLdouble *params
+
+
+ void glCullParameterfvEXT
+ GLenum pname
+ GLfloat *params
+
+
+ void glCurrentPaletteMatrixARB
+ GLint index
+
+
+
+ void glCurrentPaletteMatrixOES
+ GLuint matrixpaletteindex
+
+
+ void glDebugMessageCallback
+ GLDEBUGPROC callback
+ const void *userParam
+
+
+ void glDebugMessageCallbackAMD
+ GLDEBUGPROCAMD callback
+ void *userParam
+
+
+ void glDebugMessageCallbackARB
+ GLDEBUGPROCARB callback
+ const void *userParam
+
+
+
+ void glDebugMessageCallbackKHR
+ GLDEBUGPROCKHR callback
+ const void *userParam
+
+
+
+ void glDebugMessageControl
+ GLenum source
+ GLenum type
+ GLenum severity
+ GLsizei count
+ const GLuint *ids
+ GLboolean enabled
+
+
+ void glDebugMessageControlARB
+ GLenum source
+ GLenum type
+ GLenum severity
+ GLsizei count
+ const GLuint *ids
+ GLboolean enabled
+
+
+
+ void glDebugMessageControlKHR
+ GLenum source
+ GLenum type
+ GLenum severity
+ GLsizei count
+ const GLuint *ids
+ GLboolean enabled
+
+
+
+ void glDebugMessageEnableAMD
+ GLenum category
+ GLenum severity
+ GLsizei count
+ const GLuint *ids
+ GLboolean enabled
+
+
+ void glDebugMessageInsert
+ GLenum source
+ GLenum type
+ GLuint id
+ GLenum severity
+ GLsizei length
+ const GLchar *buf
+
+
+ void glDebugMessageInsertAMD
+ GLenum category
+ GLenum severity
+ GLuint id
+ GLsizei length
+ const GLchar *buf
+
+
+ void glDebugMessageInsertARB
+ GLenum source
+ GLenum type
+ GLuint id
+ GLenum severity
+ GLsizei length
+ const GLchar *buf
+
+
+
+ void glDebugMessageInsertKHR
+ GLenum source
+ GLenum type
+ GLuint id
+ GLenum severity
+ GLsizei length
+ const GLchar *buf
+
+
+
+ void glDeformSGIX
+ GLbitfield mask
+
+
+
+ void glDeformationMap3dSGIX
+ GLenum target
+ GLdouble u1
+ GLdouble u2
+ GLint ustride
+ GLint uorder
+ GLdouble v1
+ GLdouble v2
+ GLint vstride
+ GLint vorder
+ GLdouble w1
+ GLdouble w2
+ GLint wstride
+ GLint worder
+ const GLdouble *points
+
+
+
+ void glDeformationMap3fSGIX
+ GLenum target
+ GLfloat u1
+ GLfloat u2
+ GLint ustride
+ GLint uorder
+ GLfloat v1
+ GLfloat v2
+ GLint vstride
+ GLint vorder
+ GLfloat w1
+ GLfloat w2
+ GLint wstride
+ GLint worder
+ const GLfloat *points
+
+
+
+ void glDeleteAsyncMarkersSGIX
+ GLuint marker
+ GLsizei range
+
+
+ void glDeleteBuffers
+ GLsizei n
+ const GLuint *buffers
+
+
+ void glDeleteBuffersARB
+ GLsizei n
+ const GLuint *buffers
+
+
+
+ void glDeleteCommandListsNV
+ GLsizei n
+ const GLuint *lists
+
+
+ void glDeleteFencesAPPLE
+ GLsizei n
+ const GLuint *fences
+
+
+ void glDeleteFencesNV
+ GLsizei n
+ const GLuint *fences
+
+
+
+ void glDeleteFragmentShaderATI
+ GLuint id
+
+
+ void glDeleteFramebuffers
+ GLsizei n
+ const GLuint *framebuffers
+
+
+
+ void glDeleteFramebuffersEXT
+ GLsizei n
+ const GLuint *framebuffers
+
+
+
+
+ void glDeleteFramebuffersOES
+ GLsizei n
+ const GLuint *framebuffers
+
+
+ void glDeleteLists
+ GLuint list
+ GLsizei range
+
+
+
+ void glDeleteMemoryObjectsEXT
+ GLsizei n
+ const GLuint *memoryObjects
+
+
+ void glDeleteNamedStringARB
+ GLint namelen
+ const GLchar *name
+
+
+ void glDeleteNamesAMD
+ GLenum identifier
+ GLuint num
+ const GLuint *names
+
+
+ void glDeleteObjectARB
+ GLhandleARB obj
+
+
+ void glDeleteOcclusionQueriesNV
+ GLsizei n
+ const GLuint *ids
+
+
+ void glDeletePathsNV
+ GLuint path
+ GLsizei range
+
+
+ void glDeletePerfMonitorsAMD
+ GLsizei n
+ GLuint *monitors
+
+
+ void glDeletePerfQueryINTEL
+ GLuint queryHandle
+
+
+ void glDeleteProgram
+ GLuint program
+
+
+
+ void glDeleteProgramPipelines
+ GLsizei n
+ const GLuint *pipelines
+
+
+ void glDeleteProgramPipelinesEXT
+ GLsizei n
+ const GLuint *pipelines
+
+
+ void glDeleteProgramsARB
+ GLsizei n
+ const GLuint *programs
+
+
+
+ void glDeleteProgramsNV
+ GLsizei n
+ const GLuint *programs
+
+
+
+
+ void glDeleteQueries
+ GLsizei n
+ const GLuint *ids
+
+
+
+ void glDeleteQueriesARB
+ GLsizei n
+ const GLuint *ids
+
+
+
+ void glDeleteQueriesEXT
+ GLsizei n
+ const GLuint *ids
+
+
+ void glDeleteQueryResourceTagNV
+ GLsizei n
+ const GLint *tagIds
+
+
+ void glDeleteRenderbuffers
+ GLsizei n
+ const GLuint *renderbuffers
+
+
+
+ void glDeleteRenderbuffersEXT
+ GLsizei n
+ const GLuint *renderbuffers
+
+
+
+
+ void glDeleteRenderbuffersOES
+ GLsizei n
+ const GLuint *renderbuffers
+
+
+ void glDeleteSamplers
+ GLsizei count
+ const GLuint *samplers
+
+
+ void glDeleteSemaphoresEXT
+ GLsizei n
+ const GLuint *semaphores
+
+
+ void glDeleteShader
+ GLuint shader
+
+
+
+ void glDeleteStatesNV
+ GLsizei n
+ const GLuint *states
+
+
+ void glDeleteSync
+ GLsync sync
+
+
+ void glDeleteSyncAPPLE
+ GLsync sync
+
+
+
+ void glDeleteTextures
+ GLsizei n
+ const GLuint *textures
+
+
+
+ void glDeleteTexturesEXT
+ GLsizei n
+ const GLuint *textures
+
+
+
+ void glDeleteTransformFeedbacks
+ GLsizei n
+ const GLuint *ids
+
+
+ void glDeleteTransformFeedbacksNV
+ GLsizei n
+ const GLuint *ids
+
+
+
+ void glDeleteVertexArrays
+ GLsizei n
+ const GLuint *arrays
+
+
+
+ void glDeleteVertexArraysAPPLE
+ GLsizei n
+ const GLuint *arrays
+
+
+
+ void glDeleteVertexArraysOES
+ GLsizei n
+ const GLuint *arrays
+
+
+
+ void glDeleteVertexShaderEXT
+ GLuint id
+
+
+ void glDepthBoundsEXT
+ GLclampd zmin
+ GLclampd zmax
+
+
+
+ void glDepthBoundsdNV
+ GLdouble zmin
+ GLdouble zmax
+
+
+
+ void glDepthFunc
+ GLenum func
+
+
+
+ void glDepthMask
+ GLboolean flag
+
+
+
+ void glDepthRange
+ GLdouble n
+ GLdouble f
+
+
+
+ void glDepthRangeArrayfvNV
+ GLuint first
+ GLsizei count
+ const GLfloat *v
+
+
+ void glDepthRangeArrayfvOES
+ GLuint first
+ GLsizei count
+ const GLfloat *v
+
+
+ void glDepthRangeArrayv
+ GLuint first
+ GLsizei count
+ const GLdouble *v
+
+
+ void glDepthRangeIndexed
+ GLuint index
+ GLdouble n
+ GLdouble f
+
+
+ void glDepthRangeIndexedfNV
+ GLuint index
+ GLfloat n
+ GLfloat f
+
+
+ void glDepthRangeIndexedfOES
+ GLuint index
+ GLfloat n
+ GLfloat f
+
+
+ void glDepthRangedNV
+ GLdouble zNear
+ GLdouble zFar
+
+
+
+ void glDepthRangef
+ GLfloat n
+ GLfloat f
+
+
+ void glDepthRangefOES
+ GLclampf n
+ GLclampf f
+
+
+
+
+ void glDepthRangex
+ GLfixed n
+ GLfixed f
+
+
+ void glDepthRangexOES
+ GLfixed n
+ GLfixed f
+
+
+ void glDetachObjectARB
+ GLhandleARB containerObj
+ GLhandleARB attachedObj
+
+
+
+ void glDetachShader
+ GLuint program
+ GLuint shader
+
+
+ void glDetailTexFuncSGIS
+ GLenum target
+ GLsizei n
+ const GLfloat *points
+
+
+
+ void glDisable
+ GLenum cap
+
+
+
+ void glDisableClientState
+ GLenum array
+
+
+ void glDisableClientStateIndexedEXT
+ GLenum array
+ GLuint index
+
+
+ void glDisableClientStateiEXT
+ GLenum array
+ GLuint index
+
+
+ void glDisableDriverControlQCOM
+ GLuint driverControl
+
+
+ void glDisableIndexedEXT
+ GLenum target
+ GLuint index
+
+
+
+
+ void glDisableVariantClientStateEXT
+ GLuint id
+
+
+ void glDisableVertexArrayAttrib
+ GLuint vaobj
+ GLuint index
+
+
+ void glDisableVertexArrayAttribEXT
+ GLuint vaobj
+ GLuint index
+
+
+ void glDisableVertexArrayEXT
+ GLuint vaobj
+ GLenum array
+
+
+ void glDisableVertexAttribAPPLE
+ GLuint index
+ GLenum pname
+
+
+ void glDisableVertexAttribArray
+ GLuint index
+
+
+ void glDisableVertexAttribArrayARB
+ GLuint index
+
+
+
+ void glDisablei
+ GLenum target
+ GLuint index
+
+
+ void glDisableiEXT
+ GLenum target
+ GLuint index
+
+
+
+ void glDisableiNV
+ GLenum target
+ GLuint index
+
+
+
+ void glDisableiOES
+ GLenum target
+ GLuint index
+
+
+
+ void glDiscardFramebufferEXT
+ GLenum target
+ GLsizei numAttachments
+ const GLenum *attachments
+
+
+ void glDispatchCompute
+ GLuint num_groups_x
+ GLuint num_groups_y
+ GLuint num_groups_z
+
+
+ void glDispatchComputeGroupSizeARB
+ GLuint num_groups_x
+ GLuint num_groups_y
+ GLuint num_groups_z
+ GLuint group_size_x
+ GLuint group_size_y
+ GLuint group_size_z
+
+
+ void glDispatchComputeIndirect
+ GLintptr indirect
+
+
+ void glDrawArrays
+ GLenum mode
+ GLint first
+ GLsizei count
+
+
+
+ void glDrawArraysEXT
+ GLenum mode
+ GLint first
+ GLsizei count
+
+
+
+
+ void glDrawArraysIndirect
+ GLenum mode
+ const void *indirect
+
+
+ void glDrawArraysInstanced
+ GLenum mode
+ GLint first
+ GLsizei count
+ GLsizei instancecount
+
+
+ void glDrawArraysInstancedANGLE
+ GLenum mode
+ GLint first
+ GLsizei count
+ GLsizei primcount
+
+
+
+ void glDrawArraysInstancedARB
+ GLenum mode
+ GLint first
+ GLsizei count
+ GLsizei primcount
+
+
+
+ void glDrawArraysInstancedBaseInstance
+ GLenum mode
+ GLint first
+ GLsizei count
+ GLsizei instancecount
+ GLuint baseinstance
+
+
+ void glDrawArraysInstancedBaseInstanceEXT
+ GLenum mode
+ GLint first
+ GLsizei count
+ GLsizei instancecount
+ GLuint baseinstance
+
+
+
+ void glDrawArraysInstancedEXT
+ GLenum mode
+ GLint start
+ GLsizei count
+ GLsizei primcount
+
+
+
+ void glDrawArraysInstancedNV
+ GLenum mode
+ GLint first
+ GLsizei count
+ GLsizei primcount
+
+
+
+ void glDrawBuffer
+ GLenum buf
+
+
+
+ void glDrawBuffers
+ GLsizei n
+ const GLenum *bufs
+
+
+
+ void glDrawBuffersARB
+ GLsizei n
+ const GLenum *bufs
+
+
+
+ void glDrawBuffersATI
+ GLsizei n
+ const GLenum *bufs
+
+
+
+
+ void glDrawBuffersEXT
+ GLsizei n
+ const GLenum *bufs
+
+
+
+ void glDrawBuffersIndexedEXT
+ GLint n
+ const GLenum *location
+ const GLint *indices
+
+
+ void glDrawBuffersNV
+ GLsizei n
+ const GLenum *bufs
+
+
+ void glDrawCommandsAddressNV
+ GLenum primitiveMode
+ const GLuint64 *indirects
+ const GLsizei *sizes
+ GLuint count
+
+
+ void glDrawCommandsNV
+ GLenum primitiveMode
+ GLuint buffer
+ const GLintptr *indirects
+ const GLsizei *sizes
+ GLuint count
+
+
+ void glDrawCommandsStatesAddressNV
+ const GLuint64 *indirects
+ const GLsizei *sizes
+ const GLuint *states
+ const GLuint *fbos
+ GLuint count
+
+
+ void glDrawCommandsStatesNV
+ GLuint buffer
+ const GLintptr *indirects
+ const GLsizei *sizes
+ const GLuint *states
+ const GLuint *fbos
+ GLuint count
+
+
+ void glDrawElementArrayAPPLE
+ GLenum mode
+ GLint first
+ GLsizei count
+
+
+ void glDrawElementArrayATI
+ GLenum mode
+ GLsizei count
+
+
+ void glDrawElements
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+
+
+ void glDrawElementsBaseVertex
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLint basevertex
+
+
+ void glDrawElementsBaseVertexEXT
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLint basevertex
+
+
+
+ void glDrawElementsBaseVertexOES
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLint basevertex
+
+
+
+ void glDrawElementsIndirect
+ GLenum mode
+ GLenum type
+ const void *indirect
+
+
+ void glDrawElementsInstanced
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei instancecount
+
+
+ void glDrawElementsInstancedANGLE
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei primcount
+
+
+
+ void glDrawElementsInstancedARB
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei primcount
+
+
+
+ void glDrawElementsInstancedBaseInstance
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei instancecount
+ GLuint baseinstance
+
+
+ void glDrawElementsInstancedBaseInstanceEXT
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei instancecount
+ GLuint baseinstance
+
+
+
+ void glDrawElementsInstancedBaseVertex
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei instancecount
+ GLint basevertex
+
+
+ void glDrawElementsInstancedBaseVertexBaseInstance
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei instancecount
+ GLint basevertex
+ GLuint baseinstance
+
+
+ void glDrawElementsInstancedBaseVertexBaseInstanceEXT
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei instancecount
+ GLint basevertex
+ GLuint baseinstance
+
+
+
+ void glDrawElementsInstancedBaseVertexEXT
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei instancecount
+ GLint basevertex
+
+
+
+ void glDrawElementsInstancedBaseVertexOES
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei instancecount
+ GLint basevertex
+
+
+
+ void glDrawElementsInstancedEXT
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei primcount
+
+
+
+ void glDrawElementsInstancedNV
+ GLenum mode
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLsizei primcount
+
+
+
+ void glDrawMeshArraysSUN
+ GLenum mode
+ GLint first
+ GLsizei count
+ GLsizei width
+
+
+ void glDrawPixels
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glDrawRangeElementArrayAPPLE
+ GLenum mode
+ GLuint start
+ GLuint end
+ GLint first
+ GLsizei count
+
+
+ void glDrawRangeElementArrayATI
+ GLenum mode
+ GLuint start
+ GLuint end
+ GLsizei count
+
+
+ void glDrawRangeElements
+ GLenum mode
+ GLuint start
+ GLuint end
+ GLsizei count
+ GLenum type
+ const void *indices
+
+
+ void glDrawRangeElementsBaseVertex
+ GLenum mode
+ GLuint start
+ GLuint end
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLint basevertex
+
+
+ void glDrawRangeElementsBaseVertexEXT
+ GLenum mode
+ GLuint start
+ GLuint end
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLint basevertex
+
+
+
+ void glDrawRangeElementsBaseVertexOES
+ GLenum mode
+ GLuint start
+ GLuint end
+ GLsizei count
+ GLenum type
+ const void *indices
+ GLint basevertex
+
+
+
+ void glDrawRangeElementsEXT
+ GLenum mode
+ GLuint start
+ GLuint end
+ GLsizei count
+ GLenum type
+ const void *indices
+
+
+
+ void glDrawTexfOES
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat width
+ GLfloat height
+
+
+
+ void glDrawTexfvOES
+ const GLfloat *coords
+
+
+ void glDrawTexiOES
+ GLint x
+ GLint y
+ GLint z
+ GLint width
+ GLint height
+
+
+
+ void glDrawTexivOES
+ const GLint *coords
+
+
+ void glDrawTexsOES
+ GLshort x
+ GLshort y
+ GLshort z
+ GLshort width
+ GLshort height
+
+
+
+ void glDrawTexsvOES
+ const GLshort *coords
+
+
+ void glDrawTextureNV
+ GLuint texture
+ GLuint sampler
+ GLfloat x0
+ GLfloat y0
+ GLfloat x1
+ GLfloat y1
+ GLfloat z
+ GLfloat s0
+ GLfloat t0
+ GLfloat s1
+ GLfloat t1
+
+
+ void glDrawTexxOES
+ GLfixed x
+ GLfixed y
+ GLfixed z
+ GLfixed width
+ GLfixed height
+
+
+
+ void glDrawTexxvOES
+ const GLfixed *coords
+
+
+ void glDrawTransformFeedback
+ GLenum mode
+ GLuint id
+
+
+ void glDrawTransformFeedbackEXT
+ GLenum mode
+ GLuint id
+
+
+
+ void glDrawTransformFeedbackInstanced
+ GLenum mode
+ GLuint id
+ GLsizei instancecount
+
+
+ void glDrawTransformFeedbackInstancedEXT
+ GLenum mode
+ GLuint id
+ GLsizei instancecount
+
+
+
+ void glDrawTransformFeedbackNV
+ GLenum mode
+ GLuint id
+
+
+
+ void glDrawTransformFeedbackStream
+ GLenum mode
+ GLuint id
+ GLuint stream
+
+
+ void glDrawTransformFeedbackStreamInstanced
+ GLenum mode
+ GLuint id
+ GLuint stream
+ GLsizei instancecount
+
+
+ void glEGLImageTargetRenderbufferStorageOES
+ GLenum target
+ GLeglImageOES image
+
+
+ void glEGLImageTargetTexStorageEXT
+ GLenum target
+ GLeglImageOES image
+ const GLint* attrib_list
+
+
+ void glEGLImageTargetTexture2DOES
+ GLenum target
+ GLeglImageOES image
+
+
+ void glEGLImageTargetTextureStorageEXT
+ GLuint texture
+ GLeglImageOES image
+ const GLint* attrib_list
+
+
+ void glEdgeFlag
+ GLboolean flag
+
+
+
+ void glEdgeFlagFormatNV
+ GLsizei stride
+
+
+ void glEdgeFlagPointer
+ GLsizei stride
+ const void *pointer
+
+
+ void glEdgeFlagPointerEXT
+ GLsizei stride
+ GLsizei count
+ const GLboolean *pointer
+
+
+ void glEdgeFlagPointerListIBM
+ GLint stride
+ const GLboolean **pointer
+ GLint ptrstride
+
+
+ void glEdgeFlagv
+ const GLboolean *flag
+
+
+
+ void glElementPointerAPPLE
+ GLenum type
+ const void *pointer
+
+
+ void glElementPointerATI
+ GLenum type
+ const void *pointer
+
+
+ void glEnable
+ GLenum cap
+
+
+
+ void glEnableClientState
+ GLenum array
+
+
+ void glEnableClientStateIndexedEXT
+ GLenum array
+ GLuint index
+
+
+ void glEnableClientStateiEXT
+ GLenum array
+ GLuint index
+
+
+ void glEnableDriverControlQCOM
+ GLuint driverControl
+
+
+ void glEnableIndexedEXT
+ GLenum target
+ GLuint index
+
+
+
+
+ void glEnableVariantClientStateEXT
+ GLuint id
+
+
+ void glEnableVertexArrayAttrib
+ GLuint vaobj
+ GLuint index
+
+
+ void glEnableVertexArrayAttribEXT
+ GLuint vaobj
+ GLuint index
+
+
+ void glEnableVertexArrayEXT
+ GLuint vaobj
+ GLenum array
+
+
+ void glEnableVertexAttribAPPLE
+ GLuint index
+ GLenum pname
+
+
+ void glEnableVertexAttribArray
+ GLuint index
+
+
+ void glEnableVertexAttribArrayARB
+ GLuint index
+
+
+
+ void glEnablei
+ GLenum target
+ GLuint index
+
+
+ void glEnableiEXT
+ GLenum target
+ GLuint index
+
+
+
+ void glEnableiNV
+ GLenum target
+ GLuint index
+
+
+
+ void glEnableiOES
+ GLenum target
+ GLuint index
+
+
+
+ void glEnd
+
+
+
+ void glEndConditionalRender
+
+
+
+ void glEndConditionalRenderNV
+
+
+
+ void glEndConditionalRenderNVX
+
+
+
+ void glEndFragmentShaderATI
+
+
+ void glEndList
+
+
+
+ void glEndOcclusionQueryNV
+
+
+ void glEndPerfMonitorAMD
+ GLuint monitor
+
+
+ void glEndPerfQueryINTEL
+ GLuint queryHandle
+
+
+ void glEndQuery
+ GLenum target
+
+
+
+ void glEndQueryARB
+ GLenum target
+
+
+
+ void glEndQueryEXT
+ GLenum target
+
+
+ void glEndQueryIndexed
+ GLenum target
+ GLuint index
+
+
+ void glEndTilingQCOM
+ GLbitfield preserveMask
+
+
+ void glEndTransformFeedback
+
+
+
+ void glEndTransformFeedbackEXT
+
+
+
+ void glEndTransformFeedbackNV
+
+
+
+ void glEndVertexShaderEXT
+
+
+ void glEndVideoCaptureNV
+ GLuint video_capture_slot
+
+
+ void glEvalCoord1d
+ GLdouble u
+
+
+
+ void glEvalCoord1dv
+ const GLdouble *u
+
+
+
+ void glEvalCoord1f
+ GLfloat u
+
+
+
+ void glEvalCoord1fv
+ const GLfloat *u
+
+
+
+ void glEvalCoord1xOES
+ GLfixed u
+
+
+ void glEvalCoord1xvOES
+ const GLfixed *coords
+
+
+ void glEvalCoord2d
+ GLdouble u
+ GLdouble v
+
+
+
+ void glEvalCoord2dv
+ const GLdouble *u
+
+
+
+ void glEvalCoord2f
+ GLfloat u
+ GLfloat v
+
+
+
+ void glEvalCoord2fv
+ const GLfloat *u
+
+
+
+ void glEvalCoord2xOES
+ GLfixed u
+ GLfixed v
+
+
+ void glEvalCoord2xvOES
+ const GLfixed *coords
+
+
+ void glEvalMapsNV
+ GLenum target
+ GLenum mode
+
+
+ void glEvalMesh1
+ GLenum mode
+ GLint i1
+ GLint i2
+
+
+
+ void glEvalMesh2
+ GLenum mode
+ GLint i1
+ GLint i2
+ GLint j1
+ GLint j2
+
+
+
+ void glEvalPoint1
+ GLint i
+
+
+
+ void glEvalPoint2
+ GLint i
+ GLint j
+
+
+
+ void glEvaluateDepthValuesARB
+
+
+ void glExecuteProgramNV
+ GLenum target
+ GLuint id
+ const GLfloat *params
+
+
+
+ void glExtGetBufferPointervQCOM
+ GLenum target
+ void **params
+
+
+ void glExtGetBuffersQCOM
+ GLuint *buffers
+ GLint maxBuffers
+ GLint *numBuffers
+
+
+ void glExtGetFramebuffersQCOM
+ GLuint *framebuffers
+ GLint maxFramebuffers
+ GLint *numFramebuffers
+
+
+ void glExtGetProgramBinarySourceQCOM
+ GLuint program
+ GLenum shadertype
+ GLchar *source
+ GLint *length
+
+
+ void glExtGetProgramsQCOM
+ GLuint *programs
+ GLint maxPrograms
+ GLint *numPrograms
+
+
+ void glExtGetRenderbuffersQCOM
+ GLuint *renderbuffers
+ GLint maxRenderbuffers
+ GLint *numRenderbuffers
+
+
+ void glExtGetShadersQCOM
+ GLuint *shaders
+ GLint maxShaders
+ GLint *numShaders
+
+
+ void glExtGetTexLevelParameterivQCOM
+ GLuint texture
+ GLenum face
+ GLint level
+ GLenum pname
+ GLint *params
+
+
+ void glExtGetTexSubImageQCOM
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ void *texels
+
+
+ void glExtGetTexturesQCOM
+ GLuint *textures
+ GLint maxTextures
+ GLint *numTextures
+
+
+ GLboolean glExtIsProgramBinaryQCOM
+ GLuint program
+
+
+ void glExtTexObjectStateOverrideiQCOM
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+ void glExtractComponentEXT
+ GLuint res
+ GLuint src
+ GLuint num
+
+
+ void glFeedbackBuffer
+ GLsizei size
+ GLenum type
+ GLfloat *buffer
+
+
+
+ void glFeedbackBufferxOES
+ GLsizei n
+ GLenum type
+ const GLfixed *buffer
+
+
+ GLsync glFenceSync
+ GLenum condition
+ GLbitfield flags
+
+
+ GLsync glFenceSyncAPPLE
+ GLenum condition
+ GLbitfield flags
+
+
+
+ void glFinalCombinerInputNV
+ GLenum variable
+ GLenum input
+ GLenum mapping
+ GLenum componentUsage
+
+
+
+ void glFinish
+
+
+
+ GLint glFinishAsyncSGIX
+ GLuint *markerp
+
+
+ void glFinishFenceAPPLE
+ GLuint fence
+
+
+ void glFinishFenceNV
+ GLuint fence
+
+
+
+ void glFinishObjectAPPLE
+ GLenum object
+ GLint name
+
+
+ void glFinishTextureSUNX
+
+
+ void glFlush
+
+
+
+ void glFlushMappedBufferRange
+ GLenum target
+ GLintptr offset
+ GLsizeiptr length
+
+
+ void glFlushMappedBufferRangeAPPLE
+ GLenum target
+ GLintptr offset
+ GLsizeiptr size
+
+
+
+ void glFlushMappedBufferRangeEXT
+ GLenum target
+ GLintptr offset
+ GLsizeiptr length
+
+
+
+ void glFlushMappedNamedBufferRange
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr length
+
+
+ void glFlushMappedNamedBufferRangeEXT
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr length
+
+
+ void glFlushPixelDataRangeNV
+ GLenum target
+
+
+ void glFlushRasterSGIX
+
+
+
+ void glFlushStaticDataIBM
+ GLenum target
+
+
+ void glFlushVertexArrayRangeAPPLE
+ GLsizei length
+ void *pointer
+
+
+ void glFlushVertexArrayRangeNV
+
+
+ void glFogCoordFormatNV
+ GLenum type
+ GLsizei stride
+
+
+ void glFogCoordPointer
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glFogCoordPointerEXT
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+
+ void glFogCoordPointerListIBM
+ GLenum type
+ GLint stride
+ const void **pointer
+ GLint ptrstride
+
+
+ void glFogCoordd
+ GLdouble coord
+
+
+
+ void glFogCoorddEXT
+ GLdouble coord
+
+
+
+
+ void glFogCoorddv
+ const GLdouble *coord
+
+
+
+ void glFogCoorddvEXT
+ const GLdouble *coord
+
+
+
+
+ void glFogCoordf
+ GLfloat coord
+
+
+
+ void glFogCoordfEXT
+ GLfloat coord
+
+
+
+
+ void glFogCoordfv
+ const GLfloat *coord
+
+
+
+ void glFogCoordfvEXT
+ const GLfloat *coord
+
+
+
+
+ void glFogCoordhNV
+ GLhalfNV fog
+
+
+
+ void glFogCoordhvNV
+ const GLhalfNV *fog
+
+
+
+ void glFogFuncSGIS
+ GLsizei n
+ const GLfloat *points
+
+
+
+ void glFogf
+ GLenum pname
+ GLfloat param
+
+
+
+ void glFogfv
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glFogi
+ GLenum pname
+ GLint param
+
+
+
+ void glFogiv
+ GLenum pname
+ const GLint *params
+
+
+
+ void glFogx
+ GLenum pname
+ GLfixed param
+
+
+ void glFogxOES
+ GLenum pname
+ GLfixed param
+
+
+ void glFogxv
+ GLenum pname
+ const GLfixed *param
+
+
+ void glFogxvOES
+ GLenum pname
+ const GLfixed *param
+
+
+ void glFragmentColorMaterialSGIX
+ GLenum face
+ GLenum mode
+
+
+ void glFragmentCoverageColorNV
+ GLuint color
+
+
+ void glFragmentLightModelfSGIX
+ GLenum pname
+ GLfloat param
+
+
+ void glFragmentLightModelfvSGIX
+ GLenum pname
+ const GLfloat *params
+
+
+ void glFragmentLightModeliSGIX
+ GLenum pname
+ GLint param
+
+
+ void glFragmentLightModelivSGIX
+ GLenum pname
+ const GLint *params
+
+
+ void glFragmentLightfSGIX
+ GLenum light
+ GLenum pname
+ GLfloat param
+
+
+ void glFragmentLightfvSGIX
+ GLenum light
+ GLenum pname
+ const GLfloat *params
+
+
+ void glFragmentLightiSGIX
+ GLenum light
+ GLenum pname
+ GLint param
+
+
+ void glFragmentLightivSGIX
+ GLenum light
+ GLenum pname
+ const GLint *params
+
+
+ void glFragmentMaterialfSGIX
+ GLenum face
+ GLenum pname
+ GLfloat param
+
+
+ void glFragmentMaterialfvSGIX
+ GLenum face
+ GLenum pname
+ const GLfloat *params
+
+
+ void glFragmentMaterialiSGIX
+ GLenum face
+ GLenum pname
+ GLint param
+
+
+ void glFragmentMaterialivSGIX
+ GLenum face
+ GLenum pname
+ const GLint *params
+
+
+ void glFrameTerminatorGREMEDY
+
+
+ void glFrameZoomSGIX
+ GLint factor
+
+
+
+ void glFramebufferDrawBufferEXT
+ GLuint framebuffer
+ GLenum mode
+
+
+ void glFramebufferDrawBuffersEXT
+ GLuint framebuffer
+ GLsizei n
+ const GLenum *bufs
+
+
+ void glFramebufferFetchBarrierEXT
+
+
+ void glFramebufferFetchBarrierQCOM
+
+
+ void glFramebufferFoveationConfigQCOM
+ GLuint framebuffer
+ GLuint numLayers
+ GLuint focalPointsPerLayer
+ GLuint requestedFeatures
+ GLuint *providedFeatures
+
+
+ void glFramebufferFoveationParametersQCOM
+ GLuint framebuffer
+ GLuint layer
+ GLuint focalPoint
+ GLfloat focalX
+ GLfloat focalY
+ GLfloat gainX
+ GLfloat gainY
+ GLfloat foveaArea
+
+
+ void glFramebufferParameteri
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+ void glFramebufferPixelLocalStorageSizeEXT
+ GLuint target
+ GLsizei size
+
+
+ void glFramebufferReadBufferEXT
+ GLuint framebuffer
+ GLenum mode
+
+
+ void glFramebufferRenderbuffer
+ GLenum target
+ GLenum attachment
+ GLenum renderbuffertarget
+ GLuint renderbuffer
+
+
+
+ void glFramebufferRenderbufferEXT
+ GLenum target
+ GLenum attachment
+ GLenum renderbuffertarget
+ GLuint renderbuffer
+
+
+
+
+ void glFramebufferRenderbufferOES
+ GLenum target
+ GLenum attachment
+ GLenum renderbuffertarget
+ GLuint renderbuffer
+
+
+ void glFramebufferSampleLocationsfvARB
+ GLenum target
+ GLuint start
+ GLsizei count
+ const GLfloat *v
+
+
+ void glFramebufferSampleLocationsfvNV
+ GLenum target
+ GLuint start
+ GLsizei count
+ const GLfloat *v
+
+
+ void glFramebufferSamplePositionsfvAMD
+ GLenum target
+ GLuint numsamples
+ GLuint pixelindex
+ const GLfloat *values
+
+
+ void glFramebufferTexture
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+
+
+ void glFramebufferTexture1D
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+
+
+
+ void glFramebufferTexture1DEXT
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+
+
+
+
+ void glFramebufferTexture2D
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+
+
+
+ void glFramebufferTexture2DEXT
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+
+
+
+
+ void glFramebufferTexture2DDownsampleIMG
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+ GLint xscale
+ GLint yscale
+
+
+ void glFramebufferTexture2DMultisampleEXT
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+ GLsizei samples
+
+
+ void glFramebufferTexture2DMultisampleIMG
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+ GLsizei samples
+
+
+ void glFramebufferTexture2DOES
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+
+
+ void glFramebufferTexture3D
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+ GLint zoffset
+
+
+
+ void glFramebufferTexture3DEXT
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+ GLint zoffset
+
+
+
+
+ void glFramebufferTexture3DOES
+ GLenum target
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+ GLint zoffset
+
+
+ void glFramebufferTextureARB
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+
+
+
+ void glFramebufferTextureEXT
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+
+
+
+ void glFramebufferTextureFaceARB
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLenum face
+
+
+ void glFramebufferTextureFaceEXT
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLenum face
+
+
+
+ void glFramebufferTextureLayer
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLint layer
+
+
+
+ void glFramebufferTextureLayerARB
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLint layer
+
+
+
+ void glFramebufferTextureLayerEXT
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLint layer
+
+
+
+ void glFramebufferTextureLayerDownsampleIMG
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLint layer
+ GLint xscale
+ GLint yscale
+
+
+ void glFramebufferTextureMultisampleMultiviewOVR
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLsizei samples
+ GLint baseViewIndex
+ GLsizei numViews
+
+
+ void glFramebufferTextureMultiviewOVR
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLint baseViewIndex
+ GLsizei numViews
+
+
+ void glFramebufferTextureOES
+ GLenum target
+ GLenum attachment
+ GLuint texture
+ GLint level
+
+
+
+ void glFreeObjectBufferATI
+ GLuint buffer
+
+
+ void glFrontFace
+ GLenum mode
+
+
+
+ void glFrustum
+ GLdouble left
+ GLdouble right
+ GLdouble bottom
+ GLdouble top
+ GLdouble zNear
+ GLdouble zFar
+
+
+
+ void glFrustumf
+ GLfloat l
+ GLfloat r
+ GLfloat b
+ GLfloat t
+ GLfloat n
+ GLfloat f
+
+
+ void glFrustumfOES
+ GLfloat l
+ GLfloat r
+ GLfloat b
+ GLfloat t
+ GLfloat n
+ GLfloat f
+
+
+
+ void glFrustumx
+ GLfixed l
+ GLfixed r
+ GLfixed b
+ GLfixed t
+ GLfixed n
+ GLfixed f
+
+
+ void glFrustumxOES
+ GLfixed l
+ GLfixed r
+ GLfixed b
+ GLfixed t
+ GLfixed n
+ GLfixed f
+
+
+ GLuint glGenAsyncMarkersSGIX
+ GLsizei range
+
+
+ void glGenBuffers
+ GLsizei n
+ GLuint *buffers
+
+
+ void glGenBuffersARB
+ GLsizei n
+ GLuint *buffers
+
+
+
+ void glGenFencesAPPLE
+ GLsizei n
+ GLuint *fences
+
+
+ void glGenFencesNV
+ GLsizei n
+ GLuint *fences
+
+
+
+ GLuint glGenFragmentShadersATI
+ GLuint range
+
+
+ void glGenFramebuffers
+ GLsizei n
+ GLuint *framebuffers
+
+
+
+ void glGenFramebuffersEXT
+ GLsizei n
+ GLuint *framebuffers
+
+
+
+
+ void glGenFramebuffersOES
+ GLsizei n
+ GLuint *framebuffers
+
+
+ GLuint glGenLists
+ GLsizei range
+
+
+
+ void glGenNamesAMD
+ GLenum identifier
+ GLuint num
+ GLuint *names
+
+
+ void glGenOcclusionQueriesNV
+ GLsizei n
+ GLuint *ids
+
+
+ GLuint glGenPathsNV
+ GLsizei range
+
+
+ void glGenPerfMonitorsAMD
+ GLsizei n
+ GLuint *monitors
+
+
+ void glGenProgramPipelines
+ GLsizei n
+ GLuint *pipelines
+
+
+ void glGenProgramPipelinesEXT
+ GLsizei n
+ GLuint *pipelines
+
+
+ void glGenProgramsARB
+ GLsizei n
+ GLuint *programs
+
+
+
+ void glGenProgramsNV
+ GLsizei n
+ GLuint *programs
+
+
+
+
+ void glGenQueries
+ GLsizei n
+ GLuint *ids
+
+
+
+ void glGenQueriesARB
+ GLsizei n
+ GLuint *ids
+
+
+
+ void glGenQueriesEXT
+ GLsizei n
+ GLuint *ids
+
+
+ void glGenQueryResourceTagNV
+ GLsizei n
+ GLint *tagIds
+
+
+ void glGenRenderbuffers
+ GLsizei n
+ GLuint *renderbuffers
+
+
+
+ void glGenRenderbuffersEXT
+ GLsizei n
+ GLuint *renderbuffers
+
+
+
+
+ void glGenRenderbuffersOES
+ GLsizei n
+ GLuint *renderbuffers
+
+
+ void glGenSamplers
+ GLsizei count
+ GLuint *samplers
+
+
+ void glGenSemaphoresEXT
+ GLsizei n
+ GLuint *semaphores
+
+
+ GLuint glGenSymbolsEXT
+ GLenum datatype
+ GLenum storagetype
+ GLenum range
+ GLuint components
+
+
+ void glGenTextures
+ GLsizei n
+ GLuint *textures
+
+
+
+ void glGenTexturesEXT
+ GLsizei n
+ GLuint *textures
+
+
+
+ void glGenTransformFeedbacks
+ GLsizei n
+ GLuint *ids
+
+
+ void glGenTransformFeedbacksNV
+ GLsizei n
+ GLuint *ids
+
+
+
+ void glGenVertexArrays
+ GLsizei n
+ GLuint *arrays
+
+
+
+ void glGenVertexArraysAPPLE
+ GLsizei n
+ GLuint *arrays
+
+
+
+ void glGenVertexArraysOES
+ GLsizei n
+ GLuint *arrays
+
+
+
+ GLuint glGenVertexShadersEXT
+ GLuint range
+
+
+ void glGenerateMipmap
+ GLenum target
+
+
+
+ void glGenerateMipmapEXT
+ GLenum target
+
+
+
+
+ void glGenerateMipmapOES
+ GLenum target
+
+
+ void glGenerateMultiTexMipmapEXT
+ GLenum texunit
+ GLenum target
+
+
+ void glGenerateTextureMipmap
+ GLuint texture
+
+
+ void glGenerateTextureMipmapEXT
+ GLuint texture
+ GLenum target
+
+
+ void glGetActiveAtomicCounterBufferiv
+ GLuint program
+ GLuint bufferIndex
+ GLenum pname
+ GLint *params
+
+
+ void glGetActiveAttrib
+ GLuint program
+ GLuint index
+ GLsizei bufSize
+ GLsizei *length
+ GLint *size
+ GLenum *type
+ GLchar *name
+
+
+ void glGetActiveAttribARB
+ GLhandleARB programObj
+ GLuint index
+ GLsizei maxLength
+ GLsizei *length
+ GLint *size
+ GLenum *type
+ GLcharARB *name
+
+
+
+ void glGetActiveSubroutineName
+ GLuint program
+ GLenum shadertype
+ GLuint index
+ GLsizei bufsize
+ GLsizei *length
+ GLchar *name
+
+
+ void glGetActiveSubroutineUniformName
+ GLuint program
+ GLenum shadertype
+ GLuint index
+ GLsizei bufsize
+ GLsizei *length
+ GLchar *name
+
+
+ void glGetActiveSubroutineUniformiv
+ GLuint program
+ GLenum shadertype
+ GLuint index
+ GLenum pname
+ GLint *values
+
+
+ void glGetActiveUniform
+ GLuint program
+ GLuint index
+ GLsizei bufSize
+ GLsizei *length
+ GLint *size
+ GLenum *type
+ GLchar *name
+
+
+ void glGetActiveUniformARB
+ GLhandleARB programObj
+ GLuint index
+ GLsizei maxLength
+ GLsizei *length
+ GLint *size
+ GLenum *type
+ GLcharARB *name
+
+
+
+ void glGetActiveUniformBlockName
+ GLuint program
+ GLuint uniformBlockIndex
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *uniformBlockName
+
+
+
+ void glGetActiveUniformBlockiv
+ GLuint program
+ GLuint uniformBlockIndex
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetActiveUniformName
+ GLuint program
+ GLuint uniformIndex
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *uniformName
+
+
+
+ void glGetActiveUniformsiv
+ GLuint program
+ GLsizei uniformCount
+ const GLuint *uniformIndices
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetActiveVaryingNV
+ GLuint program
+ GLuint index
+ GLsizei bufSize
+ GLsizei *length
+ GLsizei *size
+ GLenum *type
+ GLchar *name
+
+
+ void glGetArrayObjectfvATI
+ GLenum array
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetArrayObjectivATI
+ GLenum array
+ GLenum pname
+ GLint *params
+
+
+ void glGetAttachedObjectsARB
+ GLhandleARB containerObj
+ GLsizei maxCount
+ GLsizei *count
+ GLhandleARB *obj
+
+
+ void glGetAttachedShaders
+ GLuint program
+ GLsizei maxCount
+ GLsizei *count
+ GLuint *shaders
+
+
+ GLint glGetAttribLocation
+ GLuint program
+ const GLchar *name
+
+
+ GLint glGetAttribLocationARB
+ GLhandleARB programObj
+ const GLcharARB *name
+
+
+
+ void glGetBooleanIndexedvEXT
+ GLenum target
+ GLuint index
+ GLboolean *data
+
+
+
+
+ void glGetBooleani_v
+ GLenum target
+ GLuint index
+ GLboolean *data
+
+
+ void glGetBooleanv
+ GLenum pname
+ GLboolean *data
+
+
+
+ void glGetBufferParameteri64v
+ GLenum target
+ GLenum pname
+ GLint64 *params
+
+
+ void glGetBufferParameteriv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetBufferParameterivARB
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetBufferParameterui64vNV
+ GLenum target
+ GLenum pname
+ GLuint64EXT *params
+
+
+ void glGetBufferPointerv
+ GLenum target
+ GLenum pname
+ void **params
+
+
+ void glGetBufferPointervARB
+ GLenum target
+ GLenum pname
+ void **params
+
+
+
+ void glGetBufferPointervOES
+ GLenum target
+ GLenum pname
+ void **params
+
+
+
+ void glGetBufferSubData
+ GLenum target
+ GLintptr offset
+ GLsizeiptr size
+ void *data
+
+
+ void glGetBufferSubDataARB
+ GLenum target
+ GLintptrARB offset
+ GLsizeiptrARB size
+ void *data
+
+
+
+ void glGetClipPlane
+ GLenum plane
+ GLdouble *equation
+
+
+
+ void glGetClipPlanef
+ GLenum plane
+ GLfloat *equation
+
+
+ void glGetClipPlanefOES
+ GLenum plane
+ GLfloat *equation
+
+
+
+ void glGetClipPlanex
+ GLenum plane
+ GLfixed *equation
+
+
+ void glGetClipPlanexOES
+ GLenum plane
+ GLfixed *equation
+
+
+ void glGetColorTable
+ GLenum target
+ GLenum format
+ GLenum type
+ void *table
+
+
+
+
+ void glGetColorTableEXT
+ GLenum target
+ GLenum format
+ GLenum type
+ void *data
+
+
+
+ void glGetColorTableParameterfv
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetColorTableParameterfvEXT
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetColorTableParameterfvSGI
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetColorTableParameteriv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetColorTableParameterivEXT
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetColorTableParameterivSGI
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetColorTableSGI
+ GLenum target
+ GLenum format
+ GLenum type
+ void *table
+
+
+
+ void glGetCombinerInputParameterfvNV
+ GLenum stage
+ GLenum portion
+ GLenum variable
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetCombinerInputParameterivNV
+ GLenum stage
+ GLenum portion
+ GLenum variable
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetCombinerOutputParameterfvNV
+ GLenum stage
+ GLenum portion
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetCombinerOutputParameterivNV
+ GLenum stage
+ GLenum portion
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetCombinerStageParameterfvNV
+ GLenum stage
+ GLenum pname
+ GLfloat *params
+
+
+ GLuint glGetCommandHeaderNV
+ GLenum tokenID
+ GLuint size
+
+
+ void glGetCompressedMultiTexImageEXT
+ GLenum texunit
+ GLenum target
+ GLint lod
+ void *img
+
+
+ void glGetCompressedTexImage
+ GLenum target
+ GLint level
+ void *img
+
+
+
+
+ void glGetCompressedTexImageARB
+ GLenum target
+ GLint level
+ void *img
+
+
+
+
+ void glGetCompressedTextureImage
+ GLuint texture
+ GLint level
+ GLsizei bufSize
+ void *pixels
+
+
+ void glGetCompressedTextureImageEXT
+ GLuint texture
+ GLenum target
+ GLint lod
+ void *img
+
+
+ void glGetCompressedTextureSubImage
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLsizei bufSize
+ void *pixels
+
+
+ void glGetConvolutionFilter
+ GLenum target
+ GLenum format
+ GLenum type
+ void *image
+
+
+
+
+ void glGetConvolutionFilterEXT
+ GLenum target
+ GLenum format
+ GLenum type
+ void *image
+
+
+
+ void glGetConvolutionParameterfv
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetConvolutionParameterfvEXT
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetConvolutionParameteriv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetConvolutionParameterivEXT
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetConvolutionParameterxvOES
+ GLenum target
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetCoverageModulationTableNV
+ GLsizei bufsize
+ GLfloat *v
+
+
+ GLuint glGetDebugMessageLog
+ GLuint count
+ GLsizei bufSize
+ GLenum *sources
+ GLenum *types
+ GLuint *ids
+ GLenum *severities
+ GLsizei *lengths
+ GLchar *messageLog
+
+
+ GLuint glGetDebugMessageLogAMD
+ GLuint count
+ GLsizei bufsize
+ GLenum *categories
+ GLuint *severities
+ GLuint *ids
+ GLsizei *lengths
+ GLchar *message
+
+
+ GLuint glGetDebugMessageLogARB
+ GLuint count
+ GLsizei bufSize
+ GLenum *sources
+ GLenum *types
+ GLuint *ids
+ GLenum *severities
+ GLsizei *lengths
+ GLchar *messageLog
+
+
+
+ GLuint glGetDebugMessageLogKHR
+ GLuint count
+ GLsizei bufSize
+ GLenum *sources
+ GLenum *types
+ GLuint *ids
+ GLenum *severities
+ GLsizei *lengths
+ GLchar *messageLog
+
+
+
+ void glGetDetailTexFuncSGIS
+ GLenum target
+ GLfloat *points
+
+
+
+ void glGetDoubleIndexedvEXT
+ GLenum target
+ GLuint index
+ GLdouble *data
+
+
+
+ void glGetDoublei_v
+ GLenum target
+ GLuint index
+ GLdouble *data
+
+
+ void glGetDoublei_vEXT
+ GLenum pname
+ GLuint index
+ GLdouble *params
+
+
+
+ void glGetDoublev
+ GLenum pname
+ GLdouble *data
+
+
+
+ void glGetDriverControlStringQCOM
+ GLuint driverControl
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *driverControlString
+
+
+ void glGetDriverControlsQCOM
+ GLint *num
+ GLsizei size
+ GLuint *driverControls
+
+
+ GLenum glGetError
+
+
+
+ void glGetFenceivNV
+ GLuint fence
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetFinalCombinerInputParameterfvNV
+ GLenum variable
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetFinalCombinerInputParameterivNV
+ GLenum variable
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetFirstPerfQueryIdINTEL
+ GLuint *queryId
+
+
+ void glGetFixedv
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetFixedvOES
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetFloatIndexedvEXT
+ GLenum target
+ GLuint index
+ GLfloat *data
+
+
+
+ void glGetFloati_v
+ GLenum target
+ GLuint index
+ GLfloat *data
+
+
+ void glGetFloati_vEXT
+ GLenum pname
+ GLuint index
+ GLfloat *params
+
+
+
+ void glGetFloati_vNV
+ GLenum target
+ GLuint index
+ GLfloat *data
+
+
+
+ void glGetFloati_vOES
+ GLenum target
+ GLuint index
+ GLfloat *data
+
+
+
+ void glGetFloatv
+ GLenum pname
+ GLfloat *data
+
+
+
+ void glGetFogFuncSGIS
+ GLfloat *points
+
+
+ GLint glGetFragDataIndex
+ GLuint program
+ const GLchar *name
+
+
+ GLint glGetFragDataIndexEXT
+ GLuint program
+ const GLchar *name
+
+
+
+ GLint glGetFragDataLocation
+ GLuint program
+ const GLchar *name
+
+
+ GLint glGetFragDataLocationEXT
+ GLuint program
+ const GLchar *name
+
+
+
+ void glGetFragmentLightfvSGIX
+ GLenum light
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetFragmentLightivSGIX
+ GLenum light
+ GLenum pname
+ GLint *params
+
+
+ void glGetFragmentMaterialfvSGIX
+ GLenum face
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetFragmentMaterialivSGIX
+ GLenum face
+ GLenum pname
+ GLint *params
+
+
+ void glGetFramebufferAttachmentParameteriv
+ GLenum target
+ GLenum attachment
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetFramebufferAttachmentParameterivEXT
+ GLenum target
+ GLenum attachment
+ GLenum pname
+ GLint *params
+
+
+
+
+ void glGetFramebufferAttachmentParameterivOES
+ GLenum target
+ GLenum attachment
+ GLenum pname
+ GLint *params
+
+
+ void glGetFramebufferParameterfvAMD
+ GLenum target
+ GLenum pname
+ GLuint numsamples
+ GLuint pixelindex
+ GLsizei size
+ GLfloat *values
+
+
+ void glGetFramebufferParameteriv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetFramebufferParameterivEXT
+ GLuint framebuffer
+ GLenum pname
+ GLint *params
+
+
+ GLsizei glGetFramebufferPixelLocalStorageSizeEXT
+ GLuint target
+
+
+ GLenum glGetGraphicsResetStatus
+
+
+ GLenum glGetGraphicsResetStatusARB
+
+
+ GLenum glGetGraphicsResetStatusEXT
+
+
+
+ GLenum glGetGraphicsResetStatusKHR
+
+
+
+ GLhandleARB glGetHandleARB
+ GLenum pname
+
+
+ void glGetHistogram
+ GLenum target
+ GLboolean reset
+ GLenum format
+ GLenum type
+ void *values
+
+
+
+
+ void glGetHistogramEXT
+ GLenum target
+ GLboolean reset
+ GLenum format
+ GLenum type
+ void *values
+
+
+
+ void glGetHistogramParameterfv
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetHistogramParameterfvEXT
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetHistogramParameteriv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetHistogramParameterivEXT
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetHistogramParameterxvOES
+ GLenum target
+ GLenum pname
+ GLfixed *params
+
+
+ GLuint64 glGetImageHandleARB
+ GLuint texture
+ GLint level
+ GLboolean layered
+ GLint layer
+ GLenum format
+
+
+ GLuint64 glGetImageHandleNV
+ GLuint texture
+ GLint level
+ GLboolean layered
+ GLint layer
+ GLenum format
+
+
+ void glGetImageTransformParameterfvHP
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetImageTransformParameterivHP
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetInfoLogARB
+ GLhandleARB obj
+ GLsizei maxLength
+ GLsizei *length
+ GLcharARB *infoLog
+
+
+ GLint glGetInstrumentsSGIX
+
+
+
+ void glGetInteger64i_v
+ GLenum target
+ GLuint index
+ GLint64 *data
+
+
+ void glGetInteger64v
+ GLenum pname
+ GLint64 *data
+
+
+ void glGetInteger64vAPPLE
+ GLenum pname
+ GLint64 *params
+
+
+
+ void glGetIntegerIndexedvEXT
+ GLenum target
+ GLuint index
+ GLint *data
+
+
+
+
+ void glGetIntegeri_v
+ GLenum target
+ GLuint index
+ GLint *data
+
+
+ void glGetIntegeri_vEXT
+ GLenum target
+ GLuint index
+ GLint *data
+
+
+ void glGetIntegerui64i_vNV
+ GLenum value
+ GLuint index
+ GLuint64EXT *result
+
+
+ void glGetIntegerui64vNV
+ GLenum value
+ GLuint64EXT *result
+
+
+ void glGetIntegerv
+ GLenum pname
+ GLint *data
+
+
+
+ void glGetInternalformatSampleivNV
+ GLenum target
+ GLenum internalformat
+ GLsizei samples
+ GLenum pname
+ GLsizei bufSize
+ GLint *params
+
+
+ void glGetInternalformati64v
+ GLenum target
+ GLenum internalformat
+ GLenum pname
+ GLsizei bufSize
+ GLint64 *params
+
+
+ void glGetInternalformativ
+ GLenum target
+ GLenum internalformat
+ GLenum pname
+ GLsizei bufSize
+ GLint *params
+
+
+ void glGetInvariantBooleanvEXT
+ GLuint id
+ GLenum value
+ GLboolean *data
+
+
+ void glGetInvariantFloatvEXT
+ GLuint id
+ GLenum value
+ GLfloat *data
+
+
+ void glGetInvariantIntegervEXT
+ GLuint id
+ GLenum value
+ GLint *data
+
+
+ void glGetLightfv
+ GLenum light
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetLightiv
+ GLenum light
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetLightxOES
+ GLenum light
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetLightxv
+ GLenum light
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetLightxvOES
+ GLenum light
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetListParameterfvSGIX
+ GLuint list
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetListParameterivSGIX
+ GLuint list
+ GLenum pname
+ GLint *params
+
+
+ void glGetLocalConstantBooleanvEXT
+ GLuint id
+ GLenum value
+ GLboolean *data
+
+
+ void glGetLocalConstantFloatvEXT
+ GLuint id
+ GLenum value
+ GLfloat *data
+
+
+ void glGetLocalConstantIntegervEXT
+ GLuint id
+ GLenum value
+ GLint *data
+
+
+ void glGetMapAttribParameterfvNV
+ GLenum target
+ GLuint index
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetMapAttribParameterivNV
+ GLenum target
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+ void glGetMapControlPointsNV
+ GLenum target
+ GLuint index
+ GLenum type
+ GLsizei ustride
+ GLsizei vstride
+ GLboolean packed
+ void *points
+
+
+ void glGetMapParameterfvNV
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetMapParameterivNV
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetMapdv
+ GLenum target
+ GLenum query
+ GLdouble *v
+
+
+
+ void glGetMapfv
+ GLenum target
+ GLenum query
+ GLfloat *v
+
+
+
+ void glGetMapiv
+ GLenum target
+ GLenum query
+ GLint *v
+
+
+
+ void glGetMapxvOES
+ GLenum target
+ GLenum query
+ GLfixed *v
+
+
+ void glGetMaterialfv
+ GLenum face
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetMaterialiv
+ GLenum face
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetMaterialxOES
+ GLenum face
+ GLenum pname
+ GLfixed param
+
+
+ void glGetMaterialxv
+ GLenum face
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetMaterialxvOES
+ GLenum face
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetMemoryObjectDetachedResourcesuivNV
+ GLuint memory
+ GLenum pname
+ GLint first
+ GLsizei count
+ GLuint *params
+
+
+ void glGetMemoryObjectParameterivEXT
+ GLuint memoryObject
+ GLenum pname
+ GLint *params
+
+
+ void glGetMinmax
+ GLenum target
+ GLboolean reset
+ GLenum format
+ GLenum type
+ void *values
+
+
+
+
+ void glGetMinmaxEXT
+ GLenum target
+ GLboolean reset
+ GLenum format
+ GLenum type
+ void *values
+
+
+
+ void glGetMinmaxParameterfv
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetMinmaxParameterfvEXT
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetMinmaxParameteriv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetMinmaxParameterivEXT
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetMultiTexEnvfvEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetMultiTexEnvivEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetMultiTexGendvEXT
+ GLenum texunit
+ GLenum coord
+ GLenum pname
+ GLdouble *params
+
+
+ void glGetMultiTexGenfvEXT
+ GLenum texunit
+ GLenum coord
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetMultiTexGenivEXT
+ GLenum texunit
+ GLenum coord
+ GLenum pname
+ GLint *params
+
+
+ void glGetMultiTexImageEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLenum format
+ GLenum type
+ void *pixels
+
+
+ void glGetMultiTexLevelParameterfvEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetMultiTexLevelParameterivEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLenum pname
+ GLint *params
+
+
+ void glGetMultiTexParameterIivEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetMultiTexParameterIuivEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLuint *params
+
+
+ void glGetMultiTexParameterfvEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetMultiTexParameterivEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetMultisamplefv
+ GLenum pname
+ GLuint index
+ GLfloat *val
+
+
+ void glGetMultisamplefvNV
+ GLenum pname
+ GLuint index
+ GLfloat *val
+
+
+
+ void glGetNamedBufferParameteri64v
+ GLuint buffer
+ GLenum pname
+ GLint64 *params
+
+
+ void glGetNamedBufferParameteriv
+ GLuint buffer
+ GLenum pname
+ GLint *params
+
+
+ void glGetNamedBufferParameterivEXT
+ GLuint buffer
+ GLenum pname
+ GLint *params
+
+
+ void glGetNamedBufferParameterui64vNV
+ GLuint buffer
+ GLenum pname
+ GLuint64EXT *params
+
+
+ void glGetNamedBufferPointerv
+ GLuint buffer
+ GLenum pname
+ void **params
+
+
+ void glGetNamedBufferPointervEXT
+ GLuint buffer
+ GLenum pname
+ void **params
+
+
+ void glGetNamedBufferSubData
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+ void *data
+
+
+ void glGetNamedBufferSubDataEXT
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+ void *data
+
+
+ void glGetNamedFramebufferParameterfvAMD
+ GLuint framebuffer
+ GLenum pname
+ GLuint numsamples
+ GLuint pixelindex
+ GLsizei size
+ GLfloat *values
+
+
+ void glGetNamedFramebufferAttachmentParameteriv
+ GLuint framebuffer
+ GLenum attachment
+ GLenum pname
+ GLint *params
+
+
+ void glGetNamedFramebufferAttachmentParameterivEXT
+ GLuint framebuffer
+ GLenum attachment
+ GLenum pname
+ GLint *params
+
+
+ void glGetNamedFramebufferParameteriv
+ GLuint framebuffer
+ GLenum pname
+ GLint *param
+
+
+ void glGetNamedFramebufferParameterivEXT
+ GLuint framebuffer
+ GLenum pname
+ GLint *params
+
+
+ void glGetNamedProgramLocalParameterIivEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLint *params
+
+
+ void glGetNamedProgramLocalParameterIuivEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLuint *params
+
+
+ void glGetNamedProgramLocalParameterdvEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLdouble *params
+
+
+ void glGetNamedProgramLocalParameterfvEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLfloat *params
+
+
+ void glGetNamedProgramStringEXT
+ GLuint program
+ GLenum target
+ GLenum pname
+ void *string
+
+
+ void glGetNamedProgramivEXT
+ GLuint program
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetNamedRenderbufferParameteriv
+ GLuint renderbuffer
+ GLenum pname
+ GLint *params
+
+
+ void glGetNamedRenderbufferParameterivEXT
+ GLuint renderbuffer
+ GLenum pname
+ GLint *params
+
+
+ void glGetNamedStringARB
+ GLint namelen
+ const GLchar *name
+ GLsizei bufSize
+ GLint *stringlen
+ GLchar *string
+
+
+ void glGetNamedStringivARB
+ GLint namelen
+ const GLchar *name
+ GLenum pname
+ GLint *params
+
+
+ void glGetNextPerfQueryIdINTEL
+ GLuint queryId
+ GLuint *nextQueryId
+
+
+ void glGetObjectBufferfvATI
+ GLuint buffer
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetObjectBufferivATI
+ GLuint buffer
+ GLenum pname
+ GLint *params
+
+
+ void glGetObjectLabel
+ GLenum identifier
+ GLuint name
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *label
+
+
+ void glGetObjectLabelEXT
+ GLenum type
+ GLuint object
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *label
+
+
+ void glGetObjectLabelKHR
+ GLenum identifier
+ GLuint name
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *label
+
+
+
+ void glGetObjectParameterfvARB
+ GLhandleARB obj
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetObjectParameterivAPPLE
+ GLenum objectType
+ GLuint name
+ GLenum pname
+ GLint *params
+
+
+ void glGetObjectParameterivARB
+ GLhandleARB obj
+ GLenum pname
+ GLint *params
+
+
+ void glGetObjectPtrLabel
+ const void *ptr
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *label
+
+
+ void glGetObjectPtrLabelKHR
+ const void *ptr
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *label
+
+
+
+ void glGetOcclusionQueryivNV
+ GLuint id
+ GLenum pname
+ GLint *params
+
+
+ void glGetOcclusionQueryuivNV
+ GLuint id
+ GLenum pname
+ GLuint *params
+
+
+ void glGetPathColorGenfvNV
+ GLenum color
+ GLenum pname
+ GLfloat *value
+
+
+ void glGetPathColorGenivNV
+ GLenum color
+ GLenum pname
+ GLint *value
+
+
+ void glGetPathCommandsNV
+ GLuint path
+ GLubyte *commands
+
+
+ void glGetPathCoordsNV
+ GLuint path
+ GLfloat *coords
+
+
+ void glGetPathDashArrayNV
+ GLuint path
+ GLfloat *dashArray
+
+
+ GLfloat glGetPathLengthNV
+ GLuint path
+ GLsizei startSegment
+ GLsizei numSegments
+
+
+ void glGetPathMetricRangeNV
+ GLbitfield metricQueryMask
+ GLuint firstPathName
+ GLsizei numPaths
+ GLsizei stride
+ GLfloat *metrics
+
+
+ void glGetPathMetricsNV
+ GLbitfield metricQueryMask
+ GLsizei numPaths
+ GLenum pathNameType
+ const void *paths
+ GLuint pathBase
+ GLsizei stride
+ GLfloat *metrics
+
+
+ void glGetPathParameterfvNV
+ GLuint path
+ GLenum pname
+ GLfloat *value
+
+
+ void glGetPathParameterivNV
+ GLuint path
+ GLenum pname
+ GLint *value
+
+
+ void glGetPathSpacingNV
+ GLenum pathListMode
+ GLsizei numPaths
+ GLenum pathNameType
+ const void *paths
+ GLuint pathBase
+ GLfloat advanceScale
+ GLfloat kerningScale
+ GLenum transformType
+ GLfloat *returnedSpacing
+
+
+ void glGetPathTexGenfvNV
+ GLenum texCoordSet
+ GLenum pname
+ GLfloat *value
+
+
+ void glGetPathTexGenivNV
+ GLenum texCoordSet
+ GLenum pname
+ GLint *value
+
+
+ void glGetPerfCounterInfoINTEL
+ GLuint queryId
+ GLuint counterId
+ GLuint counterNameLength
+ GLchar *counterName
+ GLuint counterDescLength
+ GLchar *counterDesc
+ GLuint *counterOffset
+ GLuint *counterDataSize
+ GLuint *counterTypeEnum
+ GLuint *counterDataTypeEnum
+ GLuint64 *rawCounterMaxValue
+
+
+ void glGetPerfMonitorCounterDataAMD
+ GLuint monitor
+ GLenum pname
+ GLsizei dataSize
+ GLuint *data
+ GLint *bytesWritten
+
+
+ void glGetPerfMonitorCounterInfoAMD
+ GLuint group
+ GLuint counter
+ GLenum pname
+ void *data
+
+
+ void glGetPerfMonitorCounterStringAMD
+ GLuint group
+ GLuint counter
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *counterString
+
+
+ void glGetPerfMonitorCountersAMD
+ GLuint group
+ GLint *numCounters
+ GLint *maxActiveCounters
+ GLsizei counterSize
+ GLuint *counters
+
+
+ void glGetPerfMonitorGroupStringAMD
+ GLuint group
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *groupString
+
+
+ void glGetPerfMonitorGroupsAMD
+ GLint *numGroups
+ GLsizei groupsSize
+ GLuint *groups
+
+
+ void glGetPerfQueryDataINTEL
+ GLuint queryHandle
+ GLuint flags
+ GLsizei dataSize
+ void *data
+ GLuint *bytesWritten
+
+
+ void glGetPerfQueryIdByNameINTEL
+ GLchar *queryName
+ GLuint *queryId
+
+
+ void glGetPerfQueryInfoINTEL
+ GLuint queryId
+ GLuint queryNameLength
+ GLchar *queryName
+ GLuint *dataSize
+ GLuint *noCounters
+ GLuint *noInstances
+ GLuint *capsMask
+
+
+ void glGetPixelMapfv
+ GLenum map
+ GLfloat *values
+
+
+
+
+ void glGetPixelMapuiv
+ GLenum map
+ GLuint *values
+
+
+
+
+ void glGetPixelMapusv
+ GLenum map
+ GLushort *values
+
+
+
+
+ void glGetPixelMapxv
+ GLenum map
+ GLint size
+ GLfixed *values
+
+
+ void glGetPixelTexGenParameterfvSGIS
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetPixelTexGenParameterivSGIS
+ GLenum pname
+ GLint *params
+
+
+ void glGetPixelTransformParameterfvEXT
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetPixelTransformParameterivEXT
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetPointerIndexedvEXT
+ GLenum target
+ GLuint index
+ void **data
+
+
+ void glGetPointeri_vEXT
+ GLenum pname
+ GLuint index
+ void **params
+
+
+ void glGetPointerv
+ GLenum pname
+ void **params
+
+
+
+ void glGetPointervEXT
+ GLenum pname
+ void **params
+
+
+
+ void glGetPointervKHR
+ GLenum pname
+ void **params
+
+
+
+ void glGetPolygonStipple
+ GLubyte *mask
+
+
+
+
+ void glGetProgramBinary
+ GLuint program
+ GLsizei bufSize
+ GLsizei *length
+ GLenum *binaryFormat
+ void *binary
+
+
+ void glGetProgramBinaryOES
+ GLuint program
+ GLsizei bufSize
+ GLsizei *length
+ GLenum *binaryFormat
+ void *binary
+
+
+
+ void glGetProgramEnvParameterIivNV
+ GLenum target
+ GLuint index
+ GLint *params
+
+
+ void glGetProgramEnvParameterIuivNV
+ GLenum target
+ GLuint index
+ GLuint *params
+
+
+ void glGetProgramEnvParameterdvARB
+ GLenum target
+ GLuint index
+ GLdouble *params
+
+
+ void glGetProgramEnvParameterfvARB
+ GLenum target
+ GLuint index
+ GLfloat *params
+
+
+ void glGetProgramInfoLog
+ GLuint program
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *infoLog
+
+
+
+ void glGetProgramInterfaceiv
+ GLuint program
+ GLenum programInterface
+ GLenum pname
+ GLint *params
+
+
+ void glGetProgramLocalParameterIivNV
+ GLenum target
+ GLuint index
+ GLint *params
+
+
+ void glGetProgramLocalParameterIuivNV
+ GLenum target
+ GLuint index
+ GLuint *params
+
+
+ void glGetProgramLocalParameterdvARB
+ GLenum target
+ GLuint index
+ GLdouble *params
+
+
+ void glGetProgramLocalParameterfvARB
+ GLenum target
+ GLuint index
+ GLfloat *params
+
+
+ void glGetProgramNamedParameterdvNV
+ GLuint id
+ GLsizei len
+ const GLubyte *name
+ GLdouble *params
+
+
+
+ void glGetProgramNamedParameterfvNV
+ GLuint id
+ GLsizei len
+ const GLubyte *name
+ GLfloat *params
+
+
+
+ void glGetProgramParameterdvNV
+ GLenum target
+ GLuint index
+ GLenum pname
+ GLdouble *params
+
+
+
+ void glGetProgramParameterfvNV
+ GLenum target
+ GLuint index
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetProgramPipelineInfoLog
+ GLuint pipeline
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *infoLog
+
+
+ void glGetProgramPipelineInfoLogEXT
+ GLuint pipeline
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *infoLog
+
+
+ void glGetProgramPipelineiv
+ GLuint pipeline
+ GLenum pname
+ GLint *params
+
+
+ void glGetProgramPipelineivEXT
+ GLuint pipeline
+ GLenum pname
+ GLint *params
+
+
+ GLuint glGetProgramResourceIndex
+ GLuint program
+ GLenum programInterface
+ const GLchar *name
+
+
+ GLint glGetProgramResourceLocation
+ GLuint program
+ GLenum programInterface
+ const GLchar *name
+
+
+ GLint glGetProgramResourceLocationIndex
+ GLuint program
+ GLenum programInterface
+ const GLchar *name
+
+
+ GLint glGetProgramResourceLocationIndexEXT
+ GLuint program
+ GLenum programInterface
+ const GLchar *name
+
+
+ void glGetProgramResourceName
+ GLuint program
+ GLenum programInterface
+ GLuint index
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *name
+
+
+ void glGetProgramResourcefvNV
+ GLuint program
+ GLenum programInterface
+ GLuint index
+ GLsizei propCount
+ const GLenum *props
+ GLsizei bufSize
+ GLsizei *length
+ GLfloat *params
+
+
+ void glGetProgramResourceiv
+ GLuint program
+ GLenum programInterface
+ GLuint index
+ GLsizei propCount
+ const GLenum *props
+ GLsizei bufSize
+ GLsizei *length
+ GLint *params
+
+
+ void glGetProgramStageiv
+ GLuint program
+ GLenum shadertype
+ GLenum pname
+ GLint *values
+
+
+ void glGetProgramStringARB
+ GLenum target
+ GLenum pname
+ void *string
+
+
+ void glGetProgramStringNV
+ GLuint id
+ GLenum pname
+ GLubyte *program
+
+
+
+ void glGetProgramSubroutineParameteruivNV
+ GLenum target
+ GLuint index
+ GLuint *param
+
+
+ void glGetProgramiv
+ GLuint program
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetProgramivARB
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetProgramivNV
+ GLuint id
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetQueryBufferObjecti64v
+ GLuint id
+ GLuint buffer
+ GLenum pname
+ GLintptr offset
+
+
+ void glGetQueryBufferObjectiv
+ GLuint id
+ GLuint buffer
+ GLenum pname
+ GLintptr offset
+
+
+ void glGetQueryBufferObjectui64v
+ GLuint id
+ GLuint buffer
+ GLenum pname
+ GLintptr offset
+
+
+ void glGetQueryBufferObjectuiv
+ GLuint id
+ GLuint buffer
+ GLenum pname
+ GLintptr offset
+
+
+ void glGetQueryIndexediv
+ GLenum target
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+ void glGetQueryObjecti64v
+ GLuint id
+ GLenum pname
+ GLint64 *params
+
+
+ void glGetQueryObjecti64vEXT
+ GLuint id
+ GLenum pname
+ GLint64 *params
+
+
+
+
+ void glGetQueryObjectiv
+ GLuint id
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetQueryObjectivARB
+ GLuint id
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetQueryObjectivEXT
+ GLuint id
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetQueryObjectui64v
+ GLuint id
+ GLenum pname
+ GLuint64 *params
+
+
+ void glGetQueryObjectui64vEXT
+ GLuint id
+ GLenum pname
+ GLuint64 *params
+
+
+
+
+ void glGetQueryObjectuiv
+ GLuint id
+ GLenum pname
+ GLuint *params
+
+
+
+ void glGetQueryObjectuivARB
+ GLuint id
+ GLenum pname
+ GLuint *params
+
+
+
+ void glGetQueryObjectuivEXT
+ GLuint id
+ GLenum pname
+ GLuint *params
+
+
+ void glGetQueryiv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetQueryivARB
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetQueryivEXT
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetRenderbufferParameteriv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetRenderbufferParameterivEXT
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+
+ void glGetRenderbufferParameterivOES
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetSamplerParameterIiv
+ GLuint sampler
+ GLenum pname
+ GLint *params
+
+
+ void glGetSamplerParameterIivEXT
+ GLuint sampler
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetSamplerParameterIivOES
+ GLuint sampler
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetSamplerParameterIuiv
+ GLuint sampler
+ GLenum pname
+ GLuint *params
+
+
+ void glGetSamplerParameterIuivEXT
+ GLuint sampler
+ GLenum pname
+ GLuint *params
+
+
+
+ void glGetSamplerParameterIuivOES
+ GLuint sampler
+ GLenum pname
+ GLuint *params
+
+
+
+ void glGetSamplerParameterfv
+ GLuint sampler
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetSamplerParameteriv
+ GLuint sampler
+ GLenum pname
+ GLint *params
+
+
+ void glGetSemaphoreParameterui64vEXT
+ GLuint semaphore
+ GLenum pname
+ GLuint64 *params
+
+
+ void glGetSeparableFilter
+ GLenum target
+ GLenum format
+ GLenum type
+ void *row
+ void *column
+ void *span
+
+
+
+
+ void glGetSeparableFilterEXT
+ GLenum target
+ GLenum format
+ GLenum type
+ void *row
+ void *column
+ void *span
+
+
+
+ void glGetShaderInfoLog
+ GLuint shader
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *infoLog
+
+
+
+ void glGetShaderPrecisionFormat
+ GLenum shadertype
+ GLenum precisiontype
+ GLint *range
+ GLint *precision
+
+
+ void glGetShaderSource
+ GLuint shader
+ GLsizei bufSize
+ GLsizei *length
+ GLchar *source
+
+
+ void glGetShaderSourceARB
+ GLhandleARB obj
+ GLsizei maxLength
+ GLsizei *length
+ GLcharARB *source
+
+
+
+ void glGetShaderiv
+ GLuint shader
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetSharpenTexFuncSGIS
+ GLenum target
+ GLfloat *points
+
+
+
+ GLushort glGetStageIndexNV
+ GLenum shadertype
+
+
+ const GLubyte *glGetString
+ GLenum name
+
+
+
+ const GLubyte *glGetStringi
+ GLenum name
+ GLuint index
+
+
+
+ GLuint glGetSubroutineIndex
+ GLuint program
+ GLenum shadertype
+ const GLchar *name
+
+
+ GLint glGetSubroutineUniformLocation
+ GLuint program
+ GLenum shadertype
+ const GLchar *name
+
+
+ void glGetSynciv
+ GLsync sync
+ GLenum pname
+ GLsizei bufSize
+ GLsizei *length
+ GLint *values
+
+
+ void glGetSyncivAPPLE
+ GLsync sync
+ GLenum pname
+ GLsizei bufSize
+ GLsizei *length
+ GLint *values
+
+
+
+ void glGetTexBumpParameterfvATI
+ GLenum pname
+ GLfloat *param
+
+
+ void glGetTexBumpParameterivATI
+ GLenum pname
+ GLint *param
+
+
+ void glGetTexEnvfv
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetTexEnviv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetTexEnvxv
+ GLenum target
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetTexEnvxvOES
+ GLenum target
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetTexFilterFuncSGIS
+ GLenum target
+ GLenum filter
+ GLfloat *weights
+
+
+
+ void glGetTexGendv
+ GLenum coord
+ GLenum pname
+ GLdouble *params
+
+
+
+ void glGetTexGenfv
+ GLenum coord
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetTexGenfvOES
+ GLenum coord
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetTexGeniv
+ GLenum coord
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetTexGenivOES
+ GLenum coord
+ GLenum pname
+ GLint *params
+
+
+ void glGetTexGenxvOES
+ GLenum coord
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetTexImage
+ GLenum target
+ GLint level
+ GLenum format
+ GLenum type
+ void *pixels
+
+
+
+
+ void glGetTexLevelParameterfv
+ GLenum target
+ GLint level
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetTexLevelParameteriv
+ GLenum target
+ GLint level
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetTexLevelParameterxvOES
+ GLenum target
+ GLint level
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetTexParameterIiv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetTexParameterIivEXT
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetTexParameterIivOES
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetTexParameterIuiv
+ GLenum target
+ GLenum pname
+ GLuint *params
+
+
+
+ void glGetTexParameterIuivEXT
+ GLenum target
+ GLenum pname
+ GLuint *params
+
+
+
+ void glGetTexParameterIuivOES
+ GLenum target
+ GLenum pname
+ GLuint *params
+
+
+
+ void glGetTexParameterPointervAPPLE
+ GLenum target
+ GLenum pname
+ void **params
+
+
+ void glGetTexParameterfv
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetTexParameteriv
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetTexParameterxv
+ GLenum target
+ GLenum pname
+ GLfixed *params
+
+
+ void glGetTexParameterxvOES
+ GLenum target
+ GLenum pname
+ GLfixed *params
+
+
+ GLuint64 glGetTextureHandleARB
+ GLuint texture
+
+
+ GLuint64 glGetTextureHandleIMG
+ GLuint texture
+
+
+
+ GLuint64 glGetTextureHandleNV
+ GLuint texture
+
+
+ void glGetTextureImage
+ GLuint texture
+ GLint level
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *pixels
+
+
+ void glGetTextureImageEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLenum format
+ GLenum type
+ void *pixels
+
+
+ void glGetTextureLevelParameterfv
+ GLuint texture
+ GLint level
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetTextureLevelParameterfvEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetTextureLevelParameteriv
+ GLuint texture
+ GLint level
+ GLenum pname
+ GLint *params
+
+
+ void glGetTextureLevelParameterivEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLenum pname
+ GLint *params
+
+
+ void glGetTextureParameterIiv
+ GLuint texture
+ GLenum pname
+ GLint *params
+
+
+ void glGetTextureParameterIivEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ void glGetTextureParameterIuiv
+ GLuint texture
+ GLenum pname
+ GLuint *params
+
+
+ void glGetTextureParameterIuivEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ GLuint *params
+
+
+ void glGetTextureParameterfv
+ GLuint texture
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetTextureParameterfvEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetTextureParameteriv
+ GLuint texture
+ GLenum pname
+ GLint *params
+
+
+ void glGetTextureParameterivEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ GLint *params
+
+
+ GLuint64 glGetTextureSamplerHandleARB
+ GLuint texture
+ GLuint sampler
+
+
+ GLuint64 glGetTextureSamplerHandleIMG
+ GLuint texture
+ GLuint sampler
+
+
+
+ GLuint64 glGetTextureSamplerHandleNV
+ GLuint texture
+ GLuint sampler
+
+
+ void glGetTextureSubImage
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *pixels
+
+
+ void glGetTrackMatrixivNV
+ GLenum target
+ GLuint address
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetTransformFeedbackVarying
+ GLuint program
+ GLuint index
+ GLsizei bufSize
+ GLsizei *length
+ GLsizei *size
+ GLenum *type
+ GLchar *name
+
+
+
+ void glGetTransformFeedbackVaryingEXT
+ GLuint program
+ GLuint index
+ GLsizei bufSize
+ GLsizei *length
+ GLsizei *size
+ GLenum *type
+ GLchar *name
+
+
+
+ void glGetTransformFeedbackVaryingNV
+ GLuint program
+ GLuint index
+ GLint *location
+
+
+ void glGetTransformFeedbacki64_v
+ GLuint xfb
+ GLenum pname
+ GLuint index
+ GLint64 *param
+
+
+ void glGetTransformFeedbacki_v
+ GLuint xfb
+ GLenum pname
+ GLuint index
+ GLint *param
+
+
+ void glGetTransformFeedbackiv
+ GLuint xfb
+ GLenum pname
+ GLint *param
+
+
+ void glGetTranslatedShaderSourceANGLE
+ GLuint shader
+ GLsizei bufsize
+ GLsizei *length
+ GLchar *source
+
+
+ GLuint glGetUniformBlockIndex
+ GLuint program
+ const GLchar *uniformBlockName
+
+
+
+ GLint glGetUniformBufferSizeEXT
+ GLuint program
+ GLint location
+
+
+ void glGetUniformIndices
+ GLuint program
+ GLsizei uniformCount
+ const GLchar *const*uniformNames
+ GLuint *uniformIndices
+
+
+
+ GLint glGetUniformLocation
+ GLuint program
+ const GLchar *name
+
+
+ GLint glGetUniformLocationARB
+ GLhandleARB programObj
+ const GLcharARB *name
+
+
+
+ GLintptr glGetUniformOffsetEXT
+ GLuint program
+ GLint location
+
+
+ void glGetUniformSubroutineuiv
+ GLenum shadertype
+ GLint location
+ GLuint *params
+
+
+ void glGetUniformdv
+ GLuint program
+ GLint location
+ GLdouble *params
+
+
+ void glGetUniformfv
+ GLuint program
+ GLint location
+ GLfloat *params
+
+
+ void glGetUniformfvARB
+ GLhandleARB programObj
+ GLint location
+ GLfloat *params
+
+
+
+ void glGetUniformi64vARB
+ GLuint program
+ GLint location
+ GLint64 *params
+
+
+ void glGetUniformi64vNV
+ GLuint program
+ GLint location
+ GLint64EXT *params
+
+
+ void glGetUniformiv
+ GLuint program
+ GLint location
+ GLint *params
+
+
+ void glGetUniformivARB
+ GLhandleARB programObj
+ GLint location
+ GLint *params
+
+
+
+ void glGetUniformui64vARB
+ GLuint program
+ GLint location
+ GLuint64 *params
+
+
+ void glGetUniformui64vNV
+ GLuint program
+ GLint location
+ GLuint64EXT *params
+
+
+ void glGetUniformuiv
+ GLuint program
+ GLint location
+ GLuint *params
+
+
+ void glGetUniformuivEXT
+ GLuint program
+ GLint location
+ GLuint *params
+
+
+
+ void glGetUnsignedBytevEXT
+ GLenum pname
+ GLubyte *data
+
+
+ void glGetUnsignedBytei_vEXT
+ GLenum target
+ GLuint index
+ GLubyte *data
+
+
+ void glGetVariantArrayObjectfvATI
+ GLuint id
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetVariantArrayObjectivATI
+ GLuint id
+ GLenum pname
+ GLint *params
+
+
+ void glGetVariantBooleanvEXT
+ GLuint id
+ GLenum value
+ GLboolean *data
+
+
+ void glGetVariantFloatvEXT
+ GLuint id
+ GLenum value
+ GLfloat *data
+
+
+ void glGetVariantIntegervEXT
+ GLuint id
+ GLenum value
+ GLint *data
+
+
+ void glGetVariantPointervEXT
+ GLuint id
+ GLenum value
+ void **data
+
+
+ GLint glGetVaryingLocationNV
+ GLuint program
+ const GLchar *name
+
+
+ void glGetVertexArrayIndexed64iv
+ GLuint vaobj
+ GLuint index
+ GLenum pname
+ GLint64 *param
+
+
+ void glGetVertexArrayIndexediv
+ GLuint vaobj
+ GLuint index
+ GLenum pname
+ GLint *param
+
+
+ void glGetVertexArrayIntegeri_vEXT
+ GLuint vaobj
+ GLuint index
+ GLenum pname
+ GLint *param
+
+
+ void glGetVertexArrayIntegervEXT
+ GLuint vaobj
+ GLenum pname
+ GLint *param
+
+
+ void glGetVertexArrayPointeri_vEXT
+ GLuint vaobj
+ GLuint index
+ GLenum pname
+ void **param
+
+
+ void glGetVertexArrayPointervEXT
+ GLuint vaobj
+ GLenum pname
+ void **param
+
+
+ void glGetVertexArrayiv
+ GLuint vaobj
+ GLenum pname
+ GLint *param
+
+
+ void glGetVertexAttribArrayObjectfvATI
+ GLuint index
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetVertexAttribArrayObjectivATI
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+ void glGetVertexAttribIiv
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+ void glGetVertexAttribIivEXT
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetVertexAttribIuiv
+ GLuint index
+ GLenum pname
+ GLuint *params
+
+
+ void glGetVertexAttribIuivEXT
+ GLuint index
+ GLenum pname
+ GLuint *params
+
+
+
+ void glGetVertexAttribLdv
+ GLuint index
+ GLenum pname
+ GLdouble *params
+
+
+ void glGetVertexAttribLdvEXT
+ GLuint index
+ GLenum pname
+ GLdouble *params
+
+
+
+ void glGetVertexAttribLi64vNV
+ GLuint index
+ GLenum pname
+ GLint64EXT *params
+
+
+ void glGetVertexAttribLui64vARB
+ GLuint index
+ GLenum pname
+ GLuint64EXT *params
+
+
+ void glGetVertexAttribLui64vNV
+ GLuint index
+ GLenum pname
+ GLuint64EXT *params
+
+
+ void glGetVertexAttribPointerv
+ GLuint index
+ GLenum pname
+ void **pointer
+
+
+
+ void glGetVertexAttribPointervARB
+ GLuint index
+ GLenum pname
+ void **pointer
+
+
+
+ void glGetVertexAttribPointervNV
+ GLuint index
+ GLenum pname
+ void **pointer
+
+
+
+ void glGetVertexAttribdv
+ GLuint index
+ GLenum pname
+ GLdouble *params
+
+
+
+ void glGetVertexAttribdvARB
+ GLuint index
+ GLenum pname
+ GLdouble *params
+
+
+
+
+ void glGetVertexAttribdvNV
+ GLuint index
+ GLenum pname
+ GLdouble *params
+
+
+
+
+ void glGetVertexAttribfv
+ GLuint index
+ GLenum pname
+ GLfloat *params
+
+
+
+ void glGetVertexAttribfvARB
+ GLuint index
+ GLenum pname
+ GLfloat *params
+
+
+
+
+ void glGetVertexAttribfvNV
+ GLuint index
+ GLenum pname
+ GLfloat *params
+
+
+
+
+ void glGetVertexAttribiv
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+
+ void glGetVertexAttribivARB
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+
+
+ void glGetVertexAttribivNV
+ GLuint index
+ GLenum pname
+ GLint *params
+
+
+
+
+ void glGetVideoCaptureStreamdvNV
+ GLuint video_capture_slot
+ GLuint stream
+ GLenum pname
+ GLdouble *params
+
+
+ void glGetVideoCaptureStreamfvNV
+ GLuint video_capture_slot
+ GLuint stream
+ GLenum pname
+ GLfloat *params
+
+
+ void glGetVideoCaptureStreamivNV
+ GLuint video_capture_slot
+ GLuint stream
+ GLenum pname
+ GLint *params
+
+
+ void glGetVideoCaptureivNV
+ GLuint video_capture_slot
+ GLenum pname
+ GLint *params
+
+
+ void glGetVideoi64vNV
+ GLuint video_slot
+ GLenum pname
+ GLint64EXT *params
+
+
+ void glGetVideoivNV
+ GLuint video_slot
+ GLenum pname
+ GLint *params
+
+
+ void glGetVideoui64vNV
+ GLuint video_slot
+ GLenum pname
+ GLuint64EXT *params
+
+
+ void glGetVideouivNV
+ GLuint video_slot
+ GLenum pname
+ GLuint *params
+
+
+ void glGetnColorTable
+ GLenum target
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *table
+
+
+ void glGetnColorTableARB
+ GLenum target
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *table
+
+
+ void glGetnCompressedTexImage
+ GLenum target
+ GLint lod
+ GLsizei bufSize
+ void *pixels
+
+
+ void glGetnCompressedTexImageARB
+ GLenum target
+ GLint lod
+ GLsizei bufSize
+ void *img
+
+
+ void glGetnConvolutionFilter
+ GLenum target
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *image
+
+
+ void glGetnConvolutionFilterARB
+ GLenum target
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *image
+
+
+ void glGetnHistogram
+ GLenum target
+ GLboolean reset
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *values
+
+
+ void glGetnHistogramARB
+ GLenum target
+ GLboolean reset
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *values
+
+
+ void glGetnMapdv
+ GLenum target
+ GLenum query
+ GLsizei bufSize
+ GLdouble *v
+
+
+ void glGetnMapdvARB
+ GLenum target
+ GLenum query
+ GLsizei bufSize
+ GLdouble *v
+
+
+ void glGetnMapfv
+ GLenum target
+ GLenum query
+ GLsizei bufSize
+ GLfloat *v
+
+
+ void glGetnMapfvARB
+ GLenum target
+ GLenum query
+ GLsizei bufSize
+ GLfloat *v
+
+
+ void glGetnMapiv
+ GLenum target
+ GLenum query
+ GLsizei bufSize
+ GLint *v
+
+
+ void glGetnMapivARB
+ GLenum target
+ GLenum query
+ GLsizei bufSize
+ GLint *v
+
+
+ void glGetnMinmax
+ GLenum target
+ GLboolean reset
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *values
+
+
+ void glGetnMinmaxARB
+ GLenum target
+ GLboolean reset
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *values
+
+
+ void glGetnPixelMapfv
+ GLenum map
+ GLsizei bufSize
+ GLfloat *values
+
+
+ void glGetnPixelMapfvARB
+ GLenum map
+ GLsizei bufSize
+ GLfloat *values
+
+
+ void glGetnPixelMapuiv
+ GLenum map
+ GLsizei bufSize
+ GLuint *values
+
+
+ void glGetnPixelMapuivARB
+ GLenum map
+ GLsizei bufSize
+ GLuint *values
+
+
+ void glGetnPixelMapusv
+ GLenum map
+ GLsizei bufSize
+ GLushort *values
+
+
+ void glGetnPixelMapusvARB
+ GLenum map
+ GLsizei bufSize
+ GLushort *values
+
+
+ void glGetnPolygonStipple
+ GLsizei bufSize
+ GLubyte *pattern
+
+
+ void glGetnPolygonStippleARB
+ GLsizei bufSize
+ GLubyte *pattern
+
+
+ void glGetnSeparableFilter
+ GLenum target
+ GLenum format
+ GLenum type
+ GLsizei rowBufSize
+ void *row
+ GLsizei columnBufSize
+ void *column
+ void *span
+
+
+ void glGetnSeparableFilterARB
+ GLenum target
+ GLenum format
+ GLenum type
+ GLsizei rowBufSize
+ void *row
+ GLsizei columnBufSize
+ void *column
+ void *span
+
+
+ void glGetnTexImage
+ GLenum target
+ GLint level
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *pixels
+
+
+ void glGetnTexImageARB
+ GLenum target
+ GLint level
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *img
+
+
+ void glGetnUniformdv
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLdouble *params
+
+
+ void glGetnUniformdvARB
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLdouble *params
+
+
+ void glGetnUniformfv
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLfloat *params
+
+
+ void glGetnUniformfvARB
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLfloat *params
+
+
+ void glGetnUniformfvEXT
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLfloat *params
+
+
+
+ void glGetnUniformfvKHR
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLfloat *params
+
+
+
+ void glGetnUniformi64vARB
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLint64 *params
+
+
+ void glGetnUniformiv
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLint *params
+
+
+ void glGetnUniformivARB
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLint *params
+
+
+ void glGetnUniformivEXT
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLint *params
+
+
+
+ void glGetnUniformivKHR
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLint *params
+
+
+
+ void glGetnUniformui64vARB
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLuint64 *params
+
+
+ void glGetnUniformuiv
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLuint *params
+
+
+ void glGetnUniformuivARB
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLuint *params
+
+
+ void glGetnUniformuivKHR
+ GLuint program
+ GLint location
+ GLsizei bufSize
+ GLuint *params
+
+
+
+ void glGlobalAlphaFactorbSUN
+ GLbyte factor
+
+
+ void glGlobalAlphaFactordSUN
+ GLdouble factor
+
+
+ void glGlobalAlphaFactorfSUN
+ GLfloat factor
+
+
+ void glGlobalAlphaFactoriSUN
+ GLint factor
+
+
+ void glGlobalAlphaFactorsSUN
+ GLshort factor
+
+
+ void glGlobalAlphaFactorubSUN
+ GLubyte factor
+
+
+ void glGlobalAlphaFactoruiSUN
+ GLuint factor
+
+
+ void glGlobalAlphaFactorusSUN
+ GLushort factor
+
+
+ void glHint
+ GLenum target
+ GLenum mode
+
+
+
+ void glHintPGI
+ GLenum target
+ GLint mode
+
+
+ void glHistogram
+ GLenum target
+ GLsizei width
+ GLenum internalformat
+ GLboolean sink
+
+
+
+ void glHistogramEXT
+ GLenum target
+ GLsizei width
+ GLenum internalformat
+ GLboolean sink
+
+
+
+
+ void glIglooInterfaceSGIX
+ GLenum pname
+ const void *params
+
+
+
+ void glImageTransformParameterfHP
+ GLenum target
+ GLenum pname
+ GLfloat param
+
+
+ void glImageTransformParameterfvHP
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+ void glImageTransformParameteriHP
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+ void glImageTransformParameterivHP
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+ void glImportMemoryFdEXT
+ GLuint memory
+ GLuint64 size
+ GLenum handleType
+ GLint fd
+
+
+ void glImportMemoryWin32HandleEXT
+ GLuint memory
+ GLuint64 size
+ GLenum handleType
+ void *handle
+
+
+ void glImportMemoryWin32NameEXT
+ GLuint memory
+ GLuint64 size
+ GLenum handleType
+ const void *name
+
+
+ void glImportSemaphoreFdEXT
+ GLuint semaphore
+ GLenum handleType
+ GLint fd
+
+
+ void glImportSemaphoreWin32HandleEXT
+ GLuint semaphore
+ GLenum handleType
+ void *handle
+
+
+ void glImportSemaphoreWin32NameEXT
+ GLuint semaphore
+ GLenum handleType
+ const void *name
+
+
+ GLsync glImportSyncEXT
+ GLenum external_sync_type
+ GLintptr external_sync
+ GLbitfield flags
+
+
+ void glIndexFormatNV
+ GLenum type
+ GLsizei stride
+
+
+ void glIndexFuncEXT
+ GLenum func
+ GLclampf ref
+
+
+ void glIndexMask
+ GLuint mask
+
+
+
+ void glIndexMaterialEXT
+ GLenum face
+ GLenum mode
+
+
+ void glIndexPointer
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glIndexPointerEXT
+ GLenum type
+ GLsizei stride
+ GLsizei count
+ const void *pointer
+
+
+ void glIndexPointerListIBM
+ GLenum type
+ GLint stride
+ const void **pointer
+ GLint ptrstride
+
+
+ void glIndexd
+ GLdouble c
+
+
+
+ void glIndexdv
+ const GLdouble *c
+
+
+
+ void glIndexf
+ GLfloat c
+
+
+
+ void glIndexfv
+ const GLfloat *c
+
+
+
+ void glIndexi
+ GLint c
+
+
+
+ void glIndexiv
+ const GLint *c
+
+
+
+ void glIndexs
+ GLshort c
+
+
+
+ void glIndexsv
+ const GLshort *c
+
+
+
+ void glIndexub
+ GLubyte c
+
+
+
+ void glIndexubv
+ const GLubyte *c
+
+
+
+ void glIndexxOES
+ GLfixed component
+
+
+ void glIndexxvOES
+ const GLfixed *component
+
+
+ void glInitNames
+
+
+
+ void glInsertComponentEXT
+ GLuint res
+ GLuint src
+ GLuint num
+
+
+ void glInsertEventMarkerEXT
+ GLsizei length
+ const GLchar *marker
+
+
+ void glInstrumentsBufferSGIX
+ GLsizei size
+ GLint *buffer
+
+
+
+ void glInterleavedArrays
+ GLenum format
+ GLsizei stride
+ const void *pointer
+
+
+ void glInterpolatePathsNV
+ GLuint resultPath
+ GLuint pathA
+ GLuint pathB
+ GLfloat weight
+
+
+ void glInvalidateBufferData
+ GLuint buffer
+
+
+ void glInvalidateBufferSubData
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr length
+
+
+ void glInvalidateFramebuffer
+ GLenum target
+ GLsizei numAttachments
+ const GLenum *attachments
+
+
+ void glInvalidateNamedFramebufferData
+ GLuint framebuffer
+ GLsizei numAttachments
+ const GLenum *attachments
+
+
+ void glInvalidateNamedFramebufferSubData
+ GLuint framebuffer
+ GLsizei numAttachments
+ const GLenum *attachments
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+ void glInvalidateSubFramebuffer
+ GLenum target
+ GLsizei numAttachments
+ const GLenum *attachments
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+ void glInvalidateTexImage
+ GLuint texture
+ GLint level
+
+
+ void glInvalidateTexSubImage
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+
+
+ GLboolean glIsAsyncMarkerSGIX
+ GLuint marker
+
+
+ GLboolean glIsBuffer
+ GLuint buffer
+
+
+ GLboolean glIsBufferARB
+ GLuint buffer
+
+
+
+ GLboolean glIsBufferResidentNV
+ GLenum target
+
+
+ GLboolean glIsCommandListNV
+ GLuint list
+
+
+ GLboolean glIsEnabled
+ GLenum cap
+
+
+
+ GLboolean glIsEnabledIndexedEXT
+ GLenum target
+ GLuint index
+
+
+
+
+ GLboolean glIsEnabledi
+ GLenum target
+ GLuint index
+
+
+ GLboolean glIsEnablediEXT
+ GLenum target
+ GLuint index
+
+
+
+ GLboolean glIsEnablediNV
+ GLenum target
+ GLuint index
+
+
+
+ GLboolean glIsEnablediOES
+ GLenum target
+ GLuint index
+
+
+
+ GLboolean glIsFenceAPPLE
+ GLuint fence
+
+
+ GLboolean glIsFenceNV
+ GLuint fence
+
+
+
+ GLboolean glIsFramebuffer
+ GLuint framebuffer
+
+
+
+ GLboolean glIsFramebufferEXT
+ GLuint framebuffer
+
+
+
+
+ GLboolean glIsFramebufferOES
+ GLuint framebuffer
+
+
+ GLboolean glIsImageHandleResidentARB
+ GLuint64 handle
+
+
+ GLboolean glIsImageHandleResidentNV
+ GLuint64 handle
+
+
+ GLboolean glIsList
+ GLuint list
+
+
+
+ GLboolean glIsMemoryObjectEXT
+ GLuint memoryObject
+
+
+ GLboolean glIsNameAMD
+ GLenum identifier
+ GLuint name
+
+
+ GLboolean glIsNamedBufferResidentNV
+ GLuint buffer
+
+
+ GLboolean glIsNamedStringARB
+ GLint namelen
+ const GLchar *name
+
+
+ GLboolean glIsObjectBufferATI
+ GLuint buffer
+
+
+ GLboolean glIsOcclusionQueryNV
+ GLuint id
+
+
+ GLboolean glIsPathNV
+ GLuint path
+
+
+ GLboolean glIsPointInFillPathNV
+ GLuint path
+ GLuint mask
+ GLfloat x
+ GLfloat y
+
+
+ GLboolean glIsPointInStrokePathNV
+ GLuint path
+ GLfloat x
+ GLfloat y
+
+
+ GLboolean glIsProgram
+ GLuint program
+
+
+
+ GLboolean glIsProgramARB
+ GLuint program
+
+
+
+ GLboolean glIsProgramNV
+ GLuint id
+
+
+
+
+ GLboolean glIsProgramPipeline
+ GLuint pipeline
+
+
+ GLboolean glIsProgramPipelineEXT
+ GLuint pipeline
+
+
+ GLboolean glIsQuery
+ GLuint id
+
+
+
+ GLboolean glIsQueryARB
+ GLuint id
+
+
+
+ GLboolean glIsQueryEXT
+ GLuint id
+
+
+ GLboolean glIsRenderbuffer
+ GLuint renderbuffer
+
+
+
+ GLboolean glIsRenderbufferEXT
+ GLuint renderbuffer
+
+
+
+
+ GLboolean glIsRenderbufferOES
+ GLuint renderbuffer
+
+
+ GLboolean glIsSemaphoreEXT
+ GLuint semaphore
+
+
+ GLboolean glIsSampler
+ GLuint sampler
+
+
+ GLboolean glIsShader
+ GLuint shader
+
+
+
+ GLboolean glIsStateNV
+ GLuint state
+
+
+ GLboolean glIsSync
+ GLsync sync
+
+
+ GLboolean glIsSyncAPPLE
+ GLsync sync
+
+
+
+ GLboolean glIsTexture
+ GLuint texture
+
+
+
+ GLboolean glIsTextureEXT
+ GLuint texture
+
+
+
+ GLboolean glIsTextureHandleResidentARB
+ GLuint64 handle
+
+
+ GLboolean glIsTextureHandleResidentNV
+ GLuint64 handle
+
+
+ GLboolean glIsTransformFeedback
+ GLuint id
+
+
+ GLboolean glIsTransformFeedbackNV
+ GLuint id
+
+
+
+ GLboolean glIsVariantEnabledEXT
+ GLuint id
+ GLenum cap
+
+
+ GLboolean glIsVertexArray
+ GLuint array
+
+
+
+ GLboolean glIsVertexArrayAPPLE
+ GLuint array
+
+
+
+ GLboolean glIsVertexArrayOES
+ GLuint array
+
+
+
+ GLboolean glIsVertexAttribEnabledAPPLE
+ GLuint index
+ GLenum pname
+
+
+ void glLGPUCopyImageSubDataNVX
+ GLuint sourceGpu
+ GLbitfield destinationGpuMask
+ GLuint srcName
+ GLenum srcTarget
+ GLint srcLevel
+ GLint srcX
+ GLint srxY
+ GLint srcZ
+ GLuint dstName
+ GLenum dstTarget
+ GLint dstLevel
+ GLint dstX
+ GLint dstY
+ GLint dstZ
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+
+
+ void glLGPUInterlockNVX
+
+
+ void glLGPUNamedBufferSubDataNVX
+ GLbitfield gpuMask
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+ const void *data
+
+
+ void glLabelObjectEXT
+ GLenum type
+ GLuint object
+ GLsizei length
+ const GLchar *label
+
+
+ void glLightEnviSGIX
+ GLenum pname
+ GLint param
+
+
+ void glLightModelf
+ GLenum pname
+ GLfloat param
+
+
+
+ void glLightModelfv
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glLightModeli
+ GLenum pname
+ GLint param
+
+
+
+ void glLightModeliv
+ GLenum pname
+ const GLint *params
+
+
+
+ void glLightModelx
+ GLenum pname
+ GLfixed param
+
+
+ void glLightModelxOES
+ GLenum pname
+ GLfixed param
+
+
+ void glLightModelxv
+ GLenum pname
+ const GLfixed *param
+
+
+ void glLightModelxvOES
+ GLenum pname
+ const GLfixed *param
+
+
+ void glLightf
+ GLenum light
+ GLenum pname
+ GLfloat param
+
+
+
+ void glLightfv
+ GLenum light
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glLighti
+ GLenum light
+ GLenum pname
+ GLint param
+
+
+
+ void glLightiv
+ GLenum light
+ GLenum pname
+ const GLint *params
+
+
+
+ void glLightx
+ GLenum light
+ GLenum pname
+ GLfixed param
+
+
+ void glLightxOES
+ GLenum light
+ GLenum pname
+ GLfixed param
+
+
+ void glLightxv
+ GLenum light
+ GLenum pname
+ const GLfixed *params
+
+
+ void glLightxvOES
+ GLenum light
+ GLenum pname
+ const GLfixed *params
+
+
+ void glLineStipple
+ GLint factor
+ GLushort pattern
+
+
+
+ void glLineWidth
+ GLfloat width
+
+
+
+ void glLineWidthx
+ GLfixed width
+
+
+ void glLineWidthxOES
+ GLfixed width
+
+
+ void glLinkProgram
+ GLuint program
+
+
+ void glLinkProgramARB
+ GLhandleARB programObj
+
+
+
+ void glListBase
+ GLuint base
+
+
+
+ void glListDrawCommandsStatesClientNV
+ GLuint list
+ GLuint segment
+ const void **indirects
+ const GLsizei *sizes
+ const GLuint *states
+ const GLuint *fbos
+ GLuint count
+
+
+ void glListParameterfSGIX
+ GLuint list
+ GLenum pname
+ GLfloat param
+
+
+
+ void glListParameterfvSGIX
+ GLuint list
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glListParameteriSGIX
+ GLuint list
+ GLenum pname
+ GLint param
+
+
+
+ void glListParameterivSGIX
+ GLuint list
+ GLenum pname
+ const GLint *params
+
+
+
+ void glLoadIdentity
+
+
+
+ void glLoadIdentityDeformationMapSGIX
+ GLbitfield mask
+
+
+
+ void glLoadMatrixd
+ const GLdouble *m
+
+
+
+ void glLoadMatrixf
+ const GLfloat *m
+
+
+
+ void glLoadMatrixx
+ const GLfixed *m
+
+
+ void glLoadMatrixxOES
+ const GLfixed *m
+
+
+ void glLoadName
+ GLuint name
+
+
+
+ void glLoadPaletteFromModelViewMatrixOES
+
+
+ void glLoadProgramNV
+ GLenum target
+ GLuint id
+ GLsizei len
+ const GLubyte *program
+
+
+
+ void glLoadTransposeMatrixd
+ const GLdouble *m
+
+
+ void glLoadTransposeMatrixdARB
+ const GLdouble *m
+
+
+
+ void glLoadTransposeMatrixf
+ const GLfloat *m
+
+
+ void glLoadTransposeMatrixfARB
+ const GLfloat *m
+
+
+
+ void glLoadTransposeMatrixxOES
+ const GLfixed *m
+
+
+ void glLockArraysEXT
+ GLint first
+ GLsizei count
+
+
+ void glLogicOp
+ GLenum opcode
+
+
+
+ void glMakeBufferNonResidentNV
+ GLenum target
+
+
+ void glMakeBufferResidentNV
+ GLenum target
+ GLenum access
+
+
+ void glMakeImageHandleNonResidentARB
+ GLuint64 handle
+
+
+ void glMakeImageHandleNonResidentNV
+ GLuint64 handle
+
+
+ void glMakeImageHandleResidentARB
+ GLuint64 handle
+ GLenum access
+
+
+ void glMakeImageHandleResidentNV
+ GLuint64 handle
+ GLenum access
+
+
+ void glMakeNamedBufferNonResidentNV
+ GLuint buffer
+
+
+ void glMakeNamedBufferResidentNV
+ GLuint buffer
+ GLenum access
+
+
+ void glMakeTextureHandleNonResidentARB
+ GLuint64 handle
+
+
+ void glMakeTextureHandleNonResidentNV
+ GLuint64 handle
+
+
+ void glMakeTextureHandleResidentARB
+ GLuint64 handle
+
+
+ void glMakeTextureHandleResidentNV
+ GLuint64 handle
+
+
+ void glMap1d
+ GLenum target
+ GLdouble u1
+ GLdouble u2
+ GLint stride
+ GLint order
+ const GLdouble *points
+
+
+
+ void glMap1f
+ GLenum target
+ GLfloat u1
+ GLfloat u2
+ GLint stride
+ GLint order
+ const GLfloat *points
+
+
+
+ void glMap1xOES
+ GLenum target
+ GLfixed u1
+ GLfixed u2
+ GLint stride
+ GLint order
+ GLfixed points
+
+
+ void glMap2d
+ GLenum target
+ GLdouble u1
+ GLdouble u2
+ GLint ustride
+ GLint uorder
+ GLdouble v1
+ GLdouble v2
+ GLint vstride
+ GLint vorder
+ const GLdouble *points
+
+
+
+ void glMap2f
+ GLenum target
+ GLfloat u1
+ GLfloat u2
+ GLint ustride
+ GLint uorder
+ GLfloat v1
+ GLfloat v2
+ GLint vstride
+ GLint vorder
+ const GLfloat *points
+
+
+
+ void glMap2xOES
+ GLenum target
+ GLfixed u1
+ GLfixed u2
+ GLint ustride
+ GLint uorder
+ GLfixed v1
+ GLfixed v2
+ GLint vstride
+ GLint vorder
+ GLfixed points
+
+
+ void *glMapBuffer
+ GLenum target
+ GLenum access
+
+
+ void *glMapBufferARB
+ GLenum target
+ GLenum access
+
+
+
+ void *glMapBufferOES
+ GLenum target
+ GLenum access
+
+
+
+ void *glMapBufferRange
+ GLenum target
+ GLintptr offset
+ GLsizeiptr length
+ GLbitfield access
+
+
+
+ void *glMapBufferRangeEXT
+ GLenum target
+ GLintptr offset
+ GLsizeiptr length
+ GLbitfield access
+
+
+
+ void glMapControlPointsNV
+ GLenum target
+ GLuint index
+ GLenum type
+ GLsizei ustride
+ GLsizei vstride
+ GLint uorder
+ GLint vorder
+ GLboolean packed
+ const void *points
+
+
+ void glMapGrid1d
+ GLint un
+ GLdouble u1
+ GLdouble u2
+
+
+
+ void glMapGrid1f
+ GLint un
+ GLfloat u1
+ GLfloat u2
+
+
+
+ void glMapGrid1xOES
+ GLint n
+ GLfixed u1
+ GLfixed u2
+
+
+ void glMapGrid2d
+ GLint un
+ GLdouble u1
+ GLdouble u2
+ GLint vn
+ GLdouble v1
+ GLdouble v2
+
+
+
+ void glMapGrid2f
+ GLint un
+ GLfloat u1
+ GLfloat u2
+ GLint vn
+ GLfloat v1
+ GLfloat v2
+
+
+
+ void glMapGrid2xOES
+ GLint n
+ GLfixed u1
+ GLfixed u2
+ GLfixed v1
+ GLfixed v2
+
+
+ void *glMapNamedBuffer
+ GLuint buffer
+ GLenum access
+
+
+ void *glMapNamedBufferEXT
+ GLuint buffer
+ GLenum access
+
+
+ void *glMapNamedBufferRange
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr length
+ GLbitfield access
+
+
+ void *glMapNamedBufferRangeEXT
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr length
+ GLbitfield access
+
+
+ void *glMapObjectBufferATI
+ GLuint buffer
+
+
+ void glMapParameterfvNV
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+ void glMapParameterivNV
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+ void *glMapTexture2DINTEL
+ GLuint texture
+ GLint level
+ GLbitfield access
+ GLint *stride
+ GLenum *layout
+
+
+ void glMapVertexAttrib1dAPPLE
+ GLuint index
+ GLuint size
+ GLdouble u1
+ GLdouble u2
+ GLint stride
+ GLint order
+ const GLdouble *points
+
+
+ void glMapVertexAttrib1fAPPLE
+ GLuint index
+ GLuint size
+ GLfloat u1
+ GLfloat u2
+ GLint stride
+ GLint order
+ const GLfloat *points
+
+
+ void glMapVertexAttrib2dAPPLE
+ GLuint index
+ GLuint size
+ GLdouble u1
+ GLdouble u2
+ GLint ustride
+ GLint uorder
+ GLdouble v1
+ GLdouble v2
+ GLint vstride
+ GLint vorder
+ const GLdouble *points
+
+
+ void glMapVertexAttrib2fAPPLE
+ GLuint index
+ GLuint size
+ GLfloat u1
+ GLfloat u2
+ GLint ustride
+ GLint uorder
+ GLfloat v1
+ GLfloat v2
+ GLint vstride
+ GLint vorder
+ const GLfloat *points
+
+
+ void glMaterialf
+ GLenum face
+ GLenum pname
+ GLfloat param
+
+
+
+ void glMaterialfv
+ GLenum face
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glMateriali
+ GLenum face
+ GLenum pname
+ GLint param
+
+
+
+ void glMaterialiv
+ GLenum face
+ GLenum pname
+ const GLint *params
+
+
+
+ void glMaterialx
+ GLenum face
+ GLenum pname
+ GLfixed param
+
+
+ void glMaterialxOES
+ GLenum face
+ GLenum pname
+ GLfixed param
+
+
+ void glMaterialxv
+ GLenum face
+ GLenum pname
+ const GLfixed *param
+
+
+ void glMaterialxvOES
+ GLenum face
+ GLenum pname
+ const GLfixed *param
+
+
+ void glMatrixFrustumEXT
+ GLenum mode
+ GLdouble left
+ GLdouble right
+ GLdouble bottom
+ GLdouble top
+ GLdouble zNear
+ GLdouble zFar
+
+
+ void glMatrixIndexPointerARB
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glMatrixIndexPointerOES
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glMatrixIndexubvARB
+ GLint size
+ const GLubyte *indices
+
+
+
+ void glMatrixIndexuivARB
+ GLint size
+ const GLuint *indices
+
+
+
+ void glMatrixIndexusvARB
+ GLint size
+ const GLushort *indices
+
+
+
+ void glMatrixLoad3x2fNV
+ GLenum matrixMode
+ const GLfloat *m
+
+
+ void glMatrixLoad3x3fNV
+ GLenum matrixMode
+ const GLfloat *m
+
+
+ void glMatrixLoadIdentityEXT
+ GLenum mode
+
+
+ void glMatrixLoadTranspose3x3fNV
+ GLenum matrixMode
+ const GLfloat *m
+
+
+ void glMatrixLoadTransposedEXT
+ GLenum mode
+ const GLdouble *m
+
+
+ void glMatrixLoadTransposefEXT
+ GLenum mode
+ const GLfloat *m
+
+
+ void glMatrixLoaddEXT
+ GLenum mode
+ const GLdouble *m
+
+
+ void glMatrixLoadfEXT
+ GLenum mode
+ const GLfloat *m
+
+
+ void glMatrixMode
+ GLenum mode
+
+
+
+ void glMatrixMult3x2fNV
+ GLenum matrixMode
+ const GLfloat *m
+
+
+ void glMatrixMult3x3fNV
+ GLenum matrixMode
+ const GLfloat *m
+
+
+ void glMatrixMultTranspose3x3fNV
+ GLenum matrixMode
+ const GLfloat *m
+
+
+ void glMatrixMultTransposedEXT
+ GLenum mode
+ const GLdouble *m
+
+
+ void glMatrixMultTransposefEXT
+ GLenum mode
+ const GLfloat *m
+
+
+ void glMatrixMultdEXT
+ GLenum mode
+ const GLdouble *m
+
+
+ void glMatrixMultfEXT
+ GLenum mode
+ const GLfloat *m
+
+
+ void glMatrixOrthoEXT
+ GLenum mode
+ GLdouble left
+ GLdouble right
+ GLdouble bottom
+ GLdouble top
+ GLdouble zNear
+ GLdouble zFar
+
+
+ void glMatrixPopEXT
+ GLenum mode
+
+
+ void glMatrixPushEXT
+ GLenum mode
+
+
+ void glMatrixRotatedEXT
+ GLenum mode
+ GLdouble angle
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+ void glMatrixRotatefEXT
+ GLenum mode
+ GLfloat angle
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glMatrixScaledEXT
+ GLenum mode
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+ void glMatrixScalefEXT
+ GLenum mode
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glMatrixTranslatedEXT
+ GLenum mode
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+ void glMatrixTranslatefEXT
+ GLenum mode
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glMaxShaderCompilerThreadsKHR
+ GLuint count
+
+
+ void glMaxShaderCompilerThreadsARB
+ GLuint count
+
+
+
+ void glMemoryBarrier
+ GLbitfield barriers
+
+
+ void glMemoryBarrierByRegion
+ GLbitfield barriers
+
+
+ void glMemoryBarrierEXT
+ GLbitfield barriers
+
+
+
+ void glMemoryObjectParameterivEXT
+ GLuint memoryObject
+ GLenum pname
+ const GLint *params
+
+
+ void glMinSampleShading
+ GLfloat value
+
+
+ void glMinSampleShadingARB
+ GLfloat value
+
+
+
+ void glMinSampleShadingOES
+ GLfloat value
+
+
+
+ void glMinmax
+ GLenum target
+ GLenum internalformat
+ GLboolean sink
+
+
+
+ void glMinmaxEXT
+ GLenum target
+ GLenum internalformat
+ GLboolean sink
+
+
+
+
+ void glMultMatrixd
+ const GLdouble *m
+
+
+
+ void glMultMatrixf
+ const GLfloat *m
+
+
+
+ void glMultMatrixx
+ const GLfixed *m
+
+
+ void glMultMatrixxOES
+ const GLfixed *m
+
+
+ void glMultTransposeMatrixd
+ const GLdouble *m
+
+
+ void glMultTransposeMatrixdARB
+ const GLdouble *m
+
+
+
+ void glMultTransposeMatrixf
+ const GLfloat *m
+
+
+ void glMultTransposeMatrixfARB
+ const GLfloat *m
+
+
+
+ void glMultTransposeMatrixxOES
+ const GLfixed *m
+
+
+ void glMultiDrawArrays
+ GLenum mode
+ const GLint *first
+ const GLsizei *count
+ GLsizei drawcount
+
+
+ void glMultiDrawArraysEXT
+ GLenum mode
+ const GLint *first
+ const GLsizei *count
+ GLsizei primcount
+
+
+
+ void glMultiDrawArraysIndirect
+ GLenum mode
+ const void *indirect
+ GLsizei drawcount
+ GLsizei stride
+
+
+ void glMultiDrawArraysIndirectAMD
+ GLenum mode
+ const void *indirect
+ GLsizei primcount
+ GLsizei stride
+
+
+
+ void glMultiDrawArraysIndirectBindlessCountNV
+ GLenum mode
+ const void *indirect
+ GLsizei drawCount
+ GLsizei maxDrawCount
+ GLsizei stride
+ GLint vertexBufferCount
+
+
+ void glMultiDrawArraysIndirectBindlessNV
+ GLenum mode
+ const void *indirect
+ GLsizei drawCount
+ GLsizei stride
+ GLint vertexBufferCount
+
+
+ void glMultiDrawArraysIndirectCount
+ GLenum mode
+ const void *indirect
+ GLintptr drawcount
+ GLsizei maxdrawcount
+ GLsizei stride
+
+
+ void glMultiDrawArraysIndirectCountARB
+ GLenum mode
+ const void *indirect
+ GLintptr drawcount
+ GLsizei maxdrawcount
+ GLsizei stride
+
+
+
+ void glMultiDrawArraysIndirectEXT
+ GLenum mode
+ const void *indirect
+ GLsizei drawcount
+ GLsizei stride
+
+
+
+ void glMultiDrawElementArrayAPPLE
+ GLenum mode
+ const GLint *first
+ const GLsizei *count
+ GLsizei primcount
+
+
+ void glMultiDrawElements
+ GLenum mode
+ const GLsizei *count
+ GLenum type
+ const void *const*indices
+ GLsizei drawcount
+
+
+ void glMultiDrawElementsBaseVertex
+ GLenum mode
+ const GLsizei *count
+ GLenum type
+ const void *const*indices
+ GLsizei drawcount
+ const GLint *basevertex
+
+
+ void glMultiDrawElementsBaseVertexEXT
+ GLenum mode
+ const GLsizei *count
+ GLenum type
+ const void *const*indices
+ GLsizei primcount
+ const GLint *basevertex
+
+
+
+ void glMultiDrawElementsEXT
+ GLenum mode
+ const GLsizei *count
+ GLenum type
+ const void *const*indices
+ GLsizei primcount
+
+
+
+ void glMultiDrawElementsIndirect
+ GLenum mode
+ GLenum type
+ const void *indirect
+ GLsizei drawcount
+ GLsizei stride
+
+
+ void glMultiDrawElementsIndirectAMD
+ GLenum mode
+ GLenum type
+ const void *indirect
+ GLsizei primcount
+ GLsizei stride
+
+
+
+ void glMultiDrawElementsIndirectBindlessCountNV
+ GLenum mode
+ GLenum type
+ const void *indirect
+ GLsizei drawCount
+ GLsizei maxDrawCount
+ GLsizei stride
+ GLint vertexBufferCount
+
+
+ void glMultiDrawElementsIndirectBindlessNV
+ GLenum mode
+ GLenum type
+ const void *indirect
+ GLsizei drawCount
+ GLsizei stride
+ GLint vertexBufferCount
+
+
+ void glMultiDrawElementsIndirectCount
+ GLenum mode
+ GLenum type
+ const void *indirect
+ GLintptr drawcount
+ GLsizei maxdrawcount
+ GLsizei stride
+
+
+ void glMultiDrawElementsIndirectCountARB
+ GLenum mode
+ GLenum type
+ const void *indirect
+ GLintptr drawcount
+ GLsizei maxdrawcount
+ GLsizei stride
+
+
+
+ void glMultiDrawElementsIndirectEXT
+ GLenum mode
+ GLenum type
+ const void *indirect
+ GLsizei drawcount
+ GLsizei stride
+
+
+
+ void glMultiDrawRangeElementArrayAPPLE
+ GLenum mode
+ GLuint start
+ GLuint end
+ const GLint *first
+ const GLsizei *count
+ GLsizei primcount
+
+
+ void glMultiModeDrawArraysIBM
+ const GLenum *mode
+ const GLint *first
+ const GLsizei *count
+ GLsizei primcount
+ GLint modestride
+
+
+ void glMultiModeDrawElementsIBM
+ const GLenum *mode
+ const GLsizei *count
+ GLenum type
+ const void *const*indices
+ GLsizei primcount
+ GLint modestride
+
+
+ void glMultiTexBufferEXT
+ GLenum texunit
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+
+
+ void glMultiTexCoord1bOES
+ GLenum texture
+ GLbyte s
+
+
+ void glMultiTexCoord1bvOES
+ GLenum texture
+ const GLbyte *coords
+
+
+ void glMultiTexCoord1d
+ GLenum target
+ GLdouble s
+
+
+
+ void glMultiTexCoord1dARB
+ GLenum target
+ GLdouble s
+
+
+
+
+ void glMultiTexCoord1dv
+ GLenum target
+ const GLdouble *v
+
+
+
+ void glMultiTexCoord1dvARB
+ GLenum target
+ const GLdouble *v
+
+
+
+
+ void glMultiTexCoord1f
+ GLenum target
+ GLfloat s
+
+
+
+ void glMultiTexCoord1fARB
+ GLenum target
+ GLfloat s
+
+
+
+
+ void glMultiTexCoord1fv
+ GLenum target
+ const GLfloat *v
+
+
+
+ void glMultiTexCoord1fvARB
+ GLenum target
+ const GLfloat *v
+
+
+
+
+ void glMultiTexCoord1hNV
+ GLenum target
+ GLhalfNV s
+
+
+
+ void glMultiTexCoord1hvNV
+ GLenum target
+ const GLhalfNV *v
+
+
+
+ void glMultiTexCoord1i
+ GLenum target
+ GLint s
+
+
+
+ void glMultiTexCoord1iARB
+ GLenum target
+ GLint s
+
+
+
+
+ void glMultiTexCoord1iv
+ GLenum target
+ const GLint *v
+
+
+
+ void glMultiTexCoord1ivARB
+ GLenum target
+ const GLint *v
+
+
+
+
+ void glMultiTexCoord1s
+ GLenum target
+ GLshort s
+
+
+
+ void glMultiTexCoord1sARB
+ GLenum target
+ GLshort s
+
+
+
+
+ void glMultiTexCoord1sv
+ GLenum target
+ const GLshort *v
+
+
+
+ void glMultiTexCoord1svARB
+ GLenum target
+ const GLshort *v
+
+
+
+
+ void glMultiTexCoord1xOES
+ GLenum texture
+ GLfixed s
+
+
+ void glMultiTexCoord1xvOES
+ GLenum texture
+ const GLfixed *coords
+
+
+ void glMultiTexCoord2bOES
+ GLenum texture
+ GLbyte s
+ GLbyte t
+
+
+ void glMultiTexCoord2bvOES
+ GLenum texture
+ const GLbyte *coords
+
+
+ void glMultiTexCoord2d
+ GLenum target
+ GLdouble s
+ GLdouble t
+
+
+
+ void glMultiTexCoord2dARB
+ GLenum target
+ GLdouble s
+ GLdouble t
+
+
+
+
+ void glMultiTexCoord2dv
+ GLenum target
+ const GLdouble *v
+
+
+
+ void glMultiTexCoord2dvARB
+ GLenum target
+ const GLdouble *v
+
+
+
+
+ void glMultiTexCoord2f
+ GLenum target
+ GLfloat s
+ GLfloat t
+
+
+
+ void glMultiTexCoord2fARB
+ GLenum target
+ GLfloat s
+ GLfloat t
+
+
+
+
+ void glMultiTexCoord2fv
+ GLenum target
+ const GLfloat *v
+
+
+
+ void glMultiTexCoord2fvARB
+ GLenum target
+ const GLfloat *v
+
+
+
+
+ void glMultiTexCoord2hNV
+ GLenum target
+ GLhalfNV s
+ GLhalfNV t
+
+
+
+ void glMultiTexCoord2hvNV
+ GLenum target
+ const GLhalfNV *v
+
+
+
+ void glMultiTexCoord2i
+ GLenum target
+ GLint s
+ GLint t
+
+
+
+ void glMultiTexCoord2iARB
+ GLenum target
+ GLint s
+ GLint t
+
+
+
+
+ void glMultiTexCoord2iv
+ GLenum target
+ const GLint *v
+
+
+
+ void glMultiTexCoord2ivARB
+ GLenum target
+ const GLint *v
+
+
+
+
+ void glMultiTexCoord2s
+ GLenum target
+ GLshort s
+ GLshort t
+
+
+
+ void glMultiTexCoord2sARB
+ GLenum target
+ GLshort s
+ GLshort t
+
+
+
+
+ void glMultiTexCoord2sv
+ GLenum target
+ const GLshort *v
+
+
+
+ void glMultiTexCoord2svARB
+ GLenum target
+ const GLshort *v
+
+
+
+
+ void glMultiTexCoord2xOES
+ GLenum texture
+ GLfixed s
+ GLfixed t
+
+
+ void glMultiTexCoord2xvOES
+ GLenum texture
+ const GLfixed *coords
+
+
+ void glMultiTexCoord3bOES
+ GLenum texture
+ GLbyte s
+ GLbyte t
+ GLbyte r
+
+
+ void glMultiTexCoord3bvOES
+ GLenum texture
+ const GLbyte *coords
+
+
+ void glMultiTexCoord3d
+ GLenum target
+ GLdouble s
+ GLdouble t
+ GLdouble r
+
+
+
+ void glMultiTexCoord3dARB
+ GLenum target
+ GLdouble s
+ GLdouble t
+ GLdouble r
+
+
+
+
+ void glMultiTexCoord3dv
+ GLenum target
+ const GLdouble *v
+
+
+
+ void glMultiTexCoord3dvARB
+ GLenum target
+ const GLdouble *v
+
+
+
+
+ void glMultiTexCoord3f
+ GLenum target
+ GLfloat s
+ GLfloat t
+ GLfloat r
+
+
+
+ void glMultiTexCoord3fARB
+ GLenum target
+ GLfloat s
+ GLfloat t
+ GLfloat r
+
+
+
+
+ void glMultiTexCoord3fv
+ GLenum target
+ const GLfloat *v
+
+
+
+ void glMultiTexCoord3fvARB
+ GLenum target
+ const GLfloat *v
+
+
+
+
+ void glMultiTexCoord3hNV
+ GLenum target
+ GLhalfNV s
+ GLhalfNV t
+ GLhalfNV r
+
+
+
+ void glMultiTexCoord3hvNV
+ GLenum target
+ const GLhalfNV *v
+
+
+
+ void glMultiTexCoord3i
+ GLenum target
+ GLint s
+ GLint t
+ GLint r
+
+
+
+ void glMultiTexCoord3iARB
+ GLenum target
+ GLint s
+ GLint t
+ GLint r
+
+
+
+
+ void glMultiTexCoord3iv
+ GLenum target
+ const GLint *v
+
+
+
+ void glMultiTexCoord3ivARB
+ GLenum target
+ const GLint *v
+
+
+
+
+ void glMultiTexCoord3s
+ GLenum target
+ GLshort s
+ GLshort t
+ GLshort r
+
+
+
+ void glMultiTexCoord3sARB
+ GLenum target
+ GLshort s
+ GLshort t
+ GLshort r
+
+
+
+
+ void glMultiTexCoord3sv
+ GLenum target
+ const GLshort *v
+
+
+
+ void glMultiTexCoord3svARB
+ GLenum target
+ const GLshort *v
+
+
+
+
+ void glMultiTexCoord3xOES
+ GLenum texture
+ GLfixed s
+ GLfixed t
+ GLfixed r
+
+
+ void glMultiTexCoord3xvOES
+ GLenum texture
+ const GLfixed *coords
+
+
+ void glMultiTexCoord4bOES
+ GLenum texture
+ GLbyte s
+ GLbyte t
+ GLbyte r
+ GLbyte q
+
+
+ void glMultiTexCoord4bvOES
+ GLenum texture
+ const GLbyte *coords
+
+
+ void glMultiTexCoord4d
+ GLenum target
+ GLdouble s
+ GLdouble t
+ GLdouble r
+ GLdouble q
+
+
+
+ void glMultiTexCoord4dARB
+ GLenum target
+ GLdouble s
+ GLdouble t
+ GLdouble r
+ GLdouble q
+
+
+
+
+ void glMultiTexCoord4dv
+ GLenum target
+ const GLdouble *v
+
+
+
+ void glMultiTexCoord4dvARB
+ GLenum target
+ const GLdouble *v
+
+
+
+
+ void glMultiTexCoord4f
+ GLenum target
+ GLfloat s
+ GLfloat t
+ GLfloat r
+ GLfloat q
+
+
+
+ void glMultiTexCoord4fARB
+ GLenum target
+ GLfloat s
+ GLfloat t
+ GLfloat r
+ GLfloat q
+
+
+
+
+ void glMultiTexCoord4fv
+ GLenum target
+ const GLfloat *v
+
+
+
+ void glMultiTexCoord4fvARB
+ GLenum target
+ const GLfloat *v
+
+
+
+
+ void glMultiTexCoord4hNV
+ GLenum target
+ GLhalfNV s
+ GLhalfNV t
+ GLhalfNV r
+ GLhalfNV q
+
+
+
+ void glMultiTexCoord4hvNV
+ GLenum target
+ const GLhalfNV *v
+
+
+
+ void glMultiTexCoord4i
+ GLenum target
+ GLint s
+ GLint t
+ GLint r
+ GLint q
+
+
+
+ void glMultiTexCoord4iARB
+ GLenum target
+ GLint s
+ GLint t
+ GLint r
+ GLint q
+
+
+
+
+ void glMultiTexCoord4iv
+ GLenum target
+ const GLint *v
+
+
+
+ void glMultiTexCoord4ivARB
+ GLenum target
+ const GLint *v
+
+
+
+
+ void glMultiTexCoord4s
+ GLenum target
+ GLshort s
+ GLshort t
+ GLshort r
+ GLshort q
+
+
+
+ void glMultiTexCoord4sARB
+ GLenum target
+ GLshort s
+ GLshort t
+ GLshort r
+ GLshort q
+
+
+
+
+ void glMultiTexCoord4sv
+ GLenum target
+ const GLshort *v
+
+
+
+ void glMultiTexCoord4svARB
+ GLenum target
+ const GLshort *v
+
+
+
+
+ void glMultiTexCoord4x
+ GLenum texture
+ GLfixed s
+ GLfixed t
+ GLfixed r
+ GLfixed q
+
+
+ void glMultiTexCoord4xOES
+ GLenum texture
+ GLfixed s
+ GLfixed t
+ GLfixed r
+ GLfixed q
+
+
+ void glMultiTexCoord4xvOES
+ GLenum texture
+ const GLfixed *coords
+
+
+ void glMultiTexCoordP1ui
+ GLenum texture
+ GLenum type
+ GLuint coords
+
+
+ void glMultiTexCoordP1uiv
+ GLenum texture
+ GLenum type
+ const GLuint *coords
+
+
+ void glMultiTexCoordP2ui
+ GLenum texture
+ GLenum type
+ GLuint coords
+
+
+ void glMultiTexCoordP2uiv
+ GLenum texture
+ GLenum type
+ const GLuint *coords
+
+
+ void glMultiTexCoordP3ui
+ GLenum texture
+ GLenum type
+ GLuint coords
+
+
+ void glMultiTexCoordP3uiv
+ GLenum texture
+ GLenum type
+ const GLuint *coords
+
+
+ void glMultiTexCoordP4ui
+ GLenum texture
+ GLenum type
+ GLuint coords
+
+
+ void glMultiTexCoordP4uiv
+ GLenum texture
+ GLenum type
+ const GLuint *coords
+
+
+ void glMultiTexCoordPointerEXT
+ GLenum texunit
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glMultiTexEnvfEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLfloat param
+
+
+
+ void glMultiTexEnvfvEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+ void glMultiTexEnviEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+
+ void glMultiTexEnvivEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+ void glMultiTexGendEXT
+ GLenum texunit
+ GLenum coord
+ GLenum pname
+ GLdouble param
+
+
+
+ void glMultiTexGendvEXT
+ GLenum texunit
+ GLenum coord
+ GLenum pname
+ const GLdouble *params
+
+
+ void glMultiTexGenfEXT
+ GLenum texunit
+ GLenum coord
+ GLenum pname
+ GLfloat param
+
+
+
+ void glMultiTexGenfvEXT
+ GLenum texunit
+ GLenum coord
+ GLenum pname
+ const GLfloat *params
+
+
+ void glMultiTexGeniEXT
+ GLenum texunit
+ GLenum coord
+ GLenum pname
+ GLint param
+
+
+
+ void glMultiTexGenivEXT
+ GLenum texunit
+ GLenum coord
+ GLenum pname
+ const GLint *params
+
+
+ void glMultiTexImage1DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint internalformat
+ GLsizei width
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glMultiTexImage2DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint internalformat
+ GLsizei width
+ GLsizei height
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glMultiTexImage3DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glMultiTexParameterIivEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+ void glMultiTexParameterIuivEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ const GLuint *params
+
+
+ void glMultiTexParameterfEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLfloat param
+
+
+
+ void glMultiTexParameterfvEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+ void glMultiTexParameteriEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+
+ void glMultiTexParameterivEXT
+ GLenum texunit
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+ void glMultiTexRenderbufferEXT
+ GLenum texunit
+ GLenum target
+ GLuint renderbuffer
+
+
+ void glMultiTexSubImage1DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glMultiTexSubImage2DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glMultiTexSubImage3DEXT
+ GLenum texunit
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glMulticastBarrierNV
+
+
+ void glMulticastBlitFramebufferNV
+ GLuint srcGpu
+ GLuint dstGpu
+ GLint srcX0
+ GLint srcY0
+ GLint srcX1
+ GLint srcY1
+ GLint dstX0
+ GLint dstY0
+ GLint dstX1
+ GLint dstY1
+ GLbitfield mask
+ GLenum filter
+
+
+ void glMulticastBufferSubDataNV
+ GLbitfield gpuMask
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+ const void *data
+
+
+ void glMulticastCopyBufferSubDataNV
+ GLuint readGpu
+ GLbitfield writeGpuMask
+ GLuint readBuffer
+ GLuint writeBuffer
+ GLintptr readOffset
+ GLintptr writeOffset
+ GLsizeiptr size
+
+
+ void glMulticastCopyImageSubDataNV
+ GLuint srcGpu
+ GLbitfield dstGpuMask
+ 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
+
+
+ void glMulticastFramebufferSampleLocationsfvNV
+ GLuint gpu
+ GLuint framebuffer
+ GLuint start
+ GLsizei count
+ const GLfloat *v
+
+
+ void glMulticastGetQueryObjecti64vNV
+ GLuint gpu
+ GLuint id
+ GLenum pname
+ GLint64 *params
+
+
+ void glMulticastGetQueryObjectivNV
+ GLuint gpu
+ GLuint id
+ GLenum pname
+ GLint *params
+
+
+ void glMulticastGetQueryObjectui64vNV
+ GLuint gpu
+ GLuint id
+ GLenum pname
+ GLuint64 *params
+
+
+ void glMulticastGetQueryObjectuivNV
+ GLuint gpu
+ GLuint id
+ GLenum pname
+ GLuint *params
+
+
+ void glMulticastWaitSyncNV
+ GLuint signalGpu
+ GLbitfield waitGpuMask
+
+
+ void glNamedBufferAttachMemoryNV
+ GLuint buffer
+ GLuint memory
+ GLuint64 offset
+
+
+ void glNamedBufferData
+ GLuint buffer
+ GLsizeiptr size
+ const void *data
+ GLenum usage
+
+
+ void glNamedBufferDataEXT
+ GLuint buffer
+ GLsizeiptr size
+ const void *data
+ GLenum usage
+
+
+ void glNamedBufferPageCommitmentARB
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+ GLboolean commit
+
+
+ void glNamedBufferPageCommitmentEXT
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+ GLboolean commit
+
+
+ void glNamedBufferStorage
+ GLuint buffer
+ GLsizeiptr size
+ const void *data
+ GLbitfield flags
+
+
+ void glNamedBufferStorageExternalEXT
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+ GLeglClientBufferEXT clientBuffer
+ GLbitfield flags
+
+
+ void glNamedBufferStorageEXT
+ GLuint buffer
+ GLsizeiptr size
+ const void *data
+ GLbitfield flags
+
+
+
+ void glNamedBufferStorageMemEXT
+ GLuint buffer
+ GLsizeiptr size
+ GLuint memory
+ GLuint64 offset
+
+
+ void glNamedBufferSubData
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+ const void *data
+
+
+ void glNamedBufferSubDataEXT
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+ const void *data
+
+
+
+ void glNamedCopyBufferSubDataEXT
+ GLuint readBuffer
+ GLuint writeBuffer
+ GLintptr readOffset
+ GLintptr writeOffset
+ GLsizeiptr size
+
+
+ void glNamedFramebufferDrawBuffer
+ GLuint framebuffer
+ GLenum buf
+
+
+ void glNamedFramebufferDrawBuffers
+ GLuint framebuffer
+ GLsizei n
+ const GLenum *bufs
+
+
+ void glNamedFramebufferParameteri
+ GLuint framebuffer
+ GLenum pname
+ GLint param
+
+
+ void glNamedFramebufferParameteriEXT
+ GLuint framebuffer
+ GLenum pname
+ GLint param
+
+
+ void glNamedFramebufferReadBuffer
+ GLuint framebuffer
+ GLenum src
+
+
+ void glNamedFramebufferRenderbuffer
+ GLuint framebuffer
+ GLenum attachment
+ GLenum renderbuffertarget
+ GLuint renderbuffer
+
+
+ void glNamedFramebufferRenderbufferEXT
+ GLuint framebuffer
+ GLenum attachment
+ GLenum renderbuffertarget
+ GLuint renderbuffer
+
+
+ void glNamedFramebufferSampleLocationsfvARB
+ GLuint framebuffer
+ GLuint start
+ GLsizei count
+ const GLfloat *v
+
+
+ void glNamedFramebufferSampleLocationsfvNV
+ GLuint framebuffer
+ GLuint start
+ GLsizei count
+ const GLfloat *v
+
+
+ void glNamedFramebufferTexture
+ GLuint framebuffer
+ GLenum attachment
+ GLuint texture
+ GLint level
+
+
+ void glNamedFramebufferSamplePositionsfvAMD
+ GLuint framebuffer
+ GLuint numsamples
+ GLuint pixelindex
+ const GLfloat *values
+
+
+ void glNamedFramebufferTexture1DEXT
+ GLuint framebuffer
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+
+
+ void glNamedFramebufferTexture2DEXT
+ GLuint framebuffer
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+
+
+ void glNamedFramebufferTexture3DEXT
+ GLuint framebuffer
+ GLenum attachment
+ GLenum textarget
+ GLuint texture
+ GLint level
+ GLint zoffset
+
+
+ void glNamedFramebufferTextureEXT
+ GLuint framebuffer
+ GLenum attachment
+ GLuint texture
+ GLint level
+
+
+ void glNamedFramebufferTextureFaceEXT
+ GLuint framebuffer
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLenum face
+
+
+ void glNamedFramebufferTextureLayer
+ GLuint framebuffer
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLint layer
+
+
+ void glNamedFramebufferTextureLayerEXT
+ GLuint framebuffer
+ GLenum attachment
+ GLuint texture
+ GLint level
+ GLint layer
+
+
+ void glNamedProgramLocalParameter4dEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glNamedProgramLocalParameter4dvEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ const GLdouble *params
+
+
+ void glNamedProgramLocalParameter4fEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+ void glNamedProgramLocalParameter4fvEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ const GLfloat *params
+
+
+ void glNamedProgramLocalParameterI4iEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLint x
+ GLint y
+ GLint z
+ GLint w
+
+
+
+ void glNamedProgramLocalParameterI4ivEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ const GLint *params
+
+
+ void glNamedProgramLocalParameterI4uiEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLuint x
+ GLuint y
+ GLuint z
+ GLuint w
+
+
+
+ void glNamedProgramLocalParameterI4uivEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ const GLuint *params
+
+
+ void glNamedProgramLocalParameters4fvEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLfloat *params
+
+
+ void glNamedProgramLocalParametersI4ivEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLint *params
+
+
+ void glNamedProgramLocalParametersI4uivEXT
+ GLuint program
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLuint *params
+
+
+ void glNamedProgramStringEXT
+ GLuint program
+ GLenum target
+ GLenum format
+ GLsizei len
+ const void *string
+
+
+ void glNamedRenderbufferStorage
+ GLuint renderbuffer
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glNamedRenderbufferStorageEXT
+ GLuint renderbuffer
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glNamedRenderbufferStorageMultisample
+ GLuint renderbuffer
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glNamedRenderbufferStorageMultisampleAdvancedAMD
+ GLuint renderbuffer
+ GLsizei samples
+ GLsizei storageSamples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glNamedRenderbufferStorageMultisampleCoverageEXT
+ GLuint renderbuffer
+ GLsizei coverageSamples
+ GLsizei colorSamples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glNamedRenderbufferStorageMultisampleEXT
+ GLuint renderbuffer
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glNamedStringARB
+ GLenum type
+ GLint namelen
+ const GLchar *name
+ GLint stringlen
+ const GLchar *string
+
+
+ void glNewList
+ GLuint list
+ GLenum mode
+
+
+
+ GLuint glNewObjectBufferATI
+ GLsizei size
+ const void *pointer
+ GLenum usage
+
+
+ void glNormal3b
+ GLbyte nx
+ GLbyte ny
+ GLbyte nz
+
+
+
+ void glNormal3bv
+ const GLbyte *v
+
+
+
+ void glNormal3d
+ GLdouble nx
+ GLdouble ny
+ GLdouble nz
+
+
+
+ void glNormal3dv
+ const GLdouble *v
+
+
+
+ void glNormal3f
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+
+
+
+ void glNormal3fVertex3fSUN
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glNormal3fVertex3fvSUN
+ const GLfloat *n
+ const GLfloat *v
+
+
+ void glNormal3fv
+ const GLfloat *v
+
+
+
+ void glNormal3hNV
+ GLhalfNV nx
+ GLhalfNV ny
+ GLhalfNV nz
+
+
+
+ void glNormal3hvNV
+ const GLhalfNV *v
+
+
+
+ void glNormal3i
+ GLint nx
+ GLint ny
+ GLint nz
+
+
+
+ void glNormal3iv
+ const GLint *v
+
+
+
+ void glNormal3s
+ GLshort nx
+ GLshort ny
+ GLshort nz
+
+
+
+ void glNormal3sv
+ const GLshort *v
+
+
+
+ void glNormal3x
+ GLfixed nx
+ GLfixed ny
+ GLfixed nz
+
+
+ void glNormal3xOES
+ GLfixed nx
+ GLfixed ny
+ GLfixed nz
+
+
+ void glNormal3xvOES
+ const GLfixed *coords
+
+
+ void glNormalFormatNV
+ GLenum type
+ GLsizei stride
+
+
+ void glNormalP3ui
+ GLenum type
+ GLuint coords
+
+
+ void glNormalP3uiv
+ GLenum type
+ const GLuint *coords
+
+
+ void glNormalPointer
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glNormalPointerEXT
+ GLenum type
+ GLsizei stride
+ GLsizei count
+ const void *pointer
+
+
+ void glNormalPointerListIBM
+ GLenum type
+ GLint stride
+ const void **pointer
+ GLint ptrstride
+
+
+ void glNormalPointervINTEL
+ GLenum type
+ const void **pointer
+
+
+ void glNormalStream3bATI
+ GLenum stream
+ GLbyte nx
+ GLbyte ny
+ GLbyte nz
+
+
+ void glNormalStream3bvATI
+ GLenum stream
+ const GLbyte *coords
+
+
+ void glNormalStream3dATI
+ GLenum stream
+ GLdouble nx
+ GLdouble ny
+ GLdouble nz
+
+
+ void glNormalStream3dvATI
+ GLenum stream
+ const GLdouble *coords
+
+
+ void glNormalStream3fATI
+ GLenum stream
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+
+
+ void glNormalStream3fvATI
+ GLenum stream
+ const GLfloat *coords
+
+
+ void glNormalStream3iATI
+ GLenum stream
+ GLint nx
+ GLint ny
+ GLint nz
+
+
+ void glNormalStream3ivATI
+ GLenum stream
+ const GLint *coords
+
+
+ void glNormalStream3sATI
+ GLenum stream
+ GLshort nx
+ GLshort ny
+ GLshort nz
+
+
+ void glNormalStream3svATI
+ GLenum stream
+ const GLshort *coords
+
+
+ void glObjectLabel
+ GLenum identifier
+ GLuint name
+ GLsizei length
+ const GLchar *label
+
+
+ void glObjectLabelKHR
+ GLenum identifier
+ GLuint name
+ GLsizei length
+ const GLchar *label
+
+
+
+ void glObjectPtrLabel
+ const void *ptr
+ GLsizei length
+ const GLchar *label
+
+
+ void glObjectPtrLabelKHR
+ const void *ptr
+ GLsizei length
+ const GLchar *label
+
+
+
+ GLenum glObjectPurgeableAPPLE
+ GLenum objectType
+ GLuint name
+ GLenum option
+
+
+ GLenum glObjectUnpurgeableAPPLE
+ GLenum objectType
+ GLuint name
+ GLenum option
+
+
+ void glOrtho
+ GLdouble left
+ GLdouble right
+ GLdouble bottom
+ GLdouble top
+ GLdouble zNear
+ GLdouble zFar
+
+
+
+ void glOrthof
+ GLfloat l
+ GLfloat r
+ GLfloat b
+ GLfloat t
+ GLfloat n
+ GLfloat f
+
+
+ void glOrthofOES
+ GLfloat l
+ GLfloat r
+ GLfloat b
+ GLfloat t
+ GLfloat n
+ GLfloat f
+
+
+
+ void glOrthox
+ GLfixed l
+ GLfixed r
+ GLfixed b
+ GLfixed t
+ GLfixed n
+ GLfixed f
+
+
+ void glOrthoxOES
+ GLfixed l
+ GLfixed r
+ GLfixed b
+ GLfixed t
+ GLfixed n
+ GLfixed f
+
+
+ void glPNTrianglesfATI
+ GLenum pname
+ GLfloat param
+
+
+ void glPNTrianglesiATI
+ GLenum pname
+ GLint param
+
+
+ void glPassTexCoordATI
+ GLuint dst
+ GLuint coord
+ GLenum swizzle
+
+
+ void glPassThrough
+ GLfloat token
+
+
+
+ void glPassThroughxOES
+ GLfixed token
+
+
+ void glPatchParameterfv
+ GLenum pname
+ const GLfloat *values
+
+
+ void glPatchParameteri
+ GLenum pname
+ GLint value
+
+
+ void glPatchParameteriEXT
+ GLenum pname
+ GLint value
+
+
+
+ void glPatchParameteriOES
+ GLenum pname
+ GLint value
+
+
+
+ void glPathColorGenNV
+ GLenum color
+ GLenum genMode
+ GLenum colorFormat
+ const GLfloat *coeffs
+
+
+ void glPathCommandsNV
+ GLuint path
+ GLsizei numCommands
+ const GLubyte *commands
+ GLsizei numCoords
+ GLenum coordType
+ const void *coords
+
+
+ void glPathCoordsNV
+ GLuint path
+ GLsizei numCoords
+ GLenum coordType
+ const void *coords
+
+
+ void glPathCoverDepthFuncNV
+ GLenum func
+
+
+ void glPathDashArrayNV
+ GLuint path
+ GLsizei dashCount
+ const GLfloat *dashArray
+
+
+ void glPathFogGenNV
+ GLenum genMode
+
+
+ GLenum glPathGlyphIndexArrayNV
+ GLuint firstPathName
+ GLenum fontTarget
+ const void *fontName
+ GLbitfield fontStyle
+ GLuint firstGlyphIndex
+ GLsizei numGlyphs
+ GLuint pathParameterTemplate
+ GLfloat emScale
+
+
+ GLenum glPathGlyphIndexRangeNV
+ GLenum fontTarget
+ const void *fontName
+ GLbitfield fontStyle
+ GLuint pathParameterTemplate
+ GLfloat emScale
+ GLuint baseAndCount[2]
+
+
+ void glPathGlyphRangeNV
+ GLuint firstPathName
+ GLenum fontTarget
+ const void *fontName
+ GLbitfield fontStyle
+ GLuint firstGlyph
+ GLsizei numGlyphs
+ GLenum handleMissingGlyphs
+ GLuint pathParameterTemplate
+ GLfloat emScale
+
+
+ void glPathGlyphsNV
+ GLuint firstPathName
+ GLenum fontTarget
+ const void *fontName
+ GLbitfield fontStyle
+ GLsizei numGlyphs
+ GLenum type
+ const void *charcodes
+ GLenum handleMissingGlyphs
+ GLuint pathParameterTemplate
+ GLfloat emScale
+
+
+ GLenum glPathMemoryGlyphIndexArrayNV
+ GLuint firstPathName
+ GLenum fontTarget
+ GLsizeiptr fontSize
+ const void *fontData
+ GLsizei faceIndex
+ GLuint firstGlyphIndex
+ GLsizei numGlyphs
+ GLuint pathParameterTemplate
+ GLfloat emScale
+
+
+ void glPathParameterfNV
+ GLuint path
+ GLenum pname
+ GLfloat value
+
+
+ void glPathParameterfvNV
+ GLuint path
+ GLenum pname
+ const GLfloat *value
+
+
+ void glPathParameteriNV
+ GLuint path
+ GLenum pname
+ GLint value
+
+
+ void glPathParameterivNV
+ GLuint path
+ GLenum pname
+ const GLint *value
+
+
+ void glPathStencilDepthOffsetNV
+ GLfloat factor
+ GLfloat units
+
+
+ void glPathStencilFuncNV
+ GLenum func
+ GLint ref
+ GLuint mask
+
+
+ void glPathStringNV
+ GLuint path
+ GLenum format
+ GLsizei length
+ const void *pathString
+
+
+ void glPathSubCommandsNV
+ GLuint path
+ GLsizei commandStart
+ GLsizei commandsToDelete
+ GLsizei numCommands
+ const GLubyte *commands
+ GLsizei numCoords
+ GLenum coordType
+ const void *coords
+
+
+ void glPathSubCoordsNV
+ GLuint path
+ GLsizei coordStart
+ GLsizei numCoords
+ GLenum coordType
+ const void *coords
+
+
+ void glPathTexGenNV
+ GLenum texCoordSet
+ GLenum genMode
+ GLint components
+ const GLfloat *coeffs
+
+
+ void glPauseTransformFeedback
+
+
+ void glPauseTransformFeedbackNV
+
+
+
+ void glPixelDataRangeNV
+ GLenum target
+ GLsizei length
+ const void *pointer
+
+
+ void glPixelMapfv
+ GLenum map
+ GLsizei mapsize
+ const GLfloat *values
+
+
+
+
+ void glPixelMapuiv
+ GLenum map
+ GLsizei mapsize
+ const GLuint *values
+
+
+
+
+ void glPixelMapusv
+ GLenum map
+ GLsizei mapsize
+ const GLushort *values
+
+
+
+
+ void glPixelMapx
+ GLenum map
+ GLint size
+ const GLfixed *values
+
+
+ void glPixelStoref
+ GLenum pname
+ GLfloat param
+
+
+
+ void glPixelStorei
+ GLenum pname
+ GLint param
+
+
+
+ void glPixelStorex
+ GLenum pname
+ GLfixed param
+
+
+ void glPixelTexGenParameterfSGIS
+ GLenum pname
+ GLfloat param
+
+
+ void glPixelTexGenParameterfvSGIS
+ GLenum pname
+ const GLfloat *params
+
+
+ void glPixelTexGenParameteriSGIS
+ GLenum pname
+ GLint param
+
+
+ void glPixelTexGenParameterivSGIS
+ GLenum pname
+ const GLint *params
+
+
+ void glPixelTexGenSGIX
+ GLenum mode
+
+
+
+ void glPixelTransferf
+ GLenum pname
+ GLfloat param
+
+
+
+ void glPixelTransferi
+ GLenum pname
+ GLint param
+
+
+
+ void glPixelTransferxOES
+ GLenum pname
+ GLfixed param
+
+
+ void glPixelTransformParameterfEXT
+ GLenum target
+ GLenum pname
+ GLfloat param
+
+
+
+ void glPixelTransformParameterfvEXT
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+ void glPixelTransformParameteriEXT
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+
+ void glPixelTransformParameterivEXT
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+ void glPixelZoom
+ GLfloat xfactor
+ GLfloat yfactor
+
+
+
+ void glPixelZoomxOES
+ GLfixed xfactor
+ GLfixed yfactor
+
+
+ GLboolean glPointAlongPathNV
+ GLuint path
+ GLsizei startSegment
+ GLsizei numSegments
+ GLfloat distance
+ GLfloat *x
+ GLfloat *y
+ GLfloat *tangentX
+ GLfloat *tangentY
+
+
+ void glPointParameterf
+ GLenum pname
+ GLfloat param
+
+
+
+ void glPointParameterfARB
+ GLenum pname
+ GLfloat param
+
+
+
+
+ void glPointParameterfEXT
+ GLenum pname
+ GLfloat param
+
+
+
+ void glPointParameterfSGIS
+ GLenum pname
+ GLfloat param
+
+
+
+ void glPointParameterfv
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glPointParameterfvARB
+ GLenum pname
+ const GLfloat *params
+
+
+
+
+ void glPointParameterfvEXT
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glPointParameterfvSGIS
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glPointParameteri
+ GLenum pname
+ GLint param
+
+
+
+ void glPointParameteriNV
+ GLenum pname
+ GLint param
+
+
+
+
+ void glPointParameteriv
+ GLenum pname
+ const GLint *params
+
+
+
+ void glPointParameterivNV
+ GLenum pname
+ const GLint *params
+
+
+
+
+ void glPointParameterx
+ GLenum pname
+ GLfixed param
+
+
+ void glPointParameterxOES
+ GLenum pname
+ GLfixed param
+
+
+ void glPointParameterxv
+ GLenum pname
+ const GLfixed *params
+
+
+ void glPointParameterxvOES
+ GLenum pname
+ const GLfixed *params
+
+
+ void glPointSize
+ GLfloat size
+
+
+
+ void glPointSizePointerOES
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glPointSizex
+ GLfixed size
+
+
+ void glPointSizexOES
+ GLfixed size
+
+
+ GLint glPollAsyncSGIX
+ GLuint *markerp
+
+
+ GLint glPollInstrumentsSGIX
+ GLint *marker_p
+
+
+
+ void glPolygonMode
+ GLenum face
+ GLenum mode
+
+
+
+ void glPolygonModeNV
+ GLenum face
+ GLenum mode
+
+
+
+ void glPolygonOffset
+ GLfloat factor
+ GLfloat units
+
+
+
+ void glPolygonOffsetClamp
+ GLfloat factor
+ GLfloat units
+ GLfloat clamp
+
+
+
+ void glPolygonOffsetClampEXT
+ GLfloat factor
+ GLfloat units
+ GLfloat clamp
+
+
+
+ void glPolygonOffsetEXT
+ GLfloat factor
+ GLfloat bias
+
+
+
+ void glPolygonOffsetx
+ GLfixed factor
+ GLfixed units
+
+
+ void glPolygonOffsetxOES
+ GLfixed factor
+ GLfixed units
+
+
+ void glPolygonStipple
+ const GLubyte *mask
+
+
+
+
+ void glPopAttrib
+
+
+
+ void glPopClientAttrib
+
+
+ void glPopDebugGroup
+
+
+ void glPopDebugGroupKHR
+
+
+
+ void glPopGroupMarkerEXT
+
+
+ void glPopMatrix
+
+
+
+ void glPopName
+
+
+
+ void glPresentFrameDualFillNV
+ GLuint video_slot
+ GLuint64EXT minPresentTime
+ GLuint beginPresentTimeId
+ GLuint presentDurationId
+ GLenum type
+ GLenum target0
+ GLuint fill0
+ GLenum target1
+ GLuint fill1
+ GLenum target2
+ GLuint fill2
+ GLenum target3
+ GLuint fill3
+
+
+ void glPresentFrameKeyedNV
+ GLuint video_slot
+ GLuint64EXT minPresentTime
+ GLuint beginPresentTimeId
+ GLuint presentDurationId
+ GLenum type
+ GLenum target0
+ GLuint fill0
+ GLuint key0
+ GLenum target1
+ GLuint fill1
+ GLuint key1
+
+
+ void glPrimitiveBoundingBox
+ GLfloat minX
+ GLfloat minY
+ GLfloat minZ
+ GLfloat minW
+ GLfloat maxX
+ GLfloat maxY
+ GLfloat maxZ
+ GLfloat maxW
+
+
+ void glPrimitiveBoundingBoxARB
+ GLfloat minX
+ GLfloat minY
+ GLfloat minZ
+ GLfloat minW
+ GLfloat maxX
+ GLfloat maxY
+ GLfloat maxZ
+ GLfloat maxW
+
+
+
+ void glPrimitiveBoundingBoxEXT
+ GLfloat minX
+ GLfloat minY
+ GLfloat minZ
+ GLfloat minW
+ GLfloat maxX
+ GLfloat maxY
+ GLfloat maxZ
+ GLfloat maxW
+
+
+
+ void glPrimitiveBoundingBoxOES
+ GLfloat minX
+ GLfloat minY
+ GLfloat minZ
+ GLfloat minW
+ GLfloat maxX
+ GLfloat maxY
+ GLfloat maxZ
+ GLfloat maxW
+
+
+
+ void glPrimitiveRestartIndex
+ GLuint index
+
+
+ void glPrimitiveRestartIndexNV
+ GLuint index
+
+
+
+ void glPrimitiveRestartNV
+
+
+
+ void glPrioritizeTextures
+ GLsizei n
+ const GLuint *textures
+ const GLfloat *priorities
+
+
+
+ void glPrioritizeTexturesEXT
+ GLsizei n
+ const GLuint *textures
+ const GLclampf *priorities
+
+
+
+
+ void glPrioritizeTexturesxOES
+ GLsizei n
+ const GLuint *textures
+ const GLfixed *priorities
+
+
+ void glProgramBinary
+ GLuint program
+ GLenum binaryFormat
+ const void *binary
+ GLsizei length
+
+
+ void glProgramBinaryOES
+ GLuint program
+ GLenum binaryFormat
+ const void *binary
+ GLint length
+
+
+
+ void glProgramBufferParametersIivNV
+ GLenum target
+ GLuint bindingIndex
+ GLuint wordIndex
+ GLsizei count
+ const GLint *params
+
+
+ void glProgramBufferParametersIuivNV
+ GLenum target
+ GLuint bindingIndex
+ GLuint wordIndex
+ GLsizei count
+ const GLuint *params
+
+
+ void glProgramBufferParametersfvNV
+ GLenum target
+ GLuint bindingIndex
+ GLuint wordIndex
+ GLsizei count
+ const GLfloat *params
+
+
+ void glProgramEnvParameter4dARB
+ GLenum target
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glProgramEnvParameter4dvARB
+ GLenum target
+ GLuint index
+ const GLdouble *params
+
+
+ void glProgramEnvParameter4fARB
+ GLenum target
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+ void glProgramEnvParameter4fvARB
+ GLenum target
+ GLuint index
+ const GLfloat *params
+
+
+ void glProgramEnvParameterI4iNV
+ GLenum target
+ GLuint index
+ GLint x
+ GLint y
+ GLint z
+ GLint w
+
+
+
+ void glProgramEnvParameterI4ivNV
+ GLenum target
+ GLuint index
+ const GLint *params
+
+
+ void glProgramEnvParameterI4uiNV
+ GLenum target
+ GLuint index
+ GLuint x
+ GLuint y
+ GLuint z
+ GLuint w
+
+
+
+ void glProgramEnvParameterI4uivNV
+ GLenum target
+ GLuint index
+ const GLuint *params
+
+
+ void glProgramEnvParameters4fvEXT
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLfloat *params
+
+
+
+ void glProgramEnvParametersI4ivNV
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLint *params
+
+
+ void glProgramEnvParametersI4uivNV
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLuint *params
+
+
+ void glProgramLocalParameter4dARB
+ GLenum target
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glProgramLocalParameter4dvARB
+ GLenum target
+ GLuint index
+ const GLdouble *params
+
+
+ void glProgramLocalParameter4fARB
+ GLenum target
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+ void glProgramLocalParameter4fvARB
+ GLenum target
+ GLuint index
+ const GLfloat *params
+
+
+ void glProgramLocalParameterI4iNV
+ GLenum target
+ GLuint index
+ GLint x
+ GLint y
+ GLint z
+ GLint w
+
+
+
+ void glProgramLocalParameterI4ivNV
+ GLenum target
+ GLuint index
+ const GLint *params
+
+
+ void glProgramLocalParameterI4uiNV
+ GLenum target
+ GLuint index
+ GLuint x
+ GLuint y
+ GLuint z
+ GLuint w
+
+
+
+ void glProgramLocalParameterI4uivNV
+ GLenum target
+ GLuint index
+ const GLuint *params
+
+
+ void glProgramLocalParameters4fvEXT
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLfloat *params
+
+
+
+ void glProgramLocalParametersI4ivNV
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLint *params
+
+
+ void glProgramLocalParametersI4uivNV
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLuint *params
+
+
+ void glProgramNamedParameter4dNV
+ GLuint id
+ GLsizei len
+ const GLubyte *name
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glProgramNamedParameter4dvNV
+ GLuint id
+ GLsizei len
+ const GLubyte *name
+ const GLdouble *v
+
+
+
+ void glProgramNamedParameter4fNV
+ GLuint id
+ GLsizei len
+ const GLubyte *name
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+ void glProgramNamedParameter4fvNV
+ GLuint id
+ GLsizei len
+ const GLubyte *name
+ const GLfloat *v
+
+
+
+ void glProgramParameter4dNV
+ GLenum target
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glProgramParameter4dvNV
+ GLenum target
+ GLuint index
+ const GLdouble *v
+
+
+
+ void glProgramParameter4fNV
+ GLenum target
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+ void glProgramParameter4fvNV
+ GLenum target
+ GLuint index
+ const GLfloat *v
+
+
+
+ void glProgramParameteri
+ GLuint program
+ GLenum pname
+ GLint value
+
+
+ void glProgramParameteriARB
+ GLuint program
+ GLenum pname
+ GLint value
+
+
+
+ void glProgramParameteriEXT
+ GLuint program
+ GLenum pname
+ GLint value
+
+
+
+ void glProgramParameters4dvNV
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLdouble *v
+
+
+
+ void glProgramParameters4fvNV
+ GLenum target
+ GLuint index
+ GLsizei count
+ const GLfloat *v
+
+
+
+ void glProgramPathFragmentInputGenNV
+ GLuint program
+ GLint location
+ GLenum genMode
+ GLint components
+ const GLfloat *coeffs
+
+
+ void glProgramStringARB
+ GLenum target
+ GLenum format
+ GLsizei len
+ const void *string
+
+
+ void glProgramSubroutineParametersuivNV
+ GLenum target
+ GLsizei count
+ const GLuint *params
+
+
+ void glProgramUniform1d
+ GLuint program
+ GLint location
+ GLdouble v0
+
+
+ void glProgramUniform1dEXT
+ GLuint program
+ GLint location
+ GLdouble x
+
+
+ void glProgramUniform1dv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glProgramUniform1dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glProgramUniform1f
+ GLuint program
+ GLint location
+ GLfloat v0
+
+
+ void glProgramUniform1fEXT
+ GLuint program
+ GLint location
+ GLfloat v0
+
+
+
+ void glProgramUniform1fv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glProgramUniform1fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+
+ void glProgramUniform1i
+ GLuint program
+ GLint location
+ GLint v0
+
+
+ void glProgramUniform1i64ARB
+ GLuint program
+ GLint location
+ GLint64 x
+
+
+ void glProgramUniform1i64NV
+ GLuint program
+ GLint location
+ GLint64EXT x
+
+
+ void glProgramUniform1i64vARB
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint64 *value
+
+
+ void glProgramUniform1i64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint64EXT *value
+
+
+ void glProgramUniform1iEXT
+ GLuint program
+ GLint location
+ GLint v0
+
+
+
+ void glProgramUniform1iv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glProgramUniform1ivEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+
+ void glProgramUniform1ui
+ GLuint program
+ GLint location
+ GLuint v0
+
+
+ void glProgramUniform1ui64ARB
+ GLuint program
+ GLint location
+ GLuint64 x
+
+
+ void glProgramUniform1ui64NV
+ GLuint program
+ GLint location
+ GLuint64EXT x
+
+
+ void glProgramUniform1ui64vARB
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glProgramUniform1ui64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glProgramUniform1uiEXT
+ GLuint program
+ GLint location
+ GLuint v0
+
+
+
+ void glProgramUniform1uiv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glProgramUniform1uivEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+
+ void glProgramUniform2d
+ GLuint program
+ GLint location
+ GLdouble v0
+ GLdouble v1
+
+
+ void glProgramUniform2dEXT
+ GLuint program
+ GLint location
+ GLdouble x
+ GLdouble y
+
+
+ void glProgramUniform2dv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glProgramUniform2dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glProgramUniform2f
+ GLuint program
+ GLint location
+ GLfloat v0
+ GLfloat v1
+
+
+ void glProgramUniform2fEXT
+ GLuint program
+ GLint location
+ GLfloat v0
+ GLfloat v1
+
+
+
+ void glProgramUniform2fv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glProgramUniform2fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+
+ void glProgramUniform2i
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+
+
+ void glProgramUniform2i64ARB
+ GLuint program
+ GLint location
+ GLint64 x
+ GLint64 y
+
+
+ void glProgramUniform2i64NV
+ GLuint program
+ GLint location
+ GLint64EXT x
+ GLint64EXT y
+
+
+ void glProgramUniform2i64vARB
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint64 *value
+
+
+ void glProgramUniform2i64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint64EXT *value
+
+
+ void glProgramUniform2iEXT
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+
+
+
+ void glProgramUniform2iv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glProgramUniform2ivEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+
+ void glProgramUniform2ui
+ GLuint program
+ GLint location
+ GLuint v0
+ GLuint v1
+
+
+ void glProgramUniform2ui64ARB
+ GLuint program
+ GLint location
+ GLuint64 x
+ GLuint64 y
+
+
+ void glProgramUniform2ui64NV
+ GLuint program
+ GLint location
+ GLuint64EXT x
+ GLuint64EXT y
+
+
+ void glProgramUniform2ui64vARB
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glProgramUniform2ui64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glProgramUniform2uiEXT
+ GLuint program
+ GLint location
+ GLuint v0
+ GLuint v1
+
+
+
+ void glProgramUniform2uiv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glProgramUniform2uivEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+
+ void glProgramUniform3d
+ GLuint program
+ GLint location
+ GLdouble v0
+ GLdouble v1
+ GLdouble v2
+
+
+ void glProgramUniform3dEXT
+ GLuint program
+ GLint location
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+ void glProgramUniform3dv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glProgramUniform3dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glProgramUniform3f
+ GLuint program
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+
+
+ void glProgramUniform3fEXT
+ GLuint program
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+
+
+
+ void glProgramUniform3fv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glProgramUniform3fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+
+ void glProgramUniform3i
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+
+
+ void glProgramUniform3i64ARB
+ GLuint program
+ GLint location
+ GLint64 x
+ GLint64 y
+ GLint64 z
+
+
+ void glProgramUniform3i64NV
+ GLuint program
+ GLint location
+ GLint64EXT x
+ GLint64EXT y
+ GLint64EXT z
+
+
+ void glProgramUniform3i64vARB
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint64 *value
+
+
+ void glProgramUniform3i64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint64EXT *value
+
+
+ void glProgramUniform3iEXT
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+
+
+
+ void glProgramUniform3iv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glProgramUniform3ivEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+
+ void glProgramUniform3ui
+ GLuint program
+ GLint location
+ GLuint v0
+ GLuint v1
+ GLuint v2
+
+
+ void glProgramUniform3ui64ARB
+ GLuint program
+ GLint location
+ GLuint64 x
+ GLuint64 y
+ GLuint64 z
+
+
+ void glProgramUniform3ui64NV
+ GLuint program
+ GLint location
+ GLuint64EXT x
+ GLuint64EXT y
+ GLuint64EXT z
+
+
+ void glProgramUniform3ui64vARB
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glProgramUniform3ui64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glProgramUniform3uiEXT
+ GLuint program
+ GLint location
+ GLuint v0
+ GLuint v1
+ GLuint v2
+
+
+
+ void glProgramUniform3uiv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glProgramUniform3uivEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+
+ void glProgramUniform4d
+ GLuint program
+ GLint location
+ GLdouble v0
+ GLdouble v1
+ GLdouble v2
+ GLdouble v3
+
+
+ void glProgramUniform4dEXT
+ GLuint program
+ GLint location
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+ void glProgramUniform4dv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glProgramUniform4dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glProgramUniform4f
+ GLuint program
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+ GLfloat v3
+
+
+ void glProgramUniform4fEXT
+ GLuint program
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+ GLfloat v3
+
+
+
+ void glProgramUniform4fv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glProgramUniform4fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+
+ void glProgramUniform4i
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+ GLint v3
+
+
+ void glProgramUniform4i64ARB
+ GLuint program
+ GLint location
+ GLint64 x
+ GLint64 y
+ GLint64 z
+ GLint64 w
+
+
+ void glProgramUniform4i64NV
+ GLuint program
+ GLint location
+ GLint64EXT x
+ GLint64EXT y
+ GLint64EXT z
+ GLint64EXT w
+
+
+ void glProgramUniform4i64vARB
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint64 *value
+
+
+ void glProgramUniform4i64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint64EXT *value
+
+
+ void glProgramUniform4iEXT
+ GLuint program
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+ GLint v3
+
+
+
+ void glProgramUniform4iv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glProgramUniform4ivEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+
+ void glProgramUniform4ui
+ GLuint program
+ GLint location
+ GLuint v0
+ GLuint v1
+ GLuint v2
+ GLuint v3
+
+
+ void glProgramUniform4ui64ARB
+ GLuint program
+ GLint location
+ GLuint64 x
+ GLuint64 y
+ GLuint64 z
+ GLuint64 w
+
+
+ void glProgramUniform4ui64NV
+ GLuint program
+ GLint location
+ GLuint64EXT x
+ GLuint64EXT y
+ GLuint64EXT z
+ GLuint64EXT w
+
+
+ void glProgramUniform4ui64vARB
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glProgramUniform4ui64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glProgramUniform4uiEXT
+ GLuint program
+ GLint location
+ GLuint v0
+ GLuint v1
+ GLuint v2
+ GLuint v3
+
+
+
+ void glProgramUniform4uiv
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glProgramUniform4uivEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+
+ void glProgramUniformHandleui64ARB
+ GLuint program
+ GLint location
+ GLuint64 value
+
+
+ void glProgramUniformHandleui64IMG
+ GLuint program
+ GLint location
+ GLuint64 value
+
+
+
+ void glProgramUniformHandleui64NV
+ GLuint program
+ GLint location
+ GLuint64 value
+
+
+ void glProgramUniformHandleui64vARB
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64 *values
+
+
+ void glProgramUniformHandleui64vIMG
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64 *values
+
+
+
+ void glProgramUniformHandleui64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64 *values
+
+
+ void glProgramUniformMatrix2dv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix2dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix2fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix2fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glProgramUniformMatrix2x3dv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix2x3dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix2x3fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix2x3fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glProgramUniformMatrix2x4dv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix2x4dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix2x4fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix2x4fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glProgramUniformMatrix3dv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix3dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix3fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix3fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glProgramUniformMatrix3x2dv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix3x2dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix3x2fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix3x2fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glProgramUniformMatrix3x4dv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix3x4dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix3x4fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix3x4fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glProgramUniformMatrix4dv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix4dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix4fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix4fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glProgramUniformMatrix4x2dv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix4x2dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix4x2fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix4x2fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glProgramUniformMatrix4x3dv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix4x3dvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glProgramUniformMatrix4x3fv
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glProgramUniformMatrix4x3fvEXT
+ GLuint program
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glProgramUniformui64NV
+ GLuint program
+ GLint location
+ GLuint64EXT value
+
+
+ void glProgramUniformui64vNV
+ GLuint program
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glProgramVertexLimitNV
+ GLenum target
+ GLint limit
+
+
+ void glProvokingVertex
+ GLenum mode
+
+
+ void glProvokingVertexEXT
+ GLenum mode
+
+
+
+ void glPushAttrib
+ GLbitfield mask
+
+
+
+ void glPushClientAttrib
+ GLbitfield mask
+
+
+ void glPushClientAttribDefaultEXT
+ GLbitfield mask
+
+
+ void glPushDebugGroup
+ GLenum source
+ GLuint id
+ GLsizei length
+ const GLchar *message
+
+
+ void glPushDebugGroupKHR
+ GLenum source
+ GLuint id
+ GLsizei length
+ const GLchar *message
+
+
+
+ void glPushGroupMarkerEXT
+ GLsizei length
+ const GLchar *marker
+
+
+ void glPushMatrix
+
+
+
+ void glPushName
+ GLuint name
+
+
+
+ void glQueryCounter
+ GLuint id
+ GLenum target
+
+
+ void glQueryCounterEXT
+ GLuint id
+ GLenum target
+
+
+
+ GLbitfield glQueryMatrixxOES
+ GLfixed *mantissa
+ GLint *exponent
+
+
+ void glQueryObjectParameteruiAMD
+ GLenum target
+ GLuint id
+ GLenum pname
+ GLuint param
+
+
+ GLint glQueryResourceNV
+ GLenum queryType
+ GLint tagId
+ GLuint bufSize
+ GLint *buffer
+
+
+ void glQueryResourceTagNV
+ GLint tagId
+ const GLchar *tagString
+
+
+ void glRasterPos2d
+ GLdouble x
+ GLdouble y
+
+
+
+ void glRasterPos2dv
+ const GLdouble *v
+
+
+
+ void glRasterPos2f
+ GLfloat x
+ GLfloat y
+
+
+
+ void glRasterPos2fv
+ const GLfloat *v
+
+
+
+ void glRasterPos2i
+ GLint x
+ GLint y
+
+
+
+ void glRasterPos2iv
+ const GLint *v
+
+
+
+ void glRasterPos2s
+ GLshort x
+ GLshort y
+
+
+
+ void glRasterPos2sv
+ const GLshort *v
+
+
+
+ void glRasterPos2xOES
+ GLfixed x
+ GLfixed y
+
+
+ void glRasterPos2xvOES
+ const GLfixed *coords
+
+
+ void glRasterPos3d
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+ void glRasterPos3dv
+ const GLdouble *v
+
+
+
+ void glRasterPos3f
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+ void glRasterPos3fv
+ const GLfloat *v
+
+
+
+ void glRasterPos3i
+ GLint x
+ GLint y
+ GLint z
+
+
+
+ void glRasterPos3iv
+ const GLint *v
+
+
+
+ void glRasterPos3s
+ GLshort x
+ GLshort y
+ GLshort z
+
+
+
+ void glRasterPos3sv
+ const GLshort *v
+
+
+
+ void glRasterPos3xOES
+ GLfixed x
+ GLfixed y
+ GLfixed z
+
+
+ void glRasterPos3xvOES
+ const GLfixed *coords
+
+
+ void glRasterPos4d
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glRasterPos4dv
+ const GLdouble *v
+
+
+
+ void glRasterPos4f
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+ void glRasterPos4fv
+ const GLfloat *v
+
+
+
+ void glRasterPos4i
+ GLint x
+ GLint y
+ GLint z
+ GLint w
+
+
+
+ void glRasterPos4iv
+ const GLint *v
+
+
+
+ void glRasterPos4s
+ GLshort x
+ GLshort y
+ GLshort z
+ GLshort w
+
+
+
+ void glRasterPos4sv
+ const GLshort *v
+
+
+
+ void glRasterPos4xOES
+ GLfixed x
+ GLfixed y
+ GLfixed z
+ GLfixed w
+
+
+ void glRasterPos4xvOES
+ const GLfixed *coords
+
+
+ void glRasterSamplesEXT
+ GLuint samples
+ GLboolean fixedsamplelocations
+
+
+ void glReadBuffer
+ GLenum src
+
+
+
+ void glReadBufferIndexedEXT
+ GLenum src
+ GLint index
+
+
+ void glReadBufferNV
+ GLenum mode
+
+
+ void glReadInstrumentsSGIX
+ GLint marker
+
+
+
+ void glReadPixels
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ void *pixels
+
+
+
+
+ void glReadnPixels
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *data
+
+
+ void glReadnPixelsARB
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *data
+
+
+
+ void glReadnPixelsEXT
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *data
+
+
+
+ void glReadnPixelsKHR
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ GLsizei bufSize
+ void *data
+
+
+
+ GLboolean glReleaseKeyedMutexWin32EXT
+ GLuint memory
+ GLuint64 key
+
+
+ void glRectd
+ GLdouble x1
+ GLdouble y1
+ GLdouble x2
+ GLdouble y2
+
+
+
+ void glRectdv
+ const GLdouble *v1
+ const GLdouble *v2
+
+
+
+ void glRectf
+ GLfloat x1
+ GLfloat y1
+ GLfloat x2
+ GLfloat y2
+
+
+
+ void glRectfv
+ const GLfloat *v1
+ const GLfloat *v2
+
+
+
+ void glRecti
+ GLint x1
+ GLint y1
+ GLint x2
+ GLint y2
+
+
+
+ void glRectiv
+ const GLint *v1
+ const GLint *v2
+
+
+
+ void glRects
+ GLshort x1
+ GLshort y1
+ GLshort x2
+ GLshort y2
+
+
+
+ void glRectsv
+ const GLshort *v1
+ const GLshort *v2
+
+
+
+ void glRectxOES
+ GLfixed x1
+ GLfixed y1
+ GLfixed x2
+ GLfixed y2
+
+
+ void glRectxvOES
+ const GLfixed *v1
+ const GLfixed *v2
+
+
+ void glReferencePlaneSGIX
+ const GLdouble *equation
+
+
+
+ void glReleaseShaderCompiler
+
+
+ void glRenderGpuMaskNV
+ GLbitfield mask
+
+
+ GLint glRenderMode
+ GLenum mode
+
+
+
+ void glRenderbufferStorage
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+
+ void glRenderbufferStorageEXT
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+
+
+ void glRenderbufferStorageMultisample
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+
+ void glRenderbufferStorageMultisampleANGLE
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glRenderbufferStorageMultisampleAPPLE
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glRenderbufferStorageMultisampleAdvancedAMD
+ GLenum target
+ GLsizei samples
+ GLsizei storageSamples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glRenderbufferStorageMultisampleCoverageNV
+ GLenum target
+ GLsizei coverageSamples
+ GLsizei colorSamples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glRenderbufferStorageMultisampleEXT
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+
+
+ void glRenderbufferStorageMultisampleIMG
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glRenderbufferStorageMultisampleNV
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+
+ void glRenderbufferStorageOES
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glReplacementCodePointerSUN
+ GLenum type
+ GLsizei stride
+ const void **pointer
+
+
+ void glReplacementCodeubSUN
+ GLubyte code
+
+
+ void glReplacementCodeubvSUN
+ const GLubyte *code
+
+
+ void glReplacementCodeuiColor3fVertex3fSUN
+ GLuint rc
+ GLfloat r
+ GLfloat g
+ GLfloat b
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glReplacementCodeuiColor3fVertex3fvSUN
+ const GLuint *rc
+ const GLfloat *c
+ const GLfloat *v
+
+
+ void glReplacementCodeuiColor4fNormal3fVertex3fSUN
+ GLuint rc
+ GLfloat r
+ GLfloat g
+ GLfloat b
+ GLfloat a
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glReplacementCodeuiColor4fNormal3fVertex3fvSUN
+ const GLuint *rc
+ const GLfloat *c
+ const GLfloat *n
+ const GLfloat *v
+
+
+ void glReplacementCodeuiColor4ubVertex3fSUN
+ GLuint rc
+ GLubyte r
+ GLubyte g
+ GLubyte b
+ GLubyte a
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glReplacementCodeuiColor4ubVertex3fvSUN
+ const GLuint *rc
+ const GLubyte *c
+ const GLfloat *v
+
+
+ void glReplacementCodeuiNormal3fVertex3fSUN
+ GLuint rc
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glReplacementCodeuiNormal3fVertex3fvSUN
+ const GLuint *rc
+ const GLfloat *n
+ const GLfloat *v
+
+
+ void glReplacementCodeuiSUN
+ GLuint code
+
+
+ void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN
+ GLuint rc
+ GLfloat s
+ GLfloat t
+ GLfloat r
+ GLfloat g
+ GLfloat b
+ GLfloat a
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN
+ const GLuint *rc
+ const GLfloat *tc
+ const GLfloat *c
+ const GLfloat *n
+ const GLfloat *v
+
+
+ void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN
+ GLuint rc
+ GLfloat s
+ GLfloat t
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN
+ const GLuint *rc
+ const GLfloat *tc
+ const GLfloat *n
+ const GLfloat *v
+
+
+ void glReplacementCodeuiTexCoord2fVertex3fSUN
+ GLuint rc
+ GLfloat s
+ GLfloat t
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glReplacementCodeuiTexCoord2fVertex3fvSUN
+ const GLuint *rc
+ const GLfloat *tc
+ const GLfloat *v
+
+
+ void glReplacementCodeuiVertex3fSUN
+ GLuint rc
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glReplacementCodeuiVertex3fvSUN
+ const GLuint *rc
+ const GLfloat *v
+
+
+ void glReplacementCodeuivSUN
+ const GLuint *code
+
+
+ void glReplacementCodeusSUN
+ GLushort code
+
+
+ void glReplacementCodeusvSUN
+ const GLushort *code
+
+
+ void glRequestResidentProgramsNV
+ GLsizei n
+ const GLuint *programs
+
+
+
+ void glResetHistogram
+ GLenum target
+
+
+
+ void glResetHistogramEXT
+ GLenum target
+
+
+
+
+ void glResetMemoryObjectParameterNV
+ GLuint memory
+ GLenum pname
+
+
+ void glResetMinmax
+ GLenum target
+
+
+
+ void glResetMinmaxEXT
+ GLenum target
+
+
+
+
+ void glResizeBuffersMESA
+
+
+ void glResolveDepthValuesNV
+
+
+ void glResolveMultisampleFramebufferAPPLE
+
+
+ void glResumeTransformFeedback
+
+
+ void glResumeTransformFeedbackNV
+
+
+
+ void glRotated
+ GLdouble angle
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+ void glRotatef
+ GLfloat angle
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+ void glRotatex
+ GLfixed angle
+ GLfixed x
+ GLfixed y
+ GLfixed z
+
+
+ void glRotatexOES
+ GLfixed angle
+ GLfixed x
+ GLfixed y
+ GLfixed z
+
+
+ void glSampleCoverage
+ GLfloat value
+ GLboolean invert
+
+
+
+ void glSampleCoverageARB
+ GLfloat value
+ GLboolean invert
+
+
+
+ void glSampleCoveragex
+ GLclampx value
+ GLboolean invert
+
+
+ void glSampleCoveragexOES
+ GLclampx value
+ GLboolean invert
+
+
+ void glSampleMapATI
+ GLuint dst
+ GLuint interp
+ GLenum swizzle
+
+
+ void glSampleMaskEXT
+ GLclampf value
+ GLboolean invert
+
+
+ void glSampleMaskIndexedNV
+ GLuint index
+ GLbitfield mask
+
+
+ void glSampleMaskSGIS
+ GLclampf value
+ GLboolean invert
+
+
+
+
+ void glSampleMaski
+ GLuint maskNumber
+ GLbitfield mask
+
+
+ void glSamplePatternEXT
+ GLenum pattern
+
+
+ void glSamplePatternSGIS
+ GLenum pattern
+
+
+
+
+ void glSamplerParameterIiv
+ GLuint sampler
+ GLenum pname
+ const GLint *param
+
+
+ void glSamplerParameterIivEXT
+ GLuint sampler
+ GLenum pname
+ const GLint *param
+
+
+
+ void glSamplerParameterIivOES
+ GLuint sampler
+ GLenum pname
+ const GLint *param
+
+
+
+ void glSamplerParameterIuiv
+ GLuint sampler
+ GLenum pname
+ const GLuint *param
+
+
+ void glSamplerParameterIuivEXT
+ GLuint sampler
+ GLenum pname
+ const GLuint *param
+
+
+
+ void glSamplerParameterIuivOES
+ GLuint sampler
+ GLenum pname
+ const GLuint *param
+
+
+
+ void glSamplerParameterf
+ GLuint sampler
+ GLenum pname
+ GLfloat param
+
+
+ void glSamplerParameterfv
+ GLuint sampler
+ GLenum pname
+ const GLfloat *param
+
+
+ void glSamplerParameteri
+ GLuint sampler
+ GLenum pname
+ GLint param
+
+
+ void glSamplerParameteriv
+ GLuint sampler
+ GLenum pname
+ const GLint *param
+
+
+ void glScaled
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+ void glScalef
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+ void glScalex
+ GLfixed x
+ GLfixed y
+ GLfixed z
+
+
+ void glScalexOES
+ GLfixed x
+ GLfixed y
+ GLfixed z
+
+
+ void glScissor
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+
+ void glScissorArrayv
+ GLuint first
+ GLsizei count
+ const GLint *v
+
+
+ void glScissorArrayvNV
+ GLuint first
+ GLsizei count
+ const GLint *v
+
+
+
+ void glScissorArrayvOES
+ GLuint first
+ GLsizei count
+ const GLint *v
+
+
+
+ void glScissorIndexed
+ GLuint index
+ GLint left
+ GLint bottom
+ GLsizei width
+ GLsizei height
+
+
+ void glScissorIndexedNV
+ GLuint index
+ GLint left
+ GLint bottom
+ GLsizei width
+ GLsizei height
+
+
+
+ void glScissorIndexedOES
+ GLuint index
+ GLint left
+ GLint bottom
+ GLsizei width
+ GLsizei height
+
+
+
+ void glScissorIndexedv
+ GLuint index
+ const GLint *v
+
+
+ void glScissorIndexedvNV
+ GLuint index
+ const GLint *v
+
+
+
+ void glScissorIndexedvOES
+ GLuint index
+ const GLint *v
+
+
+
+ void glSecondaryColor3b
+ GLbyte red
+ GLbyte green
+ GLbyte blue
+
+
+
+ void glSecondaryColor3bEXT
+ GLbyte red
+ GLbyte green
+ GLbyte blue
+
+
+
+
+ void glSecondaryColor3bv
+ const GLbyte *v
+
+
+
+ void glSecondaryColor3bvEXT
+ const GLbyte *v
+
+
+
+
+ void glSecondaryColor3d
+ GLdouble red
+ GLdouble green
+ GLdouble blue
+
+
+
+ void glSecondaryColor3dEXT
+ GLdouble red
+ GLdouble green
+ GLdouble blue
+
+
+
+
+ void glSecondaryColor3dv
+ const GLdouble *v
+
+
+
+ void glSecondaryColor3dvEXT
+ const GLdouble *v
+
+
+
+
+ void glSecondaryColor3f
+ GLfloat red
+ GLfloat green
+ GLfloat blue
+
+
+
+ void glSecondaryColor3fEXT
+ GLfloat red
+ GLfloat green
+ GLfloat blue
+
+
+
+
+ void glSecondaryColor3fv
+ const GLfloat *v
+
+
+
+ void glSecondaryColor3fvEXT
+ const GLfloat *v
+
+
+
+
+ void glSecondaryColor3hNV
+ GLhalfNV red
+ GLhalfNV green
+ GLhalfNV blue
+
+
+
+ void glSecondaryColor3hvNV
+ const GLhalfNV *v
+
+
+
+ void glSecondaryColor3i
+ GLint red
+ GLint green
+ GLint blue
+
+
+
+ void glSecondaryColor3iEXT
+ GLint red
+ GLint green
+ GLint blue
+
+
+
+
+ void glSecondaryColor3iv
+ const GLint *v
+
+
+
+ void glSecondaryColor3ivEXT
+ const GLint *v
+
+
+
+
+ void glSecondaryColor3s
+ GLshort red
+ GLshort green
+ GLshort blue
+
+
+
+ void glSecondaryColor3sEXT
+ GLshort red
+ GLshort green
+ GLshort blue
+
+
+
+
+ void glSecondaryColor3sv
+ const GLshort *v
+
+
+
+ void glSecondaryColor3svEXT
+ const GLshort *v
+
+
+
+
+ void glSecondaryColor3ub
+ GLubyte red
+ GLubyte green
+ GLubyte blue
+
+
+
+ void glSecondaryColor3ubEXT
+ GLubyte red
+ GLubyte green
+ GLubyte blue
+
+
+
+
+ void glSecondaryColor3ubv
+ const GLubyte *v
+
+
+
+ void glSecondaryColor3ubvEXT
+ const GLubyte *v
+
+
+
+
+ void glSecondaryColor3ui
+ GLuint red
+ GLuint green
+ GLuint blue
+
+
+
+ void glSecondaryColor3uiEXT
+ GLuint red
+ GLuint green
+ GLuint blue
+
+
+
+
+ void glSecondaryColor3uiv
+ const GLuint *v
+
+
+
+ void glSecondaryColor3uivEXT
+ const GLuint *v
+
+
+
+
+ void glSecondaryColor3us
+ GLushort red
+ GLushort green
+ GLushort blue
+
+
+
+ void glSecondaryColor3usEXT
+ GLushort red
+ GLushort green
+ GLushort blue
+
+
+
+
+ void glSecondaryColor3usv
+ const GLushort *v
+
+
+
+ void glSecondaryColor3usvEXT
+ const GLushort *v
+
+
+
+
+ void glSecondaryColorFormatNV
+ GLint size
+ GLenum type
+ GLsizei stride
+
+
+ void glSecondaryColorP3ui
+ GLenum type
+ GLuint color
+
+
+ void glSecondaryColorP3uiv
+ GLenum type
+ const GLuint *color
+
+
+ void glSecondaryColorPointer
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glSecondaryColorPointerEXT
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+
+ void glSecondaryColorPointerListIBM
+ GLint size
+ GLenum type
+ GLint stride
+ const void **pointer
+ GLint ptrstride
+
+
+ void glSelectBuffer
+ GLsizei size
+ GLuint *buffer
+
+
+
+ void glSelectPerfMonitorCountersAMD
+ GLuint monitor
+ GLboolean enable
+ GLuint group
+ GLint numCounters
+ GLuint *counterList
+
+
+ void glSemaphoreParameterui64vEXT
+ GLuint semaphore
+ GLenum pname
+ const GLuint64 *params
+
+
+ void glSeparableFilter2D
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *row
+ const void *column
+
+
+
+
+ void glSeparableFilter2DEXT
+ GLenum target
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *row
+ const void *column
+
+
+
+
+ void glSetFenceAPPLE
+ GLuint fence
+
+
+ void glSetFenceNV
+ GLuint fence
+ GLenum condition
+
+
+ void glSetFragmentShaderConstantATI
+ GLuint dst
+ const GLfloat *value
+
+
+ void glSetInvariantEXT
+ GLuint id
+ GLenum type
+ const void *addr
+
+
+ void glSetLocalConstantEXT
+ GLuint id
+ GLenum type
+ const void *addr
+
+
+ void glSetMultisamplefvAMD
+ GLenum pname
+ GLuint index
+ const GLfloat *val
+
+
+ void glShadeModel
+ GLenum mode
+
+
+
+ void glShaderBinary
+ GLsizei count
+ const GLuint *shaders
+ GLenum binaryformat
+ const void *binary
+ GLsizei length
+
+
+ void glShaderOp1EXT
+ GLenum op
+ GLuint res
+ GLuint arg1
+
+
+ void glShaderOp2EXT
+ GLenum op
+ GLuint res
+ GLuint arg1
+ GLuint arg2
+
+
+ void glShaderOp3EXT
+ GLenum op
+ GLuint res
+ GLuint arg1
+ GLuint arg2
+ GLuint arg3
+
+
+ void glShaderSource
+ GLuint shader
+ GLsizei count
+ const GLchar *const*string
+ const GLint *length
+
+
+ void glShaderSourceARB
+ GLhandleARB shaderObj
+ GLsizei count
+ const GLcharARB **string
+ const GLint *length
+
+
+
+ void glShaderStorageBlockBinding
+ GLuint program
+ GLuint storageBlockIndex
+ GLuint storageBlockBinding
+
+
+ void glSharpenTexFuncSGIS
+ GLenum target
+ GLsizei n
+ const GLfloat *points
+
+
+
+ void glSignalSemaphoreEXT
+ GLuint semaphore
+ GLuint numBufferBarriers
+ const GLuint *buffers
+ GLuint numTextureBarriers
+ const GLuint *textures
+ const GLenum *dstLayouts
+
+
+ void glSpecializeShader
+ GLuint shader
+ const GLchar *pEntryPoint
+ GLuint numSpecializationConstants
+ const GLuint *pConstantIndex
+ const GLuint *pConstantValue
+
+
+ void glSpecializeShaderARB
+ GLuint shader
+ const GLchar *pEntryPoint
+ GLuint numSpecializationConstants
+ const GLuint *pConstantIndex
+ const GLuint *pConstantValue
+
+
+
+ void glSpriteParameterfSGIX
+ GLenum pname
+ GLfloat param
+
+
+
+ void glSpriteParameterfvSGIX
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glSpriteParameteriSGIX
+ GLenum pname
+ GLint param
+
+
+
+ void glSpriteParameterivSGIX
+ GLenum pname
+ const GLint *params
+
+
+
+ void glStartInstrumentsSGIX
+
+
+
+ void glStartTilingQCOM
+ GLuint x
+ GLuint y
+ GLuint width
+ GLuint height
+ GLbitfield preserveMask
+
+
+ void glStateCaptureNV
+ GLuint state
+ GLenum mode
+
+
+ void glStencilClearTagEXT
+ GLsizei stencilTagBits
+ GLuint stencilClearTag
+
+
+
+ void glStencilFillPathInstancedNV
+ GLsizei numPaths
+ GLenum pathNameType
+ const void *paths
+ GLuint pathBase
+ GLenum fillMode
+ GLuint mask
+ GLenum transformType
+ const GLfloat *transformValues
+
+
+ void glStencilFillPathNV
+ GLuint path
+ GLenum fillMode
+ GLuint mask
+
+
+ void glStencilFunc
+ GLenum func
+ GLint ref
+ GLuint mask
+
+
+
+ void glStencilFuncSeparate
+ GLenum face
+ GLenum func
+ GLint ref
+ GLuint mask
+
+
+ void glStencilFuncSeparateATI
+ GLenum frontfunc
+ GLenum backfunc
+ GLint ref
+ GLuint mask
+
+
+ void glStencilMask
+ GLuint mask
+
+
+
+ void glStencilMaskSeparate
+ GLenum face
+ GLuint mask
+
+
+ void glStencilOp
+ GLenum fail
+ GLenum zfail
+ GLenum zpass
+
+
+
+ void glStencilOpSeparate
+ GLenum face
+ GLenum sfail
+ GLenum dpfail
+ GLenum dppass
+
+
+ void glStencilOpSeparateATI
+ GLenum face
+ GLenum sfail
+ GLenum dpfail
+ GLenum dppass
+
+
+
+ void glStencilOpValueAMD
+ GLenum face
+ GLuint value
+
+
+ void glStencilStrokePathInstancedNV
+ GLsizei numPaths
+ GLenum pathNameType
+ const void *paths
+ GLuint pathBase
+ GLint reference
+ GLuint mask
+ GLenum transformType
+ const GLfloat *transformValues
+
+
+ void glStencilStrokePathNV
+ GLuint path
+ GLint reference
+ GLuint mask
+
+
+ void glStencilThenCoverFillPathInstancedNV
+ GLsizei numPaths
+ GLenum pathNameType
+ const void *paths
+ GLuint pathBase
+ GLenum fillMode
+ GLuint mask
+ GLenum coverMode
+ GLenum transformType
+ const GLfloat *transformValues
+
+
+ void glStencilThenCoverFillPathNV
+ GLuint path
+ GLenum fillMode
+ GLuint mask
+ GLenum coverMode
+
+
+ void glStencilThenCoverStrokePathInstancedNV
+ GLsizei numPaths
+ GLenum pathNameType
+ const void *paths
+ GLuint pathBase
+ GLint reference
+ GLuint mask
+ GLenum coverMode
+ GLenum transformType
+ const GLfloat *transformValues
+
+
+ void glStencilThenCoverStrokePathNV
+ GLuint path
+ GLint reference
+ GLuint mask
+ GLenum coverMode
+
+
+ void glStopInstrumentsSGIX
+ GLint marker
+
+
+
+ void glStringMarkerGREMEDY
+ GLsizei len
+ const void *string
+
+
+ void glSubpixelPrecisionBiasNV
+ GLuint xbits
+ GLuint ybits
+
+
+ void glSwizzleEXT
+ GLuint res
+ GLuint in
+ GLenum outX
+ GLenum outY
+ GLenum outZ
+ GLenum outW
+
+
+ void glSyncTextureINTEL
+ GLuint texture
+
+
+ void glTagSampleBufferSGIX
+
+
+
+ void glTangent3bEXT
+ GLbyte tx
+ GLbyte ty
+ GLbyte tz
+
+
+
+ void glTangent3bvEXT
+ const GLbyte *v
+
+
+ void glTangent3dEXT
+ GLdouble tx
+ GLdouble ty
+ GLdouble tz
+
+
+
+ void glTangent3dvEXT
+ const GLdouble *v
+
+
+ void glTangent3fEXT
+ GLfloat tx
+ GLfloat ty
+ GLfloat tz
+
+
+
+ void glTangent3fvEXT
+ const GLfloat *v
+
+
+ void glTangent3iEXT
+ GLint tx
+ GLint ty
+ GLint tz
+
+
+
+ void glTangent3ivEXT
+ const GLint *v
+
+
+ void glTangent3sEXT
+ GLshort tx
+ GLshort ty
+ GLshort tz
+
+
+
+ void glTangent3svEXT
+ const GLshort *v
+
+
+ void glTangentPointerEXT
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glTbufferMask3DFX
+ GLuint mask
+
+
+ void glTessellationFactorAMD
+ GLfloat factor
+
+
+ void glTessellationModeAMD
+ GLenum mode
+
+
+ GLboolean glTestFenceAPPLE
+ GLuint fence
+
+
+ GLboolean glTestFenceNV
+ GLuint fence
+
+
+
+ GLboolean glTestObjectAPPLE
+ GLenum object
+ GLuint name
+
+
+ void glTexAttachMemoryNV
+ GLenum target
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTexBuffer
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+
+
+ void glTexBufferARB
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+
+
+
+
+ void glTexBufferEXT
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+
+
+
+ void glTexBufferOES
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+
+
+
+ void glTexBufferRange
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+
+
+ void glTexBufferRangeEXT
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+
+
+
+ void glTexBufferRangeOES
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+
+
+
+ void glTexBumpParameterfvATI
+ GLenum pname
+ const GLfloat *param
+
+
+ void glTexBumpParameterivATI
+ GLenum pname
+ const GLint *param
+
+
+ void glTexCoord1bOES
+ GLbyte s
+
+
+ void glTexCoord1bvOES
+ const GLbyte *coords
+
+
+ void glTexCoord1d
+ GLdouble s
+
+
+
+ void glTexCoord1dv
+ const GLdouble *v
+
+
+
+ void glTexCoord1f
+ GLfloat s
+
+
+
+ void glTexCoord1fv
+ const GLfloat *v
+
+
+
+ void glTexCoord1hNV
+ GLhalfNV s
+
+
+
+ void glTexCoord1hvNV
+ const GLhalfNV *v
+
+
+
+ void glTexCoord1i
+ GLint s
+
+
+
+ void glTexCoord1iv
+ const GLint *v
+
+
+
+ void glTexCoord1s
+ GLshort s
+
+
+
+ void glTexCoord1sv
+ const GLshort *v
+
+
+
+ void glTexCoord1xOES
+ GLfixed s
+
+
+ void glTexCoord1xvOES
+ const GLfixed *coords
+
+
+ void glTexCoord2bOES
+ GLbyte s
+ GLbyte t
+
+
+ void glTexCoord2bvOES
+ const GLbyte *coords
+
+
+ void glTexCoord2d
+ GLdouble s
+ GLdouble t
+
+
+
+ void glTexCoord2dv
+ const GLdouble *v
+
+
+
+ void glTexCoord2f
+ GLfloat s
+ GLfloat t
+
+
+
+ void glTexCoord2fColor3fVertex3fSUN
+ GLfloat s
+ GLfloat t
+ GLfloat r
+ GLfloat g
+ GLfloat b
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glTexCoord2fColor3fVertex3fvSUN
+ const GLfloat *tc
+ const GLfloat *c
+ const GLfloat *v
+
+
+ void glTexCoord2fColor4fNormal3fVertex3fSUN
+ GLfloat s
+ GLfloat t
+ GLfloat r
+ GLfloat g
+ GLfloat b
+ GLfloat a
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glTexCoord2fColor4fNormal3fVertex3fvSUN
+ const GLfloat *tc
+ const GLfloat *c
+ const GLfloat *n
+ const GLfloat *v
+
+
+ void glTexCoord2fColor4ubVertex3fSUN
+ GLfloat s
+ GLfloat t
+ GLubyte r
+ GLubyte g
+ GLubyte b
+ GLubyte a
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glTexCoord2fColor4ubVertex3fvSUN
+ const GLfloat *tc
+ const GLubyte *c
+ const GLfloat *v
+
+
+ void glTexCoord2fNormal3fVertex3fSUN
+ GLfloat s
+ GLfloat t
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glTexCoord2fNormal3fVertex3fvSUN
+ const GLfloat *tc
+ const GLfloat *n
+ const GLfloat *v
+
+
+ void glTexCoord2fVertex3fSUN
+ GLfloat s
+ GLfloat t
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glTexCoord2fVertex3fvSUN
+ const GLfloat *tc
+ const GLfloat *v
+
+
+ void glTexCoord2fv
+ const GLfloat *v
+
+
+
+ void glTexCoord2hNV
+ GLhalfNV s
+ GLhalfNV t
+
+
+
+ void glTexCoord2hvNV
+ const GLhalfNV *v
+
+
+
+ void glTexCoord2i
+ GLint s
+ GLint t
+
+
+
+ void glTexCoord2iv
+ const GLint *v
+
+
+
+ void glTexCoord2s
+ GLshort s
+ GLshort t
+
+
+
+ void glTexCoord2sv
+ const GLshort *v
+
+
+
+ void glTexCoord2xOES
+ GLfixed s
+ GLfixed t
+
+
+ void glTexCoord2xvOES
+ const GLfixed *coords
+
+
+ void glTexCoord3bOES
+ GLbyte s
+ GLbyte t
+ GLbyte r
+
+
+ void glTexCoord3bvOES
+ const GLbyte *coords
+
+
+ void glTexCoord3d
+ GLdouble s
+ GLdouble t
+ GLdouble r
+
+
+
+ void glTexCoord3dv
+ const GLdouble *v
+
+
+
+ void glTexCoord3f
+ GLfloat s
+ GLfloat t
+ GLfloat r
+
+
+
+ void glTexCoord3fv
+ const GLfloat *v
+
+
+
+ void glTexCoord3hNV
+ GLhalfNV s
+ GLhalfNV t
+ GLhalfNV r
+
+
+
+ void glTexCoord3hvNV
+ const GLhalfNV *v
+
+
+
+ void glTexCoord3i
+ GLint s
+ GLint t
+ GLint r
+
+
+
+ void glTexCoord3iv
+ const GLint *v
+
+
+
+ void glTexCoord3s
+ GLshort s
+ GLshort t
+ GLshort r
+
+
+
+ void glTexCoord3sv
+ const GLshort *v
+
+
+
+ void glTexCoord3xOES
+ GLfixed s
+ GLfixed t
+ GLfixed r
+
+
+ void glTexCoord3xvOES
+ const GLfixed *coords
+
+
+ void glTexCoord4bOES
+ GLbyte s
+ GLbyte t
+ GLbyte r
+ GLbyte q
+
+
+ void glTexCoord4bvOES
+ const GLbyte *coords
+
+
+ void glTexCoord4d
+ GLdouble s
+ GLdouble t
+ GLdouble r
+ GLdouble q
+
+
+
+ void glTexCoord4dv
+ const GLdouble *v
+
+
+
+ void glTexCoord4f
+ GLfloat s
+ GLfloat t
+ GLfloat r
+ GLfloat q
+
+
+
+ void glTexCoord4fColor4fNormal3fVertex4fSUN
+ GLfloat s
+ GLfloat t
+ GLfloat p
+ GLfloat q
+ GLfloat r
+ GLfloat g
+ GLfloat b
+ GLfloat a
+ GLfloat nx
+ GLfloat ny
+ GLfloat nz
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+ void glTexCoord4fColor4fNormal3fVertex4fvSUN
+ const GLfloat *tc
+ const GLfloat *c
+ const GLfloat *n
+ const GLfloat *v
+
+
+ void glTexCoord4fVertex4fSUN
+ GLfloat s
+ GLfloat t
+ GLfloat p
+ GLfloat q
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+ void glTexCoord4fVertex4fvSUN
+ const GLfloat *tc
+ const GLfloat *v
+
+
+ void glTexCoord4fv
+ const GLfloat *v
+
+
+
+ void glTexCoord4hNV
+ GLhalfNV s
+ GLhalfNV t
+ GLhalfNV r
+ GLhalfNV q
+
+
+
+ void glTexCoord4hvNV
+ const GLhalfNV *v
+
+
+
+ void glTexCoord4i
+ GLint s
+ GLint t
+ GLint r
+ GLint q
+
+
+
+ void glTexCoord4iv
+ const GLint *v
+
+
+
+ void glTexCoord4s
+ GLshort s
+ GLshort t
+ GLshort r
+ GLshort q
+
+
+
+ void glTexCoord4sv
+ const GLshort *v
+
+
+
+ void glTexCoord4xOES
+ GLfixed s
+ GLfixed t
+ GLfixed r
+ GLfixed q
+
+
+ void glTexCoord4xvOES
+ const GLfixed *coords
+
+
+ void glTexCoordFormatNV
+ GLint size
+ GLenum type
+ GLsizei stride
+
+
+ void glTexCoordP1ui
+ GLenum type
+ GLuint coords
+
+
+ void glTexCoordP1uiv
+ GLenum type
+ const GLuint *coords
+
+
+ void glTexCoordP2ui
+ GLenum type
+ GLuint coords
+
+
+ void glTexCoordP2uiv
+ GLenum type
+ const GLuint *coords
+
+
+ void glTexCoordP3ui
+ GLenum type
+ GLuint coords
+
+
+ void glTexCoordP3uiv
+ GLenum type
+ const GLuint *coords
+
+
+ void glTexCoordP4ui
+ GLenum type
+ GLuint coords
+
+
+ void glTexCoordP4uiv
+ GLenum type
+ const GLuint *coords
+
+
+ void glTexCoordPointer
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glTexCoordPointerEXT
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLsizei count
+ const void *pointer
+
+
+ void glTexCoordPointerListIBM
+ GLint size
+ GLenum type
+ GLint stride
+ const void **pointer
+ GLint ptrstride
+
+
+ void glTexCoordPointervINTEL
+ GLint size
+ GLenum type
+ const void **pointer
+
+
+ void glTexEnvf
+ GLenum target
+ GLenum pname
+ GLfloat param
+
+
+
+ void glTexEnvfv
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glTexEnvi
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+
+ void glTexEnviv
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+
+ void glTexEnvx
+ GLenum target
+ GLenum pname
+ GLfixed param
+
+
+ void glTexEnvxOES
+ GLenum target
+ GLenum pname
+ GLfixed param
+
+
+ void glTexEnvxv
+ GLenum target
+ GLenum pname
+ const GLfixed *params
+
+
+ void glTexEnvxvOES
+ GLenum target
+ GLenum pname
+ const GLfixed *params
+
+
+ void glTexFilterFuncSGIS
+ GLenum target
+ GLenum filter
+ GLsizei n
+ const GLfloat *weights
+
+
+
+ void glTexGend
+ GLenum coord
+ GLenum pname
+ GLdouble param
+
+
+
+ void glTexGendv
+ GLenum coord
+ GLenum pname
+ const GLdouble *params
+
+
+
+ void glTexGenf
+ GLenum coord
+ GLenum pname
+ GLfloat param
+
+
+
+ void glTexGenfOES
+ GLenum coord
+ GLenum pname
+ GLfloat param
+
+
+ void glTexGenfv
+ GLenum coord
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glTexGenfvOES
+ GLenum coord
+ GLenum pname
+ const GLfloat *params
+
+
+ void glTexGeni
+ GLenum coord
+ GLenum pname
+ GLint param
+
+
+
+ void glTexGeniOES
+ GLenum coord
+ GLenum pname
+ GLint param
+
+
+ void glTexGeniv
+ GLenum coord
+ GLenum pname
+ const GLint *params
+
+
+
+ void glTexGenivOES
+ GLenum coord
+ GLenum pname
+ const GLint *params
+
+
+ void glTexGenxOES
+ GLenum coord
+ GLenum pname
+ GLfixed param
+
+
+ void glTexGenxvOES
+ GLenum coord
+ GLenum pname
+ const GLfixed *params
+
+
+ void glTexImage1D
+ GLenum target
+ GLint level
+ GLint internalformat
+ GLsizei width
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexImage2D
+ GLenum target
+ GLint level
+ GLint internalformat
+ GLsizei width
+ GLsizei height
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexImage2DMultisample
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedsamplelocations
+
+
+ void glTexImage2DMultisampleCoverageNV
+ GLenum target
+ GLsizei coverageSamples
+ GLsizei colorSamples
+ GLint internalFormat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedSampleLocations
+
+
+ void glTexImage3D
+ GLenum target
+ GLint level
+ GLint internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexImage3DEXT
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexImage3DMultisample
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedsamplelocations
+
+
+ void glTexImage3DMultisampleCoverageNV
+ GLenum target
+ GLsizei coverageSamples
+ GLsizei colorSamples
+ GLint internalFormat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedSampleLocations
+
+
+ void glTexImage3DOES
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTexImage4DSGIS
+ GLenum target
+ GLint level
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLsizei size4d
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+ void glTexPageCommitmentARB
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean commit
+
+
+ void glTexPageCommitmentEXT
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean commit
+
+
+
+ void glTexParameterIiv
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+
+ void glTexParameterIivEXT
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+
+ void glTexParameterIivOES
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+
+ void glTexParameterIuiv
+ GLenum target
+ GLenum pname
+ const GLuint *params
+
+
+
+ void glTexParameterIuivEXT
+ GLenum target
+ GLenum pname
+ const GLuint *params
+
+
+
+ void glTexParameterIuivOES
+ GLenum target
+ GLenum pname
+ const GLuint *params
+
+
+
+ void glTexParameterf
+ GLenum target
+ GLenum pname
+ GLfloat param
+
+
+
+ void glTexParameterfv
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+
+ void glTexParameteri
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+
+ void glTexParameteriv
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+
+ void glTexParameterx
+ GLenum target
+ GLenum pname
+ GLfixed param
+
+
+ void glTexParameterxOES
+ GLenum target
+ GLenum pname
+ GLfixed param
+
+
+ void glTexParameterxv
+ GLenum target
+ GLenum pname
+ const GLfixed *params
+
+
+ void glTexParameterxvOES
+ GLenum target
+ GLenum pname
+ const GLfixed *params
+
+
+ void glTexRenderbufferNV
+ GLenum target
+ GLuint renderbuffer
+
+
+ void glTexStorage1D
+ GLenum target
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+
+
+ void glTexStorage1DEXT
+ GLenum target
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+
+
+
+ void glTexStorage2D
+ GLenum target
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glTexStorage2DEXT
+ GLenum target
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+
+ void glTexStorage2DMultisample
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedsamplelocations
+
+
+ void glTexStorage3D
+ GLenum target
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+
+
+ void glTexStorage3DEXT
+ GLenum target
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+
+
+
+ void glTexStorage3DMultisample
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedsamplelocations
+
+
+ void glTexStorage3DMultisampleOES
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedsamplelocations
+
+
+
+ void glTexStorageMem1DEXT
+ GLenum target
+ GLsizei levels
+ GLenum internalFormat
+ GLsizei width
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTexStorageMem2DEXT
+ GLenum target
+ GLsizei levels
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTexStorageMem2DMultisampleEXT
+ GLenum target
+ GLsizei samples
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedSampleLocations
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTexStorageMem3DEXT
+ GLenum target
+ GLsizei levels
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTexStorageMem3DMultisampleEXT
+ GLenum target
+ GLsizei samples
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedSampleLocations
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTexStorageSparseAMD
+ GLenum target
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLsizei layers
+ GLbitfield flags
+
+
+ void glTexSubImage1D
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexSubImage1DEXT
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexSubImage2D
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexSubImage2DEXT
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexSubImage3D
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexSubImage3DEXT
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+
+ void glTexSubImage3DOES
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTexSubImage4DSGIS
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLint woffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLsizei size4d
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+
+ void glTextureAttachMemoryNV
+ GLuint texture
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTextureBarrier
+
+
+ void glTextureBarrierNV
+
+
+
+ void glTextureBuffer
+ GLuint texture
+ GLenum internalformat
+ GLuint buffer
+
+
+ void glTextureBufferEXT
+ GLuint texture
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+
+
+ void glTextureBufferRange
+ GLuint texture
+ GLenum internalformat
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+
+
+ void glTextureBufferRangeEXT
+ GLuint texture
+ GLenum target
+ GLenum internalformat
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+
+
+ void glTextureColorMaskSGIS
+ GLboolean red
+ GLboolean green
+ GLboolean blue
+ GLboolean alpha
+
+
+
+ void glTextureFoveationParametersQCOM
+ GLuint texture
+ GLuint layer
+ GLuint focalPoint
+ GLfloat focalX
+ GLfloat focalY
+ GLfloat gainX
+ GLfloat gainY
+ GLfloat foveaArea
+
+
+ void glTextureImage1DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint internalformat
+ GLsizei width
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTextureImage2DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint internalformat
+ GLsizei width
+ GLsizei height
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTextureImage2DMultisampleCoverageNV
+ GLuint texture
+ GLenum target
+ GLsizei coverageSamples
+ GLsizei colorSamples
+ GLint internalFormat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedSampleLocations
+
+
+ void glTextureImage2DMultisampleNV
+ GLuint texture
+ GLenum target
+ GLsizei samples
+ GLint internalFormat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedSampleLocations
+
+
+ void glTextureImage3DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLint border
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTextureImage3DMultisampleCoverageNV
+ GLuint texture
+ GLenum target
+ GLsizei coverageSamples
+ GLsizei colorSamples
+ GLint internalFormat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedSampleLocations
+
+
+ void glTextureImage3DMultisampleNV
+ GLuint texture
+ GLenum target
+ GLsizei samples
+ GLint internalFormat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedSampleLocations
+
+
+ void glTextureLightEXT
+ GLenum pname
+
+
+ void glTextureMaterialEXT
+ GLenum face
+ GLenum mode
+
+
+ void glTextureNormalEXT
+ GLenum mode
+
+
+ void glTexturePageCommitmentEXT
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean commit
+
+
+ void glTextureParameterIiv
+ GLuint texture
+ GLenum pname
+ const GLint *params
+
+
+ void glTextureParameterIivEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+ void glTextureParameterIuiv
+ GLuint texture
+ GLenum pname
+ const GLuint *params
+
+
+ void glTextureParameterIuivEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ const GLuint *params
+
+
+ void glTextureParameterf
+ GLuint texture
+ GLenum pname
+ GLfloat param
+
+
+ void glTextureParameterfEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ GLfloat param
+
+
+
+ void glTextureParameterfv
+ GLuint texture
+ GLenum pname
+ const GLfloat *param
+
+
+ void glTextureParameterfvEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ const GLfloat *params
+
+
+ void glTextureParameteri
+ GLuint texture
+ GLenum pname
+ GLint param
+
+
+ void glTextureParameteriEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ GLint param
+
+
+
+ void glTextureParameteriv
+ GLuint texture
+ GLenum pname
+ const GLint *param
+
+
+ void glTextureParameterivEXT
+ GLuint texture
+ GLenum target
+ GLenum pname
+ const GLint *params
+
+
+ void glTextureRangeAPPLE
+ GLenum target
+ GLsizei length
+ const void *pointer
+
+
+ void glTextureRenderbufferEXT
+ GLuint texture
+ GLenum target
+ GLuint renderbuffer
+
+
+ void glTextureStorage1D
+ GLuint texture
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+
+
+ void glTextureStorage1DEXT
+ GLuint texture
+ GLenum target
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+
+
+ void glTextureStorage2D
+ GLuint texture
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glTextureStorage2DEXT
+ GLuint texture
+ GLenum target
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+
+
+ void glTextureStorage2DMultisample
+ GLuint texture
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedsamplelocations
+
+
+ void glTextureStorage2DMultisampleEXT
+ GLuint texture
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedsamplelocations
+
+
+ void glTextureStorage3D
+ GLuint texture
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+
+
+ void glTextureStorage3DEXT
+ GLuint texture
+ GLenum target
+ GLsizei levels
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+
+
+ void glTextureStorage3DMultisample
+ GLuint texture
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedsamplelocations
+
+
+ void glTextureStorage3DMultisampleEXT
+ GLuint texture
+ GLenum target
+ GLsizei samples
+ GLenum internalformat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedsamplelocations
+
+
+ void glTextureStorageMem1DEXT
+ GLuint texture
+ GLsizei levels
+ GLenum internalFormat
+ GLsizei width
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTextureStorageMem2DEXT
+ GLuint texture
+ GLsizei levels
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTextureStorageMem2DMultisampleEXT
+ GLuint texture
+ GLsizei samples
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLboolean fixedSampleLocations
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTextureStorageMem3DEXT
+ GLuint texture
+ GLsizei levels
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTextureStorageMem3DMultisampleEXT
+ GLuint texture
+ GLsizei samples
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLboolean fixedSampleLocations
+ GLuint memory
+ GLuint64 offset
+
+
+ void glTextureStorageSparseAMD
+ GLuint texture
+ GLenum target
+ GLenum internalFormat
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLsizei layers
+ GLbitfield flags
+
+
+ void glTextureSubImage1D
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTextureSubImage1DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLsizei width
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTextureSubImage2D
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTextureSubImage2DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLsizei width
+ GLsizei height
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTextureSubImage3D
+ GLuint texture
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTextureSubImage3DEXT
+ GLuint texture
+ GLenum target
+ GLint level
+ GLint xoffset
+ GLint yoffset
+ GLint zoffset
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+ GLenum format
+ GLenum type
+ const void *pixels
+
+
+ void glTextureView
+ GLuint texture
+ GLenum target
+ GLuint origtexture
+ GLenum internalformat
+ GLuint minlevel
+ GLuint numlevels
+ GLuint minlayer
+ GLuint numlayers
+
+
+ void glTextureViewEXT
+ GLuint texture
+ GLenum target
+ GLuint origtexture
+ GLenum internalformat
+ GLuint minlevel
+ GLuint numlevels
+ GLuint minlayer
+ GLuint numlayers
+
+
+
+ void glTextureViewOES
+ GLuint texture
+ GLenum target
+ GLuint origtexture
+ GLenum internalformat
+ GLuint minlevel
+ GLuint numlevels
+ GLuint minlayer
+ GLuint numlayers
+
+
+
+ void glTrackMatrixNV
+ GLenum target
+ GLuint address
+ GLenum matrix
+ GLenum transform
+
+
+
+ void glTransformFeedbackAttribsNV
+ GLsizei count
+ const GLint *attribs
+ GLenum bufferMode
+
+
+ void glTransformFeedbackBufferBase
+ GLuint xfb
+ GLuint index
+ GLuint buffer
+
+
+ void glTransformFeedbackBufferRange
+ GLuint xfb
+ GLuint index
+ GLuint buffer
+ GLintptr offset
+ GLsizeiptr size
+
+
+ void glTransformFeedbackStreamAttribsNV
+ GLsizei count
+ const GLint *attribs
+ GLsizei nbuffers
+ const GLint *bufstreams
+ GLenum bufferMode
+
+
+ void glTransformFeedbackVaryings
+ GLuint program
+ GLsizei count
+ const GLchar *const*varyings
+ GLenum bufferMode
+
+
+
+ void glTransformFeedbackVaryingsEXT
+ GLuint program
+ GLsizei count
+ const GLchar *const*varyings
+ GLenum bufferMode
+
+
+
+ void glTransformFeedbackVaryingsNV
+ GLuint program
+ GLsizei count
+ const GLint *locations
+ GLenum bufferMode
+
+
+ void glTransformPathNV
+ GLuint resultPath
+ GLuint srcPath
+ GLenum transformType
+ const GLfloat *transformValues
+
+
+ void glTranslated
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+ void glTranslatef
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+ void glTranslatex
+ GLfixed x
+ GLfixed y
+ GLfixed z
+
+
+ void glTranslatexOES
+ GLfixed x
+ GLfixed y
+ GLfixed z
+
+
+ void glUniform1d
+ GLint location
+ GLdouble x
+
+
+ void glUniform1dv
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glUniform1f
+ GLint location
+ GLfloat v0
+
+
+ void glUniform1fARB
+ GLint location
+ GLfloat v0
+
+
+
+ void glUniform1fv
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glUniform1fvARB
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+
+ void glUniform1i
+ GLint location
+ GLint v0
+
+
+ void glUniform1i64ARB
+ GLint location
+ GLint64 x
+
+
+ void glUniform1i64NV
+ GLint location
+ GLint64EXT x
+
+
+ void glUniform1i64vARB
+ GLint location
+ GLsizei count
+ const GLint64 *value
+
+
+ void glUniform1i64vNV
+ GLint location
+ GLsizei count
+ const GLint64EXT *value
+
+
+ void glUniform1iARB
+ GLint location
+ GLint v0
+
+
+
+ void glUniform1iv
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glUniform1ivARB
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+
+ void glUniform1ui
+ GLint location
+ GLuint v0
+
+
+ void glUniform1ui64ARB
+ GLint location
+ GLuint64 x
+
+
+ void glUniform1ui64NV
+ GLint location
+ GLuint64EXT x
+
+
+ void glUniform1ui64vARB
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glUniform1ui64vNV
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glUniform1uiEXT
+ GLint location
+ GLuint v0
+
+
+
+ void glUniform1uiv
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glUniform1uivEXT
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+
+ void glUniform2d
+ GLint location
+ GLdouble x
+ GLdouble y
+
+
+ void glUniform2dv
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glUniform2f
+ GLint location
+ GLfloat v0
+ GLfloat v1
+
+
+ void glUniform2fARB
+ GLint location
+ GLfloat v0
+ GLfloat v1
+
+
+
+ void glUniform2fv
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glUniform2fvARB
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+
+ void glUniform2i
+ GLint location
+ GLint v0
+ GLint v1
+
+
+ void glUniform2i64ARB
+ GLint location
+ GLint64 x
+ GLint64 y
+
+
+ void glUniform2i64NV
+ GLint location
+ GLint64EXT x
+ GLint64EXT y
+
+
+ void glUniform2i64vARB
+ GLint location
+ GLsizei count
+ const GLint64 *value
+
+
+ void glUniform2i64vNV
+ GLint location
+ GLsizei count
+ const GLint64EXT *value
+
+
+ void glUniform2iARB
+ GLint location
+ GLint v0
+ GLint v1
+
+
+
+ void glUniform2iv
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glUniform2ivARB
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+
+ void glUniform2ui
+ GLint location
+ GLuint v0
+ GLuint v1
+
+
+ void glUniform2ui64ARB
+ GLint location
+ GLuint64 x
+ GLuint64 y
+
+
+ void glUniform2ui64NV
+ GLint location
+ GLuint64EXT x
+ GLuint64EXT y
+
+
+ void glUniform2ui64vARB
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glUniform2ui64vNV
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glUniform2uiEXT
+ GLint location
+ GLuint v0
+ GLuint v1
+
+
+
+ void glUniform2uiv
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glUniform2uivEXT
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+
+ void glUniform3d
+ GLint location
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+ void glUniform3dv
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glUniform3f
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+
+
+ void glUniform3fARB
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+
+
+
+ void glUniform3fv
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glUniform3fvARB
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+
+ void glUniform3i
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+
+
+ void glUniform3i64ARB
+ GLint location
+ GLint64 x
+ GLint64 y
+ GLint64 z
+
+
+ void glUniform3i64NV
+ GLint location
+ GLint64EXT x
+ GLint64EXT y
+ GLint64EXT z
+
+
+ void glUniform3i64vARB
+ GLint location
+ GLsizei count
+ const GLint64 *value
+
+
+ void glUniform3i64vNV
+ GLint location
+ GLsizei count
+ const GLint64EXT *value
+
+
+ void glUniform3iARB
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+
+
+
+ void glUniform3iv
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glUniform3ivARB
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+
+ void glUniform3ui
+ GLint location
+ GLuint v0
+ GLuint v1
+ GLuint v2
+
+
+ void glUniform3ui64ARB
+ GLint location
+ GLuint64 x
+ GLuint64 y
+ GLuint64 z
+
+
+ void glUniform3ui64NV
+ GLint location
+ GLuint64EXT x
+ GLuint64EXT y
+ GLuint64EXT z
+
+
+ void glUniform3ui64vARB
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glUniform3ui64vNV
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glUniform3uiEXT
+ GLint location
+ GLuint v0
+ GLuint v1
+ GLuint v2
+
+
+
+ void glUniform3uiv
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glUniform3uivEXT
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+
+ void glUniform4d
+ GLint location
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+ void glUniform4dv
+ GLint location
+ GLsizei count
+ const GLdouble *value
+
+
+ void glUniform4f
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+ GLfloat v3
+
+
+ void glUniform4fARB
+ GLint location
+ GLfloat v0
+ GLfloat v1
+ GLfloat v2
+ GLfloat v3
+
+
+
+ void glUniform4fv
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+ void glUniform4fvARB
+ GLint location
+ GLsizei count
+ const GLfloat *value
+
+
+
+ void glUniform4i
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+ GLint v3
+
+
+ void glUniform4i64ARB
+ GLint location
+ GLint64 x
+ GLint64 y
+ GLint64 z
+ GLint64 w
+
+
+ void glUniform4i64NV
+ GLint location
+ GLint64EXT x
+ GLint64EXT y
+ GLint64EXT z
+ GLint64EXT w
+
+
+ void glUniform4i64vARB
+ GLint location
+ GLsizei count
+ const GLint64 *value
+
+
+ void glUniform4i64vNV
+ GLint location
+ GLsizei count
+ const GLint64EXT *value
+
+
+ void glUniform4iARB
+ GLint location
+ GLint v0
+ GLint v1
+ GLint v2
+ GLint v3
+
+
+
+ void glUniform4iv
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+ void glUniform4ivARB
+ GLint location
+ GLsizei count
+ const GLint *value
+
+
+
+ void glUniform4ui
+ GLint location
+ GLuint v0
+ GLuint v1
+ GLuint v2
+ GLuint v3
+
+
+ void glUniform4ui64ARB
+ GLint location
+ GLuint64 x
+ GLuint64 y
+ GLuint64 z
+ GLuint64 w
+
+
+ void glUniform4ui64NV
+ GLint location
+ GLuint64EXT x
+ GLuint64EXT y
+ GLuint64EXT z
+ GLuint64EXT w
+
+
+ void glUniform4ui64vARB
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glUniform4ui64vNV
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glUniform4uiEXT
+ GLint location
+ GLuint v0
+ GLuint v1
+ GLuint v2
+ GLuint v3
+
+
+
+ void glUniform4uiv
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+ void glUniform4uivEXT
+ GLint location
+ GLsizei count
+ const GLuint *value
+
+
+
+ void glUniformBlockBinding
+ GLuint program
+ GLuint uniformBlockIndex
+ GLuint uniformBlockBinding
+
+
+
+ void glUniformBufferEXT
+ GLuint program
+ GLint location
+ GLuint buffer
+
+
+ void glUniformHandleui64ARB
+ GLint location
+ GLuint64 value
+
+
+ void glUniformHandleui64IMG
+ GLint location
+ GLuint64 value
+
+
+
+ void glUniformHandleui64NV
+ GLint location
+ GLuint64 value
+
+
+ void glUniformHandleui64vARB
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glUniformHandleui64vIMG
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+
+ void glUniformHandleui64vNV
+ GLint location
+ GLsizei count
+ const GLuint64 *value
+
+
+ void glUniformMatrix2dv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glUniformMatrix2fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix2fvARB
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix2x3dv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glUniformMatrix2x3fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix2x3fvNV
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix2x4dv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glUniformMatrix2x4fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix2x4fvNV
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix3dv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glUniformMatrix3fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix3fvARB
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix3x2dv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glUniformMatrix3x2fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix3x2fvNV
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix3x4dv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glUniformMatrix3x4fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix3x4fvNV
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix4dv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glUniformMatrix4fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+ void glUniformMatrix4fvARB
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix4x2dv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glUniformMatrix4x2fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix4x2fvNV
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix4x3dv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLdouble *value
+
+
+ void glUniformMatrix4x3fv
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformMatrix4x3fvNV
+ GLint location
+ GLsizei count
+ GLboolean transpose
+ const GLfloat *value
+
+
+
+ void glUniformSubroutinesuiv
+ GLenum shadertype
+ GLsizei count
+ const GLuint *indices
+
+
+ void glUniformui64NV
+ GLint location
+ GLuint64EXT value
+
+
+ void glUniformui64vNV
+ GLint location
+ GLsizei count
+ const GLuint64EXT *value
+
+
+ void glUnlockArraysEXT
+
+
+ GLboolean glUnmapBuffer
+ GLenum target
+
+
+ GLboolean glUnmapBufferARB
+ GLenum target
+
+
+
+ GLboolean glUnmapBufferOES
+ GLenum target
+
+
+
+ GLboolean glUnmapNamedBuffer
+ GLuint buffer
+
+
+ GLboolean glUnmapNamedBufferEXT
+ GLuint buffer
+
+
+ void glUnmapObjectBufferATI
+ GLuint buffer
+
+
+ void glUnmapTexture2DINTEL
+ GLuint texture
+ GLint level
+
+
+ void glUpdateObjectBufferATI
+ GLuint buffer
+ GLuint offset
+ GLsizei size
+ const void *pointer
+ GLenum preserve
+
+
+ void glUseProgram
+ GLuint program
+
+
+ void glUseProgramObjectARB
+ GLhandleARB programObj
+
+
+
+ void glUseProgramStages
+ GLuint pipeline
+ GLbitfield stages
+ GLuint program
+
+
+ void glUseProgramStagesEXT
+ GLuint pipeline
+ GLbitfield stages
+ GLuint program
+
+
+ void glUseShaderProgramEXT
+ GLenum type
+ GLuint program
+
+
+ void glVDPAUFiniNV
+
+
+ void glVDPAUGetSurfaceivNV
+ GLvdpauSurfaceNV surface
+ GLenum pname
+ GLsizei bufSize
+ GLsizei *length
+ GLint *values
+
+
+ void glVDPAUInitNV
+ const void *vdpDevice
+ const void *getProcAddress
+
+
+ GLboolean glVDPAUIsSurfaceNV
+ GLvdpauSurfaceNV surface
+
+
+ void glVDPAUMapSurfacesNV
+ GLsizei numSurfaces
+ const GLvdpauSurfaceNV *surfaces
+
+
+ GLvdpauSurfaceNV glVDPAURegisterOutputSurfaceNV
+ const void *vdpSurface
+ GLenum target
+ GLsizei numTextureNames
+ const GLuint *textureNames
+
+
+ GLvdpauSurfaceNV glVDPAURegisterVideoSurfaceNV
+ const void *vdpSurface
+ GLenum target
+ GLsizei numTextureNames
+ const GLuint *textureNames
+
+
+ void glVDPAUSurfaceAccessNV
+ GLvdpauSurfaceNV surface
+ GLenum access
+
+
+ void glVDPAUUnmapSurfacesNV
+ GLsizei numSurface
+ const GLvdpauSurfaceNV *surfaces
+
+
+ void glVDPAUUnregisterSurfaceNV
+ GLvdpauSurfaceNV surface
+
+
+ void glValidateProgram
+ GLuint program
+
+
+ void glValidateProgramARB
+ GLhandleARB programObj
+
+
+
+ void glValidateProgramPipeline
+ GLuint pipeline
+
+
+ void glValidateProgramPipelineEXT
+ GLuint pipeline
+
+
+ void glVariantArrayObjectATI
+ GLuint id
+ GLenum type
+ GLsizei stride
+ GLuint buffer
+ GLuint offset
+
+
+ void glVariantPointerEXT
+ GLuint id
+ GLenum type
+ GLuint stride
+ const void *addr
+
+
+ void glVariantbvEXT
+ GLuint id
+ const GLbyte *addr
+
+
+ void glVariantdvEXT
+ GLuint id
+ const GLdouble *addr
+
+
+ void glVariantfvEXT
+ GLuint id
+ const GLfloat *addr
+
+
+ void glVariantivEXT
+ GLuint id
+ const GLint *addr
+
+
+ void glVariantsvEXT
+ GLuint id
+ const GLshort *addr
+
+
+ void glVariantubvEXT
+ GLuint id
+ const GLubyte *addr
+
+
+ void glVariantuivEXT
+ GLuint id
+ const GLuint *addr
+
+
+ void glVariantusvEXT
+ GLuint id
+ const GLushort *addr
+
+
+ void glVertex2bOES
+ GLbyte x
+ GLbyte y
+
+
+ void glVertex2bvOES
+ const GLbyte *coords
+
+
+ void glVertex2d
+ GLdouble x
+ GLdouble y
+
+
+
+ void glVertex2dv
+ const GLdouble *v
+
+
+
+ void glVertex2f
+ GLfloat x
+ GLfloat y
+
+
+
+ void glVertex2fv
+ const GLfloat *v
+
+
+
+ void glVertex2hNV
+ GLhalfNV x
+ GLhalfNV y
+
+
+
+ void glVertex2hvNV
+ const GLhalfNV *v
+
+
+
+ void glVertex2i
+ GLint x
+ GLint y
+
+
+
+ void glVertex2iv
+ const GLint *v
+
+
+
+ void glVertex2s
+ GLshort x
+ GLshort y
+
+
+
+ void glVertex2sv
+ const GLshort *v
+
+
+
+ void glVertex2xOES
+ GLfixed x
+
+
+ void glVertex2xvOES
+ const GLfixed *coords
+
+
+ void glVertex3bOES
+ GLbyte x
+ GLbyte y
+ GLbyte z
+
+
+ void glVertex3bvOES
+ const GLbyte *coords
+
+
+ void glVertex3d
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+ void glVertex3dv
+ const GLdouble *v
+
+
+
+ void glVertex3f
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+ void glVertex3fv
+ const GLfloat *v
+
+
+
+ void glVertex3hNV
+ GLhalfNV x
+ GLhalfNV y
+ GLhalfNV z
+
+
+
+ void glVertex3hvNV
+ const GLhalfNV *v
+
+
+
+ void glVertex3i
+ GLint x
+ GLint y
+ GLint z
+
+
+
+ void glVertex3iv
+ const GLint *v
+
+
+
+ void glVertex3s
+ GLshort x
+ GLshort y
+ GLshort z
+
+
+
+ void glVertex3sv
+ const GLshort *v
+
+
+
+ void glVertex3xOES
+ GLfixed x
+ GLfixed y
+
+
+ void glVertex3xvOES
+ const GLfixed *coords
+
+
+ void glVertex4bOES
+ GLbyte x
+ GLbyte y
+ GLbyte z
+ GLbyte w
+
+
+ void glVertex4bvOES
+ const GLbyte *coords
+
+
+ void glVertex4d
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glVertex4dv
+ const GLdouble *v
+
+
+
+ void glVertex4f
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+ void glVertex4fv
+ const GLfloat *v
+
+
+
+ void glVertex4hNV
+ GLhalfNV x
+ GLhalfNV y
+ GLhalfNV z
+ GLhalfNV w
+
+
+
+ void glVertex4hvNV
+ const GLhalfNV *v
+
+
+
+ void glVertex4i
+ GLint x
+ GLint y
+ GLint z
+ GLint w
+
+
+
+ void glVertex4iv
+ const GLint *v
+
+
+
+ void glVertex4s
+ GLshort x
+ GLshort y
+ GLshort z
+ GLshort w
+
+
+
+ void glVertex4sv
+ const GLshort *v
+
+
+
+ void glVertex4xOES
+ GLfixed x
+ GLfixed y
+ GLfixed z
+
+
+ void glVertex4xvOES
+ const GLfixed *coords
+
+
+ void glVertexArrayAttribBinding
+ GLuint vaobj
+ GLuint attribindex
+ GLuint bindingindex
+
+
+ void glVertexArrayAttribFormat
+ GLuint vaobj
+ GLuint attribindex
+ GLint size
+ GLenum type
+ GLboolean normalized
+ GLuint relativeoffset
+
+
+ void glVertexArrayAttribIFormat
+ GLuint vaobj
+ GLuint attribindex
+ GLint size
+ GLenum type
+ GLuint relativeoffset
+
+
+ void glVertexArrayAttribLFormat
+ GLuint vaobj
+ GLuint attribindex
+ GLint size
+ GLenum type
+ GLuint relativeoffset
+
+
+ void glVertexArrayBindVertexBufferEXT
+ GLuint vaobj
+ GLuint bindingindex
+ GLuint buffer
+ GLintptr offset
+ GLsizei stride
+
+
+ void glVertexArrayBindingDivisor
+ GLuint vaobj
+ GLuint bindingindex
+ GLuint divisor
+
+
+ void glVertexArrayColorOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayEdgeFlagOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayElementBuffer
+ GLuint vaobj
+ GLuint buffer
+
+
+ void glVertexArrayFogCoordOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayIndexOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayMultiTexCoordOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLenum texunit
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayNormalOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayParameteriAPPLE
+ GLenum pname
+ GLint param
+
+
+ void glVertexArrayRangeAPPLE
+ GLsizei length
+ void *pointer
+
+
+ void glVertexArrayRangeNV
+ GLsizei length
+ const void *pointer
+
+
+ void glVertexArraySecondaryColorOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayTexCoordOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayVertexAttribBindingEXT
+ GLuint vaobj
+ GLuint attribindex
+ GLuint bindingindex
+
+
+ void glVertexArrayVertexAttribDivisorEXT
+ GLuint vaobj
+ GLuint index
+ GLuint divisor
+
+
+ void glVertexArrayVertexAttribFormatEXT
+ GLuint vaobj
+ GLuint attribindex
+ GLint size
+ GLenum type
+ GLboolean normalized
+ GLuint relativeoffset
+
+
+ void glVertexArrayVertexAttribIFormatEXT
+ GLuint vaobj
+ GLuint attribindex
+ GLint size
+ GLenum type
+ GLuint relativeoffset
+
+
+ void glVertexArrayVertexAttribIOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayVertexAttribLFormatEXT
+ GLuint vaobj
+ GLuint attribindex
+ GLint size
+ GLenum type
+ GLuint relativeoffset
+
+
+ void glVertexArrayVertexAttribLOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayVertexAttribOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLuint index
+ GLint size
+ GLenum type
+ GLboolean normalized
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexArrayVertexBindingDivisorEXT
+ GLuint vaobj
+ GLuint bindingindex
+ GLuint divisor
+
+
+ void glVertexArrayVertexBuffer
+ GLuint vaobj
+ GLuint bindingindex
+ GLuint buffer
+ GLintptr offset
+ GLsizei stride
+
+
+ void glVertexArrayVertexBuffers
+ GLuint vaobj
+ GLuint first
+ GLsizei count
+ const GLuint *buffers
+ const GLintptr *offsets
+ const GLsizei *strides
+
+
+ void glVertexArrayVertexOffsetEXT
+ GLuint vaobj
+ GLuint buffer
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLintptr offset
+
+
+ void glVertexAttrib1d
+ GLuint index
+ GLdouble x
+
+
+
+ void glVertexAttrib1dARB
+ GLuint index
+ GLdouble x
+
+
+
+
+ void glVertexAttrib1dNV
+ GLuint index
+ GLdouble x
+
+
+
+
+ void glVertexAttrib1dv
+ GLuint index
+ const GLdouble *v
+
+
+
+ void glVertexAttrib1dvARB
+ GLuint index
+ const GLdouble *v
+
+
+
+
+ void glVertexAttrib1dvNV
+ GLuint index
+ const GLdouble *v
+
+
+
+
+ void glVertexAttrib1f
+ GLuint index
+ GLfloat x
+
+
+
+ void glVertexAttrib1fARB
+ GLuint index
+ GLfloat x
+
+
+
+
+ void glVertexAttrib1fNV
+ GLuint index
+ GLfloat x
+
+
+
+
+ void glVertexAttrib1fv
+ GLuint index
+ const GLfloat *v
+
+
+
+ void glVertexAttrib1fvARB
+ GLuint index
+ const GLfloat *v
+
+
+
+
+ void glVertexAttrib1fvNV
+ GLuint index
+ const GLfloat *v
+
+
+
+
+ void glVertexAttrib1hNV
+ GLuint index
+ GLhalfNV x
+
+
+
+ void glVertexAttrib1hvNV
+ GLuint index
+ const GLhalfNV *v
+
+
+
+ void glVertexAttrib1s
+ GLuint index
+ GLshort x
+
+
+
+ void glVertexAttrib1sARB
+ GLuint index
+ GLshort x
+
+
+
+
+ void glVertexAttrib1sNV
+ GLuint index
+ GLshort x
+
+
+
+
+ void glVertexAttrib1sv
+ GLuint index
+ const GLshort *v
+
+
+
+ void glVertexAttrib1svARB
+ GLuint index
+ const GLshort *v
+
+
+
+
+ void glVertexAttrib1svNV
+ GLuint index
+ const GLshort *v
+
+
+
+
+ void glVertexAttrib2d
+ GLuint index
+ GLdouble x
+ GLdouble y
+
+
+
+ void glVertexAttrib2dARB
+ GLuint index
+ GLdouble x
+ GLdouble y
+
+
+
+
+ void glVertexAttrib2dNV
+ GLuint index
+ GLdouble x
+ GLdouble y
+
+
+
+
+ void glVertexAttrib2dv
+ GLuint index
+ const GLdouble *v
+
+
+
+ void glVertexAttrib2dvARB
+ GLuint index
+ const GLdouble *v
+
+
+
+
+ void glVertexAttrib2dvNV
+ GLuint index
+ const GLdouble *v
+
+
+
+
+ void glVertexAttrib2f
+ GLuint index
+ GLfloat x
+ GLfloat y
+
+
+
+ void glVertexAttrib2fARB
+ GLuint index
+ GLfloat x
+ GLfloat y
+
+
+
+
+ void glVertexAttrib2fNV
+ GLuint index
+ GLfloat x
+ GLfloat y
+
+
+
+
+ void glVertexAttrib2fv
+ GLuint index
+ const GLfloat *v
+
+
+
+ void glVertexAttrib2fvARB
+ GLuint index
+ const GLfloat *v
+
+
+
+
+ void glVertexAttrib2fvNV
+ GLuint index
+ const GLfloat *v
+
+
+
+
+ void glVertexAttrib2hNV
+ GLuint index
+ GLhalfNV x
+ GLhalfNV y
+
+
+
+ void glVertexAttrib2hvNV
+ GLuint index
+ const GLhalfNV *v
+
+
+
+ void glVertexAttrib2s
+ GLuint index
+ GLshort x
+ GLshort y
+
+
+
+ void glVertexAttrib2sARB
+ GLuint index
+ GLshort x
+ GLshort y
+
+
+
+
+ void glVertexAttrib2sNV
+ GLuint index
+ GLshort x
+ GLshort y
+
+
+
+
+ void glVertexAttrib2sv
+ GLuint index
+ const GLshort *v
+
+
+
+ void glVertexAttrib2svARB
+ GLuint index
+ const GLshort *v
+
+
+
+
+ void glVertexAttrib2svNV
+ GLuint index
+ const GLshort *v
+
+
+
+
+ void glVertexAttrib3d
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+ void glVertexAttrib3dARB
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+
+ void glVertexAttrib3dNV
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+
+ void glVertexAttrib3dv
+ GLuint index
+ const GLdouble *v
+
+
+
+ void glVertexAttrib3dvARB
+ GLuint index
+ const GLdouble *v
+
+
+
+
+ void glVertexAttrib3dvNV
+ GLuint index
+ const GLdouble *v
+
+
+
+
+ void glVertexAttrib3f
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+ void glVertexAttrib3fARB
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+
+ void glVertexAttrib3fNV
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+
+ void glVertexAttrib3fv
+ GLuint index
+ const GLfloat *v
+
+
+
+ void glVertexAttrib3fvARB
+ GLuint index
+ const GLfloat *v
+
+
+
+
+ void glVertexAttrib3fvNV
+ GLuint index
+ const GLfloat *v
+
+
+
+
+ void glVertexAttrib3hNV
+ GLuint index
+ GLhalfNV x
+ GLhalfNV y
+ GLhalfNV z
+
+
+
+ void glVertexAttrib3hvNV
+ GLuint index
+ const GLhalfNV *v
+
+
+
+ void glVertexAttrib3s
+ GLuint index
+ GLshort x
+ GLshort y
+ GLshort z
+
+
+
+ void glVertexAttrib3sARB
+ GLuint index
+ GLshort x
+ GLshort y
+ GLshort z
+
+
+
+
+ void glVertexAttrib3sNV
+ GLuint index
+ GLshort x
+ GLshort y
+ GLshort z
+
+
+
+
+ void glVertexAttrib3sv
+ GLuint index
+ const GLshort *v
+
+
+
+ void glVertexAttrib3svARB
+ GLuint index
+ const GLshort *v
+
+
+
+
+ void glVertexAttrib3svNV
+ GLuint index
+ const GLshort *v
+
+
+
+
+ void glVertexAttrib4Nbv
+ GLuint index
+ const GLbyte *v
+
+
+ void glVertexAttrib4NbvARB
+ GLuint index
+ const GLbyte *v
+
+
+
+ void glVertexAttrib4Niv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttrib4NivARB
+ GLuint index
+ const GLint *v
+
+
+
+ void glVertexAttrib4Nsv
+ GLuint index
+ const GLshort *v
+
+
+ void glVertexAttrib4NsvARB
+ GLuint index
+ const GLshort *v
+
+
+
+ void glVertexAttrib4Nub
+ GLuint index
+ GLubyte x
+ GLubyte y
+ GLubyte z
+ GLubyte w
+
+
+ void glVertexAttrib4NubARB
+ GLuint index
+ GLubyte x
+ GLubyte y
+ GLubyte z
+ GLubyte w
+
+
+
+ void glVertexAttrib4Nubv
+ GLuint index
+ const GLubyte *v
+
+
+
+ void glVertexAttrib4NubvARB
+ GLuint index
+ const GLubyte *v
+
+
+
+
+ void glVertexAttrib4Nuiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttrib4NuivARB
+ GLuint index
+ const GLuint *v
+
+
+
+ void glVertexAttrib4Nusv
+ GLuint index
+ const GLushort *v
+
+
+ void glVertexAttrib4NusvARB
+ GLuint index
+ const GLushort *v
+
+
+
+ void glVertexAttrib4bv
+ GLuint index
+ const GLbyte *v
+
+
+ void glVertexAttrib4bvARB
+ GLuint index
+ const GLbyte *v
+
+
+
+ void glVertexAttrib4d
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glVertexAttrib4dARB
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+
+ void glVertexAttrib4dNV
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+
+ void glVertexAttrib4dv
+ GLuint index
+ const GLdouble *v
+
+
+
+ void glVertexAttrib4dvARB
+ GLuint index
+ const GLdouble *v
+
+
+
+
+ void glVertexAttrib4dvNV
+ GLuint index
+ const GLdouble *v
+
+
+
+
+ void glVertexAttrib4f
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+ void glVertexAttrib4fARB
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+
+ void glVertexAttrib4fNV
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+
+ void glVertexAttrib4fv
+ GLuint index
+ const GLfloat *v
+
+
+
+ void glVertexAttrib4fvARB
+ GLuint index
+ const GLfloat *v
+
+
+
+
+ void glVertexAttrib4fvNV
+ GLuint index
+ const GLfloat *v
+
+
+
+
+ void glVertexAttrib4hNV
+ GLuint index
+ GLhalfNV x
+ GLhalfNV y
+ GLhalfNV z
+ GLhalfNV w
+
+
+
+ void glVertexAttrib4hvNV
+ GLuint index
+ const GLhalfNV *v
+
+
+
+ void glVertexAttrib4iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttrib4ivARB
+ GLuint index
+ const GLint *v
+
+
+
+ void glVertexAttrib4s
+ GLuint index
+ GLshort x
+ GLshort y
+ GLshort z
+ GLshort w
+
+
+
+ void glVertexAttrib4sARB
+ GLuint index
+ GLshort x
+ GLshort y
+ GLshort z
+ GLshort w
+
+
+
+
+ void glVertexAttrib4sNV
+ GLuint index
+ GLshort x
+ GLshort y
+ GLshort z
+ GLshort w
+
+
+
+
+ void glVertexAttrib4sv
+ GLuint index
+ const GLshort *v
+
+
+
+ void glVertexAttrib4svARB
+ GLuint index
+ const GLshort *v
+
+
+
+
+ void glVertexAttrib4svNV
+ GLuint index
+ const GLshort *v
+
+
+
+
+ void glVertexAttrib4ubNV
+ GLuint index
+ GLubyte x
+ GLubyte y
+ GLubyte z
+ GLubyte w
+
+
+
+
+ void glVertexAttrib4ubv
+ GLuint index
+ const GLubyte *v
+
+
+ void glVertexAttrib4ubvARB
+ GLuint index
+ const GLubyte *v
+
+
+
+ void glVertexAttrib4ubvNV
+ GLuint index
+ const GLubyte *v
+
+
+
+
+ void glVertexAttrib4uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttrib4uivARB
+ GLuint index
+ const GLuint *v
+
+
+
+ void glVertexAttrib4usv
+ GLuint index
+ const GLushort *v
+
+
+ void glVertexAttrib4usvARB
+ GLuint index
+ const GLushort *v
+
+
+
+ void glVertexAttribArrayObjectATI
+ GLuint index
+ GLint size
+ GLenum type
+ GLboolean normalized
+ GLsizei stride
+ GLuint buffer
+ GLuint offset
+
+
+ void glVertexAttribBinding
+ GLuint attribindex
+ GLuint bindingindex
+
+
+ void glVertexAttribDivisor
+ GLuint index
+ GLuint divisor
+
+
+ void glVertexAttribDivisorANGLE
+ GLuint index
+ GLuint divisor
+
+
+
+ void glVertexAttribDivisorARB
+ GLuint index
+ GLuint divisor
+
+
+
+ void glVertexAttribDivisorEXT
+ GLuint index
+ GLuint divisor
+
+
+
+ void glVertexAttribDivisorNV
+ GLuint index
+ GLuint divisor
+
+
+
+ void glVertexAttribFormat
+ GLuint attribindex
+ GLint size
+ GLenum type
+ GLboolean normalized
+ GLuint relativeoffset
+
+
+ void glVertexAttribFormatNV
+ GLuint index
+ GLint size
+ GLenum type
+ GLboolean normalized
+ GLsizei stride
+
+
+ void glVertexAttribI1i
+ GLuint index
+ GLint x
+
+
+
+ void glVertexAttribI1iEXT
+ GLuint index
+ GLint x
+
+
+
+
+ void glVertexAttribI1iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttribI1ivEXT
+ GLuint index
+ const GLint *v
+
+
+
+ void glVertexAttribI1ui
+ GLuint index
+ GLuint x
+
+
+
+ void glVertexAttribI1uiEXT
+ GLuint index
+ GLuint x
+
+
+
+
+ void glVertexAttribI1uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttribI1uivEXT
+ GLuint index
+ const GLuint *v
+
+
+
+ void glVertexAttribI2i
+ GLuint index
+ GLint x
+ GLint y
+
+
+
+ void glVertexAttribI2iEXT
+ GLuint index
+ GLint x
+ GLint y
+
+
+
+
+ void glVertexAttribI2iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttribI2ivEXT
+ GLuint index
+ const GLint *v
+
+
+
+ void glVertexAttribI2ui
+ GLuint index
+ GLuint x
+ GLuint y
+
+
+
+ void glVertexAttribI2uiEXT
+ GLuint index
+ GLuint x
+ GLuint y
+
+
+
+
+ void glVertexAttribI2uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttribI2uivEXT
+ GLuint index
+ const GLuint *v
+
+
+
+ void glVertexAttribI3i
+ GLuint index
+ GLint x
+ GLint y
+ GLint z
+
+
+
+ void glVertexAttribI3iEXT
+ GLuint index
+ GLint x
+ GLint y
+ GLint z
+
+
+
+
+ void glVertexAttribI3iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttribI3ivEXT
+ GLuint index
+ const GLint *v
+
+
+
+ void glVertexAttribI3ui
+ GLuint index
+ GLuint x
+ GLuint y
+ GLuint z
+
+
+
+ void glVertexAttribI3uiEXT
+ GLuint index
+ GLuint x
+ GLuint y
+ GLuint z
+
+
+
+
+ void glVertexAttribI3uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttribI3uivEXT
+ GLuint index
+ const GLuint *v
+
+
+
+ void glVertexAttribI4bv
+ GLuint index
+ const GLbyte *v
+
+
+ void glVertexAttribI4bvEXT
+ GLuint index
+ const GLbyte *v
+
+
+
+ void glVertexAttribI4i
+ GLuint index
+ GLint x
+ GLint y
+ GLint z
+ GLint w
+
+
+
+ void glVertexAttribI4iEXT
+ GLuint index
+ GLint x
+ GLint y
+ GLint z
+ GLint w
+
+
+
+
+ void glVertexAttribI4iv
+ GLuint index
+ const GLint *v
+
+
+ void glVertexAttribI4ivEXT
+ GLuint index
+ const GLint *v
+
+
+
+ void glVertexAttribI4sv
+ GLuint index
+ const GLshort *v
+
+
+ void glVertexAttribI4svEXT
+ GLuint index
+ const GLshort *v
+
+
+
+ void glVertexAttribI4ubv
+ GLuint index
+ const GLubyte *v
+
+
+ void glVertexAttribI4ubvEXT
+ GLuint index
+ const GLubyte *v
+
+
+
+ void glVertexAttribI4ui
+ GLuint index
+ GLuint x
+ GLuint y
+ GLuint z
+ GLuint w
+
+
+
+ void glVertexAttribI4uiEXT
+ GLuint index
+ GLuint x
+ GLuint y
+ GLuint z
+ GLuint w
+
+
+
+
+ void glVertexAttribI4uiv
+ GLuint index
+ const GLuint *v
+
+
+ void glVertexAttribI4uivEXT
+ GLuint index
+ const GLuint *v
+
+
+
+ void glVertexAttribI4usv
+ GLuint index
+ const GLushort *v
+
+
+ void glVertexAttribI4usvEXT
+ GLuint index
+ const GLushort *v
+
+
+
+ void glVertexAttribIFormat
+ GLuint attribindex
+ GLint size
+ GLenum type
+ GLuint relativeoffset
+
+
+ void glVertexAttribIFormatNV
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+
+
+ void glVertexAttribIPointer
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glVertexAttribIPointerEXT
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+
+ void glVertexAttribL1d
+ GLuint index
+ GLdouble x
+
+
+ void glVertexAttribL1dEXT
+ GLuint index
+ GLdouble x
+
+
+
+ void glVertexAttribL1dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribL1dvEXT
+ GLuint index
+ const GLdouble *v
+
+
+
+ void glVertexAttribL1i64NV
+ GLuint index
+ GLint64EXT x
+
+
+ void glVertexAttribL1i64vNV
+ GLuint index
+ const GLint64EXT *v
+
+
+ void glVertexAttribL1ui64ARB
+ GLuint index
+ GLuint64EXT x
+
+
+ void glVertexAttribL1ui64NV
+ GLuint index
+ GLuint64EXT x
+
+
+ void glVertexAttribL1ui64vARB
+ GLuint index
+ const GLuint64EXT *v
+
+
+ void glVertexAttribL1ui64vNV
+ GLuint index
+ const GLuint64EXT *v
+
+
+ void glVertexAttribL2d
+ GLuint index
+ GLdouble x
+ GLdouble y
+
+
+ void glVertexAttribL2dEXT
+ GLuint index
+ GLdouble x
+ GLdouble y
+
+
+
+ void glVertexAttribL2dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribL2dvEXT
+ GLuint index
+ const GLdouble *v
+
+
+
+ void glVertexAttribL2i64NV
+ GLuint index
+ GLint64EXT x
+ GLint64EXT y
+
+
+ void glVertexAttribL2i64vNV
+ GLuint index
+ const GLint64EXT *v
+
+
+ void glVertexAttribL2ui64NV
+ GLuint index
+ GLuint64EXT x
+ GLuint64EXT y
+
+
+ void glVertexAttribL2ui64vNV
+ GLuint index
+ const GLuint64EXT *v
+
+
+ void glVertexAttribL3d
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+ void glVertexAttribL3dEXT
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+ void glVertexAttribL3dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribL3dvEXT
+ GLuint index
+ const GLdouble *v
+
+
+
+ void glVertexAttribL3i64NV
+ GLuint index
+ GLint64EXT x
+ GLint64EXT y
+ GLint64EXT z
+
+
+ void glVertexAttribL3i64vNV
+ GLuint index
+ const GLint64EXT *v
+
+
+ void glVertexAttribL3ui64NV
+ GLuint index
+ GLuint64EXT x
+ GLuint64EXT y
+ GLuint64EXT z
+
+
+ void glVertexAttribL3ui64vNV
+ GLuint index
+ const GLuint64EXT *v
+
+
+ void glVertexAttribL4d
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+ void glVertexAttribL4dEXT
+ GLuint index
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glVertexAttribL4dv
+ GLuint index
+ const GLdouble *v
+
+
+ void glVertexAttribL4dvEXT
+ GLuint index
+ const GLdouble *v
+
+
+
+ void glVertexAttribL4i64NV
+ GLuint index
+ GLint64EXT x
+ GLint64EXT y
+ GLint64EXT z
+ GLint64EXT w
+
+
+ void glVertexAttribL4i64vNV
+ GLuint index
+ const GLint64EXT *v
+
+
+ void glVertexAttribL4ui64NV
+ GLuint index
+ GLuint64EXT x
+ GLuint64EXT y
+ GLuint64EXT z
+ GLuint64EXT w
+
+
+ void glVertexAttribL4ui64vNV
+ GLuint index
+ const GLuint64EXT *v
+
+
+ void glVertexAttribLFormat
+ GLuint attribindex
+ GLint size
+ GLenum type
+ GLuint relativeoffset
+
+
+ void glVertexAttribLFormatNV
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+
+
+ void glVertexAttribLPointer
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glVertexAttribLPointerEXT
+ GLuint index
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+
+ void glVertexAttribP1ui
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ GLuint value
+
+
+ void glVertexAttribP1uiv
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ const GLuint *value
+
+
+ void glVertexAttribP2ui
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ GLuint value
+
+
+ void glVertexAttribP2uiv
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ const GLuint *value
+
+
+ void glVertexAttribP3ui
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ GLuint value
+
+
+ void glVertexAttribP3uiv
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ const GLuint *value
+
+
+ void glVertexAttribP4ui
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ GLuint value
+
+
+ void glVertexAttribP4uiv
+ GLuint index
+ GLenum type
+ GLboolean normalized
+ const GLuint *value
+
+
+ void glVertexAttribParameteriAMD
+ GLuint index
+ GLenum pname
+ GLint param
+
+
+ void glVertexAttribPointer
+ GLuint index
+ GLint size
+ GLenum type
+ GLboolean normalized
+ GLsizei stride
+ const void *pointer
+
+
+ void glVertexAttribPointerARB
+ GLuint index
+ GLint size
+ GLenum type
+ GLboolean normalized
+ GLsizei stride
+ const void *pointer
+
+
+
+ void glVertexAttribPointerNV
+ GLuint index
+ GLint fsize
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glVertexAttribs1dvNV
+ GLuint index
+ GLsizei count
+ const GLdouble *v
+
+
+
+ void glVertexAttribs1fvNV
+ GLuint index
+ GLsizei count
+ const GLfloat *v
+
+
+
+ void glVertexAttribs1hvNV
+ GLuint index
+ GLsizei n
+ const GLhalfNV *v
+
+
+
+ void glVertexAttribs1svNV
+ GLuint index
+ GLsizei count
+ const GLshort *v
+
+
+
+ void glVertexAttribs2dvNV
+ GLuint index
+ GLsizei count
+ const GLdouble *v
+
+
+
+ void glVertexAttribs2fvNV
+ GLuint index
+ GLsizei count
+ const GLfloat *v
+
+
+
+ void glVertexAttribs2hvNV
+ GLuint index
+ GLsizei n
+ const GLhalfNV *v
+
+
+
+ void glVertexAttribs2svNV
+ GLuint index
+ GLsizei count
+ const GLshort *v
+
+
+
+ void glVertexAttribs3dvNV
+ GLuint index
+ GLsizei count
+ const GLdouble *v
+
+
+
+ void glVertexAttribs3fvNV
+ GLuint index
+ GLsizei count
+ const GLfloat *v
+
+
+
+ void glVertexAttribs3hvNV
+ GLuint index
+ GLsizei n
+ const GLhalfNV *v
+
+
+
+ void glVertexAttribs3svNV
+ GLuint index
+ GLsizei count
+ const GLshort *v
+
+
+
+ void glVertexAttribs4dvNV
+ GLuint index
+ GLsizei count
+ const GLdouble *v
+
+
+
+ void glVertexAttribs4fvNV
+ GLuint index
+ GLsizei count
+ const GLfloat *v
+
+
+
+ void glVertexAttribs4hvNV
+ GLuint index
+ GLsizei n
+ const GLhalfNV *v
+
+
+
+ void glVertexAttribs4svNV
+ GLuint index
+ GLsizei count
+ const GLshort *v
+
+
+
+ void glVertexAttribs4ubvNV
+ GLuint index
+ GLsizei count
+ const GLubyte *v
+
+
+
+ void glVertexBindingDivisor
+ GLuint bindingindex
+ GLuint divisor
+
+
+ void glVertexBlendARB
+ GLint count
+
+
+
+ void glVertexBlendEnvfATI
+ GLenum pname
+ GLfloat param
+
+
+ void glVertexBlendEnviATI
+ GLenum pname
+ GLint param
+
+
+ void glVertexFormatNV
+ GLint size
+ GLenum type
+ GLsizei stride
+
+
+ void glVertexP2ui
+ GLenum type
+ GLuint value
+
+
+ void glVertexP2uiv
+ GLenum type
+ const GLuint *value
+
+
+ void glVertexP3ui
+ GLenum type
+ GLuint value
+
+
+ void glVertexP3uiv
+ GLenum type
+ const GLuint *value
+
+
+ void glVertexP4ui
+ GLenum type
+ GLuint value
+
+
+ void glVertexP4uiv
+ GLenum type
+ const GLuint *value
+
+
+ void glVertexPointer
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glVertexPointerEXT
+ GLint size
+ GLenum type
+ GLsizei stride
+ GLsizei count
+ const void *pointer
+
+
+ void glVertexPointerListIBM
+ GLint size
+ GLenum type
+ GLint stride
+ const void **pointer
+ GLint ptrstride
+
+
+ void glVertexPointervINTEL
+ GLint size
+ GLenum type
+ const void **pointer
+
+
+ void glVertexStream1dATI
+ GLenum stream
+ GLdouble x
+
+
+ void glVertexStream1dvATI
+ GLenum stream
+ const GLdouble *coords
+
+
+ void glVertexStream1fATI
+ GLenum stream
+ GLfloat x
+
+
+ void glVertexStream1fvATI
+ GLenum stream
+ const GLfloat *coords
+
+
+ void glVertexStream1iATI
+ GLenum stream
+ GLint x
+
+
+ void glVertexStream1ivATI
+ GLenum stream
+ const GLint *coords
+
+
+ void glVertexStream1sATI
+ GLenum stream
+ GLshort x
+
+
+ void glVertexStream1svATI
+ GLenum stream
+ const GLshort *coords
+
+
+ void glVertexStream2dATI
+ GLenum stream
+ GLdouble x
+ GLdouble y
+
+
+ void glVertexStream2dvATI
+ GLenum stream
+ const GLdouble *coords
+
+
+ void glVertexStream2fATI
+ GLenum stream
+ GLfloat x
+ GLfloat y
+
+
+ void glVertexStream2fvATI
+ GLenum stream
+ const GLfloat *coords
+
+
+ void glVertexStream2iATI
+ GLenum stream
+ GLint x
+ GLint y
+
+
+ void glVertexStream2ivATI
+ GLenum stream
+ const GLint *coords
+
+
+ void glVertexStream2sATI
+ GLenum stream
+ GLshort x
+ GLshort y
+
+
+ void glVertexStream2svATI
+ GLenum stream
+ const GLshort *coords
+
+
+ void glVertexStream3dATI
+ GLenum stream
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+ void glVertexStream3dvATI
+ GLenum stream
+ const GLdouble *coords
+
+
+ void glVertexStream3fATI
+ GLenum stream
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+ void glVertexStream3fvATI
+ GLenum stream
+ const GLfloat *coords
+
+
+ void glVertexStream3iATI
+ GLenum stream
+ GLint x
+ GLint y
+ GLint z
+
+
+ void glVertexStream3ivATI
+ GLenum stream
+ const GLint *coords
+
+
+ void glVertexStream3sATI
+ GLenum stream
+ GLshort x
+ GLshort y
+ GLshort z
+
+
+ void glVertexStream3svATI
+ GLenum stream
+ const GLshort *coords
+
+
+ void glVertexStream4dATI
+ GLenum stream
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+ void glVertexStream4dvATI
+ GLenum stream
+ const GLdouble *coords
+
+
+ void glVertexStream4fATI
+ GLenum stream
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+ void glVertexStream4fvATI
+ GLenum stream
+ const GLfloat *coords
+
+
+ void glVertexStream4iATI
+ GLenum stream
+ GLint x
+ GLint y
+ GLint z
+ GLint w
+
+
+ void glVertexStream4ivATI
+ GLenum stream
+ const GLint *coords
+
+
+ void glVertexStream4sATI
+ GLenum stream
+ GLshort x
+ GLshort y
+ GLshort z
+ GLshort w
+
+
+ void glVertexStream4svATI
+ GLenum stream
+ const GLshort *coords
+
+
+ void glVertexWeightPointerEXT
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glVertexWeightfEXT
+ GLfloat weight
+
+
+
+ void glVertexWeightfvEXT
+ const GLfloat *weight
+
+
+
+ void glVertexWeighthNV
+ GLhalfNV weight
+
+
+
+ void glVertexWeighthvNV
+ const GLhalfNV *weight
+
+
+
+ GLenum glVideoCaptureNV
+ GLuint video_capture_slot
+ GLuint *sequence_num
+ GLuint64EXT *capture_time
+
+
+ void glVideoCaptureStreamParameterdvNV
+ GLuint video_capture_slot
+ GLuint stream
+ GLenum pname
+ const GLdouble *params
+
+
+ void glVideoCaptureStreamParameterfvNV
+ GLuint video_capture_slot
+ GLuint stream
+ GLenum pname
+ const GLfloat *params
+
+
+ void glVideoCaptureStreamParameterivNV
+ GLuint video_capture_slot
+ GLuint stream
+ GLenum pname
+ const GLint *params
+
+
+ void glViewport
+ GLint x
+ GLint y
+ GLsizei width
+ GLsizei height
+
+
+
+ void glViewportArrayv
+ GLuint first
+ GLsizei count
+ const GLfloat *v
+
+
+ void glViewportArrayvNV
+ GLuint first
+ GLsizei count
+ const GLfloat *v
+
+
+
+ void glViewportArrayvOES
+ GLuint first
+ GLsizei count
+ const GLfloat *v
+
+
+
+ void glViewportIndexedf
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat w
+ GLfloat h
+
+
+ void glViewportIndexedfOES
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat w
+ GLfloat h
+
+
+
+ void glViewportIndexedfNV
+ GLuint index
+ GLfloat x
+ GLfloat y
+ GLfloat w
+ GLfloat h
+
+
+
+ void glViewportIndexedfv
+ GLuint index
+ const GLfloat *v
+
+
+ void glViewportIndexedfvOES
+ GLuint index
+ const GLfloat *v
+
+
+
+ void glViewportIndexedfvNV
+ GLuint index
+ const GLfloat *v
+
+
+
+ void glViewportPositionWScaleNV
+ GLuint index
+ GLfloat xcoeff
+ GLfloat ycoeff
+
+
+ void glViewportSwizzleNV
+ GLuint index
+ GLenum swizzlex
+ GLenum swizzley
+ GLenum swizzlez
+ GLenum swizzlew
+
+
+ void glWaitSemaphoreEXT
+ GLuint semaphore
+ GLuint numBufferBarriers
+ const GLuint *buffers
+ GLuint numTextureBarriers
+ const GLuint *textures
+ const GLenum *srcLayouts
+
+
+ void glWaitSync
+ GLsync sync
+ GLbitfield flags
+ GLuint64 timeout
+
+
+ void glWaitSyncAPPLE
+ GLsync sync
+ GLbitfield flags
+ GLuint64 timeout
+
+
+
+ void glWeightPathsNV
+ GLuint resultPath
+ GLsizei numPaths
+ const GLuint *paths
+ const GLfloat *weights
+
+
+ void glWeightPointerARB
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glWeightPointerOES
+ GLint size
+ GLenum type
+ GLsizei stride
+ const void *pointer
+
+
+ void glWeightbvARB
+ GLint size
+ const GLbyte *weights
+
+
+
+ void glWeightdvARB
+ GLint size
+ const GLdouble *weights
+
+
+
+ void glWeightfvARB
+ GLint size
+ const GLfloat *weights
+
+
+
+ void glWeightivARB
+ GLint size
+ const GLint *weights
+
+
+
+ void glWeightsvARB
+ GLint size
+ const GLshort *weights
+
+
+
+ void glWeightubvARB
+ GLint size
+ const GLubyte *weights
+
+
+
+ void glWeightuivARB
+ GLint size
+ const GLuint *weights
+
+
+
+ void glWeightusvARB
+ GLint size
+ const GLushort *weights
+
+
+
+ void glWindowPos2d
+ GLdouble x
+ GLdouble y
+
+
+
+ void glWindowPos2dARB
+ GLdouble x
+ GLdouble y
+
+
+
+
+ void glWindowPos2dMESA
+ GLdouble x
+ GLdouble y
+
+
+
+
+ void glWindowPos2dv
+ const GLdouble *v
+
+
+
+ void glWindowPos2dvARB
+ const GLdouble *v
+
+
+
+
+ void glWindowPos2dvMESA
+ const GLdouble *v
+
+
+
+ void glWindowPos2f
+ GLfloat x
+ GLfloat y
+
+
+
+ void glWindowPos2fARB
+ GLfloat x
+ GLfloat y
+
+
+
+
+ void glWindowPos2fMESA
+ GLfloat x
+ GLfloat y
+
+
+
+
+ void glWindowPos2fv
+ const GLfloat *v
+
+
+
+ void glWindowPos2fvARB
+ const GLfloat *v
+
+
+
+
+ void glWindowPos2fvMESA
+ const GLfloat *v
+
+
+
+ void glWindowPos2i
+ GLint x
+ GLint y
+
+
+
+ void glWindowPos2iARB
+ GLint x
+ GLint y
+
+
+
+
+ void glWindowPos2iMESA
+ GLint x
+ GLint y
+
+
+
+
+ void glWindowPos2iv
+ const GLint *v
+
+
+
+ void glWindowPos2ivARB
+ const GLint *v
+
+
+
+
+ void glWindowPos2ivMESA
+ const GLint *v
+
+
+
+ void glWindowPos2s
+ GLshort x
+ GLshort y
+
+
+
+ void glWindowPos2sARB
+ GLshort x
+ GLshort y
+
+
+
+
+ void glWindowPos2sMESA
+ GLshort x
+ GLshort y
+
+
+
+
+ void glWindowPos2sv
+ const GLshort *v
+
+
+
+ void glWindowPos2svARB
+ const GLshort *v
+
+
+
+
+ void glWindowPos2svMESA
+ const GLshort *v
+
+
+
+ void glWindowPos3d
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+ void glWindowPos3dARB
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+
+ void glWindowPos3dMESA
+ GLdouble x
+ GLdouble y
+ GLdouble z
+
+
+
+
+ void glWindowPos3dv
+ const GLdouble *v
+
+
+
+ void glWindowPos3dvARB
+ const GLdouble *v
+
+
+
+
+ void glWindowPos3dvMESA
+ const GLdouble *v
+
+
+
+ void glWindowPos3f
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+ void glWindowPos3fARB
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+
+ void glWindowPos3fMESA
+ GLfloat x
+ GLfloat y
+ GLfloat z
+
+
+
+
+ void glWindowPos3fv
+ const GLfloat *v
+
+
+
+ void glWindowPos3fvARB
+ const GLfloat *v
+
+
+
+
+ void glWindowPos3fvMESA
+ const GLfloat *v
+
+
+
+ void glWindowPos3i
+ GLint x
+ GLint y
+ GLint z
+
+
+
+ void glWindowPos3iARB
+ GLint x
+ GLint y
+ GLint z
+
+
+
+
+ void glWindowPos3iMESA
+ GLint x
+ GLint y
+ GLint z
+
+
+
+
+ void glWindowPos3iv
+ const GLint *v
+
+
+
+ void glWindowPos3ivARB
+ const GLint *v
+
+
+
+
+ void glWindowPos3ivMESA
+ const GLint *v
+
+
+
+ void glWindowPos3s
+ GLshort x
+ GLshort y
+ GLshort z
+
+
+
+ void glWindowPos3sARB
+ GLshort x
+ GLshort y
+ GLshort z
+
+
+
+
+ void glWindowPos3sMESA
+ GLshort x
+ GLshort y
+ GLshort z
+
+
+
+
+ void glWindowPos3sv
+ const GLshort *v
+
+
+
+ void glWindowPos3svARB
+ const GLshort *v
+
+
+
+
+ void glWindowPos3svMESA
+ const GLshort *v
+
+
+
+ void glWindowPos4dMESA
+ GLdouble x
+ GLdouble y
+ GLdouble z
+ GLdouble w
+
+
+
+ void glWindowPos4dvMESA
+ const GLdouble *v
+
+
+ void glWindowPos4fMESA
+ GLfloat x
+ GLfloat y
+ GLfloat z
+ GLfloat w
+
+
+
+ void glWindowPos4fvMESA
+ const GLfloat *v
+
+
+ void glWindowPos4iMESA
+ GLint x
+ GLint y
+ GLint z
+ GLint w
+
+
+
+ void glWindowPos4ivMESA
+ const GLint *v
+
+
+ void glWindowPos4sMESA
+ GLshort x
+ GLshort y
+ GLshort z
+ GLshort w
+
+
+
+ void glWindowPos4svMESA
+ const GLshort *v
+
+
+ void glWindowRectanglesEXT
+ GLenum mode
+ GLsizei count
+ const GLint *box
+
+
+ void glWriteMaskEXT
+ GLuint res
+ GLuint in
+ GLenum outX
+ GLenum outY
+ GLenum outZ
+ GLenum outW
+
+
+ void glDrawVkImageNV
+ GLuint64 vkImage
+ GLuint sampler
+ GLfloat x0
+ GLfloat y0
+ GLfloat x1
+ GLfloat y1
+ GLfloat z
+ GLfloat s0
+ GLfloat t0
+ GLfloat s1
+ GLfloat t1
+
+
+ GLVULKANPROCNV glGetVkProcAddrNV
+ const GLchar *name
+
+
+ void glWaitVkSemaphoreNV
+ GLuint64 vkSemaphore
+
+
+ void glSignalVkSemaphoreNV
+ GLuint64 vkSemaphore
+
+
+ void glSignalVkFenceNV
+ GLuint64 vkFence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/glad/files/glx.xml b/glad/files/glx.xml
new file mode 100644
index 00000000..f9035767
--- /dev/null
+++ b/glad/files/glx.xml
@@ -0,0 +1,2189 @@
+
+
+
+Copyright (c) 2013-2018 The Khronos Group Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+------------------------------------------------------------------------
+
+This file, glx.xml, is the GLX API Registry. The canonical version of the
+registry, together with documentation, schema, and Python generator scripts
+used to generate C header files for GLX, can always be found in the Khronos
+Registry at
+ https://github.com/KhronosGroup/OpenGL-Registry
+
+
+
+
+
+ = 199901L
+#include
+#elif defined(__sun__) || defined(__digital__)
+#include
+#if defined(__STDC__)
+#if defined(__arch64__) || defined(_LP64)
+typedef long int int64_t;
+typedef unsigned long int uint64_t;
+#else
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#endif /* __arch64__ */
+#endif /* __STDC__ */
+#elif defined( __VMS ) || defined(__sgi)
+#include
+#elif defined(__SCO__) || defined(__USLC__)
+#include
+#elif defined(__UNIXOS2__) || defined(__SOL64__)
+typedef long int int32_t;
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#elif defined(_WIN32) && defined(__GNUC__)
+#include
+#elif defined(_WIN32)
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+/* Fallback if nothing above works */
+#include
+#endif
+#endif]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ typedef XID GLXFBConfigID;
+ typedef struct __GLXFBConfigRec *GLXFBConfig;
+ typedef XID GLXContextID;
+ typedef struct __GLXcontextRec *GLXContext;
+ typedef XID GLXPixmap;
+ typedef XID GLXDrawable;
+ typedef XID GLXWindow;
+ typedef XID GLXPbuffer;
+ typedef void ( *__GLXextFuncPtr)(void);
+ typedef XID GLXVideoCaptureDeviceNV;
+ typedef unsigned int GLXVideoDeviceNV;
+ typedef XID GLXVideoSourceSGIX;
+ typedef XID GLXFBConfigIDSGIX;
+ typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
+ typedef XID GLXPbufferSGIX;
+
+ typedef struct {
+ int event_type; /* GLX_DAMAGED or GLX_SAVED */
+ int draw_type; /* GLX_WINDOW or GLX_PBUFFER */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came for SendEvent request */
+ Display *display; /* display the event was read from */
+ GLXDrawable drawable; /* XID of Drawable */
+ unsigned int buffer_mask; /* mask indicating which buffers are affected */
+ unsigned int aux_buffer; /* which aux buffer was affected */
+ int x, y;
+ int width, height;
+ int count; /* if nonzero, at least this many more */
+} GLXPbufferClobberEvent;
+
+ typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ GLXDrawable drawable; /* drawable on which event was requested in event mask */
+ int event_type;
+ int64_t ust;
+ int64_t msc;
+ int64_t sbc;
+} GLXBufferSwapComplete;
+
+ typedef union __GLXEvent {
+ GLXPbufferClobberEvent glxpbufferclobber;
+ GLXBufferSwapComplete glxbufferswapcomplete;
+ long pad[24];
+} GLXEvent;
+
+ typedef struct {
+ int type;
+ unsigned long serial;
+ Bool send_event;
+ Display *display;
+ int extension;
+ int evtype;
+ GLXDrawable window;
+ Bool stereo_tree;
+} GLXStereoNotifyEventEXT;
+
+ typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came for SendEvent request */
+ Display *display; /* display the event was read from */
+ GLXDrawable drawable; /* i.d. of Drawable */
+ int event_type; /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */
+ int draw_type; /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */
+ unsigned int mask; /* mask indicating which buffers are affected*/
+ int x, y;
+ int width, height;
+ int count; /* if nonzero, at least this many more */
+} GLXBufferClobberEventSGIX;
+
+ typedef struct {
+ char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
+ int networkId;
+} GLXHyperpipeNetworkSGIX;
+
+ typedef struct {
+ char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
+ int channel;
+ unsigned int participationType;
+ int timeSlice;
+} GLXHyperpipeConfigSGIX;
+
+ typedef struct {
+ char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
+ int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
+ int destXOrigin, destYOrigin, destWidth, destHeight;
+} GLXPipeRect;
+
+ typedef struct {
+ char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
+ int XOrigin, YOrigin, maxHeight, maxWidth;
+} GLXPipeRectLimits;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bool glXAssociateDMPbufferSGIX
+ Display *dpy
+ GLXPbufferSGIX pbuffer
+ DMparams *params
+ DMbuffer dmbuffer
+
+
+ int glXBindChannelToWindowSGIX
+ Display *display
+ int screen
+ int channel
+ Window window
+
+
+ int glXBindHyperpipeSGIX
+ Display *dpy
+ int hpId
+
+
+ Bool glXBindSwapBarrierNV
+ Display *dpy
+ GLuint group
+ GLuint barrier
+
+
+ void glXBindSwapBarrierSGIX
+ Display *dpy
+ GLXDrawable drawable
+ int barrier
+
+
+ void glXBindTexImageEXT
+ Display *dpy
+ GLXDrawable drawable
+ int buffer
+ const int *attrib_list
+
+
+ int glXBindVideoCaptureDeviceNV
+ Display *dpy
+ unsigned int video_capture_slot
+ GLXVideoCaptureDeviceNV device
+
+
+ int glXBindVideoDeviceNV
+ Display *dpy
+ unsigned int video_slot
+ unsigned int video_device
+ const int *attrib_list
+
+
+ int glXBindVideoImageNV
+ Display *dpy
+ GLXVideoDeviceNV VideoDevice
+ GLXPbuffer pbuf
+ int iVideoBuffer
+
+
+ void glXBlitContextFramebufferAMD
+ GLXContext dstCtx
+ GLint srcX0
+ GLint srcY0
+ GLint srcX1
+ GLint srcY1
+ GLint dstX0
+ GLint dstY0
+ GLint dstX1
+ GLint dstY1
+ GLbitfield mask
+ GLenum filter
+
+
+ int glXChannelRectSGIX
+ Display *display
+ int screen
+ int channel
+ int x
+ int y
+ int w
+ int h
+
+
+ int glXChannelRectSyncSGIX
+ Display *display
+ int screen
+ int channel
+ GLenum synctype
+
+
+ GLXFBConfig *glXChooseFBConfig
+ Display *dpy
+ int screen
+ const int *attrib_list
+ int *nelements
+
+
+ GLXFBConfigSGIX *glXChooseFBConfigSGIX
+ Display *dpy
+ int screen
+ int *attrib_list
+ int *nelements
+
+
+ XVisualInfo *glXChooseVisual
+ Display *dpy
+ int screen
+ int *attribList
+
+
+ void glXCopyBufferSubDataNV
+ Display *dpy
+ GLXContext readCtx
+ GLXContext writeCtx
+ GLenum readTarget
+ GLenum writeTarget
+ GLintptr readOffset
+ GLintptr writeOffset
+ GLsizeiptr size
+
+
+ void glXNamedCopyBufferSubDataNV
+ Display *dpy
+ GLXContext readCtx
+ GLXContext writeCtx
+ GLuint readBuffer
+ GLuint writeBuffer
+ GLintptr readOffset
+ GLintptr writeOffset
+ GLsizeiptr size
+
+
+ void glXCopyContext
+ Display *dpy
+ GLXContext src
+ GLXContext dst
+ unsigned long mask
+
+
+ void glXCopyImageSubDataNV
+ Display *dpy
+ GLXContext srcCtx
+ GLuint srcName
+ GLenum srcTarget
+ GLint srcLevel
+ GLint srcX
+ GLint srcY
+ GLint srcZ
+ GLXContext dstCtx
+ GLuint dstName
+ GLenum dstTarget
+ GLint dstLevel
+ GLint dstX
+ GLint dstY
+ GLint dstZ
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+
+
+ void glXCopySubBufferMESA
+ Display *dpy
+ GLXDrawable drawable
+ int x
+ int y
+ int width
+ int height
+
+
+ GLXContext glXCreateAssociatedContextAMD
+ unsigned int id
+ GLXContext share_list
+
+
+ GLXContext glXCreateAssociatedContextAttribsAMD
+ unsigned int id
+ GLXContext share_context
+ const int *attribList
+
+
+ GLXContext glXCreateContextAttribsARB
+ Display *dpy
+ GLXFBConfig config
+ GLXContext share_context
+ Bool direct
+ const int *attrib_list
+
+
+ GLXContext glXCreateContext
+ Display *dpy
+ XVisualInfo *vis
+ GLXContext shareList
+ Bool direct
+
+
+ GLXContext glXCreateContextWithConfigSGIX
+ Display *dpy
+ GLXFBConfigSGIX config
+ int render_type
+ GLXContext share_list
+ Bool direct
+
+
+ GLXPbufferSGIX glXCreateGLXPbufferSGIX
+ Display *dpy
+ GLXFBConfigSGIX config
+ unsigned int width
+ unsigned int height
+ int *attrib_list
+
+
+ GLXPixmap glXCreateGLXPixmap
+ Display *dpy
+ XVisualInfo *visual
+ Pixmap pixmap
+
+
+ GLXPixmap glXCreateGLXPixmapMESA
+ Display *dpy
+ XVisualInfo *visual
+ Pixmap pixmap
+ Colormap cmap
+
+
+ GLXPixmap glXCreateGLXPixmapWithConfigSGIX
+ Display *dpy
+ GLXFBConfigSGIX config
+ Pixmap pixmap
+
+
+ GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX
+ Display *display
+ int screen
+ VLServer server
+ VLPath path
+ int nodeClass
+ VLNode drainNode
+
+
+ GLXContext glXCreateNewContext
+ Display *dpy
+ GLXFBConfig config
+ int render_type
+ GLXContext share_list
+ Bool direct
+
+
+ GLXPbuffer glXCreatePbuffer
+ Display *dpy
+ GLXFBConfig config
+ const int *attrib_list
+
+
+ GLXPixmap glXCreatePixmap
+ Display *dpy
+ GLXFBConfig config
+ Pixmap pixmap
+ const int *attrib_list
+
+
+ GLXWindow glXCreateWindow
+ Display *dpy
+ GLXFBConfig config
+ Window win
+ const int *attrib_list
+
+
+ void glXCushionSGI
+ Display *dpy
+ Window window
+ float cushion
+
+
+ Bool glXDelayBeforeSwapNV
+ Display *dpy
+ GLXDrawable drawable
+ GLfloat seconds
+
+
+ Bool glXDeleteAssociatedContextAMD
+ GLXContext ctx
+
+
+ void glXDestroyContext
+ Display *dpy
+ GLXContext ctx
+
+
+ void glXDestroyGLXPbufferSGIX
+ Display *dpy
+ GLXPbufferSGIX pbuf
+
+
+ void glXDestroyGLXPixmap
+ Display *dpy
+ GLXPixmap pixmap
+
+
+ void glXDestroyGLXVideoSourceSGIX
+ Display *dpy
+ GLXVideoSourceSGIX glxvideosource
+
+
+ int glXDestroyHyperpipeConfigSGIX
+ Display *dpy
+ int hpId
+
+
+ void glXDestroyPbuffer
+ Display *dpy
+ GLXPbuffer pbuf
+
+
+ void glXDestroyPixmap
+ Display *dpy
+ GLXPixmap pixmap
+
+
+ void glXDestroyWindow
+ Display *dpy
+ GLXWindow win
+
+
+ GLXVideoCaptureDeviceNV *glXEnumerateVideoCaptureDevicesNV
+ Display *dpy
+ int screen
+ int *nelements
+
+
+ unsigned int *glXEnumerateVideoDevicesNV
+ Display *dpy
+ int screen
+ int *nelements
+
+
+ void glXFreeContextEXT
+ Display *dpy
+ GLXContext context
+
+
+ unsigned int glXGetAGPOffsetMESA
+ const void *pointer
+
+
+ const char *glXGetClientString
+ Display *dpy
+ int name
+
+
+ int glXGetConfig
+ Display *dpy
+ XVisualInfo *visual
+ int attrib
+ int *value
+
+
+ unsigned int glXGetContextGPUIDAMD
+ GLXContext ctx
+
+
+ GLXContextID glXGetContextIDEXT
+ const GLXContext context
+
+
+ GLXContext glXGetCurrentAssociatedContextAMD
+
+
+ GLXContext glXGetCurrentContext
+
+
+ Display *glXGetCurrentDisplayEXT
+
+
+ Display *glXGetCurrentDisplay
+
+
+ GLXDrawable glXGetCurrentDrawable
+
+
+ GLXDrawable glXGetCurrentReadDrawableSGI
+
+
+ GLXDrawable glXGetCurrentReadDrawable
+
+
+ int glXGetFBConfigAttrib
+ Display *dpy
+ GLXFBConfig config
+ int attribute
+ int *value
+
+
+ int glXGetFBConfigAttribSGIX
+ Display *dpy
+ GLXFBConfigSGIX config
+ int attribute
+ int *value
+
+
+ GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX
+ Display *dpy
+ XVisualInfo *vis
+
+
+ GLXFBConfig *glXGetFBConfigs
+ Display *dpy
+ int screen
+ int *nelements
+
+
+ unsigned int glXGetGPUIDsAMD
+ unsigned int maxCount
+ unsigned int *ids
+
+
+ int glXGetGPUInfoAMD
+ unsigned int id
+ int property
+ GLenum dataType
+ unsigned int size
+ void *data
+
+
+ Bool glXGetMscRateOML
+ Display *dpy
+ GLXDrawable drawable
+ int32_t *numerator
+ int32_t *denominator
+
+
+ __GLXextFuncPtr glXGetProcAddressARB
+ const GLubyte *procName
+
+
+ __GLXextFuncPtr glXGetProcAddress
+ const GLubyte *procName
+
+
+ void glXGetSelectedEvent
+ Display *dpy
+ GLXDrawable draw
+ unsigned long *event_mask
+
+
+ void glXGetSelectedEventSGIX
+ Display *dpy
+ GLXDrawable drawable
+ unsigned long *mask
+
+
+ int glXGetSwapIntervalMESA
+
+
+ Bool glXGetSyncValuesOML
+ Display *dpy
+ GLXDrawable drawable
+ int64_t *ust
+ int64_t *msc
+ int64_t *sbc
+
+
+ Status glXGetTransparentIndexSUN
+ Display *dpy
+ Window overlay
+ Window underlay
+ long *pTransparentIndex
+
+
+ int glXGetVideoDeviceNV
+ Display *dpy
+ int screen
+ int numVideoDevices
+ GLXVideoDeviceNV *pVideoDevice
+
+
+ int glXGetVideoInfoNV
+ Display *dpy
+ int screen
+ GLXVideoDeviceNV VideoDevice
+ unsigned long *pulCounterOutputPbuffer
+ unsigned long *pulCounterOutputVideo
+
+
+ int glXGetVideoSyncSGI
+ unsigned int *count
+
+
+ XVisualInfo *glXGetVisualFromFBConfig
+ Display *dpy
+ GLXFBConfig config
+
+
+ XVisualInfo *glXGetVisualFromFBConfigSGIX
+ Display *dpy
+ GLXFBConfigSGIX config
+
+
+ int glXHyperpipeAttribSGIX
+ Display *dpy
+ int timeSlice
+ int attrib
+ int size
+ void *attribList
+
+
+ int glXHyperpipeConfigSGIX
+ Display *dpy
+ int networkId
+ int npipes
+ GLXHyperpipeConfigSGIX *cfg
+ int *hpId
+
+
+ GLXContext glXImportContextEXT
+ Display *dpy
+ GLXContextID contextID
+
+
+ Bool glXIsDirect
+ Display *dpy
+ GLXContext ctx
+
+
+ Bool glXJoinSwapGroupNV
+ Display *dpy
+ GLXDrawable drawable
+ GLuint group
+
+
+ void glXJoinSwapGroupSGIX
+ Display *dpy
+ GLXDrawable drawable
+ GLXDrawable member
+
+
+ void glXLockVideoCaptureDeviceNV
+ Display *dpy
+ GLXVideoCaptureDeviceNV device
+
+
+ Bool glXMakeAssociatedContextCurrentAMD
+ GLXContext ctx
+
+
+ Bool glXMakeContextCurrent
+ Display *dpy
+ GLXDrawable draw
+ GLXDrawable read
+ GLXContext ctx
+
+
+ Bool glXMakeCurrent
+ Display *dpy
+ GLXDrawable drawable
+ GLXContext ctx
+
+
+ Bool glXMakeCurrentReadSGI
+ Display *dpy
+ GLXDrawable draw
+ GLXDrawable read
+ GLXContext ctx
+
+
+ int glXQueryChannelDeltasSGIX
+ Display *display
+ int screen
+ int channel
+ int *x
+ int *y
+ int *w
+ int *h
+
+
+ int glXQueryChannelRectSGIX
+ Display *display
+ int screen
+ int channel
+ int *dx
+ int *dy
+ int *dw
+ int *dh
+
+
+ int glXQueryContext
+ Display *dpy
+ GLXContext ctx
+ int attribute
+ int *value
+
+
+ int glXQueryContextInfoEXT
+ Display *dpy
+ GLXContext context
+ int attribute
+ int *value
+
+
+ Bool glXQueryCurrentRendererIntegerMESA
+ int attribute
+ unsigned int *value
+
+
+ const char *glXQueryCurrentRendererStringMESA
+ int attribute
+
+
+ void glXQueryDrawable
+ Display *dpy
+ GLXDrawable draw
+ int attribute
+ unsigned int *value
+
+
+ Bool glXQueryExtension
+ Display *dpy
+ int *errorb
+ int *event
+
+
+ const char *glXQueryExtensionsString
+ Display *dpy
+ int screen
+
+
+ Bool glXQueryFrameCountNV
+ Display *dpy
+ int screen
+ GLuint *count
+
+
+ int glXQueryGLXPbufferSGIX
+ Display *dpy
+ GLXPbufferSGIX pbuf
+ int attribute
+ unsigned int *value
+
+
+ int glXQueryHyperpipeAttribSGIX
+ Display *dpy
+ int timeSlice
+ int attrib
+ int size
+ void *returnAttribList
+
+
+ int glXQueryHyperpipeBestAttribSGIX
+ Display *dpy
+ int timeSlice
+ int attrib
+ int size
+ void *attribList
+ void *returnAttribList
+
+
+ GLXHyperpipeConfigSGIX *glXQueryHyperpipeConfigSGIX
+ Display *dpy
+ int hpId
+ int *npipes
+
+
+ GLXHyperpipeNetworkSGIX *glXQueryHyperpipeNetworkSGIX
+ Display *dpy
+ int *npipes
+
+
+ Bool glXQueryMaxSwapBarriersSGIX
+ Display *dpy
+ int screen
+ int *max
+
+
+ Bool glXQueryMaxSwapGroupsNV
+ Display *dpy
+ int screen
+ GLuint *maxGroups
+ GLuint *maxBarriers
+
+
+ Bool glXQueryRendererIntegerMESA
+ Display *dpy
+ int screen
+ int renderer
+ int attribute
+ unsigned int *value
+
+
+ const char *glXQueryRendererStringMESA
+ Display *dpy
+ int screen
+ int renderer
+ int attribute
+
+
+ const char *glXQueryServerString
+ Display *dpy
+ int screen
+ int name
+
+
+ Bool glXQuerySwapGroupNV
+ Display *dpy
+ GLXDrawable drawable
+ GLuint *group
+ GLuint *barrier
+
+
+ Bool glXQueryVersion
+ Display *dpy
+ int *maj
+ int *min
+
+
+ int glXQueryVideoCaptureDeviceNV
+ Display *dpy
+ GLXVideoCaptureDeviceNV device
+ int attribute
+ int *value
+
+
+ Bool glXReleaseBuffersMESA
+ Display *dpy
+ GLXDrawable drawable
+
+
+ void glXReleaseTexImageEXT
+ Display *dpy
+ GLXDrawable drawable
+ int buffer
+
+
+ void glXReleaseVideoCaptureDeviceNV
+ Display *dpy
+ GLXVideoCaptureDeviceNV device
+
+
+ int glXReleaseVideoDeviceNV
+ Display *dpy
+ int screen
+ GLXVideoDeviceNV VideoDevice
+
+
+ int glXReleaseVideoImageNV
+ Display *dpy
+ GLXPbuffer pbuf
+
+
+ Bool glXResetFrameCountNV
+ Display *dpy
+ int screen
+
+
+ void glXSelectEvent
+ Display *dpy
+ GLXDrawable draw
+ unsigned long event_mask
+
+
+ void glXSelectEventSGIX
+ Display *dpy
+ GLXDrawable drawable
+ unsigned long mask
+
+
+ int glXSendPbufferToVideoNV
+ Display *dpy
+ GLXPbuffer pbuf
+ int iBufferType
+ unsigned long *pulCounterPbuffer
+ GLboolean bBlock
+
+
+ Bool glXSet3DfxModeMESA
+ int mode
+
+
+ void glXSwapBuffers
+ Display *dpy
+ GLXDrawable drawable
+
+
+ int64_t glXSwapBuffersMscOML
+ Display *dpy
+ GLXDrawable drawable
+ int64_t target_msc
+ int64_t divisor
+ int64_t remainder
+
+
+ int glXSwapIntervalMESA
+ unsigned int interval
+
+
+ void glXSwapIntervalEXT
+ Display *dpy
+ GLXDrawable drawable
+ int interval
+
+
+ int glXSwapIntervalSGI
+ int interval
+
+
+ void glXUseXFont
+ Font font
+ int first
+ int count
+ int list
+
+
+ Bool glXWaitForMscOML
+ Display *dpy
+ GLXDrawable drawable
+ int64_t target_msc
+ int64_t divisor
+ int64_t remainder
+ int64_t *ust
+ int64_t *msc
+ int64_t *sbc
+
+
+ Bool glXWaitForSbcOML
+ Display *dpy
+ GLXDrawable drawable
+ int64_t target_sbc
+ int64_t *ust
+ int64_t *msc
+ int64_t *sbc
+
+
+ void glXWaitGL
+
+
+ int glXWaitVideoSyncSGI
+ int divisor
+ int remainder
+ unsigned int *count
+
+
+ void glXWaitX
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/glad/files/khrplatform.h b/glad/files/khrplatform.h
new file mode 100644
index 00000000..975bbffe
--- /dev/null
+++ b/glad/files/khrplatform.h
@@ -0,0 +1,282 @@
+#ifndef __khrplatform_h_
+#define __khrplatform_h_
+
+/*
+** Copyright (c) 2008-2018 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a
+** copy of this software and/or associated documentation files (the
+** "Materials"), to deal in the Materials without restriction, including
+** without limitation the rights to use, copy, modify, merge, publish,
+** distribute, sublicense, and/or sell copies of the Materials, and to
+** permit persons to whom the Materials are furnished to do so, subject to
+** the following conditions:
+**
+** The above copyright notice and this permission notice shall be included
+** in all copies or substantial portions of the Materials.
+**
+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+*/
+
+/* Khronos platform-specific types and definitions.
+ *
+ * The master copy of khrplatform.h is maintained in the Khronos EGL
+ * Registry repository at https://github.com/KhronosGroup/EGL-Registry
+ * The last semantic modification to khrplatform.h was at commit ID:
+ * 67a3e0864c2d75ea5287b9f3d2eb74a745936692
+ *
+ * Adopters may modify this file to suit their platform. Adopters are
+ * encouraged to submit platform specific modifications to the Khronos
+ * group so that they can be included in future versions of this file.
+ * Please submit changes by filing pull requests or issues on
+ * the EGL Registry repository linked above.
+ *
+ *
+ * See the Implementer's Guidelines for information about where this file
+ * should be located on your system and for more details of its use:
+ * http://www.khronos.org/registry/implementers_guide.pdf
+ *
+ * This file should be included as
+ * #include
+ * by Khronos client API header files that use its types and defines.
+ *
+ * The types in khrplatform.h should only be used to define API-specific types.
+ *
+ * Types defined in khrplatform.h:
+ * khronos_int8_t signed 8 bit
+ * khronos_uint8_t unsigned 8 bit
+ * khronos_int16_t signed 16 bit
+ * khronos_uint16_t unsigned 16 bit
+ * khronos_int32_t signed 32 bit
+ * khronos_uint32_t unsigned 32 bit
+ * khronos_int64_t signed 64 bit
+ * khronos_uint64_t unsigned 64 bit
+ * khronos_intptr_t signed same number of bits as a pointer
+ * khronos_uintptr_t unsigned same number of bits as a pointer
+ * khronos_ssize_t signed size
+ * khronos_usize_t unsigned size
+ * khronos_float_t signed 32 bit floating point
+ * khronos_time_ns_t unsigned 64 bit time in nanoseconds
+ * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
+ * nanoseconds
+ * khronos_stime_nanoseconds_t signed time interval in nanoseconds
+ * khronos_boolean_enum_t enumerated boolean type. This should
+ * only be used as a base type when a client API's boolean type is
+ * an enum. Client APIs which use an integer or other type for
+ * booleans cannot use this as the base type for their boolean.
+ *
+ * Tokens defined in khrplatform.h:
+ *
+ * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
+ *
+ * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
+ * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
+ *
+ * Calling convention macros defined in this file:
+ * KHRONOS_APICALL
+ * KHRONOS_APIENTRY
+ * KHRONOS_APIATTRIBUTES
+ *
+ * These may be used in function prototypes as:
+ *
+ * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
+ * int arg1,
+ * int arg2) KHRONOS_APIATTRIBUTES;
+ */
+
+/*-------------------------------------------------------------------------
+ * Definition of KHRONOS_APICALL
+ *-------------------------------------------------------------------------
+ * This precedes the return type of the function in the function prototype.
+ */
+#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
+# define KHRONOS_APICALL __declspec(dllimport)
+#elif defined (__SYMBIAN32__)
+# define KHRONOS_APICALL IMPORT_C
+#elif defined(__ANDROID__)
+# define KHRONOS_APICALL __attribute__((visibility("default")))
+#else
+# define KHRONOS_APICALL
+#endif
+
+/*-------------------------------------------------------------------------
+ * Definition of KHRONOS_APIENTRY
+ *-------------------------------------------------------------------------
+ * This follows the return type of the function and precedes the function
+ * name in the function prototype.
+ */
+#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
+ /* Win32 but not WinCE */
+# define KHRONOS_APIENTRY __stdcall
+#else
+# define KHRONOS_APIENTRY
+#endif
+
+/*-------------------------------------------------------------------------
+ * Definition of KHRONOS_APIATTRIBUTES
+ *-------------------------------------------------------------------------
+ * This follows the closing parenthesis of the function prototype arguments.
+ */
+#if defined (__ARMCC_2__)
+#define KHRONOS_APIATTRIBUTES __softfp
+#else
+#define KHRONOS_APIATTRIBUTES
+#endif
+
+/*-------------------------------------------------------------------------
+ * basic type definitions
+ *-----------------------------------------------------------------------*/
+#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
+
+
+/*
+ * Using
+ */
+#include
+typedef int32_t khronos_int32_t;
+typedef uint32_t khronos_uint32_t;
+typedef int64_t khronos_int64_t;
+typedef uint64_t khronos_uint64_t;
+#define KHRONOS_SUPPORT_INT64 1
+#define KHRONOS_SUPPORT_FLOAT 1
+
+#elif defined(__VMS ) || defined(__sgi)
+
+/*
+ * Using
+ */
+#include
+typedef int32_t khronos_int32_t;
+typedef uint32_t khronos_uint32_t;
+typedef int64_t khronos_int64_t;
+typedef uint64_t khronos_uint64_t;
+#define KHRONOS_SUPPORT_INT64 1
+#define KHRONOS_SUPPORT_FLOAT 1
+
+#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
+
+/*
+ * Win32
+ */
+typedef __int32 khronos_int32_t;
+typedef unsigned __int32 khronos_uint32_t;
+typedef __int64 khronos_int64_t;
+typedef unsigned __int64 khronos_uint64_t;
+#define KHRONOS_SUPPORT_INT64 1
+#define KHRONOS_SUPPORT_FLOAT 1
+
+#elif defined(__sun__) || defined(__digital__)
+
+/*
+ * Sun or Digital
+ */
+typedef int khronos_int32_t;
+typedef unsigned int khronos_uint32_t;
+#if defined(__arch64__) || defined(_LP64)
+typedef long int khronos_int64_t;
+typedef unsigned long int khronos_uint64_t;
+#else
+typedef long long int khronos_int64_t;
+typedef unsigned long long int khronos_uint64_t;
+#endif /* __arch64__ */
+#define KHRONOS_SUPPORT_INT64 1
+#define KHRONOS_SUPPORT_FLOAT 1
+
+#elif 0
+
+/*
+ * Hypothetical platform with no float or int64 support
+ */
+typedef int khronos_int32_t;
+typedef unsigned int khronos_uint32_t;
+#define KHRONOS_SUPPORT_INT64 0
+#define KHRONOS_SUPPORT_FLOAT 0
+
+#else
+
+/*
+ * Generic fallback
+ */
+#include
+typedef int32_t khronos_int32_t;
+typedef uint32_t khronos_uint32_t;
+typedef int64_t khronos_int64_t;
+typedef uint64_t khronos_uint64_t;
+#define KHRONOS_SUPPORT_INT64 1
+#define KHRONOS_SUPPORT_FLOAT 1
+
+#endif
+
+
+/*
+ * Types that are (so far) the same on all platforms
+ */
+typedef signed char khronos_int8_t;
+typedef unsigned char khronos_uint8_t;
+typedef signed short int khronos_int16_t;
+typedef unsigned short int khronos_uint16_t;
+
+/*
+ * Types that differ between LLP64 and LP64 architectures - in LLP64,
+ * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
+ * to be the only LLP64 architecture in current use.
+ */
+#ifdef _WIN64
+typedef signed long long int khronos_intptr_t;
+typedef unsigned long long int khronos_uintptr_t;
+typedef signed long long int khronos_ssize_t;
+typedef unsigned long long int khronos_usize_t;
+#else
+typedef signed long int khronos_intptr_t;
+typedef unsigned long int khronos_uintptr_t;
+typedef signed long int khronos_ssize_t;
+typedef unsigned long int khronos_usize_t;
+#endif
+
+#if KHRONOS_SUPPORT_FLOAT
+/*
+ * Float type
+ */
+typedef float khronos_float_t;
+#endif
+
+#if KHRONOS_SUPPORT_INT64
+/* Time types
+ *
+ * These types can be used to represent a time interval in nanoseconds or
+ * an absolute Unadjusted System Time. Unadjusted System Time is the number
+ * of nanoseconds since some arbitrary system event (e.g. since the last
+ * time the system booted). The Unadjusted System Time is an unsigned
+ * 64 bit value that wraps back to 0 every 584 years. Time intervals
+ * may be either signed or unsigned.
+ */
+typedef khronos_uint64_t khronos_utime_nanoseconds_t;
+typedef khronos_int64_t khronos_stime_nanoseconds_t;
+#endif
+
+/*
+ * Dummy value used to pad enum types to 32 bits.
+ */
+#ifndef KHRONOS_MAX_ENUM
+#define KHRONOS_MAX_ENUM 0x7FFFFFFF
+#endif
+
+/*
+ * Enumerated boolean type
+ *
+ * Values other than zero should be considered to be true. Therefore
+ * comparisons should not be made against KHRONOS_TRUE.
+ */
+typedef enum {
+ KHRONOS_FALSE = 0,
+ KHRONOS_TRUE = 1,
+ KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
+} khronos_boolean_enum_t;
+
+#endif /* __khrplatform_h_ */
diff --git a/glad/files/vk.xml b/glad/files/vk.xml
new file mode 100644
index 00000000..9cd1c72d
--- /dev/null
+++ b/glad/files/vk.xml
@@ -0,0 +1,9166 @@
+
+
+
+Copyright (c) 2015-2018 The Khronos Group Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+---- Exceptions to the Apache 2.0 License: ----
+
+As an exception, if you use this Software to generate code and portions of
+this Software are embedded into the generated code as a result, you may
+redistribute such product without providing attribution as would otherwise
+be required by Sections 4(a), 4(b) and 4(d) of the License.
+
+In addition, if you combine or link code generated by this Software with
+software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1
+("`Combined Software`") and if a court of competent jurisdiction determines
+that the patent provision (Section 3), the indemnity provision (Section 9)
+or other Section of the License conflicts with the conditions of the
+applicable GPL or LGPL license, you may retroactively and prospectively
+choose to deem waived or otherwise exclude such Section(s) of the License,
+but only in their entirety and only with respect to the Combined Software.
+
+
+
+This file, vk.xml, is the Vulkan API Registry. It is a critically important
+and normative part of the Vulkan Specification, including a canonical
+machine-readable definition of the API, parameter and member validation
+language incorporated into the Specification and reference pages, and other
+material which is registered by Khronos, such as tags used by extension and
+layer authors. The authoritative public version of vk.xml is maintained in
+the master branch of the Khronos Vulkan GitHub project. The authoritative
+private version is maintained in the master branch of the member gitlab
+server.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #include "vk_platform.h"
+
+ WSI extensions
+
+
+
+
+
+
+
+
+ In the current header structure, each platform's interfaces
+ are confined to a platform-specific header (vulkan_xlib.h,
+ vulkan_win32.h, etc.). These headers are not self-contained,
+ and should not include native headers (X11/Xlib.h,
+ windows.h, etc.). Code should either include vulkan.h after
+ defining the appropriate VK_USE_PLATFORM_platform_KHR
+ macros, or include the required native headers prior to
+ explicitly including the corresponding platform header.
+
+ To accomplish this, the dependencies of native types require
+ native headers, but the XML defines the content for those
+ native headers as empty. The actual native header includes
+ can be restored by modifying the native header tags above
+ to #include the header file in the 'name' attribute.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #define VK_MAKE_VERSION(major, minor, patch) \
+ (((major) << 22) | ((minor) << 12) | (patch))
+ #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
+ #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
+ #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
+
+ // 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.
+//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
+ // Vulkan 1.0 version number
+#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0
+ // Vulkan 1.1 version number
+#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
+ // Version of this file
+#define VK_HEADER_VERSION 84
+
+
+#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
+
+
+#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
+#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
+ #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
+#else
+ #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
+#endif
+#endif
+
+
+
+#define VK_NULL_HANDLE 0
+
+
+ struct ANativeWindow;
+ struct AHardwareBuffer;
+
+ typedef uint32_t VkSampleMask;
+ typedef uint32_t VkBool32;
+ typedef uint32_t VkFlags;
+ typedef uint64_t VkDeviceSize;
+
+ Basic C types, pulled in via vk_platform.h
+
+
+
+
+
+
+
+
+
+
+ Bitmask types
+ typedef VkFlags VkFramebufferCreateFlags;
+ typedef VkFlags VkQueryPoolCreateFlags;
+ typedef VkFlags VkRenderPassCreateFlags;
+ typedef VkFlags VkSamplerCreateFlags;
+ typedef VkFlags VkPipelineLayoutCreateFlags;
+ typedef VkFlags VkPipelineCacheCreateFlags;
+ typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
+ typedef VkFlags VkPipelineDynamicStateCreateFlags;
+ typedef VkFlags VkPipelineColorBlendStateCreateFlags;
+ typedef VkFlags VkPipelineMultisampleStateCreateFlags;
+ typedef VkFlags VkPipelineRasterizationStateCreateFlags;
+ typedef VkFlags VkPipelineViewportStateCreateFlags;
+ typedef VkFlags VkPipelineTessellationStateCreateFlags;
+ typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
+ typedef VkFlags VkPipelineVertexInputStateCreateFlags;
+ typedef VkFlags VkPipelineShaderStageCreateFlags;
+ typedef VkFlags VkDescriptorSetLayoutCreateFlags;
+ typedef VkFlags VkBufferViewCreateFlags;
+ typedef VkFlags VkInstanceCreateFlags;
+ typedef VkFlags VkDeviceCreateFlags;
+ typedef VkFlags VkDeviceQueueCreateFlags;
+ typedef VkFlags VkQueueFlags;
+ typedef VkFlags VkMemoryPropertyFlags;
+ typedef VkFlags VkMemoryHeapFlags;
+ typedef VkFlags VkAccessFlags;
+ typedef VkFlags VkBufferUsageFlags;
+ typedef VkFlags VkBufferCreateFlags;
+ typedef VkFlags VkShaderStageFlags;
+ typedef VkFlags VkImageUsageFlags;
+ typedef VkFlags VkImageCreateFlags;
+ typedef VkFlags VkImageViewCreateFlags;
+ typedef VkFlags VkPipelineCreateFlags;
+ typedef VkFlags VkColorComponentFlags;
+ typedef VkFlags VkFenceCreateFlags;
+ typedef VkFlags VkSemaphoreCreateFlags;
+ typedef VkFlags VkFormatFeatureFlags;
+ typedef VkFlags VkQueryControlFlags;
+ typedef VkFlags VkQueryResultFlags;
+ typedef VkFlags VkShaderModuleCreateFlags;
+ typedef VkFlags VkEventCreateFlags;
+ typedef VkFlags VkCommandPoolCreateFlags;
+ typedef VkFlags VkCommandPoolResetFlags;
+ typedef VkFlags VkCommandBufferResetFlags;
+ typedef VkFlags VkCommandBufferUsageFlags;
+ typedef VkFlags VkQueryPipelineStatisticFlags;
+ typedef VkFlags VkMemoryMapFlags;
+ typedef VkFlags VkImageAspectFlags;
+ typedef VkFlags VkSparseMemoryBindFlags;
+ typedef VkFlags VkSparseImageFormatFlags;
+ typedef VkFlags VkSubpassDescriptionFlags;
+ typedef VkFlags VkPipelineStageFlags;
+ typedef VkFlags VkSampleCountFlags;
+ typedef VkFlags VkAttachmentDescriptionFlags;
+ typedef VkFlags VkStencilFaceFlags;
+ typedef VkFlags VkCullModeFlags;
+ typedef VkFlags VkDescriptorPoolCreateFlags;
+ typedef VkFlags VkDescriptorPoolResetFlags;
+ typedef VkFlags VkDependencyFlags;
+ typedef VkFlags VkSubgroupFeatureFlags;
+ typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;
+ typedef VkFlags VkObjectEntryUsageFlagsNVX;
+
+ typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
+
+
+ WSI extensions
+ typedef VkFlags VkCompositeAlphaFlagsKHR;
+ typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
+ typedef VkFlags VkSurfaceTransformFlagsKHR;
+ typedef VkFlags VkSwapchainCreateFlagsKHR;
+ typedef VkFlags VkDisplayModeCreateFlagsKHR;
+ typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
+ typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
+ typedef VkFlags VkMirSurfaceCreateFlagsKHR;
+ typedef VkFlags VkViSurfaceCreateFlagsNN;
+ typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
+ typedef VkFlags VkWin32SurfaceCreateFlagsKHR;
+ typedef VkFlags VkXlibSurfaceCreateFlagsKHR;
+ typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
+ typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
+ typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
+ typedef VkFlags VkPeerMemoryFeatureFlags;
+
+ typedef VkFlags VkMemoryAllocateFlags;
+
+ typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
+
+ typedef VkFlags VkDebugReportFlagsEXT;
+ typedef VkFlags VkCommandPoolTrimFlags;
+
+ typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
+ typedef VkFlags VkExternalMemoryFeatureFlagsNV;
+ typedef VkFlags VkExternalMemoryHandleTypeFlags;
+
+ typedef VkFlags VkExternalMemoryFeatureFlags;
+
+ typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
+
+ typedef VkFlags VkExternalSemaphoreFeatureFlags;
+
+ typedef VkFlags VkSemaphoreImportFlags;
+
+ typedef VkFlags VkExternalFenceHandleTypeFlags;
+
+ typedef VkFlags VkExternalFenceFeatureFlags;
+
+ typedef VkFlags VkFenceImportFlags;
+
+ typedef VkFlags VkSurfaceCounterFlagsEXT;
+ typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
+ typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
+ typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
+ typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
+ typedef VkFlags VkValidationCacheCreateFlagsEXT;
+ typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
+ typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
+ typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
+ typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
+ typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
+ typedef VkFlags VkDescriptorBindingFlagsEXT;
+ typedef VkFlags VkConditionalRenderingFlagsEXT;
+
+ Types which can be void pointers or class pointers, selected at compile time
+ VK_DEFINE_HANDLE(VkInstance)
+ VK_DEFINE_HANDLE(VkPhysicalDevice)
+ VK_DEFINE_HANDLE(VkDevice)
+ VK_DEFINE_HANDLE(VkQueue)
+ VK_DEFINE_HANDLE(VkCommandBuffer)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
+
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
+
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
+
+ WSI extensions
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
+ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
+
+ Types generated from corresponding enums tags below
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WSI extensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enumerated types in the header, but not used by the API
+
+
+ The PFN_vk*Function types are used by VkAllocationCallbacks below
+ typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
+ void* pUserData,
+ size_t size,
+ VkInternalAllocationType allocationType,
+ VkSystemAllocationScope allocationScope);
+ typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
+ void* pUserData,
+ size_t size,
+ VkInternalAllocationType allocationType,
+ VkSystemAllocationScope allocationScope);
+ typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
+ void* pUserData,
+ void* pOriginal,
+ size_t size,
+ size_t alignment,
+ VkSystemAllocationScope allocationScope);
+ typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
+ void* pUserData,
+ size_t size,
+ size_t alignment,
+ VkSystemAllocationScope allocationScope);
+ typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
+ void* pUserData,
+ void* pMemory);
+
+ The PFN_vkVoidFunction type are used by VkGet*ProcAddr below
+ typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
+
+ The PFN_vkDebugReportCallbackEXT type are used by the DEBUG_REPORT extension
+ typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
+ VkDebugReportFlagsEXT flags,
+ VkDebugReportObjectTypeEXT objectType,
+ uint64_t object,
+ size_t location,
+ int32_t messageCode,
+ const char* pLayerPrefix,
+ const char* pMessage,
+ void* pUserData);
+
+ The PFN_vkDebugUtilsMessengerCallbackEXT type are used by the VK_EXT_debug_utils extension
+ typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
+ VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
+ VkDebugUtilsMessageTypeFlagsEXT messageType,
+ const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
+ void* pUserData);
+
+ Struct types
+
+ VkStructureType sType
+ struct VkBaseOutStructure* pNext
+
+
+ VkStructureType sType
+ const struct VkBaseInStructure* pNext
+
+
+ int32_t x
+ int32_t y
+
+
+ int32_t x
+ int32_t y
+ int32_t z
+
+
+ uint32_t width
+ uint32_t height
+
+
+ uint32_t width
+ uint32_t height
+ uint32_t depth
+
+
+ float x
+ float y
+ float width
+ float height
+ float minDepth
+ float maxDepth
+
+
+ VkOffset2D offset
+ VkExtent2D extent
+
+
+ VkRect2D rect
+ uint32_t baseArrayLayer
+ uint32_t layerCount
+
+
+ VkComponentSwizzle r
+ VkComponentSwizzle g
+ VkComponentSwizzle b
+ VkComponentSwizzle a
+
+
+ uint32_t apiVersion
+ uint32_t driverVersion
+ uint32_t vendorID
+ uint32_t deviceID
+ VkPhysicalDeviceType deviceType
+ char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]
+ uint8_t pipelineCacheUUID[VK_UUID_SIZE]
+ VkPhysicalDeviceLimits limits
+ VkPhysicalDeviceSparseProperties sparseProperties
+
+
+ char extensionName[VK_MAX_EXTENSION_NAME_SIZE]extension name
+ uint32_t specVersionversion of the extension specification implemented
+
+
+ char layerName[VK_MAX_EXTENSION_NAME_SIZE]layer name
+ uint32_t specVersionversion of the layer specification implemented
+ uint32_t implementationVersionbuild or release version of the layer's library
+ char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the layer
+
+
+ VkStructureType sType
+ const void* pNext
+ const char* pApplicationName
+ uint32_t applicationVersion
+ const char* pEngineName
+ uint32_t engineVersion
+ uint32_t apiVersion
+
+
+ void* pUserData
+ PFN_vkAllocationFunction pfnAllocation
+ PFN_vkReallocationFunction pfnReallocation
+ PFN_vkFreeFunction pfnFree
+ PFN_vkInternalAllocationNotification pfnInternalAllocation
+ PFN_vkInternalFreeNotification pfnInternalFree
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceQueueCreateFlags flags
+ uint32_t queueFamilyIndex
+ uint32_t queueCount
+ const float* pQueuePriorities
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceCreateFlags flags
+ uint32_t queueCreateInfoCount
+ const VkDeviceQueueCreateInfo* pQueueCreateInfos
+ uint32_t enabledLayerCount
+ const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled
+ uint32_t enabledExtensionCount
+ const char* const* ppEnabledExtensionNames
+ const VkPhysicalDeviceFeatures* pEnabledFeatures
+
+
+ VkStructureType sType
+ const void* pNext
+ VkInstanceCreateFlags flags
+ const VkApplicationInfo* pApplicationInfo
+ uint32_t enabledLayerCount
+ const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled
+ uint32_t enabledExtensionCount
+ const char* const* ppEnabledExtensionNamesExtension names to be enabled
+
+
+ VkQueueFlags queueFlagsQueue flags
+ uint32_t queueCount
+ uint32_t timestampValidBits
+ VkExtent3D minImageTransferGranularityMinimum alignment requirement for image transfers
+
+
+ uint32_t memoryTypeCount
+ VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]
+ uint32_t memoryHeapCount
+ VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceSize allocationSizeSize of memory allocation
+ uint32_t memoryTypeIndexIndex of the of the memory type to allocate from
+
+
+ VkDeviceSize sizeSpecified in bytes
+ VkDeviceSize alignmentSpecified in bytes
+ uint32_t memoryTypeBitsBitmask of the allowed memory type indices into memoryTypes[] for this object
+
+
+ VkImageAspectFlags aspectMask
+ VkExtent3D imageGranularity
+ VkSparseImageFormatFlags flags
+
+
+ VkSparseImageFormatProperties formatProperties
+ uint32_t imageMipTailFirstLod
+ VkDeviceSize imageMipTailSizeSpecified in bytes, must be a multiple of sparse block size in bytes / alignment
+ VkDeviceSize imageMipTailOffsetSpecified in bytes, must be a multiple of sparse block size in bytes / alignment
+ VkDeviceSize imageMipTailStrideSpecified in bytes, must be a multiple of sparse block size in bytes / alignment
+
+
+ VkMemoryPropertyFlags propertyFlagsMemory properties of this memory type
+ uint32_t heapIndexIndex of the memory heap allocations of this memory type are taken from
+
+
+ VkDeviceSize sizeAvailable memory in the heap
+ VkMemoryHeapFlags flagsFlags for the heap
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceMemory memoryMapped memory object
+ VkDeviceSize offsetOffset within the memory object where the range starts
+ VkDeviceSize sizeSize of the range within the memory object
+
+
+ VkFormatFeatureFlags linearTilingFeaturesFormat features in case of linear tiling
+ VkFormatFeatureFlags optimalTilingFeaturesFormat features in case of optimal tiling
+ VkFormatFeatureFlags bufferFeaturesFormat features supported by buffers
+
+
+ VkExtent3D maxExtentmax image dimensions for this resource type
+ uint32_t maxMipLevelsmax number of mipmap levels for this resource type
+ uint32_t maxArrayLayersmax array size for this resource type
+ VkSampleCountFlags sampleCountssupported sample counts for this resource type
+ VkDeviceSize maxResourceSizemax size (in bytes) of this resource type
+
+
+ VkBuffer bufferBuffer used for this descriptor slot.
+ VkDeviceSize offsetBase offset from buffer start in bytes to update in the descriptor set.
+ VkDeviceSize rangeSize in bytes of the buffer resource for this descriptor update.
+
+
+ VkSampler samplerSampler to write to the descriptor in case it is a SAMPLER or COMBINED_IMAGE_SAMPLER descriptor. Ignored otherwise.
+ VkImageView imageViewImage view to write to the descriptor in case it is a SAMPLED_IMAGE, STORAGE_IMAGE, COMBINED_IMAGE_SAMPLER, or INPUT_ATTACHMENT descriptor. Ignored otherwise.
+ VkImageLayout imageLayoutLayout the image is expected to be in when accessed using this descriptor (only used if imageView is not VK_NULL_HANDLE).
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDescriptorSet dstSetDestination descriptor set
+ uint32_t dstBindingBinding within the destination descriptor set to write
+ uint32_t dstArrayElementArray element within the destination binding to write
+ uint32_t descriptorCountNumber of descriptors to write (determines the size of the array pointed by pDescriptors)
+ VkDescriptorType descriptorTypeDescriptor type to write (determines which members of the array pointed by pDescriptors are going to be used)
+ const VkDescriptorImageInfo* pImageInfoSampler, image view, and layout for SAMPLER, COMBINED_IMAGE_SAMPLER, {SAMPLED,STORAGE}_IMAGE, and INPUT_ATTACHMENT descriptor types.
+ const VkDescriptorBufferInfo* pBufferInfoRaw buffer, size, and offset for {UNIFORM,STORAGE}_BUFFER[_DYNAMIC] descriptor types.
+ const VkBufferView* pTexelBufferViewBuffer view to write to the descriptor for {UNIFORM,STORAGE}_TEXEL_BUFFER descriptor types.
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDescriptorSet srcSetSource descriptor set
+ uint32_t srcBindingBinding within the source descriptor set to copy from
+ uint32_t srcArrayElementArray element within the source binding to copy from
+ VkDescriptorSet dstSetDestination descriptor set
+ uint32_t dstBindingBinding within the destination descriptor set to copy to
+ uint32_t dstArrayElementArray element within the destination binding to copy to
+ uint32_t descriptorCountNumber of descriptors to write (determines the size of the array pointed by pDescriptors)
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBufferCreateFlags flagsBuffer creation flags
+ VkDeviceSize sizeSpecified in bytes
+ VkBufferUsageFlags usageBuffer usage flags
+ VkSharingMode sharingMode
+ uint32_t queueFamilyIndexCount
+ const uint32_t* pQueueFamilyIndices
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBufferViewCreateFlagsflags
+ VkBuffer buffer
+ VkFormat formatOptionally specifies format of elements
+ VkDeviceSize offsetSpecified in bytes
+ VkDeviceSize rangeView size specified in bytes
+
+
+ VkImageAspectFlags aspectMask
+ uint32_t mipLevel
+ uint32_t arrayLayer
+
+
+ VkImageAspectFlags aspectMask
+ uint32_t mipLevel
+ uint32_t baseArrayLayer
+ uint32_t layerCount
+
+
+ VkImageAspectFlags aspectMask
+ uint32_t baseMipLevel
+ uint32_t levelCount
+ uint32_t baseArrayLayer
+ uint32_t layerCount
+
+
+ VkStructureType sType
+ const void* pNext
+ VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize
+ VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize
+
+
+ VkStructureType sType
+ const void* pNext
+ VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize
+ VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize
+ uint32_t srcQueueFamilyIndexQueue family to transition ownership from
+ uint32_t dstQueueFamilyIndexQueue family to transition ownership to
+ VkBuffer bufferBuffer to sync
+ VkDeviceSize offsetOffset within the buffer to sync
+ VkDeviceSize sizeAmount of bytes to sync
+
+
+ VkStructureType sType
+ const void* pNext
+ VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize
+ VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize
+ VkImageLayout oldLayoutCurrent layout of the image
+ VkImageLayout newLayoutNew layout to transition the image to
+ uint32_t srcQueueFamilyIndexQueue family to transition ownership from
+ uint32_t dstQueueFamilyIndexQueue family to transition ownership to
+ VkImage imageImage to sync
+ VkImageSubresourceRange subresourceRangeSubresource range to sync
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImageCreateFlags flagsImage creation flags
+ VkImageType imageType
+ VkFormat format
+ VkExtent3D extent
+ uint32_t mipLevels
+ uint32_t arrayLayers
+ VkSampleCountFlagBits samples
+ VkImageTiling tiling
+ VkImageUsageFlags usageImage usage flags
+ VkSharingMode sharingModeCross-queue-family sharing mode
+ uint32_t queueFamilyIndexCountNumber of queue families to share across
+ const uint32_t* pQueueFamilyIndicesArray of queue family indices to share across
+ VkImageLayout initialLayoutInitial image layout for all subresources
+
+
+ VkDeviceSize offsetSpecified in bytes
+ VkDeviceSize sizeSpecified in bytes
+ VkDeviceSize rowPitchSpecified in bytes
+ VkDeviceSize arrayPitchSpecified in bytes
+ VkDeviceSize depthPitchSpecified in bytes
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImageViewCreateFlags flags
+ VkImage image
+ VkImageViewType viewType
+ VkFormat format
+ VkComponentMapping components
+ VkImageSubresourceRange subresourceRange
+
+
+ VkDeviceSize srcOffsetSpecified in bytes
+ VkDeviceSize dstOffsetSpecified in bytes
+ VkDeviceSize sizeSpecified in bytes
+
+
+ VkDeviceSize resourceOffsetSpecified in bytes
+ VkDeviceSize sizeSpecified in bytes
+ VkDeviceMemory memory
+ VkDeviceSize memoryOffsetSpecified in bytes
+ VkSparseMemoryBindFlagsflags
+
+
+ VkImageSubresource subresource
+ VkOffset3D offset
+ VkExtent3D extent
+ VkDeviceMemory memory
+ VkDeviceSize memoryOffsetSpecified in bytes
+ VkSparseMemoryBindFlagsflags
+
+
+ VkBuffer buffer
+ uint32_t bindCount
+ const VkSparseMemoryBind* pBinds
+
+
+ VkImage image
+ uint32_t bindCount
+ const VkSparseMemoryBind* pBinds
+
+
+ VkImage image
+ uint32_t bindCount
+ const VkSparseImageMemoryBind* pBinds
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t waitSemaphoreCount
+ const VkSemaphore* pWaitSemaphores
+ uint32_t bufferBindCount
+ const VkSparseBufferMemoryBindInfo* pBufferBinds
+ uint32_t imageOpaqueBindCount
+ const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds
+ uint32_t imageBindCount
+ const VkSparseImageMemoryBindInfo* pImageBinds
+ uint32_t signalSemaphoreCount
+ const VkSemaphore* pSignalSemaphores
+
+
+ VkImageSubresourceLayers srcSubresource
+ VkOffset3D srcOffsetSpecified in pixels for both compressed and uncompressed images
+ VkImageSubresourceLayers dstSubresource
+ VkOffset3D dstOffsetSpecified in pixels for both compressed and uncompressed images
+ VkExtent3D extentSpecified in pixels for both compressed and uncompressed images
+
+
+ VkImageSubresourceLayers srcSubresource
+ VkOffset3D srcOffsets[2]Specified in pixels for both compressed and uncompressed images
+ VkImageSubresourceLayers dstSubresource
+ VkOffset3D dstOffsets[2]Specified in pixels for both compressed and uncompressed images
+
+
+ VkDeviceSize bufferOffsetSpecified in bytes
+ uint32_t bufferRowLengthSpecified in texels
+ uint32_t bufferImageHeight
+ VkImageSubresourceLayers imageSubresource
+ VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images
+ VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images
+
+
+ VkImageSubresourceLayers srcSubresource
+ VkOffset3D srcOffset
+ VkImageSubresourceLayers dstSubresource
+ VkOffset3D dstOffset
+ VkExtent3D extent
+
+
+ VkStructureType sType
+ const void* pNext
+ VkShaderModuleCreateFlags flags
+ size_t codeSizeSpecified in bytes
+ const uint32_t* pCodeBinary code of size codeSize
+
+
+ uint32_t bindingBinding number for this entry
+ VkDescriptorType descriptorTypeType of the descriptors in this binding
+ uint32_t descriptorCountNumber of descriptors in this binding
+ VkShaderStageFlags stageFlagsShader stages this binding is visible to
+ const VkSampler* pImmutableSamplersImmutable samplers (used if descriptor type is SAMPLER or COMBINED_IMAGE_SAMPLER, is either NULL or contains count number of elements)
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDescriptorSetLayoutCreateFlags flags
+ uint32_t bindingCountNumber of bindings in the descriptor set layout
+ const VkDescriptorSetLayoutBinding* pBindingsArray of descriptor set layout bindings
+
+
+ VkDescriptorType type
+ uint32_t descriptorCount
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDescriptorPoolCreateFlags flags
+ uint32_t maxSets
+ uint32_t poolSizeCount
+ const VkDescriptorPoolSize* pPoolSizes
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDescriptorPool descriptorPool
+ uint32_t descriptorSetCount
+ const VkDescriptorSetLayout* pSetLayouts
+
+
+ uint32_t constantIDThe SpecConstant ID specified in the BIL
+ uint32_t offsetOffset of the value in the data block
+ size_t sizeSize in bytes of the SpecConstant
+
+
+ uint32_t mapEntryCountNumber of entries in the map
+ const VkSpecializationMapEntry* pMapEntriesArray of map entries
+ size_t dataSizeSize in bytes of pData
+ const void* pDataPointer to SpecConstant data
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineShaderStageCreateFlags flags
+ VkShaderStageFlagBits stageShader stage
+ VkShaderModule moduleModule containing entry point
+ const char* pNameNull-terminated entry point name
+ const VkSpecializationInfo* pSpecializationInfo
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineCreateFlags flagsPipeline creation flags
+ VkPipelineShaderStageCreateInfo stage
+ VkPipelineLayout layoutInterface layout of the pipeline
+ VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of
+ int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of
+
+
+ uint32_t bindingVertex buffer binding id
+ uint32_t strideDistance between vertices in bytes (0 = no advancement)
+ VkVertexInputRate inputRateThe rate at which the vertex data is consumed
+
+
+ uint32_t locationlocation of the shader vertex attrib
+ uint32_t bindingVertex buffer binding id
+ VkFormat formatformat of source data
+ uint32_t offsetOffset of first element in bytes from base of vertex
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineVertexInputStateCreateFlags flags
+ uint32_t vertexBindingDescriptionCountnumber of bindings
+ const VkVertexInputBindingDescription* pVertexBindingDescriptions
+ uint32_t vertexAttributeDescriptionCountnumber of attributes
+ const VkVertexInputAttributeDescription* pVertexAttributeDescriptions
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineInputAssemblyStateCreateFlags flags
+ VkPrimitiveTopology topology
+ VkBool32 primitiveRestartEnable
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineTessellationStateCreateFlags flags
+ uint32_t patchControlPoints
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineViewportStateCreateFlags flags
+ uint32_t viewportCount
+ const VkViewport* pViewports
+ uint32_t scissorCount
+ const VkRect2D* pScissors
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineRasterizationStateCreateFlags flags
+ VkBool32 depthClampEnable
+ VkBool32 rasterizerDiscardEnable
+ VkPolygonMode polygonModeoptional (GL45)
+ VkCullModeFlags cullMode
+ VkFrontFace frontFace
+ VkBool32 depthBiasEnable
+ float depthBiasConstantFactor
+ float depthBiasClamp
+ float depthBiasSlopeFactor
+ float lineWidth
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineMultisampleStateCreateFlags flags
+ VkSampleCountFlagBits rasterizationSamplesNumber of samples used for rasterization
+ VkBool32 sampleShadingEnableoptional (GL45)
+ float minSampleShadingoptional (GL45)
+ const VkSampleMask* pSampleMaskArray of sampleMask words
+ VkBool32 alphaToCoverageEnable
+ VkBool32 alphaToOneEnable
+
+
+ VkBool32 blendEnable
+ VkBlendFactor srcColorBlendFactor
+ VkBlendFactor dstColorBlendFactor
+ VkBlendOp colorBlendOp
+ VkBlendFactor srcAlphaBlendFactor
+ VkBlendFactor dstAlphaBlendFactor
+ VkBlendOp alphaBlendOp
+ VkColorComponentFlags colorWriteMask
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineColorBlendStateCreateFlags flags
+ VkBool32 logicOpEnable
+ VkLogicOp logicOp
+ uint32_t attachmentCount# of pAttachments
+ const VkPipelineColorBlendAttachmentState* pAttachments
+ float blendConstants[4]
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineDynamicStateCreateFlags flags
+ uint32_t dynamicStateCount
+ const VkDynamicState* pDynamicStates
+
+
+ VkStencilOp failOp
+ VkStencilOp passOp
+ VkStencilOp depthFailOp
+ VkCompareOp compareOp
+ uint32_t compareMask
+ uint32_t writeMask
+ uint32_t reference
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineDepthStencilStateCreateFlags flags
+ VkBool32 depthTestEnable
+ VkBool32 depthWriteEnable
+ VkCompareOp depthCompareOp
+ VkBool32 depthBoundsTestEnableoptional (depth_bounds_test)
+ VkBool32 stencilTestEnable
+ VkStencilOpState front
+ VkStencilOpState back
+ float minDepthBounds
+ float maxDepthBounds
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineCreateFlags flagsPipeline creation flags
+ uint32_t stageCount
+ const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage
+ const VkPipelineVertexInputStateCreateInfo* pVertexInputState
+ const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState
+ const VkPipelineTessellationStateCreateInfo* pTessellationState
+ const VkPipelineViewportStateCreateInfo* pViewportState
+ const VkPipelineRasterizationStateCreateInfo* pRasterizationState
+ const VkPipelineMultisampleStateCreateInfo* pMultisampleState
+ const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState
+ const VkPipelineColorBlendStateCreateInfo* pColorBlendState
+ const VkPipelineDynamicStateCreateInfo* pDynamicState
+ VkPipelineLayout layoutInterface layout of the pipeline
+ VkRenderPass renderPass
+ uint32_t subpass
+ VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of
+ int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineCacheCreateFlags flags
+ size_t initialDataSizeSize of initial data to populate cache, in bytes
+ const void* pInitialDataInitial data to populate cache
+
+
+ VkShaderStageFlags stageFlagsWhich stages use the range
+ uint32_t offsetStart of the range, in bytes
+ uint32_t sizeSize of the range, in bytes
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineLayoutCreateFlags flags
+ uint32_t setLayoutCountNumber of descriptor sets interfaced by the pipeline
+ const VkDescriptorSetLayout* pSetLayoutsArray of setCount number of descriptor set layout objects defining the layout of the
+ uint32_t pushConstantRangeCountNumber of push-constant ranges used by the pipeline
+ const VkPushConstantRange* pPushConstantRangesArray of pushConstantRangeCount number of ranges used by various shader stages
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSamplerCreateFlags flags
+ VkFilter magFilterFilter mode for magnification
+ VkFilter minFilterFilter mode for minifiation
+ VkSamplerMipmapMode mipmapModeMipmap selection mode
+ VkSamplerAddressMode addressModeU
+ VkSamplerAddressMode addressModeV
+ VkSamplerAddressMode addressModeW
+ float mipLodBias
+ VkBool32 anisotropyEnable
+ float maxAnisotropy
+ VkBool32 compareEnable
+ VkCompareOp compareOp
+ float minLod
+ float maxLod
+ VkBorderColor borderColor
+ VkBool32 unnormalizedCoordinates
+
+
+ VkStructureType sType
+ const void* pNext
+ VkCommandPoolCreateFlags flagsCommand pool creation flags
+ uint32_t queueFamilyIndex
+
+
+ VkStructureType sType
+ const void* pNext
+ VkCommandPool commandPool
+ VkCommandBufferLevel level
+ uint32_t commandBufferCount
+
+
+ VkStructureType sType
+ const void* pNext
+ VkRenderPass renderPassRender pass for secondary command buffers
+ uint32_t subpass
+ VkFramebuffer framebufferFramebuffer for secondary command buffers
+ VkBool32 occlusionQueryEnableWhether this secondary command buffer may be executed during an occlusion query
+ VkQueryControlFlags queryFlagsQuery flags used by this secondary command buffer, if executed during an occlusion query
+ VkQueryPipelineStatisticFlags pipelineStatisticsPipeline statistics that may be counted for this secondary command buffer
+
+
+ VkStructureType sType
+ const void* pNext
+ VkCommandBufferUsageFlags flagsCommand buffer usage flags
+ const VkCommandBufferInheritanceInfo* pInheritanceInfoPointer to inheritance info for secondary command buffers
+
+
+ VkStructureType sType
+ const void* pNext
+ VkRenderPass renderPass
+ VkFramebuffer framebuffer
+ VkRect2D renderArea
+ uint32_t clearValueCount
+ const VkClearValue* pClearValues
+
+
+ float float32[4]
+ int32_t int32[4]
+ uint32_t uint32[4]
+
+
+ float depth
+ uint32_t stencil
+
+
+ VkClearColorValue color
+ VkClearDepthStencilValue depthStencil
+
+
+ VkImageAspectFlags aspectMask
+ uint32_t colorAttachment
+ VkClearValue clearValue
+
+
+ VkAttachmentDescriptionFlags flags
+ VkFormat format
+ VkSampleCountFlagBits samples
+ VkAttachmentLoadOp loadOpLoad operation for color or depth data
+ VkAttachmentStoreOp storeOpStore operation for color or depth data
+ VkAttachmentLoadOp stencilLoadOpLoad operation for stencil data
+ VkAttachmentStoreOp stencilStoreOpStore operation for stencil data
+ VkImageLayout initialLayout
+ VkImageLayout finalLayout
+
+
+ uint32_t attachment
+ VkImageLayout layout
+
+
+ VkSubpassDescriptionFlags flags
+ VkPipelineBindPoint pipelineBindPointMust be VK_PIPELINE_BIND_POINT_GRAPHICS for now
+ uint32_t inputAttachmentCount
+ const VkAttachmentReference* pInputAttachments
+ uint32_t colorAttachmentCount
+ const VkAttachmentReference* pColorAttachments
+ const VkAttachmentReference* pResolveAttachments
+ const VkAttachmentReference* pDepthStencilAttachment
+ uint32_t preserveAttachmentCount
+ const uint32_t* pPreserveAttachments
+
+
+ uint32_t srcSubpass
+ uint32_t dstSubpass
+ VkPipelineStageFlags srcStageMask
+ VkPipelineStageFlags dstStageMask
+ VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize
+ VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize
+ VkDependencyFlags dependencyFlags
+
+
+ VkStructureType sType
+ const void* pNext
+ VkRenderPassCreateFlags flags
+ uint32_t attachmentCount
+ const VkAttachmentDescription* pAttachments
+ uint32_t subpassCount
+ const VkSubpassDescription* pSubpasses
+ uint32_t dependencyCount
+ const VkSubpassDependency* pDependencies
+
+
+ VkStructureType sType
+ const void* pNext
+ VkEventCreateFlags flagsEvent creation flags
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFenceCreateFlags flagsFence creation flags
+
+
+ VkBool32 robustBufferAccessout of bounds buffer accesses are well defined
+ VkBool32 fullDrawIndexUint32full 32-bit range of indices for indexed draw calls
+ VkBool32 imageCubeArrayimage views which are arrays of cube maps
+ VkBool32 independentBlendblending operations are controlled per-attachment
+ VkBool32 geometryShadergeometry stage
+ VkBool32 tessellationShadertessellation control and evaluation stage
+ VkBool32 sampleRateShadingper-sample shading and interpolation
+ VkBool32 dualSrcBlendblend operations which take two sources
+ VkBool32 logicOplogic operations
+ VkBool32 multiDrawIndirectmulti draw indirect
+ VkBool32 drawIndirectFirstInstanceindirect draws can use non-zero firstInstance
+ VkBool32 depthClampdepth clamping
+ VkBool32 depthBiasClampdepth bias clamping
+ VkBool32 fillModeNonSolidpoint and wireframe fill modes
+ VkBool32 depthBoundsdepth bounds test
+ VkBool32 wideLineslines with width greater than 1
+ VkBool32 largePointspoints with size greater than 1
+ VkBool32 alphaToOnethe fragment alpha component can be forced to maximum representable alpha value
+ VkBool32 multiViewportviewport arrays
+ VkBool32 samplerAnisotropyanisotropic sampler filtering
+ VkBool32 textureCompressionETC2ETC texture compression formats
+ VkBool32 textureCompressionASTC_LDRASTC LDR texture compression formats
+ VkBool32 textureCompressionBCBC1-7 texture compressed formats
+ VkBool32 occlusionQueryPreciseprecise occlusion queries returning actual sample counts
+ VkBool32 pipelineStatisticsQuerypipeline statistics query
+ VkBool32 vertexPipelineStoresAndAtomicsstores and atomic ops on storage buffers and images are supported in vertex, tessellation, and geometry stages
+ VkBool32 fragmentStoresAndAtomicsstores and atomic ops on storage buffers and images are supported in the fragment stage
+ VkBool32 shaderTessellationAndGeometryPointSizetessellation and geometry stages can export point size
+ VkBool32 shaderImageGatherExtendedimage gather with run-time values and independent offsets
+ VkBool32 shaderStorageImageExtendedFormatsthe extended set of formats can be used for storage images
+ VkBool32 shaderStorageImageMultisamplemultisample images can be used for storage images
+ VkBool32 shaderStorageImageReadWithoutFormatread from storage image does not require format qualifier
+ VkBool32 shaderStorageImageWriteWithoutFormatwrite to storage image does not require format qualifier
+ VkBool32 shaderUniformBufferArrayDynamicIndexingarrays of uniform buffers can be accessed with dynamically uniform indices
+ VkBool32 shaderSampledImageArrayDynamicIndexingarrays of sampled images can be accessed with dynamically uniform indices
+ VkBool32 shaderStorageBufferArrayDynamicIndexingarrays of storage buffers can be accessed with dynamically uniform indices
+ VkBool32 shaderStorageImageArrayDynamicIndexingarrays of storage images can be accessed with dynamically uniform indices
+ VkBool32 shaderClipDistanceclip distance in shaders
+ VkBool32 shaderCullDistancecull distance in shaders
+ VkBool32 shaderFloat6464-bit floats (doubles) in shaders
+ VkBool32 shaderInt6464-bit integers in shaders
+ VkBool32 shaderInt1616-bit integers in shaders
+ VkBool32 shaderResourceResidencyshader can use texture operations that return resource residency information (requires sparseNonResident support)
+ VkBool32 shaderResourceMinLodshader can use texture operations that specify minimum resource LOD
+ VkBool32 sparseBindingSparse resources support: Resource memory can be managed at opaque page level rather than object level
+ VkBool32 sparseResidencyBufferSparse resources support: GPU can access partially resident buffers
+ VkBool32 sparseResidencyImage2DSparse resources support: GPU can access partially resident 2D (non-MSAA non-depth/stencil) images
+ VkBool32 sparseResidencyImage3DSparse resources support: GPU can access partially resident 3D images
+ VkBool32 sparseResidency2SamplesSparse resources support: GPU can access partially resident MSAA 2D images with 2 samples
+ VkBool32 sparseResidency4SamplesSparse resources support: GPU can access partially resident MSAA 2D images with 4 samples
+ VkBool32 sparseResidency8SamplesSparse resources support: GPU can access partially resident MSAA 2D images with 8 samples
+ VkBool32 sparseResidency16SamplesSparse resources support: GPU can access partially resident MSAA 2D images with 16 samples
+ VkBool32 sparseResidencyAliasedSparse resources support: GPU can correctly access data aliased into multiple locations (opt-in)
+ VkBool32 variableMultisampleRatemultisample rate must be the same for all pipelines in a subpass
+ VkBool32 inheritedQueriesQueries may be inherited from primary to secondary command buffers
+
+
+ VkBool32 residencyStandard2DBlockShapeSparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format)
+ VkBool32 residencyStandard2DMultisampleBlockShapeSparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format)
+ VkBool32 residencyStandard3DBlockShapeSparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format)
+ VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail
+ VkBool32 residencyNonResidentStrictSparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded
+
+
+ resource maximum sizes
+ uint32_t maxImageDimension1Dmax 1D image dimension
+ uint32_t maxImageDimension2Dmax 2D image dimension
+ uint32_t maxImageDimension3Dmax 3D image dimension
+ uint32_t maxImageDimensionCubemax cubemap image dimension
+ uint32_t maxImageArrayLayersmax layers for image arrays
+ uint32_t maxTexelBufferElementsmax texel buffer size (fstexels)
+ uint32_t maxUniformBufferRangemax uniform buffer range (bytes)
+ uint32_t maxStorageBufferRangemax storage buffer range (bytes)
+ uint32_t maxPushConstantsSizemax size of the push constants pool (bytes)
+ memory limits
+ uint32_t maxMemoryAllocationCountmax number of device memory allocations supported
+ uint32_t maxSamplerAllocationCountmax number of samplers that can be allocated on a device
+ VkDeviceSize bufferImageGranularityGranularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage
+ VkDeviceSize sparseAddressSpaceSizeTotal address space available for sparse allocations (bytes)
+ descriptor set limits
+ uint32_t maxBoundDescriptorSetsmax number of descriptors sets that can be bound to a pipeline
+ uint32_t maxPerStageDescriptorSamplersmax number of samplers allowed per-stage in a descriptor set
+ uint32_t maxPerStageDescriptorUniformBuffersmax number of uniform buffers allowed per-stage in a descriptor set
+ uint32_t maxPerStageDescriptorStorageBuffersmax number of storage buffers allowed per-stage in a descriptor set
+ uint32_t maxPerStageDescriptorSampledImagesmax number of sampled images allowed per-stage in a descriptor set
+ uint32_t maxPerStageDescriptorStorageImagesmax number of storage images allowed per-stage in a descriptor set
+ uint32_t maxPerStageDescriptorInputAttachmentsmax number of input attachments allowed per-stage in a descriptor set
+ uint32_t maxPerStageResourcesmax number of resources allowed by a single stage
+ uint32_t maxDescriptorSetSamplersmax number of samplers allowed in all stages in a descriptor set
+ uint32_t maxDescriptorSetUniformBuffersmax number of uniform buffers allowed in all stages in a descriptor set
+ uint32_t maxDescriptorSetUniformBuffersDynamicmax number of dynamic uniform buffers allowed in all stages in a descriptor set
+ uint32_t maxDescriptorSetStorageBuffersmax number of storage buffers allowed in all stages in a descriptor set
+ uint32_t maxDescriptorSetStorageBuffersDynamicmax number of dynamic storage buffers allowed in all stages in a descriptor set
+ uint32_t maxDescriptorSetSampledImagesmax number of sampled images allowed in all stages in a descriptor set
+ uint32_t maxDescriptorSetStorageImagesmax number of storage images allowed in all stages in a descriptor set
+ uint32_t maxDescriptorSetInputAttachmentsmax number of input attachments allowed in all stages in a descriptor set
+ vertex stage limits
+ uint32_t maxVertexInputAttributesmax number of vertex input attribute slots
+ uint32_t maxVertexInputBindingsmax number of vertex input binding slots
+ uint32_t maxVertexInputAttributeOffsetmax vertex input attribute offset added to vertex buffer offset
+ uint32_t maxVertexInputBindingStridemax vertex input binding stride
+ uint32_t maxVertexOutputComponentsmax number of output components written by vertex shader
+ tessellation control stage limits
+ uint32_t maxTessellationGenerationLevelmax level supported by tessellation primitive generator
+ uint32_t maxTessellationPatchSizemax patch size (vertices)
+ uint32_t maxTessellationControlPerVertexInputComponentsmax number of input components per-vertex in TCS
+ uint32_t maxTessellationControlPerVertexOutputComponentsmax number of output components per-vertex in TCS
+ uint32_t maxTessellationControlPerPatchOutputComponentsmax number of output components per-patch in TCS
+ uint32_t maxTessellationControlTotalOutputComponentsmax total number of per-vertex and per-patch output components in TCS
+ tessellation evaluation stage limits
+ uint32_t maxTessellationEvaluationInputComponentsmax number of input components per vertex in TES
+ uint32_t maxTessellationEvaluationOutputComponentsmax number of output components per vertex in TES
+ geometry stage limits
+ uint32_t maxGeometryShaderInvocationsmax invocation count supported in geometry shader
+ uint32_t maxGeometryInputComponentsmax number of input components read in geometry stage
+ uint32_t maxGeometryOutputComponentsmax number of output components written in geometry stage
+ uint32_t maxGeometryOutputVerticesmax number of vertices that can be emitted in geometry stage
+ uint32_t maxGeometryTotalOutputComponentsmax total number of components (all vertices) written in geometry stage
+ fragment stage limits
+ uint32_t maxFragmentInputComponentsmax number of input components read in fragment stage
+ uint32_t maxFragmentOutputAttachmentsmax number of output attachments written in fragment stage
+ uint32_t maxFragmentDualSrcAttachmentsmax number of output attachments written when using dual source blending
+ uint32_t maxFragmentCombinedOutputResourcesmax total number of storage buffers, storage images and output buffers
+ compute stage limits
+ uint32_t maxComputeSharedMemorySizemax total storage size of work group local storage (bytes)
+ uint32_t maxComputeWorkGroupCount[3]max num of compute work groups that may be dispatched by a single command (x,y,z)
+ uint32_t maxComputeWorkGroupInvocationsmax total compute invocations in a single local work group
+ uint32_t maxComputeWorkGroupSize[3]max local size of a compute work group (x,y,z)
+ uint32_t subPixelPrecisionBitsnumber bits of subpixel precision in screen x and y
+ uint32_t subTexelPrecisionBitsnumber bits of precision for selecting texel weights
+ uint32_t mipmapPrecisionBitsnumber bits of precision for selecting mipmap weights
+ uint32_t maxDrawIndexedIndexValuemax index value for indexed draw calls (for 32-bit indices)
+ uint32_t maxDrawIndirectCountmax draw count for indirect draw calls
+ float maxSamplerLodBiasmax absolute sampler LOD bias
+ float maxSamplerAnisotropymax degree of sampler anisotropy
+ uint32_t maxViewportsmax number of active viewports
+ uint32_t maxViewportDimensions[2]max viewport dimensions (x,y)
+ float viewportBoundsRange[2]viewport bounds range (min,max)
+ uint32_t viewportSubPixelBitsnumber bits of subpixel precision for viewport
+ size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes)
+ VkDeviceSize minTexelBufferOffsetAlignmentmin required alignment for texel buffer offsets (bytes)
+ VkDeviceSize minUniformBufferOffsetAlignmentmin required alignment for uniform buffer sizes and offsets (bytes)
+ VkDeviceSize minStorageBufferOffsetAlignmentmin required alignment for storage buffer offsets (bytes)
+ int32_t minTexelOffsetmin texel offset for OpTextureSampleOffset
+ uint32_t maxTexelOffsetmax texel offset for OpTextureSampleOffset
+ int32_t minTexelGatherOffsetmin texel offset for OpTextureGatherOffset
+ uint32_t maxTexelGatherOffsetmax texel offset for OpTextureGatherOffset
+ float minInterpolationOffsetfurthest negative offset for interpolateAtOffset
+ float maxInterpolationOffsetfurthest positive offset for interpolateAtOffset
+ uint32_t subPixelInterpolationOffsetBitsnumber of subpixel bits for interpolateAtOffset
+ uint32_t maxFramebufferWidthmax width for a framebuffer
+ uint32_t maxFramebufferHeightmax height for a framebuffer
+ uint32_t maxFramebufferLayersmax layer count for a layered framebuffer
+ VkSampleCountFlags framebufferColorSampleCountssupported color sample counts for a framebuffer
+ VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer
+ VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer
+ VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a framebuffer with no attachments
+ uint32_t maxColorAttachmentsmax number of color attachments per subpass
+ VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image
+ VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image
+ VkSampleCountFlags sampledImageDepthSampleCountssupported depth sample counts for a sampled image
+ VkSampleCountFlags sampledImageStencilSampleCountssupported stencil sample counts for a sampled image
+ VkSampleCountFlags storageImageSampleCountssupported sample counts for a storage image
+ uint32_t maxSampleMaskWordsmax number of sample mask words
+ VkBool32 timestampComputeAndGraphicstimestamps on graphics and compute queues
+ float timestampPeriodnumber of nanoseconds it takes for timestamp query value to increment by 1
+ uint32_t maxClipDistancesmax number of clip distances
+ uint32_t maxCullDistancesmax number of cull distances
+ uint32_t maxCombinedClipAndCullDistancesmax combined number of user clipping
+ uint32_t discreteQueuePrioritiesdistinct queue priorities available
+ float pointSizeRange[2]range (min,max) of supported point sizes
+ float lineWidthRange[2]range (min,max) of supported line widths
+ float pointSizeGranularitygranularity of supported point sizes
+ float lineWidthGranularitygranularity of supported line widths
+ VkBool32 strictLinesline rasterization follows preferred rules
+ VkBool32 standardSampleLocationssupports standard sample locations for all supported sample counts
+ VkDeviceSize optimalBufferCopyOffsetAlignmentoptimal offset of buffer copies
+ VkDeviceSize optimalBufferCopyRowPitchAlignmentoptimal pitch of buffer copies
+ VkDeviceSize nonCoherentAtomSizeminimum size and alignment for non-coherent host-mapped device memory access
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSemaphoreCreateFlags flagsSemaphore creation flags
+
+
+ VkStructureType sType
+ const void* pNext
+ VkQueryPoolCreateFlags flags
+ VkQueryType queryType
+ uint32_t queryCount
+ VkQueryPipelineStatisticFlags pipelineStatisticsOptional
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFramebufferCreateFlags flags
+ VkRenderPass renderPass
+ uint32_t attachmentCount
+ const VkImageView* pAttachments
+ uint32_t width
+ uint32_t height
+ uint32_t layers
+
+
+ uint32_t vertexCount
+ uint32_t instanceCount
+ uint32_t firstVertex
+ uint32_t firstInstance
+
+
+ uint32_t indexCount
+ uint32_t instanceCount
+ uint32_t firstIndex
+ int32_t vertexOffset
+ uint32_t firstInstance
+
+
+ uint32_t x
+ uint32_t y
+ uint32_t z
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t waitSemaphoreCount
+ const VkSemaphore* pWaitSemaphores
+ const VkPipelineStageFlags* pWaitDstStageMask
+ uint32_t commandBufferCount
+ const VkCommandBuffer* pCommandBuffers
+ uint32_t signalSemaphoreCount
+ const VkSemaphore* pSignalSemaphores
+
+ WSI extensions
+
+ VkDisplayKHR displayHandle of the display object
+ const char* displayNameName of the display
+ VkExtent2D physicalDimensionsIn millimeters?
+ VkExtent2D physicalResolutionMax resolution for CRT?
+ VkSurfaceTransformFlagsKHR supportedTransformsone or more bits from VkSurfaceTransformFlagsKHR
+ VkBool32 planeReorderPossibleVK_TRUE if the overlay plane's z-order can be changed on this display.
+ VkBool32 persistentContentVK_TRUE if this is a "smart" display that supports self-refresh/internal buffering.
+
+
+ VkDisplayKHR currentDisplayDisplay the plane is currently associated with. Will be VK_NULL_HANDLE if the plane is not in use.
+ uint32_t currentStackIndexCurrent z-order of the plane.
+
+
+ VkExtent2D visibleRegionVisible scanout region.
+ uint32_t refreshRateNumber of times per second the display is updated.
+
+
+ VkDisplayModeKHR displayModeHandle of this display mode.
+ VkDisplayModeParametersKHR parametersThe parameters this mode uses.
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDisplayModeCreateFlagsKHR flags
+ VkDisplayModeParametersKHR parametersThe parameters this mode uses.
+
+
+ VkDisplayPlaneAlphaFlagsKHR supportedAlphaTypes of alpha blending supported, if any.
+ VkOffset2D minSrcPositionDoes the plane have any position and extent restrictions?
+ VkOffset2D maxSrcPosition
+ VkExtent2D minSrcExtent
+ VkExtent2D maxSrcExtent
+ VkOffset2D minDstPosition
+ VkOffset2D maxDstPosition
+ VkExtent2D minDstExtent
+ VkExtent2D maxDstExtent
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDisplaySurfaceCreateFlagsKHR flags
+ VkDisplayModeKHR displayModeThe mode to use when displaying this surface
+ uint32_t planeIndexThe plane on which this surface appears. Must be between 0 and the value returned by vkGetPhysicalDeviceDisplayPlanePropertiesKHR() in pPropertyCount.
+ uint32_t planeStackIndexThe z-order of the plane.
+ VkSurfaceTransformFlagBitsKHR transformTransform to apply to the images as part of the scanout operation
+ float globalAlphaGlobal alpha value. Must be between 0 and 1, inclusive. Ignored if alphaMode is not VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR
+ VkDisplayPlaneAlphaFlagBitsKHR alphaModeWhat type of alpha blending to use. Must be a bit from vkGetDisplayPlanePropertiesKHR::supportedAlpha.
+ VkExtent2D imageExtentsize of the images to use with this surface
+
+
+ VkStructureType sType
+ const void* pNext
+ VkRect2D srcRectRectangle within the presentable image to read pixel data from when presenting to the display.
+ VkRect2D dstRectRectangle within the current display mode's visible region to display srcRectangle in.
+ VkBool32 persistentFor smart displays, use buffered mode. If the display properties member "persistentMode" is VK_FALSE, this member must always be VK_FALSE.
+
+
+ uint32_t minImageCountSupported minimum number of images for the surface
+ uint32_t maxImageCountSupported maximum number of images for the surface, 0 for unlimited
+ VkExtent2D currentExtentCurrent image width and height for the surface, (0, 0) if undefined
+ VkExtent2D minImageExtentSupported minimum image width and height for the surface
+ VkExtent2D maxImageExtentSupported maximum image width and height for the surface
+ uint32_t maxImageArrayLayersSupported maximum number of image layers for the surface
+ VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported
+ VkSurfaceTransformFlagBitsKHR currentTransformThe surface's current transform relative to the device's natural orientation
+ VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported
+ VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface
+
+
+ VkStructureType sType
+ const void* pNext
+ VkAndroidSurfaceCreateFlagsKHR flags
+ struct ANativeWindow* window
+
+
+ VkStructureType sType
+ const void* pNext
+ VkMirSurfaceCreateFlagsKHR flags
+ MirConnection* connection
+ MirSurface* mirSurface
+
+
+ VkStructureType sType
+ const void* pNext
+ VkViSurfaceCreateFlagsNN flags
+ void* window
+
+
+ VkStructureType sType
+ const void* pNext
+ VkWaylandSurfaceCreateFlagsKHR flags
+ struct wl_display* display
+ struct wl_surface* surface
+
+
+ VkStructureType sType
+ const void* pNext
+ VkWin32SurfaceCreateFlagsKHR flags
+ HINSTANCE hinstance
+ HWND hwnd
+
+
+ VkStructureType sType
+ const void* pNext
+ VkXlibSurfaceCreateFlagsKHR flags
+ Display* dpy
+ Window window
+
+
+ VkStructureType sType
+ const void* pNext
+ VkXcbSurfaceCreateFlagsKHR flags
+ xcb_connection_t* connection
+ xcb_window_t window
+
+
+ VkFormat formatSupported pair of rendering format
+ VkColorSpaceKHR colorSpaceand color space for the surface
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSwapchainCreateFlagsKHR flags
+ VkSurfaceKHR surfaceThe swapchain's target surface
+ uint32_t minImageCountMinimum number of presentation images the application needs
+ VkFormat imageFormatFormat of the presentation images
+ VkColorSpaceKHR imageColorSpaceColorspace of the presentation images
+ VkExtent2D imageExtentDimensions of the presentation images
+ uint32_t imageArrayLayersDetermines the number of views for multiview/stereo presentation
+ VkImageUsageFlags imageUsageBits indicating how the presentation images will be used
+ VkSharingMode imageSharingModeSharing mode used for the presentation images
+ uint32_t queueFamilyIndexCountNumber of queue families having access to the images in case of concurrent sharing mode
+ const uint32_t* pQueueFamilyIndicesArray of queue family indices having access to the images in case of concurrent sharing mode
+ VkSurfaceTransformFlagBitsKHR preTransformThe transform, relative to the device's natural orientation, applied to the image content prior to presentation
+ VkCompositeAlphaFlagBitsKHR compositeAlphaThe alpha blending mode used when compositing this surface with other surfaces in the window system
+ VkPresentModeKHR presentModeWhich presentation mode to use for presents on this swap chain
+ VkBool32 clippedSpecifies whether presentable images may be affected by window clip regions
+ VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t waitSemaphoreCountNumber of semaphores to wait for before presenting
+ const VkSemaphore* pWaitSemaphoresSemaphores to wait for before presenting
+ uint32_t swapchainCountNumber of swapchains to present in this call
+ const VkSwapchainKHR* pSwapchainsSwapchains to present an image from
+ const uint32_t* pImageIndicesIndices of which presentable images to present
+ VkResult* pResultsOptional (i.e. if non-NULL) VkResult for each swapchain
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDebugReportFlagsEXT flagsIndicates which events call this callback
+ PFN_vkDebugReportCallbackEXT pfnCallbackFunction pointer of a callback function
+ void* pUserDataUser data provided to callback function
+
+
+ VkStructureType sTypeMust be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
+ const void* pNext
+ uint32_t disabledValidationCheckCountNumber of validation checks to disable
+ const VkValidationCheckEXT* pDisabledValidationChecksValidation checks to disable
+
+
+ VkStructureType sType
+ const void* pNext
+ VkRasterizationOrderAMD rasterizationOrderRasterization order to use for the pipeline
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDebugReportObjectTypeEXT objectTypeThe type of the object
+ uint64_t objectThe handle of the object, cast to uint64_t
+ const char* pObjectNameName to apply to the object
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDebugReportObjectTypeEXT objectTypeThe type of the object
+ uint64_t objectThe handle of the object, cast to uint64_t
+ uint64_t tagNameThe name of the tag to set on the object
+ size_t tagSizeThe length in bytes of the tag data
+ const void* pTagTag data to attach to the object
+
+
+ VkStructureType sType
+ const void* pNext
+ const char* pMarkerNameName of the debug marker
+ float color[4]Optional color for debug marker
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 dedicatedAllocationWhether this image uses a dedicated allocation
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 dedicatedAllocationWhether this buffer uses a dedicated allocation
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImage imageImage that this allocation will be bound to
+ VkBuffer bufferBuffer that this allocation will be bound to
+
+
+ VkImageFormatProperties imageFormatProperties
+ VkExternalMemoryFeatureFlagsNV externalMemoryFeatures
+ VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes
+ VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlagsNV handleTypes
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlagsNV handleTypes
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlagsNV handleType
+ HANDLE handle
+
+
+ VkStructureType sType
+ const void* pNext
+ const SECURITY_ATTRIBUTES* pAttributes
+ DWORD dwAccess
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t acquireCount
+ const VkDeviceMemory* pAcquireSyncs
+ const uint64_t* pAcquireKeys
+ const uint32_t* pAcquireTimeoutMilliseconds
+ uint32_t releaseCount
+ const VkDeviceMemory* pReleaseSyncs
+ const uint64_t* pReleaseKeys
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 computeBindingPointSupport
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t maxIndirectCommandsLayoutTokenCount
+ uint32_t maxObjectEntryCounts
+ uint32_t minSequenceCountBufferOffsetAlignment
+ uint32_t minSequenceIndexBufferOffsetAlignment
+ uint32_t minCommandsTokenBufferOffsetAlignment
+
+
+ VkIndirectCommandsTokenTypeNVX tokenType
+ VkBuffer bufferbuffer containing tableEntries and additional data for indirectCommands
+ VkDeviceSize offsetoffset from the base address of the buffer
+
+
+ VkIndirectCommandsTokenTypeNVX tokenType
+ uint32_t bindingUnitBinding unit for vertex attribute / descriptor set, offset for pushconstants
+ uint32_t dynamicCountNumber of variable dynamic values for descriptor set / push constants
+ uint32_t divisorRate the which the array is advanced per element (must be power of 2, minimum 1)
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineBindPoint pipelineBindPoint
+ VkIndirectCommandsLayoutUsageFlagsNVX flags
+ uint32_t tokenCount
+ const VkIndirectCommandsLayoutTokenNVX* pTokens
+
+
+ VkStructureType sType
+ const void* pNext
+ VkObjectTableNVX objectTable
+ VkIndirectCommandsLayoutNVX indirectCommandsLayout
+ uint32_t indirectCommandsTokenCount
+ const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens
+ uint32_t maxSequencesCount
+ VkCommandBuffer targetCommandBuffer
+ VkBuffer sequencesCountBuffer
+ VkDeviceSize sequencesCountOffset
+ VkBuffer sequencesIndexBuffer
+ VkDeviceSize sequencesIndexOffset
+
+
+ VkStructureType sType
+ const void* pNext
+ VkObjectTableNVX objectTable
+ VkIndirectCommandsLayoutNVX indirectCommandsLayout
+ uint32_t maxSequencesCount
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t objectCount
+ const VkObjectEntryTypeNVX* pObjectEntryTypes
+ const uint32_t* pObjectEntryCounts
+ const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags
+
+ uint32_t maxUniformBuffersPerDescriptor
+ uint32_t maxStorageBuffersPerDescriptor
+ uint32_t maxStorageImagesPerDescriptor
+ uint32_t maxSampledImagesPerDescriptor
+ uint32_t maxPipelineLayouts
+
+
+ VkObjectEntryTypeNVX type
+ VkObjectEntryUsageFlagsNVX flags
+
+
+ VkObjectEntryTypeNVX type
+ VkObjectEntryUsageFlagsNVX flags
+ VkPipeline pipeline
+
+
+ VkObjectEntryTypeNVX type
+ VkObjectEntryUsageFlagsNVX flags
+ VkPipelineLayout pipelineLayout
+ VkDescriptorSet descriptorSet
+
+
+ VkObjectEntryTypeNVX type
+ VkObjectEntryUsageFlagsNVX flags
+ VkBuffer buffer
+
+
+ VkObjectEntryTypeNVX type
+ VkObjectEntryUsageFlagsNVX flags
+ VkBuffer buffer
+ VkIndexType indexType
+
+
+ VkObjectEntryTypeNVX type
+ VkObjectEntryUsageFlagsNVX flags
+ VkPipelineLayout pipelineLayout
+ VkShaderStageFlags stageFlags
+
+
+ VkStructureType sType
+ void* pNext
+ VkPhysicalDeviceFeatures features
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkPhysicalDeviceProperties properties
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkFormatProperties formatProperties
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkImageFormatProperties imageFormatProperties
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFormat format
+ VkImageType type
+ VkImageTiling tiling
+ VkImageUsageFlags usage
+ VkImageCreateFlags flags
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkQueueFamilyProperties queueFamilyProperties
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkPhysicalDeviceMemoryProperties memoryProperties
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkSparseImageFormatProperties properties
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFormat format
+ VkImageType type
+ VkSampleCountFlagBits samples
+ VkImageUsageFlags usage
+ VkImageTiling tiling
+
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t maxPushDescriptors
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount
+ const VkPresentRegionKHR* pRegionsThe regions that have changed
+
+
+ uint32_t rectangleCountNumber of rectangles in pRectangles
+ const VkRectLayerKHR* pRectanglesArray of rectangles that have changed in a swapchain's image(s)
+
+
+ VkOffset2D offsetupper-left corner of a rectangle that has not changed, in pixels of a presentation images
+ VkExtent2D extentDimensions of a rectangle that has not changed, in pixels of a presentation images
+ uint32_t layerLayer of a swapchain's image(s), for stereoscopic-3D images
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 variablePointersStorageBuffer
+ VkBool32 variablePointers
+
+
+
+ VkExternalMemoryFeatureFlags externalMemoryFeatures
+ VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes
+ VkExternalMemoryHandleTypeFlags compatibleHandleTypes
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlagBits handleType
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkExternalMemoryProperties externalMemoryProperties
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBufferCreateFlags flags
+ VkBufferUsageFlags usage
+ VkExternalMemoryHandleTypeFlagBits handleType
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkExternalMemoryProperties externalMemoryProperties
+
+
+
+ VkStructureType sType
+ void* pNext
+ uint8_t deviceUUID[VK_UUID_SIZE]
+ uint8_t driverUUID[VK_UUID_SIZE]
+ uint8_t deviceLUID[VK_LUID_SIZE]
+ uint32_t deviceNodeMask
+ VkBool32 deviceLUIDValid
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlags handleTypes
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlags handleTypes
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlags handleTypes
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlagBits handleType
+ HANDLE handle
+ LPCWSTR name
+
+
+ VkStructureType sType
+ const void* pNext
+ const SECURITY_ATTRIBUTES* pAttributes
+ DWORD dwAccess
+ LPCWSTR name
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t memoryTypeBits
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceMemory memory
+ VkExternalMemoryHandleTypeFlagBits handleType
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlagBits handleType
+ int fd
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t memoryTypeBits
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceMemory memory
+ VkExternalMemoryHandleTypeFlagBits handleType
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t acquireCount
+ const VkDeviceMemory* pAcquireSyncs
+ const uint64_t* pAcquireKeys
+ const uint32_t* pAcquireTimeouts
+ uint32_t releaseCount
+ const VkDeviceMemory* pReleaseSyncs
+ const uint64_t* pReleaseKeys
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalSemaphoreHandleTypeFlagBits handleType
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes
+ VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes
+ VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalSemaphoreHandleTypeFlags handleTypes
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSemaphore semaphore
+ VkSemaphoreImportFlags flags
+ VkExternalSemaphoreHandleTypeFlagBits handleType
+ HANDLE handle
+ LPCWSTR name
+
+
+ VkStructureType sType
+ const void* pNext
+ const SECURITY_ATTRIBUTES* pAttributes
+ DWORD dwAccess
+ LPCWSTR name
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t waitSemaphoreValuesCount
+ const uint64_t* pWaitSemaphoreValues
+ uint32_t signalSemaphoreValuesCount
+ const uint64_t* pSignalSemaphoreValues
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSemaphore semaphore
+ VkExternalSemaphoreHandleTypeFlagBits handleType
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSemaphore semaphore
+ VkSemaphoreImportFlags flags
+ VkExternalSemaphoreHandleTypeFlagBits handleType
+ int fd
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSemaphore semaphore
+ VkExternalSemaphoreHandleTypeFlagBits handleType
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalFenceHandleTypeFlagBits handleType
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes
+ VkExternalFenceHandleTypeFlags compatibleHandleTypes
+ VkExternalFenceFeatureFlags externalFenceFeatures
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalFenceHandleTypeFlags handleTypes
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFence fence
+ VkFenceImportFlags flags
+ VkExternalFenceHandleTypeFlagBits handleType
+ HANDLE handle
+ LPCWSTR name
+
+
+ VkStructureType sType
+ const void* pNext
+ const SECURITY_ATTRIBUTES* pAttributes
+ DWORD dwAccess
+ LPCWSTR name
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFence fence
+ VkExternalFenceHandleTypeFlagBits handleType
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFence fence
+ VkFenceImportFlags flags
+ VkExternalFenceHandleTypeFlagBits handleType
+ int fd
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFence fence
+ VkExternalFenceHandleTypeFlagBits handleType
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 multiviewMultiple views in a renderpass
+ VkBool32 multiviewGeometryShaderMultiple views in a renderpass w/ geometry shader
+ VkBool32 multiviewTessellationShaderMultiple views in a renderpass w/ tessellation shader
+
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t maxMultiviewViewCountmax number of views in a subpass
+ uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass
+
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t subpassCount
+ const uint32_t* pViewMasks
+ uint32_t dependencyCount
+ const int32_t* pViewOffsets
+ uint32_t correlationMaskCount
+ const uint32_t* pCorrelationMasks
+
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t minImageCountSupported minimum number of images for the surface
+ uint32_t maxImageCountSupported maximum number of images for the surface, 0 for unlimited
+ VkExtent2D currentExtentCurrent image width and height for the surface, (0, 0) if undefined
+ VkExtent2D minImageExtentSupported minimum image width and height for the surface
+ VkExtent2D maxImageExtentSupported maximum image width and height for the surface
+ uint32_t maxImageArrayLayersSupported maximum number of image layers for the surface
+ VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported
+ VkSurfaceTransformFlagBitsKHR currentTransformThe surface's current transform relative to the device's natural orientation
+ VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported
+ VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface
+ VkSurfaceCounterFlagsEXT supportedSurfaceCounters
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDisplayPowerStateEXT powerState
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceEventTypeEXT deviceEvent
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDisplayEventTypeEXT displayEvent
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSurfaceCounterFlagsEXT surfaceCounters
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t physicalDeviceCount
+ VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]
+ VkBool32 subsetAllocation
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkMemoryAllocateFlags flags
+ uint32_t deviceMask
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBuffer buffer
+ VkDeviceMemory memory
+ VkDeviceSize memoryOffset
+
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t deviceIndexCount
+ const uint32_t* pDeviceIndices
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImage image
+ VkDeviceMemory memory
+ VkDeviceSize memoryOffset
+
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t deviceIndexCount
+ const uint32_t* pDeviceIndices
+ uint32_t splitInstanceBindRegionCount
+ const VkRect2D* pSplitInstanceBindRegions
+
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t deviceMask
+ uint32_t deviceRenderAreaCount
+ const VkRect2D* pDeviceRenderAreas
+
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t deviceMask
+
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t waitSemaphoreCount
+ const uint32_t* pWaitSemaphoreDeviceIndices
+ uint32_t commandBufferCount
+ const uint32_t* pCommandBufferDeviceMasks
+ uint32_t signalSemaphoreCount
+ const uint32_t* pSignalSemaphoreDeviceIndices
+
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t resourceDeviceIndex
+ uint32_t memoryDeviceIndex
+
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]
+ VkDeviceGroupPresentModeFlagsKHR modes
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSwapchainKHR swapchain
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSwapchainKHR swapchain
+ uint32_t imageIndex
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSwapchainKHR swapchain
+ uint64_t timeout
+ VkSemaphore semaphore
+ VkFence fence
+ uint32_t deviceMask
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t swapchainCount
+ const uint32_t* pDeviceMasks
+ VkDeviceGroupPresentModeFlagBitsKHR mode
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t physicalDeviceCount
+ const VkPhysicalDevice* pPhysicalDevices
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceGroupPresentModeFlagsKHR modes
+
+
+ uint32_t dstBindingBinding within the destination descriptor set to write
+ uint32_t dstArrayElementArray element within the destination binding to write
+ uint32_t descriptorCountNumber of descriptors to write
+ VkDescriptorType descriptorTypeDescriptor type to write
+ size_t offsetOffset into pData where the descriptors to update are stored
+ size_t strideStride between two descriptors in pData when writing more than one descriptor
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkDescriptorUpdateTemplateCreateFlags flags
+ uint32_t descriptorUpdateEntryCountNumber of descriptor update entries to use for the update template
+ const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntriesDescriptor update entries for the template
+ VkDescriptorUpdateTemplateType templateType
+ VkDescriptorSetLayout descriptorSetLayout
+ VkPipelineBindPoint pipelineBindPoint
+ VkPipelineLayoutpipelineLayoutIf used for push descriptors, this is the only allowed layout
+ uint32_t set
+
+
+
+ float x
+ float y
+
+
+ Display primary in chromaticity coordinates
+ VkStructureType sType
+ const void* pNext
+ From SMPTE 2086
+ VkXYColorEXT displayPrimaryRedDisplay primary's Red
+ VkXYColorEXT displayPrimaryGreenDisplay primary's Green
+ VkXYColorEXT displayPrimaryBlueDisplay primary's Blue
+ VkXYColorEXT whitePointDisplay primary's Blue
+ float maxLuminanceDisplay maximum luminance
+ float minLuminanceDisplay minimum luminance
+ From CTA 861.3
+ float maxContentLightLevelContent maximum luminance
+ float maxFrameAverageLightLevel
+
+
+ uint64_t refreshDurationNumber of nanoseconds from the start of one refresh cycle to the next
+
+
+ uint32_t presentIDApplication-provided identifier, previously given to vkQueuePresentKHR
+ uint64_t desiredPresentTimeEarliest time an image should have been presented, previously given to vkQueuePresentKHR
+ uint64_t actualPresentTimeTime the image was actually displayed
+ uint64_t earliestPresentTimeEarliest time the image could have been displayed
+ uint64_t presentMarginHow early vkQueuePresentKHR was processed vs. how soon it needed to be and make earliestPresentTime
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount
+ const VkPresentTimeGOOGLE* pTimesThe earliest times to present images
+
+
+ uint32_t presentIDApplication-provided identifier
+ uint64_t desiredPresentTimeEarliest time an image should be presented
+
+
+ VkStructureType sType
+ const void* pNext
+ VkIOSSurfaceCreateFlagsMVK flags
+ const void* pView
+
+
+ VkStructureType sType
+ const void* pNext
+ VkMacOSSurfaceCreateFlagsMVK flags
+ const void* pView
+
+
+ float xcoeff
+ float ycoeff
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 viewportWScalingEnable
+ uint32_t viewportCount
+ const VkViewportWScalingNV* pViewportWScalings
+
+
+ VkViewportCoordinateSwizzleNV x
+ VkViewportCoordinateSwizzleNV y
+ VkViewportCoordinateSwizzleNV z
+ VkViewportCoordinateSwizzleNV w
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineViewportSwizzleStateCreateFlagsNV flags
+ uint32_t viewportCount
+ const VkViewportSwizzleNV* pViewportSwizzles
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t maxDiscardRectanglesmax number of active discard rectangles
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineDiscardRectangleStateCreateFlagsEXT flags
+ VkDiscardRectangleModeEXT discardRectangleMode
+ uint32_t discardRectangleCount
+ const VkRect2D* pDiscardRectangles
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 perViewPositionAllComponents
+
+
+ uint32_t subpass
+ uint32_t inputAttachmentIndex
+ VkImageAspectFlags aspectMask
+
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t aspectReferenceCount
+ const VkInputAttachmentAspectReference* pAspectReferences
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSurfaceKHR surface
+
+
+ VkStructureType sType
+ void* pNext
+ VkSurfaceCapabilitiesKHR surfaceCapabilities
+
+
+ VkStructureType sType
+ void* pNext
+ VkSurfaceFormatKHR surfaceFormat
+
+
+ VkStructureType sType
+ void* pNext
+ VkDisplayPropertiesKHR displayProperties
+
+
+ VkStructureType sType
+ void* pNext
+ VkDisplayPlanePropertiesKHR displayPlaneProperties
+
+
+ VkStructureType sType
+ void* pNext
+ VkDisplayModePropertiesKHR displayModeProperties
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDisplayModeKHR mode
+ uint32_t planeIndex
+
+
+ VkStructureType sType
+ void* pNext
+ VkDisplayPlaneCapabilitiesKHR capabilities
+
+
+ VkStructureType sType
+ void* pNext
+ VkImageUsageFlags sharedPresentSupportedUsageFlagsSupported image usage flags if swapchain created using a shared present mode
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock
+ VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block
+ VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant
+ VkBool32 storageInputOutput1616-bit integer/floating-point variables supported in shader inputs and outputs
+
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t subgroupSizeThe size of a subgroup for this queue.
+ VkShaderStageFlags supportedStagesBitfield of what shader stages support subgroup operations
+ VkSubgroupFeatureFlags supportedOperationsBitfield of what subgroup operations are supported.
+ VkBool32 quadOperationsInAllStagesFlag to specify whether quad operations are available in all stages.
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBuffer buffer
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImage image
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImage image
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkMemoryRequirements memoryRequirements
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkSparseImageMemoryRequirements memoryRequirements
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkPointClippingBehavior pointClippingBehavior
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 prefersDedicatedAllocation
+ VkBool32 requiresDedicatedAllocation
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImage imageImage that this allocation will be bound to
+ VkBuffer bufferBuffer that this allocation will be bound to
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImageUsageFlags usage
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkTessellationDomainOrigin domainOrigin
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSamplerYcbcrConversion conversion
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFormat format
+ VkSamplerYcbcrModelConversion ycbcrModel
+ VkSamplerYcbcrRange ycbcrRange
+ VkComponentMapping components
+ VkChromaLocation xChromaOffset
+ VkChromaLocation yChromaOffset
+ VkFilter chromaFilter
+ VkBool32 forceExplicitReconstruction
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImageAspectFlagBits planeAspect
+
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImageAspectFlagBits planeAspect
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 samplerYcbcrConversionSampler color conversion supported
+
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t combinedImageSamplerDescriptorCount
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 supportsTextureGatherLODBiasAMD
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBuffer buffer
+ VkDeviceSize offset
+ VkConditionalRenderingFlagsEXT flags
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 protectedSubmitSubmit protected command buffers
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 protectedMemory
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 protectedNoFault
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceQueueCreateFlags flags
+ uint32_t queueFamilyIndex
+ uint32_t queueIndex
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineCoverageToColorStateCreateFlagsNV flags
+ VkBool32 coverageToColorEnable
+ uint32_t coverageToColorLocation
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 filterMinmaxSingleComponentFormats
+ VkBool32 filterMinmaxImageComponentMapping
+
+
+ float x
+ float y
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSampleCountFlagBits sampleLocationsPerPixel
+ VkExtent2D sampleLocationGridSize
+ uint32_t sampleLocationsCount
+ const VkSampleLocationEXT* pSampleLocations
+
+
+ uint32_t attachmentIndex
+ VkSampleLocationsInfoEXT sampleLocationsInfo
+
+
+ uint32_t subpassIndex
+ VkSampleLocationsInfoEXT sampleLocationsInfo
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t attachmentInitialSampleLocationsCount
+ const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations
+ uint32_t postSubpassSampleLocationsCount
+ const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 sampleLocationsEnable
+ VkSampleLocationsInfoEXT sampleLocationsInfo
+
+
+ VkStructureType sType
+ void* pNext
+ VkSampleCountFlags sampleLocationSampleCounts
+ VkExtent2D maxSampleLocationGridSize
+ float sampleLocationCoordinateRange[2]
+ uint32_t sampleLocationSubPixelBits
+ VkBool32 variableSampleLocations
+
+
+ VkStructureType sType
+ void* pNext
+ VkExtent2D maxSampleLocationGridSize
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSamplerReductionModeEXT reductionMode
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 advancedBlendCoherentOperations
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t advancedBlendMaxColorAttachments
+ VkBool32 advancedBlendIndependentBlend
+ VkBool32 advancedBlendNonPremultipliedSrcColor
+ VkBool32 advancedBlendNonPremultipliedDstColor
+ VkBool32 advancedBlendCorrelatedOverlap
+ VkBool32 advancedBlendAllOperations
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 srcPremultiplied
+ VkBool32 dstPremultiplied
+ VkBlendOverlapEXT blendOverlap
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 inlineUniformBlock
+ VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t maxInlineUniformBlockSize
+ uint32_t maxPerStageDescriptorInlineUniformBlocks
+ uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
+ uint32_t maxDescriptorSetInlineUniformBlocks
+ uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t dataSize
+ const void* pData
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t maxInlineUniformBlockBindings
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineCoverageModulationStateCreateFlagsNV flags
+ VkCoverageModulationModeNV coverageModulationMode
+ VkBool32 coverageModulationTableEnable
+ uint32_t coverageModulationTableCount
+ const float* pCoverageModulationTable
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t viewFormatCount
+ const VkFormat* pViewFormats
+
+
+ VkStructureType sType
+ const void* pNext
+ VkValidationCacheCreateFlagsEXT flags
+ size_t initialDataSize
+ const void* pInitialData
+
+
+ VkStructureType sType
+ const void* pNext
+ VkValidationCacheEXT validationCache
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t maxPerSetDescriptors
+ VkDeviceSize maxMemoryAllocationSize
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 supported
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 shaderDrawParameters
+
+
+ VkStructureType sType
+ const void* pNext
+ const void* handle
+ int stride
+ int format
+ int usage
+
+
+ uint32_t numUsedVgprs
+ uint32_t numUsedSgprs
+ uint32_t ldsSizePerLocalWorkGroup
+ size_t ldsUsageSizeInBytes
+ size_t scratchMemUsageInBytes
+
+
+ VkShaderStageFlags shaderStageMask
+ VkShaderResourceUsageAMD resourceUsage
+ uint32_t numPhysicalVgprs
+ uint32_t numPhysicalSgprs
+ uint32_t numAvailableVgprs
+ uint32_t numAvailableSgprs
+ uint32_t computeWorkGroupSize[3]
+
+
+ VkStructureType sType
+ const void* pNext
+ VkQueueGlobalPriorityEXT globalPriority
+
+
+ VkStructureType sType
+ const void* pNext
+ VkObjectType objectType
+ uint64_t objectHandle
+ const char* pObjectName
+
+
+ VkStructureType sType
+ const void* pNext
+ VkObjectType objectType
+ uint64_t objectHandle
+ uint64_t tagName
+ size_t tagSize
+ const void* pTag
+
+
+ VkStructureType sType
+ const void* pNext
+ const char* pLabelName
+ float color[4]
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDebugUtilsMessengerCreateFlagsEXT flags
+ VkDebugUtilsMessageSeverityFlagsEXT messageSeverity
+ VkDebugUtilsMessageTypeFlagsEXT messageType
+ PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback
+ void* pUserData
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDebugUtilsMessengerCallbackDataFlagsEXT flags
+ const char* pMessageIdName
+ int32_t messageIdNumber
+ const char* pMessage
+ uint32_t queueLabelCount
+ VkDebugUtilsLabelEXT* pQueueLabels
+ uint32_t cmdBufLabelCount
+ VkDebugUtilsLabelEXT* pCmdBufLabels
+ uint32_t objectCount
+ VkDebugUtilsObjectNameInfoEXT* pObjects
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExternalMemoryHandleTypeFlagBits handleType
+ void* pHostPointer
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t memoryTypeBits
+
+
+ VkStructureType sType
+ void* pNext
+ VkDeviceSize minImportedHostPointerAlignment
+
+
+ VkStructureType sType
+ void* pNextPointer to next structure
+ float primitiveOverestimationSizeThe size in pixels the primitive is enlarged at each edge during conservative rasterization
+ float maxExtraPrimitiveOverestimationSizeThe maximum additional overestimation the client can specify in the pipeline state
+ float extraPrimitiveOverestimationSizeGranularityThe granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize
+ VkBool32 primitiveUnderestimationtrue if the implementation supports conservative rasterization underestimation mode
+ VkBool32 conservativePointAndLineRasterizationtrue if conservative rasterization also applies to points and lines
+ VkBool32 degenerateTrianglesRasterizedtrue if degenerate triangles (those with zero area after snap) are rasterized
+ VkBool32 degenerateLinesRasterizedtrue if degenerate lines (those with zero length after snap) are rasterized
+ VkBool32 fullyCoveredFragmentShaderInputVariabletrue if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable
+ VkBool32 conservativeRasterizationPostDepthCoveragetrue if the implementation supports both conservative rasterization and post depth coverage sample coverage mask
+
+
+ VkStructureType sType
+ void* pNextPointer to next structure
+ uint32_t shaderEngineCountnumber of shader engines
+ uint32_t shaderArraysPerEngineCountnumber of shader arrays
+ uint32_t computeUnitsPerShaderArraynumber of CUs per shader array
+ uint32_t simdPerComputeUnitnumber of SIMDs per compute unit
+ uint32_t wavefrontsPerSimdnumber of wavefront slots in each SIMD
+ uint32_t wavefrontSizenumber of threads per wavefront
+ uint32_t sgprsPerSimdnumber of physical SGPRs per SIMD
+ uint32_t minSgprAllocationminimum number of SGPRs that can be allocated by a wave
+ uint32_t maxSgprAllocationnumber of available SGPRs
+ uint32_t sgprAllocationGranularitySGPRs are allocated in groups of this size
+ uint32_t vgprsPerSimdnumber of physical VGPRs per SIMD
+ uint32_t minVgprAllocationminimum number of VGPRs that can be allocated by a wave
+ uint32_t maxVgprAllocationnumber of available VGPRs
+ uint32_t vgprAllocationGranularityVGPRs are allocated in groups of this size
+
+
+ VkStructureType sType
+ const void* pNext
+ VkPipelineRasterizationConservativeStateCreateFlagsEXT flags
+ VkConservativeRasterizationModeEXT conservativeRasterizationMode
+ float extraPrimitiveOverestimationSize
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 shaderInputAttachmentArrayDynamicIndexing
+ VkBool32 shaderUniformTexelBufferArrayDynamicIndexing
+ VkBool32 shaderStorageTexelBufferArrayDynamicIndexing
+ VkBool32 shaderUniformBufferArrayNonUniformIndexing
+ VkBool32 shaderSampledImageArrayNonUniformIndexing
+ VkBool32 shaderStorageBufferArrayNonUniformIndexing
+ VkBool32 shaderStorageImageArrayNonUniformIndexing
+ VkBool32 shaderInputAttachmentArrayNonUniformIndexing
+ VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing
+ VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing
+ VkBool32 descriptorBindingUniformBufferUpdateAfterBind
+ VkBool32 descriptorBindingSampledImageUpdateAfterBind
+ VkBool32 descriptorBindingStorageImageUpdateAfterBind
+ VkBool32 descriptorBindingStorageBufferUpdateAfterBind
+ VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind
+ VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind
+ VkBool32 descriptorBindingUpdateUnusedWhilePending
+ VkBool32 descriptorBindingPartiallyBound
+ VkBool32 descriptorBindingVariableDescriptorCount
+ VkBool32 runtimeDescriptorArray
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t maxUpdateAfterBindDescriptorsInAllPools
+ VkBool32 shaderUniformBufferArrayNonUniformIndexingNative
+ VkBool32 shaderSampledImageArrayNonUniformIndexingNative
+ VkBool32 shaderStorageBufferArrayNonUniformIndexingNative
+ VkBool32 shaderStorageImageArrayNonUniformIndexingNative
+ VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative
+ VkBool32 robustBufferAccessUpdateAfterBind
+ VkBool32 quadDivergentImplicitLod
+ uint32_t maxPerStageDescriptorUpdateAfterBindSamplers
+ uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers
+ uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers
+ uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages
+ uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages
+ uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments
+ uint32_t maxPerStageUpdateAfterBindResources
+ uint32_t maxDescriptorSetUpdateAfterBindSamplers
+ uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers
+ uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
+ uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers
+ uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
+ uint32_t maxDescriptorSetUpdateAfterBindSampledImages
+ uint32_t maxDescriptorSetUpdateAfterBindStorageImages
+ uint32_t maxDescriptorSetUpdateAfterBindInputAttachments
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t bindingCount
+ const VkDescriptorBindingFlagsEXT* pBindingFlags
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t descriptorSetCount
+ const uint32_t* pDescriptorCounts
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t maxVariableDescriptorCount
+
+
+ VkStructureType sType
+ const void* pNext
+ VkAttachmentDescriptionFlags flags
+ VkFormat format
+ VkSampleCountFlagBits samples
+ VkAttachmentLoadOp loadOpLoad operation for color or depth data
+ VkAttachmentStoreOp storeOpStore operation for color or depth data
+ VkAttachmentLoadOp stencilLoadOpLoad operation for stencil data
+ VkAttachmentStoreOp stencilStoreOpStore operation for stencil data
+ VkImageLayout initialLayout
+ VkImageLayout finalLayout
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t attachment
+ VkImageLayout layout
+ VkImageAspectFlags aspectMask
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSubpassDescriptionFlags flags
+ VkPipelineBindPoint pipelineBindPoint
+ uint32_t viewMask
+ uint32_t inputAttachmentCount
+ const VkAttachmentReference2KHR* pInputAttachments
+ uint32_t colorAttachmentCount
+ const VkAttachmentReference2KHR* pColorAttachments
+ const VkAttachmentReference2KHR* pResolveAttachments
+ const VkAttachmentReference2KHR* pDepthStencilAttachment
+ uint32_t preserveAttachmentCount
+ const uint32_t* pPreserveAttachments
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t srcSubpass
+ uint32_t dstSubpass
+ VkPipelineStageFlags srcStageMask
+ VkPipelineStageFlags dstStageMask
+ VkAccessFlags srcAccessMask
+ VkAccessFlags dstAccessMask
+ VkDependencyFlags dependencyFlags
+ int32_t viewOffset
+
+
+ VkStructureType sType
+ const void* pNext
+ VkRenderPassCreateFlags flags
+ uint32_t attachmentCount
+ const VkAttachmentDescription2KHR* pAttachments
+ uint32_t subpassCount
+ const VkSubpassDescription2KHR* pSubpasses
+ uint32_t dependencyCount
+ const VkSubpassDependency2KHR* pDependencies
+ uint32_t correlatedViewMaskCount
+ const uint32_t* pCorrelatedViewMasks
+
+
+ VkStructureType sType
+ const void* pNext
+ VkSubpassContents contents
+
+
+ VkStructureType sType
+ const void* pNext
+
+
+ uint32_t binding
+ uint32_t divisor
+
+
+ VkStructureType sType
+ const void* pNext
+ uint32_t vertexBindingDivisorCount
+ const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t maxVertexAttribDivisormax value of vertex attribute divisor
+
+
+ VkStructureType sType
+ const void* pNext
+ struct AHardwareBuffer* buffer
+
+
+ VkStructureType sType
+ void* pNext
+ uint64_t androidHardwareBufferUsage
+
+
+ VkStructureType sType
+ void* pNext
+ VkDeviceSize allocationSize
+ uint32_t memoryTypeBits
+
+
+ VkStructureType sType
+ const void* pNext
+ VkDeviceMemory memory
+
+
+ VkStructureType sType
+ void* pNext
+ VkFormat format
+ uint64_t externalFormat
+ VkFormatFeatureFlags formatFeatures
+ VkComponentMapping samplerYcbcrConversionComponents
+ VkSamplerYcbcrModelConversion suggestedYcbcrModel
+ VkSamplerYcbcrRange suggestedYcbcrRange
+ VkChromaLocation suggestedXChromaOffset
+ VkChromaLocation suggestedYChromaOffset
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 conditionalRenderingEnableWhether this secondary command buffer may be executed during an active conditional rendering
+
+
+ VkStructureType sType
+ void* pNext
+ uint64_t externalFormat
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 storageBuffer8BitAccess8-bit integer variables supported in StorageBuffer
+ VkBool32 uniformAndStorageBuffer8BitAccess8-bit integer variables supported in StorageBuffer and Uniform
+ VkBool32 storagePushConstant88-bit integer variables supported in PushConstant
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 conditionalRendering
+ VkBool32 inheritedConditionalRendering
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 vulkanMemoryModel
+ VkBool32 vulkanMemoryModelDeviceScope
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 vertexAttributeInstanceRateDivisor
+ VkBool32 vertexAttributeInstanceRateZeroDivisor
+
+
+ VkStructureType sType
+ void* pNext
+ VkPipelineStageFlags checkpointExecutionStageMask
+
+
+ VkStructureType sType
+ void* pNext
+ VkPipelineStageFlagBits stage
+ void* pCheckpointMarker
+
+
+ VkStructureType sType
+ const void* pNext
+ VkFormat decodeMode
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 decodeModeSharedExponent
+
+
+
+ Vulkan enumerant (token) definitions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unlike OpenGL, most tokens in Vulkan are actual typed enumerants in
+ their own numeric namespaces. The "name" attribute is the C enum
+ type name, and is pulled in from a type tag definition above
+ (slightly clunky, but retains the type / enum distinction). "type"
+ attributes of "enum" or "bitmask" indicate that these values should
+ be generated inside an appropriate definition.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ value="4" reserved for VK_KHR_sampler_mirror_clamp_to_edge
+ enum VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE; do not
+ alias!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Return codes (positive values)
+
+
+
+
+
+
+ Error codes (negative values)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Flags
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WSI Extensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Placeholder for validation enums to be defined for VK_EXT_Validation_flags extension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vendor IDs are now represented as enums instead of the old
+ <vendorids> tag, allowing them to be included in the
+ API headers.
+
+
+
+
+
+
+
+
+
+
+
+ VkResult vkCreateInstance
+ const VkInstanceCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkInstance* pInstance
+
+
+ void vkDestroyInstance
+ VkInstance instance
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkEnumeratePhysicalDevices
+ VkInstance instance
+ uint32_t* pPhysicalDeviceCount
+ VkPhysicalDevice* pPhysicalDevices
+
+
+ PFN_vkVoidFunction vkGetDeviceProcAddr
+ VkDevice device
+ const char* pName
+
+
+ PFN_vkVoidFunction vkGetInstanceProcAddr
+ VkInstance instance
+ const char* pName
+
+
+ void vkGetPhysicalDeviceProperties
+ VkPhysicalDevice physicalDevice
+ VkPhysicalDeviceProperties* pProperties
+
+
+ void vkGetPhysicalDeviceQueueFamilyProperties
+ VkPhysicalDevice physicalDevice
+ uint32_t* pQueueFamilyPropertyCount
+ VkQueueFamilyProperties* pQueueFamilyProperties
+
+
+ void vkGetPhysicalDeviceMemoryProperties
+ VkPhysicalDevice physicalDevice
+ VkPhysicalDeviceMemoryProperties* pMemoryProperties
+
+
+ void vkGetPhysicalDeviceFeatures
+ VkPhysicalDevice physicalDevice
+ VkPhysicalDeviceFeatures* pFeatures
+
+
+ void vkGetPhysicalDeviceFormatProperties
+ VkPhysicalDevice physicalDevice
+ VkFormat format
+ VkFormatProperties* pFormatProperties
+
+
+ VkResult vkGetPhysicalDeviceImageFormatProperties
+ VkPhysicalDevice physicalDevice
+ VkFormat format
+ VkImageType type
+ VkImageTiling tiling
+ VkImageUsageFlags usage
+ VkImageCreateFlags flags
+ VkImageFormatProperties* pImageFormatProperties
+
+
+ VkResult vkCreateDevice
+ VkPhysicalDevice physicalDevice
+ const VkDeviceCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkDevice* pDevice
+
+
+ void vkDestroyDevice
+ VkDevice device
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkEnumerateInstanceVersion
+ uint32_t* pApiVersion
+
+
+ VkResult vkEnumerateInstanceLayerProperties
+ uint32_t* pPropertyCount
+ VkLayerProperties* pProperties
+
+
+ VkResult vkEnumerateInstanceExtensionProperties
+ const char* pLayerName
+ uint32_t* pPropertyCount
+ VkExtensionProperties* pProperties
+
+
+ VkResult vkEnumerateDeviceLayerProperties
+ VkPhysicalDevice physicalDevice
+ uint32_t* pPropertyCount
+ VkLayerProperties* pProperties
+
+
+ VkResult vkEnumerateDeviceExtensionProperties
+ VkPhysicalDevice physicalDevice
+ const char* pLayerName
+ uint32_t* pPropertyCount
+ VkExtensionProperties* pProperties
+
+
+ void vkGetDeviceQueue
+ VkDevice device
+ uint32_t queueFamilyIndex
+ uint32_t queueIndex
+ VkQueue* pQueue
+
+
+ VkResult vkQueueSubmit
+ VkQueue queue
+ uint32_t submitCount
+ const VkSubmitInfo* pSubmits
+ VkFence fence
+
+
+ VkResult vkQueueWaitIdle
+ VkQueue queue
+
+
+ VkResult vkDeviceWaitIdle
+ VkDevice device
+
+ all sname:VkQueue objects created from pname:device
+
+
+
+ VkResult vkAllocateMemory
+ VkDevice device
+ const VkMemoryAllocateInfo* pAllocateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkDeviceMemory* pMemory
+
+
+ void vkFreeMemory
+ VkDevice device
+ VkDeviceMemory memory
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkMapMemory
+ VkDevice device
+ VkDeviceMemory memory
+ VkDeviceSize offset
+ VkDeviceSize size
+ VkMemoryMapFlags flags
+ void** ppData
+
+
+ void vkUnmapMemory
+ VkDevice device
+ VkDeviceMemory memory
+
+
+ VkResult vkFlushMappedMemoryRanges
+ VkDevice device
+ uint32_t memoryRangeCount
+ const VkMappedMemoryRange* pMemoryRanges
+
+
+ VkResult vkInvalidateMappedMemoryRanges
+ VkDevice device
+ uint32_t memoryRangeCount
+ const VkMappedMemoryRange* pMemoryRanges
+
+
+ void vkGetDeviceMemoryCommitment
+ VkDevice device
+ VkDeviceMemory memory
+ VkDeviceSize* pCommittedMemoryInBytes
+
+
+ void vkGetBufferMemoryRequirements
+ VkDevice device
+ VkBuffer buffer
+ VkMemoryRequirements* pMemoryRequirements
+
+
+ VkResult vkBindBufferMemory
+ VkDevice device
+ VkBuffer buffer
+ VkDeviceMemory memory
+ VkDeviceSize memoryOffset
+
+
+ void vkGetImageMemoryRequirements
+ VkDevice device
+ VkImage image
+ VkMemoryRequirements* pMemoryRequirements
+
+
+ VkResult vkBindImageMemory
+ VkDevice device
+ VkImage image
+ VkDeviceMemory memory
+ VkDeviceSize memoryOffset
+
+
+ void vkGetImageSparseMemoryRequirements
+ VkDevice device
+ VkImage image
+ uint32_t* pSparseMemoryRequirementCount
+ VkSparseImageMemoryRequirements* pSparseMemoryRequirements
+
+
+ void vkGetPhysicalDeviceSparseImageFormatProperties
+ VkPhysicalDevice physicalDevice
+ VkFormat format
+ VkImageType type
+ VkSampleCountFlagBits samples
+ VkImageUsageFlags usage
+ VkImageTiling tiling
+ uint32_t* pPropertyCount
+ VkSparseImageFormatProperties* pProperties
+
+
+ VkResult vkQueueBindSparse
+ VkQueue queue
+ uint32_t bindInfoCount
+ const VkBindSparseInfo* pBindInfo
+ VkFence fence
+
+
+ VkResult vkCreateFence
+ VkDevice device
+ const VkFenceCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkFence* pFence
+
+
+ void vkDestroyFence
+ VkDevice device
+ VkFence fence
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkResetFences
+ VkDevice device
+ uint32_t fenceCount
+ const VkFence* pFences
+
+
+ VkResult vkGetFenceStatus
+ VkDevice device
+ VkFence fence
+
+
+ VkResult vkWaitForFences
+ VkDevice device
+ uint32_t fenceCount
+ const VkFence* pFences
+ VkBool32 waitAll
+ uint64_t timeout
+
+
+ VkResult vkCreateSemaphore
+ VkDevice device
+ const VkSemaphoreCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSemaphore* pSemaphore
+
+
+ void vkDestroySemaphore
+ VkDevice device
+ VkSemaphore semaphore
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreateEvent
+ VkDevice device
+ const VkEventCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkEvent* pEvent
+
+
+ void vkDestroyEvent
+ VkDevice device
+ VkEvent event
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkGetEventStatus
+ VkDevice device
+ VkEvent event
+
+
+ VkResult vkSetEvent
+ VkDevice device
+ VkEvent event
+
+
+ VkResult vkResetEvent
+ VkDevice device
+ VkEvent event
+
+
+ VkResult vkCreateQueryPool
+ VkDevice device
+ const VkQueryPoolCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkQueryPool* pQueryPool
+
+
+ void vkDestroyQueryPool
+ VkDevice device
+ VkQueryPool queryPool
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkGetQueryPoolResults
+ VkDevice device
+ VkQueryPool queryPool
+ uint32_t firstQuery
+ uint32_t queryCount
+ size_t dataSize
+ void* pData
+ VkDeviceSize stride
+ VkQueryResultFlags flags
+
+
+ VkResult vkCreateBuffer
+ VkDevice device
+ const VkBufferCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkBuffer* pBuffer
+
+
+ void vkDestroyBuffer
+ VkDevice device
+ VkBuffer buffer
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreateBufferView
+ VkDevice device
+ const VkBufferViewCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkBufferView* pView
+
+
+ void vkDestroyBufferView
+ VkDevice device
+ VkBufferView bufferView
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreateImage
+ VkDevice device
+ const VkImageCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkImage* pImage
+
+
+ void vkDestroyImage
+ VkDevice device
+ VkImage image
+ const VkAllocationCallbacks* pAllocator
+
+
+ void vkGetImageSubresourceLayout
+ VkDevice device
+ VkImage image
+ const VkImageSubresource* pSubresource
+ VkSubresourceLayout* pLayout
+
+
+ VkResult vkCreateImageView
+ VkDevice device
+ const VkImageViewCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkImageView* pView
+
+
+ void vkDestroyImageView
+ VkDevice device
+ VkImageView imageView
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreateShaderModule
+ VkDevice device
+ const VkShaderModuleCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkShaderModule* pShaderModule
+
+
+ void vkDestroyShaderModule
+ VkDevice device
+ VkShaderModule shaderModule
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreatePipelineCache
+ VkDevice device
+ const VkPipelineCacheCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkPipelineCache* pPipelineCache
+
+
+ void vkDestroyPipelineCache
+ VkDevice device
+ VkPipelineCache pipelineCache
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkGetPipelineCacheData
+ VkDevice device
+ VkPipelineCache pipelineCache
+ size_t* pDataSize
+ void* pData
+
+
+ VkResult vkMergePipelineCaches
+ VkDevice device
+ VkPipelineCache dstCache
+ uint32_t srcCacheCount
+ const VkPipelineCache* pSrcCaches
+
+
+ VkResult vkCreateGraphicsPipelines
+ VkDevice device
+ VkPipelineCache pipelineCache
+ uint32_t createInfoCount
+ const VkGraphicsPipelineCreateInfo* pCreateInfos
+ const VkAllocationCallbacks* pAllocator
+ VkPipeline* pPipelines
+
+
+ VkResult vkCreateComputePipelines
+ VkDevice device
+ VkPipelineCache pipelineCache
+ uint32_t createInfoCount
+ const VkComputePipelineCreateInfo* pCreateInfos
+ const VkAllocationCallbacks* pAllocator
+ VkPipeline* pPipelines
+
+
+ void vkDestroyPipeline
+ VkDevice device
+ VkPipeline pipeline
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreatePipelineLayout
+ VkDevice device
+ const VkPipelineLayoutCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkPipelineLayout* pPipelineLayout
+
+
+ void vkDestroyPipelineLayout
+ VkDevice device
+ VkPipelineLayout pipelineLayout
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreateSampler
+ VkDevice device
+ const VkSamplerCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSampler* pSampler
+
+
+ void vkDestroySampler
+ VkDevice device
+ VkSampler sampler
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreateDescriptorSetLayout
+ VkDevice device
+ const VkDescriptorSetLayoutCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkDescriptorSetLayout* pSetLayout
+
+
+ void vkDestroyDescriptorSetLayout
+ VkDevice device
+ VkDescriptorSetLayout descriptorSetLayout
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreateDescriptorPool
+ VkDevice device
+ const VkDescriptorPoolCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkDescriptorPool* pDescriptorPool
+
+
+ void vkDestroyDescriptorPool
+ VkDevice device
+ VkDescriptorPool descriptorPool
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkResetDescriptorPool
+ VkDevice device
+ VkDescriptorPool descriptorPool
+ VkDescriptorPoolResetFlags flags
+
+ any sname:VkDescriptorSet objects allocated from pname:descriptorPool
+
+
+
+ VkResult vkAllocateDescriptorSets
+ VkDevice device
+ const VkDescriptorSetAllocateInfo* pAllocateInfo
+ VkDescriptorSet* pDescriptorSets
+
+
+ VkResult vkFreeDescriptorSets
+ VkDevice device
+ VkDescriptorPool descriptorPool
+ uint32_t descriptorSetCount
+ const VkDescriptorSet* pDescriptorSets
+
+
+ void vkUpdateDescriptorSets
+ VkDevice device
+ uint32_t descriptorWriteCount
+ const VkWriteDescriptorSet* pDescriptorWrites
+ uint32_t descriptorCopyCount
+ const VkCopyDescriptorSet* pDescriptorCopies
+
+
+ VkResult vkCreateFramebuffer
+ VkDevice device
+ const VkFramebufferCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkFramebuffer* pFramebuffer
+
+
+ void vkDestroyFramebuffer
+ VkDevice device
+ VkFramebuffer framebuffer
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreateRenderPass
+ VkDevice device
+ const VkRenderPassCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkRenderPass* pRenderPass
+
+
+ void vkDestroyRenderPass
+ VkDevice device
+ VkRenderPass renderPass
+ const VkAllocationCallbacks* pAllocator
+
+
+ void vkGetRenderAreaGranularity
+ VkDevice device
+ VkRenderPass renderPass
+ VkExtent2D* pGranularity
+
+
+ VkResult vkCreateCommandPool
+ VkDevice device
+ const VkCommandPoolCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkCommandPool* pCommandPool
+
+
+ void vkDestroyCommandPool
+ VkDevice device
+ VkCommandPool commandPool
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkResetCommandPool
+ VkDevice device
+ VkCommandPool commandPool
+ VkCommandPoolResetFlags flags
+
+
+ VkResult vkAllocateCommandBuffers
+ VkDevice device
+ const VkCommandBufferAllocateInfo* pAllocateInfo
+ VkCommandBuffer* pCommandBuffers
+
+
+ void vkFreeCommandBuffers
+ VkDevice device
+ VkCommandPool commandPool
+ uint32_t commandBufferCount
+ const VkCommandBuffer* pCommandBuffers
+
+
+ VkResult vkBeginCommandBuffer
+ VkCommandBuffer commandBuffer
+ const VkCommandBufferBeginInfo* pBeginInfo
+
+ the sname:VkCommandPool that pname:commandBuffer was allocated from
+
+
+
+ VkResult vkEndCommandBuffer
+ VkCommandBuffer commandBuffer
+
+ the sname:VkCommandPool that pname:commandBuffer was allocated from
+
+
+
+ VkResult vkResetCommandBuffer
+ VkCommandBuffer commandBuffer
+ VkCommandBufferResetFlags flags
+
+
+ void vkCmdBindPipeline
+ VkCommandBuffer commandBuffer
+ VkPipelineBindPoint pipelineBindPoint
+ VkPipeline pipeline
+
+
+ void vkCmdSetViewport
+ VkCommandBuffer commandBuffer
+ uint32_t firstViewport
+ uint32_t viewportCount
+ const VkViewport* pViewports
+
+
+ void vkCmdSetScissor
+ VkCommandBuffer commandBuffer
+ uint32_t firstScissor
+ uint32_t scissorCount
+ const VkRect2D* pScissors
+
+
+ void vkCmdSetLineWidth
+ VkCommandBuffer commandBuffer
+ float lineWidth
+
+
+ void vkCmdSetDepthBias
+ VkCommandBuffer commandBuffer
+ float depthBiasConstantFactor
+ float depthBiasClamp
+ float depthBiasSlopeFactor
+
+
+ void vkCmdSetBlendConstants
+ VkCommandBuffer commandBuffer
+ const float blendConstants[4]
+
+
+ void vkCmdSetDepthBounds
+ VkCommandBuffer commandBuffer
+ float minDepthBounds
+ float maxDepthBounds
+
+
+ void vkCmdSetStencilCompareMask
+ VkCommandBuffer commandBuffer
+ VkStencilFaceFlags faceMask
+ uint32_t compareMask
+
+
+ void vkCmdSetStencilWriteMask
+ VkCommandBuffer commandBuffer
+ VkStencilFaceFlags faceMask
+ uint32_t writeMask
+
+
+ void vkCmdSetStencilReference
+ VkCommandBuffer commandBuffer
+ VkStencilFaceFlags faceMask
+ uint32_t reference
+
+
+ void vkCmdBindDescriptorSets
+ VkCommandBuffer commandBuffer
+ VkPipelineBindPoint pipelineBindPoint
+ VkPipelineLayout layout
+ uint32_t firstSet
+ uint32_t descriptorSetCount
+ const VkDescriptorSet* pDescriptorSets
+ uint32_t dynamicOffsetCount
+ const uint32_t* pDynamicOffsets
+
+
+ void vkCmdBindIndexBuffer
+ VkCommandBuffer commandBuffer
+ VkBuffer buffer
+ VkDeviceSize offset
+ VkIndexType indexType
+
+
+ void vkCmdBindVertexBuffers
+ VkCommandBuffer commandBuffer
+ uint32_t firstBinding
+ uint32_t bindingCount
+ const VkBuffer* pBuffers
+ const VkDeviceSize* pOffsets
+
+
+ void vkCmdDraw
+ VkCommandBuffer commandBuffer
+ uint32_t vertexCount
+ uint32_t instanceCount
+ uint32_t firstVertex
+ uint32_t firstInstance
+
+
+ void vkCmdDrawIndexed
+ VkCommandBuffer commandBuffer
+ uint32_t indexCount
+ uint32_t instanceCount
+ uint32_t firstIndex
+ int32_t vertexOffset
+ uint32_t firstInstance
+
+
+ void vkCmdDrawIndirect
+ VkCommandBuffer commandBuffer
+ VkBuffer buffer
+ VkDeviceSize offset
+ uint32_t drawCount
+ uint32_t stride
+
+
+ void vkCmdDrawIndexedIndirect
+ VkCommandBuffer commandBuffer
+ VkBuffer buffer
+ VkDeviceSize offset
+ uint32_t drawCount
+ uint32_t stride
+
+
+ void vkCmdDispatch
+ VkCommandBuffer commandBuffer
+ uint32_t groupCountX
+ uint32_t groupCountY
+ uint32_t groupCountZ
+
+
+ void vkCmdDispatchIndirect
+ VkCommandBuffer commandBuffer
+ VkBuffer buffer
+ VkDeviceSize offset
+
+
+ void vkCmdCopyBuffer
+ VkCommandBuffer commandBuffer
+ VkBuffer srcBuffer
+ VkBuffer dstBuffer
+ uint32_t regionCount
+ const VkBufferCopy* pRegions
+
+
+ void vkCmdCopyImage
+ VkCommandBuffer commandBuffer
+ VkImage srcImage
+ VkImageLayout srcImageLayout
+ VkImage dstImage
+ VkImageLayout dstImageLayout
+ uint32_t regionCount
+ const VkImageCopy* pRegions
+
+
+ void vkCmdBlitImage
+ VkCommandBuffer commandBuffer
+ VkImage srcImage
+ VkImageLayout srcImageLayout
+ VkImage dstImage
+ VkImageLayout dstImageLayout
+ uint32_t regionCount
+ const VkImageBlit* pRegions
+ VkFilter filter
+
+
+ void vkCmdCopyBufferToImage
+ VkCommandBuffer commandBuffer
+ VkBuffer srcBuffer
+ VkImage dstImage
+ VkImageLayout dstImageLayout
+ uint32_t regionCount
+ const VkBufferImageCopy* pRegions
+
+
+ void vkCmdCopyImageToBuffer
+ VkCommandBuffer commandBuffer
+ VkImage srcImage
+ VkImageLayout srcImageLayout
+ VkBuffer dstBuffer
+ uint32_t regionCount
+ const VkBufferImageCopy* pRegions
+
+
+ void vkCmdUpdateBuffer
+ VkCommandBuffer commandBuffer
+ VkBuffer dstBuffer
+ VkDeviceSize dstOffset
+ VkDeviceSize dataSize
+ const void* pData
+
+
+ void vkCmdFillBuffer
+ VkCommandBuffer commandBuffer
+ VkBuffer dstBuffer
+ VkDeviceSize dstOffset
+ VkDeviceSize size
+ uint32_t data
+
+
+ void vkCmdClearColorImage
+ VkCommandBuffer commandBuffer
+ VkImage image
+ VkImageLayout imageLayout
+ const VkClearColorValue* pColor
+ uint32_t rangeCount
+ const VkImageSubresourceRange* pRanges
+
+
+ void vkCmdClearDepthStencilImage
+ VkCommandBuffer commandBuffer
+ VkImage image
+ VkImageLayout imageLayout
+ const VkClearDepthStencilValue* pDepthStencil
+ uint32_t rangeCount
+ const VkImageSubresourceRange* pRanges
+
+
+ void vkCmdClearAttachments
+ VkCommandBuffer commandBuffer
+ uint32_t attachmentCount
+ const VkClearAttachment* pAttachments
+ uint32_t rectCount
+ const VkClearRect* pRects
+
+
+ void vkCmdResolveImage
+ VkCommandBuffer commandBuffer
+ VkImage srcImage
+ VkImageLayout srcImageLayout
+ VkImage dstImage
+ VkImageLayout dstImageLayout
+ uint32_t regionCount
+ const VkImageResolve* pRegions
+
+
+ void vkCmdSetEvent
+ VkCommandBuffer commandBuffer
+ VkEvent event
+ VkPipelineStageFlags stageMask
+
+
+ void vkCmdResetEvent
+ VkCommandBuffer commandBuffer
+ VkEvent event
+ VkPipelineStageFlags stageMask
+
+
+ void 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
+
+
+ void 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
+
+
+ void vkCmdBeginQuery
+ VkCommandBuffer commandBuffer
+ VkQueryPool queryPool
+ uint32_t query
+ VkQueryControlFlags flags
+
+
+ void vkCmdEndQuery
+ VkCommandBuffer commandBuffer
+ VkQueryPool queryPool
+ uint32_t query
+
+
+ void vkCmdBeginConditionalRenderingEXT
+ VkCommandBuffer commandBuffer
+ const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin
+
+
+ void vkCmdEndConditionalRenderingEXT
+ VkCommandBuffer commandBuffer
+
+
+ void vkCmdResetQueryPool
+ VkCommandBuffer commandBuffer
+ VkQueryPool queryPool
+ uint32_t firstQuery
+ uint32_t queryCount
+
+
+ void vkCmdWriteTimestamp
+ VkCommandBuffer commandBuffer
+ VkPipelineStageFlagBits pipelineStage
+ VkQueryPool queryPool
+ uint32_t query
+
+
+ void vkCmdCopyQueryPoolResults
+ VkCommandBuffer commandBuffer
+ VkQueryPool queryPool
+ uint32_t firstQuery
+ uint32_t queryCount
+ VkBuffer dstBuffer
+ VkDeviceSize dstOffset
+ VkDeviceSize stride
+ VkQueryResultFlags flags
+
+
+ void vkCmdPushConstants
+ VkCommandBuffer commandBuffer
+ VkPipelineLayout layout
+ VkShaderStageFlags stageFlags
+ uint32_t offset
+ uint32_t size
+ const void* pValues
+
+
+ void vkCmdBeginRenderPass
+ VkCommandBuffer commandBuffer
+ const VkRenderPassBeginInfo* pRenderPassBegin
+ VkSubpassContents contents
+
+
+ void vkCmdNextSubpass
+ VkCommandBuffer commandBuffer
+ VkSubpassContents contents
+
+
+ void vkCmdEndRenderPass
+ VkCommandBuffer commandBuffer
+
+
+ void vkCmdExecuteCommands
+ VkCommandBuffer commandBuffer
+ uint32_t commandBufferCount
+ const VkCommandBuffer* pCommandBuffers
+
+
+ VkResult vkCreateAndroidSurfaceKHR
+ VkInstance instance
+ const VkAndroidSurfaceCreateInfoKHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ VkResult vkGetPhysicalDeviceDisplayPropertiesKHR
+ VkPhysicalDevice physicalDevice
+ uint32_t* pPropertyCount
+ VkDisplayPropertiesKHR* pProperties
+
+
+ VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR
+ VkPhysicalDevice physicalDevice
+ uint32_t* pPropertyCount
+ VkDisplayPlanePropertiesKHR* pProperties
+
+
+ VkResult vkGetDisplayPlaneSupportedDisplaysKHR
+ VkPhysicalDevice physicalDevice
+ uint32_t planeIndex
+ uint32_t* pDisplayCount
+ VkDisplayKHR* pDisplays
+
+
+ VkResult vkGetDisplayModePropertiesKHR
+ VkPhysicalDevice physicalDevice
+ VkDisplayKHR display
+ uint32_t* pPropertyCount
+ VkDisplayModePropertiesKHR* pProperties
+
+
+ VkResult vkCreateDisplayModeKHR
+ VkPhysicalDevice physicalDevice
+ VkDisplayKHR display
+ const VkDisplayModeCreateInfoKHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkDisplayModeKHR* pMode
+
+
+ VkResult vkGetDisplayPlaneCapabilitiesKHR
+ VkPhysicalDevice physicalDevice
+ VkDisplayModeKHR mode
+ uint32_t planeIndex
+ VkDisplayPlaneCapabilitiesKHR* pCapabilities
+
+
+ VkResult vkCreateDisplayPlaneSurfaceKHR
+ VkInstance instance
+ const VkDisplaySurfaceCreateInfoKHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ VkResult vkCreateSharedSwapchainsKHR
+ VkDevice device
+ uint32_t swapchainCount
+ const VkSwapchainCreateInfoKHR* pCreateInfos
+ const VkAllocationCallbacks* pAllocator
+ VkSwapchainKHR* pSwapchains
+
+
+ VkResult vkCreateMirSurfaceKHR
+ VkInstance instance
+ const VkMirSurfaceCreateInfoKHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR
+ VkPhysicalDevice physicalDevice
+ uint32_t queueFamilyIndex
+ MirConnection* connection
+
+
+ void vkDestroySurfaceKHR
+ VkInstance instance
+ VkSurfaceKHR surface
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkGetPhysicalDeviceSurfaceSupportKHR
+ VkPhysicalDevice physicalDevice
+ uint32_t queueFamilyIndex
+ VkSurfaceKHR surface
+ VkBool32* pSupported
+
+
+ VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR
+ VkPhysicalDevice physicalDevice
+ VkSurfaceKHR surface
+ VkSurfaceCapabilitiesKHR* pSurfaceCapabilities
+
+
+ VkResult vkGetPhysicalDeviceSurfaceFormatsKHR
+ VkPhysicalDevice physicalDevice
+ VkSurfaceKHR surface
+ uint32_t* pSurfaceFormatCount
+ VkSurfaceFormatKHR* pSurfaceFormats
+
+
+ VkResult vkGetPhysicalDeviceSurfacePresentModesKHR
+ VkPhysicalDevice physicalDevice
+ VkSurfaceKHR surface
+ uint32_t* pPresentModeCount
+ VkPresentModeKHR* pPresentModes
+
+
+ VkResult vkCreateSwapchainKHR
+ VkDevice device
+ const VkSwapchainCreateInfoKHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSwapchainKHR* pSwapchain
+
+
+ void vkDestroySwapchainKHR
+ VkDevice device
+ VkSwapchainKHR swapchain
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkGetSwapchainImagesKHR
+ VkDevice device
+ VkSwapchainKHR swapchain
+ uint32_t* pSwapchainImageCount
+ VkImage* pSwapchainImages
+
+
+ VkResult vkAcquireNextImageKHR
+ VkDevice device
+ VkSwapchainKHR swapchain
+ uint64_t timeout
+ VkSemaphore semaphore
+ VkFence fence
+ uint32_t* pImageIndex
+
+
+ VkResult vkQueuePresentKHR
+ VkQueue queue
+ const VkPresentInfoKHR* pPresentInfo
+
+
+ VkResult vkCreateViSurfaceNN
+ VkInstance instance
+ const VkViSurfaceCreateInfoNN* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ VkResult vkCreateWaylandSurfaceKHR
+ VkInstance instance
+ const VkWaylandSurfaceCreateInfoKHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR
+ VkPhysicalDevice physicalDevice
+ uint32_t queueFamilyIndex
+ struct wl_display* display
+
+
+ VkResult vkCreateWin32SurfaceKHR
+ VkInstance instance
+ const VkWin32SurfaceCreateInfoKHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR
+ VkPhysicalDevice physicalDevice
+ uint32_t queueFamilyIndex
+
+
+ VkResult vkCreateXlibSurfaceKHR
+ VkInstance instance
+ const VkXlibSurfaceCreateInfoKHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR
+ VkPhysicalDevice physicalDevice
+ uint32_t queueFamilyIndex
+ Display* dpy
+ VisualID visualID
+
+
+ VkResult vkCreateXcbSurfaceKHR
+ VkInstance instance
+ const VkXcbSurfaceCreateInfoKHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR
+ VkPhysicalDevice physicalDevice
+ uint32_t queueFamilyIndex
+ xcb_connection_t* connection
+ xcb_visualid_t visual_id
+
+
+ VkResult vkCreateDebugReportCallbackEXT
+ VkInstance instance
+ const VkDebugReportCallbackCreateInfoEXT* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkDebugReportCallbackEXT* pCallback
+
+
+ void vkDestroyDebugReportCallbackEXT
+ VkInstance instance
+ VkDebugReportCallbackEXT callback
+ const VkAllocationCallbacks* pAllocator
+
+
+ void vkDebugReportMessageEXT
+ VkInstance instance
+ VkDebugReportFlagsEXT flags
+ VkDebugReportObjectTypeEXT objectType
+ uint64_t object
+ size_t location
+ int32_t messageCode
+ const char* pLayerPrefix
+ const char* pMessage
+
+
+ VkResult vkDebugMarkerSetObjectNameEXT
+ VkDevice device
+ const VkDebugMarkerObjectNameInfoEXT* pNameInfo
+
+
+ VkResult vkDebugMarkerSetObjectTagEXT
+ VkDevice device
+ const VkDebugMarkerObjectTagInfoEXT* pTagInfo
+
+
+ void vkCmdDebugMarkerBeginEXT
+ VkCommandBuffer commandBuffer
+ const VkDebugMarkerMarkerInfoEXT* pMarkerInfo
+
+
+ void vkCmdDebugMarkerEndEXT
+ VkCommandBuffer commandBuffer
+
+
+ void vkCmdDebugMarkerInsertEXT
+ VkCommandBuffer commandBuffer
+ const VkDebugMarkerMarkerInfoEXT* pMarkerInfo
+
+
+ VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV
+ VkPhysicalDevice physicalDevice
+ VkFormat format
+ VkImageType type
+ VkImageTiling tiling
+ VkImageUsageFlags usage
+ VkImageCreateFlags flags
+ VkExternalMemoryHandleTypeFlagsNV externalHandleType
+ VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties
+
+
+ VkResult vkGetMemoryWin32HandleNV
+ VkDevice device
+ VkDeviceMemory memory
+ VkExternalMemoryHandleTypeFlagsNV handleType
+ HANDLE* pHandle
+
+
+ void vkCmdDrawIndirectCountAMD
+ VkCommandBuffer commandBuffer
+ VkBuffer buffer
+ VkDeviceSize offset
+ VkBuffer countBuffer
+ VkDeviceSize countBufferOffset
+ uint32_t maxDrawCount
+ uint32_t stride
+
+
+ void vkCmdDrawIndexedIndirectCountAMD
+ VkCommandBuffer commandBuffer
+ VkBuffer buffer
+ VkDeviceSize offset
+ VkBuffer countBuffer
+ VkDeviceSize countBufferOffset
+ uint32_t maxDrawCount
+ uint32_t stride
+
+
+ void vkCmdProcessCommandsNVX
+ VkCommandBuffer commandBuffer
+ const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo
+
+
+ void vkCmdReserveSpaceForCommandsNVX
+ VkCommandBuffer commandBuffer
+ const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo
+
+
+ VkResult vkCreateIndirectCommandsLayoutNVX
+ VkDevice device
+ const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout
+
+
+ void vkDestroyIndirectCommandsLayoutNVX
+ VkDevice device
+ VkIndirectCommandsLayoutNVX indirectCommandsLayout
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkCreateObjectTableNVX
+ VkDevice device
+ const VkObjectTableCreateInfoNVX* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkObjectTableNVX* pObjectTable
+
+
+ void vkDestroyObjectTableNVX
+ VkDevice device
+ VkObjectTableNVX objectTable
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkRegisterObjectsNVX
+ VkDevice device
+ VkObjectTableNVX objectTable
+ uint32_t objectCount
+ const VkObjectTableEntryNVX* const* ppObjectTableEntries
+ const uint32_t* pObjectIndices
+
+
+ VkResult vkUnregisterObjectsNVX
+ VkDevice device
+ VkObjectTableNVX objectTable
+ uint32_t objectCount
+ const VkObjectEntryTypeNVX* pObjectEntryTypes
+ const uint32_t* pObjectIndices
+
+
+ void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX
+ VkPhysicalDevice physicalDevice
+ VkDeviceGeneratedCommandsFeaturesNVX* pFeatures
+ VkDeviceGeneratedCommandsLimitsNVX* pLimits
+
+
+ void vkGetPhysicalDeviceFeatures2
+ VkPhysicalDevice physicalDevice
+ VkPhysicalDeviceFeatures2* pFeatures
+
+
+
+ void vkGetPhysicalDeviceProperties2
+ VkPhysicalDevice physicalDevice
+ VkPhysicalDeviceProperties2* pProperties
+
+
+
+ void vkGetPhysicalDeviceFormatProperties2
+ VkPhysicalDevice physicalDevice
+ VkFormat format
+ VkFormatProperties2* pFormatProperties
+
+
+
+ VkResult vkGetPhysicalDeviceImageFormatProperties2
+ VkPhysicalDevice physicalDevice
+ const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo
+ VkImageFormatProperties2* pImageFormatProperties
+
+
+
+ void vkGetPhysicalDeviceQueueFamilyProperties2
+ VkPhysicalDevice physicalDevice
+ uint32_t* pQueueFamilyPropertyCount
+ VkQueueFamilyProperties2* pQueueFamilyProperties
+
+
+
+ void vkGetPhysicalDeviceMemoryProperties2
+ VkPhysicalDevice physicalDevice
+ VkPhysicalDeviceMemoryProperties2* pMemoryProperties
+
+
+
+ void vkGetPhysicalDeviceSparseImageFormatProperties2
+ VkPhysicalDevice physicalDevice
+ const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo
+ uint32_t* pPropertyCount
+ VkSparseImageFormatProperties2* pProperties
+
+
+
+ void vkCmdPushDescriptorSetKHR
+ VkCommandBuffer commandBuffer
+ VkPipelineBindPoint pipelineBindPoint
+ VkPipelineLayout layout
+ uint32_t set
+ uint32_t descriptorWriteCount
+ const VkWriteDescriptorSet* pDescriptorWrites
+
+
+ void vkTrimCommandPool
+ VkDevice device
+ VkCommandPool commandPool
+ VkCommandPoolTrimFlags flags
+
+
+
+ void vkGetPhysicalDeviceExternalBufferProperties
+ VkPhysicalDevice physicalDevice
+ const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo
+ VkExternalBufferProperties* pExternalBufferProperties
+
+
+
+ VkResult vkGetMemoryWin32HandleKHR
+ VkDevice device
+ const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo
+ HANDLE* pHandle
+
+
+ VkResult vkGetMemoryWin32HandlePropertiesKHR
+ VkDevice device
+ VkExternalMemoryHandleTypeFlagBits handleType
+ HANDLE handle
+ VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties
+
+
+ VkResult vkGetMemoryFdKHR
+ VkDevice device
+ const VkMemoryGetFdInfoKHR* pGetFdInfo
+ int* pFd
+
+
+ VkResult vkGetMemoryFdPropertiesKHR
+ VkDevice device
+ VkExternalMemoryHandleTypeFlagBits handleType
+ int fd
+ VkMemoryFdPropertiesKHR* pMemoryFdProperties
+
+
+ void vkGetPhysicalDeviceExternalSemaphoreProperties
+ VkPhysicalDevice physicalDevice
+ const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo
+ VkExternalSemaphoreProperties* pExternalSemaphoreProperties
+
+
+
+ VkResult vkGetSemaphoreWin32HandleKHR
+ VkDevice device
+ const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo
+ HANDLE* pHandle
+
+
+ VkResult vkImportSemaphoreWin32HandleKHR
+ VkDevice device
+ const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo
+
+
+ VkResult vkGetSemaphoreFdKHR
+ VkDevice device
+ const VkSemaphoreGetFdInfoKHR* pGetFdInfo
+ int* pFd
+
+
+ VkResult vkImportSemaphoreFdKHR
+ VkDevice device
+ const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo
+
+
+ void vkGetPhysicalDeviceExternalFenceProperties
+ VkPhysicalDevice physicalDevice
+ const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo
+ VkExternalFenceProperties* pExternalFenceProperties
+
+
+
+ VkResult vkGetFenceWin32HandleKHR
+ VkDevice device
+ const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo
+ HANDLE* pHandle
+
+
+ VkResult vkImportFenceWin32HandleKHR
+ VkDevice device
+ const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo
+
+
+ VkResult vkGetFenceFdKHR
+ VkDevice device
+ const VkFenceGetFdInfoKHR* pGetFdInfo
+ int* pFd
+
+
+ VkResult vkImportFenceFdKHR
+ VkDevice device
+ const VkImportFenceFdInfoKHR* pImportFenceFdInfo
+
+
+ VkResult vkReleaseDisplayEXT
+ VkPhysicalDevice physicalDevice
+ VkDisplayKHR display
+
+
+ VkResult vkAcquireXlibDisplayEXT
+ VkPhysicalDevice physicalDevice
+ Display* dpy
+ VkDisplayKHR display
+
+
+ VkResult vkGetRandROutputDisplayEXT
+ VkPhysicalDevice physicalDevice
+ Display* dpy
+ RROutput rrOutput
+ VkDisplayKHR* pDisplay
+
+
+ VkResult vkDisplayPowerControlEXT
+ VkDevice device
+ VkDisplayKHR display
+ const VkDisplayPowerInfoEXT* pDisplayPowerInfo
+
+
+ VkResult vkRegisterDeviceEventEXT
+ VkDevice device
+ const VkDeviceEventInfoEXT* pDeviceEventInfo
+ const VkAllocationCallbacks* pAllocator
+ VkFence* pFence
+
+
+ VkResult vkRegisterDisplayEventEXT
+ VkDevice device
+ VkDisplayKHR display
+ const VkDisplayEventInfoEXT* pDisplayEventInfo
+ const VkAllocationCallbacks* pAllocator
+ VkFence* pFence
+
+
+ VkResult vkGetSwapchainCounterEXT
+ VkDevice device
+ VkSwapchainKHR swapchain
+ VkSurfaceCounterFlagBitsEXT counter
+ uint64_t* pCounterValue
+
+
+ VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT
+ VkPhysicalDevice physicalDevice
+ VkSurfaceKHR surface
+ VkSurfaceCapabilities2EXT* pSurfaceCapabilities
+
+
+ VkResult vkEnumeratePhysicalDeviceGroups
+ VkInstance instance
+ uint32_t* pPhysicalDeviceGroupCount
+ VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties
+
+
+
+ void vkGetDeviceGroupPeerMemoryFeatures
+ VkDevice device
+ uint32_t heapIndex
+ uint32_t localDeviceIndex
+ uint32_t remoteDeviceIndex
+ VkPeerMemoryFeatureFlags* pPeerMemoryFeatures
+
+
+
+ VkResult vkBindBufferMemory2
+ VkDevice device
+ uint32_t bindInfoCount
+ const VkBindBufferMemoryInfo* pBindInfos
+
+
+
+ VkResult vkBindImageMemory2
+ VkDevice device
+ uint32_t bindInfoCount
+ const VkBindImageMemoryInfo* pBindInfos
+
+
+
+ void vkCmdSetDeviceMask
+ VkCommandBuffer commandBuffer
+ uint32_t deviceMask
+
+
+
+ VkResult vkGetDeviceGroupPresentCapabilitiesKHR
+ VkDevice device
+ VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities
+
+
+ VkResult vkGetDeviceGroupSurfacePresentModesKHR
+ VkDevice device
+ VkSurfaceKHR surface
+ VkDeviceGroupPresentModeFlagsKHR* pModes
+
+
+ VkResult vkAcquireNextImage2KHR
+ VkDevice device
+ const VkAcquireNextImageInfoKHR* pAcquireInfo
+ uint32_t* pImageIndex
+
+
+ void vkCmdDispatchBase
+ VkCommandBuffer commandBuffer
+ uint32_t baseGroupX
+ uint32_t baseGroupY
+ uint32_t baseGroupZ
+ uint32_t groupCountX
+ uint32_t groupCountY
+ uint32_t groupCountZ
+
+
+
+ VkResult vkGetPhysicalDevicePresentRectanglesKHR
+ VkPhysicalDevice physicalDevice
+ VkSurfaceKHR surface
+ uint32_t* pRectCount
+ VkRect2D* pRects
+
+
+ VkResult vkCreateDescriptorUpdateTemplate
+ VkDevice device
+ const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate
+
+
+
+ void vkDestroyDescriptorUpdateTemplate
+ VkDevice device
+ VkDescriptorUpdateTemplate descriptorUpdateTemplate
+ const VkAllocationCallbacks* pAllocator
+
+
+
+ void vkUpdateDescriptorSetWithTemplate
+ VkDevice device
+ VkDescriptorSet descriptorSet
+ VkDescriptorUpdateTemplate descriptorUpdateTemplate
+ const void* pData
+
+
+
+ void vkCmdPushDescriptorSetWithTemplateKHR
+ VkCommandBuffer commandBuffer
+ VkDescriptorUpdateTemplate descriptorUpdateTemplate
+ VkPipelineLayout layout
+ uint32_t set
+ const void* pData
+
+
+ void vkSetHdrMetadataEXT
+ VkDevice device
+ uint32_t swapchainCount
+ const VkSwapchainKHR* pSwapchains
+ const VkHdrMetadataEXT* pMetadata
+
+
+ VkResult vkGetSwapchainStatusKHR
+ VkDevice device
+ VkSwapchainKHR swapchain
+
+
+ VkResult vkGetRefreshCycleDurationGOOGLE
+ VkDevice device
+ VkSwapchainKHR swapchain
+ VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties
+
+
+ VkResult vkGetPastPresentationTimingGOOGLE
+ VkDevice device
+ VkSwapchainKHR swapchain
+ uint32_t* pPresentationTimingCount
+ VkPastPresentationTimingGOOGLE* pPresentationTimings
+
+
+ VkResult vkCreateIOSSurfaceMVK
+ VkInstance instance
+ const VkIOSSurfaceCreateInfoMVK* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ VkResult vkCreateMacOSSurfaceMVK
+ VkInstance instance
+ const VkMacOSSurfaceCreateInfoMVK* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
+
+ void vkCmdSetViewportWScalingNV
+ VkCommandBuffer commandBuffer
+ uint32_t firstViewport
+ uint32_t viewportCount
+ const VkViewportWScalingNV* pViewportWScalings
+
+
+ void vkCmdSetDiscardRectangleEXT
+ VkCommandBuffer commandBuffer
+ uint32_t firstDiscardRectangle
+ uint32_t discardRectangleCount
+ const VkRect2D* pDiscardRectangles
+
+
+ void vkCmdSetSampleLocationsEXT
+ VkCommandBuffer commandBuffer
+ const VkSampleLocationsInfoEXT* pSampleLocationsInfo
+
+
+ void vkGetPhysicalDeviceMultisamplePropertiesEXT
+ VkPhysicalDevice physicalDevice
+ VkSampleCountFlagBits samples
+ VkMultisamplePropertiesEXT* pMultisampleProperties
+
+
+ VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR
+ VkPhysicalDevice physicalDevice
+ const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo
+ VkSurfaceCapabilities2KHR* pSurfaceCapabilities
+
+
+ VkResult vkGetPhysicalDeviceSurfaceFormats2KHR
+ VkPhysicalDevice physicalDevice
+ const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo
+ uint32_t* pSurfaceFormatCount
+ VkSurfaceFormat2KHR* pSurfaceFormats
+
+
+ VkResult vkGetPhysicalDeviceDisplayProperties2KHR
+ VkPhysicalDevice physicalDevice
+ uint32_t* pPropertyCount
+ VkDisplayProperties2KHR* pProperties
+
+
+ VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR
+ VkPhysicalDevice physicalDevice
+ uint32_t* pPropertyCount
+ VkDisplayPlaneProperties2KHR* pProperties
+
+
+ VkResult vkGetDisplayModeProperties2KHR
+ VkPhysicalDevice physicalDevice
+ VkDisplayKHR display
+ uint32_t* pPropertyCount
+ VkDisplayModeProperties2KHR* pProperties
+
+
+ VkResult vkGetDisplayPlaneCapabilities2KHR
+ VkPhysicalDevice physicalDevice
+ const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo
+ VkDisplayPlaneCapabilities2KHR* pCapabilities
+
+
+ void vkGetBufferMemoryRequirements2
+ VkDevice device
+ const VkBufferMemoryRequirementsInfo2* pInfo
+ VkMemoryRequirements2* pMemoryRequirements
+
+
+
+ void vkGetImageMemoryRequirements2
+ VkDevice device
+ const VkImageMemoryRequirementsInfo2* pInfo
+ VkMemoryRequirements2* pMemoryRequirements
+
+
+
+ void vkGetImageSparseMemoryRequirements2
+ VkDevice device
+ const VkImageSparseMemoryRequirementsInfo2* pInfo
+ uint32_t* pSparseMemoryRequirementCount
+ VkSparseImageMemoryRequirements2* pSparseMemoryRequirements
+
+
+
+ VkResult vkCreateSamplerYcbcrConversion
+ VkDevice device
+ const VkSamplerYcbcrConversionCreateInfo* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSamplerYcbcrConversion* pYcbcrConversion
+
+
+
+ void vkDestroySamplerYcbcrConversion
+ VkDevice device
+ VkSamplerYcbcrConversion ycbcrConversion
+ const VkAllocationCallbacks* pAllocator
+
+
+
+ void vkGetDeviceQueue2
+ VkDevice device
+ const VkDeviceQueueInfo2* pQueueInfo
+ VkQueue* pQueue
+
+
+ VkResult vkCreateValidationCacheEXT
+ VkDevice device
+ const VkValidationCacheCreateInfoEXT* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkValidationCacheEXT* pValidationCache
+
+
+ void vkDestroyValidationCacheEXT
+ VkDevice device
+ VkValidationCacheEXT validationCache
+ const VkAllocationCallbacks* pAllocator
+
+
+ VkResult vkGetValidationCacheDataEXT
+ VkDevice device
+ VkValidationCacheEXT validationCache
+ size_t* pDataSize
+ void* pData
+
+
+ VkResult vkMergeValidationCachesEXT
+ VkDevice device
+ VkValidationCacheEXT dstCache
+ uint32_t srcCacheCount
+ const VkValidationCacheEXT* pSrcCaches
+
+
+ void vkGetDescriptorSetLayoutSupport
+ VkDevice device
+ const VkDescriptorSetLayoutCreateInfo* pCreateInfo
+ VkDescriptorSetLayoutSupport* pSupport
+
+
+
+ VkResult vkGetSwapchainGrallocUsageANDROID
+ VkDevice device
+ VkFormat format
+ VkImageUsageFlags imageUsage
+ int* grallocUsage
+
+
+ VkResult vkAcquireImageANDROID
+ VkDevice device
+ VkImage image
+ int nativeFenceFd
+ VkSemaphore semaphore
+ VkFence fence
+
+
+ VkResult vkQueueSignalReleaseImageANDROID
+ VkQueue queue
+ uint32_t waitSemaphoreCount
+ const VkSemaphore* pWaitSemaphores
+ VkImage image
+ int* pNativeFenceFd
+
+
+ VkResult vkGetShaderInfoAMD
+ VkDevice device
+ VkPipeline pipeline
+ VkShaderStageFlagBits shaderStage
+ VkShaderInfoTypeAMD infoType
+ size_t* pInfoSize
+ void* pInfo
+
+
+ VkResult vkSetDebugUtilsObjectNameEXT
+ VkDevice device
+ const VkDebugUtilsObjectNameInfoEXT* pNameInfo
+
+
+ VkResult vkSetDebugUtilsObjectTagEXT
+ VkDevice device
+ const VkDebugUtilsObjectTagInfoEXT* pTagInfo
+
+
+ void vkQueueBeginDebugUtilsLabelEXT
+ VkQueue queue
+ const VkDebugUtilsLabelEXT* pLabelInfo
+
+
+ void vkQueueEndDebugUtilsLabelEXT
+ VkQueue queue
+
+
+ void vkQueueInsertDebugUtilsLabelEXT
+ VkQueue queue
+ const VkDebugUtilsLabelEXT* pLabelInfo
+
+
+ void vkCmdBeginDebugUtilsLabelEXT
+ VkCommandBuffer commandBuffer
+ const VkDebugUtilsLabelEXT* pLabelInfo
+
+
+ void vkCmdEndDebugUtilsLabelEXT
+ VkCommandBuffer commandBuffer
+
+
+ void vkCmdInsertDebugUtilsLabelEXT
+ VkCommandBuffer commandBuffer
+ const VkDebugUtilsLabelEXT* pLabelInfo
+
+
+ VkResult vkCreateDebugUtilsMessengerEXT
+ VkInstance instance
+ const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkDebugUtilsMessengerEXT* pMessenger
+
+
+ void vkDestroyDebugUtilsMessengerEXT
+ VkInstance instance
+ VkDebugUtilsMessengerEXT messenger
+ const VkAllocationCallbacks* pAllocator
+
+
+ void vkSubmitDebugUtilsMessageEXT
+ VkInstance instance
+ VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity
+ VkDebugUtilsMessageTypeFlagsEXT messageTypes
+ const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData
+
+
+ VkResult vkGetMemoryHostPointerPropertiesEXT
+ VkDevice device
+ VkExternalMemoryHandleTypeFlagBits handleType
+ const void* pHostPointer
+ VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties
+
+
+ void vkCmdWriteBufferMarkerAMD
+ VkCommandBuffer commandBuffer
+ VkPipelineStageFlagBits pipelineStage
+ VkBuffer dstBuffer
+ VkDeviceSize dstOffset
+ uint32_t marker
+
+
+ VkResult vkCreateRenderPass2KHR
+ VkDevice device
+ const VkRenderPassCreateInfo2KHR* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkRenderPass* pRenderPass
+
+
+ void vkCmdBeginRenderPass2KHR
+ VkCommandBuffer commandBuffer
+ const VkRenderPassBeginInfo* pRenderPassBegin
+ const VkSubpassBeginInfoKHR* pSubpassBeginInfo
+
+
+ void vkCmdNextSubpass2KHR
+ VkCommandBuffer commandBuffer
+ const VkSubpassBeginInfoKHR* pSubpassBeginInfo
+ const VkSubpassEndInfoKHR* pSubpassEndInfo
+
+
+ void vkCmdEndRenderPass2KHR
+ VkCommandBuffer commandBuffer
+ const VkSubpassEndInfoKHR* pSubpassEndInfo
+
+
+ VkResult vkGetAndroidHardwareBufferPropertiesANDROID
+ VkDevice device
+ const struct AHardwareBuffer* buffer
+ VkAndroidHardwareBufferPropertiesANDROID* pProperties
+
+
+ VkResult vkGetMemoryAndroidHardwareBufferANDROID
+ VkDevice device
+ const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo
+ struct AHardwareBuffer** pBuffer
+
+
+ void vkCmdDrawIndirectCountKHR
+ VkCommandBuffer commandBuffer
+ VkBuffer buffer
+ VkDeviceSize offset
+ VkBuffer countBuffer
+ VkDeviceSize countBufferOffset
+ uint32_t maxDrawCount
+ uint32_t stride
+
+
+ void vkCmdDrawIndexedIndirectCountKHR
+ VkCommandBuffer commandBuffer
+ VkBuffer buffer
+ VkDeviceSize offset
+ VkBuffer countBuffer
+ VkDeviceSize countBufferOffset
+ uint32_t maxDrawCount
+ uint32_t stride
+
+
+ void vkCmdSetCheckpointNV
+ VkCommandBuffer commandBuffer
+ const void* pCheckpointMarker
+
+
+ void vkGetQueueCheckpointDataNV
+ VkQueue queue
+ uint32_t* pCheckpointDataCount
+ VkCheckpointDataNV* pCheckpointData
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ offset 1 reserved for the old VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHX enum
+ offset 2 reserved for the old VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHX enum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Additional dependent types / tokens extending enumerants, not explicitly mentioned
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Additional dependent types / tokens extending enumerants, not explicitly mentioned
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This duplicates definitions in VK_KHR_device_group below
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This duplicates definitions in other extensions, below
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ enum offset=0 was mistakenly used for the 1.1 core enum
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
+ (value=1000094000). Fortunately, no conflict resulted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/glad/files/vk_platform.h b/glad/files/vk_platform.h
new file mode 100644
index 00000000..72892992
--- /dev/null
+++ b/glad/files/vk_platform.h
@@ -0,0 +1,92 @@
+//
+// File: vk_platform.h
+//
+/*
+** Copyright (c) 2014-2017 The Khronos Group Inc.
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+
+#ifndef VK_PLATFORM_H_
+#define VK_PLATFORM_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif // __cplusplus
+
+/*
+***************************************************************************************************
+* Platform-specific directives and type declarations
+***************************************************************************************************
+*/
+
+/* Platform-specific calling convention macros.
+ *
+ * Platforms should define these so that Vulkan clients call Vulkan commands
+ * with the same calling conventions that the Vulkan implementation expects.
+ *
+ * VKAPI_ATTR - Placed before the return type in function declarations.
+ * Useful for C++11 and GCC/Clang-style function attribute syntax.
+ * VKAPI_CALL - Placed after the return type in function declarations.
+ * Useful for MSVC-style calling convention syntax.
+ * VKAPI_PTR - Placed between the '(' and '*' in function pointer types.
+ *
+ * Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void);
+ * Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void);
+ */
+#if defined(_WIN32)
+ // On Windows, Vulkan commands use the stdcall convention
+ #define VKAPI_ATTR
+ #define VKAPI_CALL __stdcall
+ #define VKAPI_PTR VKAPI_CALL
+#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
+ #error "Vulkan isn't supported for the 'armeabi' NDK ABI"
+#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE)
+ // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat"
+ // calling convention, i.e. float parameters are passed in registers. This
+ // is true even if the rest of the application passes floats on the stack,
+ // as it does by default when compiling for the armeabi-v7a NDK ABI.
+ #define VKAPI_ATTR __attribute__((pcs("aapcs-vfp")))
+ #define VKAPI_CALL
+ #define VKAPI_PTR VKAPI_ATTR
+#else
+ // On other platforms, use the default calling convention
+ #define VKAPI_ATTR
+ #define VKAPI_CALL
+ #define VKAPI_PTR
+#endif
+
+#include
+
+#if !defined(VK_NO_STDINT_H)
+ #if defined(_MSC_VER) && (_MSC_VER < 1600)
+ typedef signed __int8 int8_t;
+ typedef unsigned __int8 uint8_t;
+ typedef signed __int16 int16_t;
+ typedef unsigned __int16 uint16_t;
+ typedef signed __int32 int32_t;
+ typedef unsigned __int32 uint32_t;
+ typedef signed __int64 int64_t;
+ typedef unsigned __int64 uint64_t;
+ #else
+ #include
+ #endif
+#endif // !defined(VK_NO_STDINT_H)
+
+#ifdef __cplusplus
+} // extern "C"
+#endif // __cplusplus
+
+#endif
diff --git a/glad/files/wgl.xml b/glad/files/wgl.xml
new file mode 100644
index 00000000..094feada
--- /dev/null
+++ b/glad/files/wgl.xml
@@ -0,0 +1,1983 @@
+
+
+
+Copyright (c) 2013-2018 The Khronos Group Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+------------------------------------------------------------------------
+
+This file, wgl.xml, is the WGL API Registry. The older ".spec" file
+format has been retired and will no longer be updated with new
+extensions and API versions. The canonical version of the registry,
+together with documentation, schema, and Python generator scripts used
+to generate C header files for WGL, can always be found in the Khronos
+Registry at
+ https://github.com/KhronosGroup/OpenGL-Registry
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ struct _GPU_DEVICE {
+ DWORD cb;
+ CHAR DeviceName[32];
+ CHAR DeviceString[128];
+ DWORD Flags;
+ RECT rcVirtualScreen;
+};
+
+ DECLARE_HANDLE(HPBUFFERARB);
+ DECLARE_HANDLE(HPBUFFEREXT);
+ DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
+ DECLARE_HANDLE(HPVIDEODEV);
+ DECLARE_HANDLE(HPGPUNV);
+ DECLARE_HANDLE(HGPUNV);
+ DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
+ typedef struct _GPU_DEVICE GPU_DEVICE;
+ typedef struct _GPU_DEVICE *PGPU_DEVICE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ int ChoosePixelFormat
+ HDC hDc
+ const PIXELFORMATDESCRIPTOR *pPfd
+
+
+ int DescribePixelFormat
+ HDC hdc
+ int ipfd
+ UINT cjpfd
+ const PIXELFORMATDESCRIPTOR *ppfd
+
+
+ int GetPixelFormat
+ HDC hdc
+
+
+ BOOL SetPixelFormat
+ HDC hdc
+ int ipfd
+ const PIXELFORMATDESCRIPTOR *ppfd
+
+
+ BOOL SwapBuffers
+ HDC hdc
+
+
+ void *wglAllocateMemoryNV
+ GLsizei size
+ GLfloat readfreq
+ GLfloat writefreq
+ GLfloat priority
+
+
+ BOOL wglAssociateImageBufferEventsI3D
+ HDC hDC
+ const HANDLE *pEvent
+ const LPVOID *pAddress
+ const DWORD *pSize
+ UINT count
+
+
+ BOOL wglBeginFrameTrackingI3D
+
+
+ GLboolean wglBindDisplayColorTableEXT
+ GLushort id
+
+
+ BOOL wglBindSwapBarrierNV
+ GLuint group
+ GLuint barrier
+
+
+ BOOL wglBindTexImageARB
+ HPBUFFERARB hPbuffer
+ int iBuffer
+
+
+ BOOL wglBindVideoCaptureDeviceNV
+ UINT uVideoSlot
+ HVIDEOINPUTDEVICENV hDevice
+
+
+ BOOL wglBindVideoDeviceNV
+ HDC hDC
+ unsigned int uVideoSlot
+ HVIDEOOUTPUTDEVICENV hVideoDevice
+ const int *piAttribList
+
+
+ BOOL wglBindVideoImageNV
+ HPVIDEODEV hVideoDevice
+ HPBUFFERARB hPbuffer
+ int iVideoBuffer
+
+
+ VOID wglBlitContextFramebufferAMD
+ HGLRC dstCtx
+ GLint srcX0
+ GLint srcY0
+ GLint srcX1
+ GLint srcY1
+ GLint dstX0
+ GLint dstY0
+ GLint dstX1
+ GLint dstY1
+ GLbitfield mask
+ GLenum filter
+
+
+ BOOL wglChoosePixelFormatARB
+ HDC hdc
+ const int *piAttribIList
+ const FLOAT *pfAttribFList
+ UINT nMaxFormats
+ int *piFormats
+ UINT *nNumFormats
+
+
+ BOOL wglChoosePixelFormatEXT
+ HDC hdc
+ const int *piAttribIList
+ const FLOAT *pfAttribFList
+ UINT nMaxFormats
+ int *piFormats
+ UINT *nNumFormats
+
+
+ BOOL wglCopyContext
+ HGLRC hglrcSrc
+ HGLRC hglrcDst
+ UINT mask
+
+
+ BOOL wglCopyImageSubDataNV
+ HGLRC hSrcRC
+ GLuint srcName
+ GLenum srcTarget
+ GLint srcLevel
+ GLint srcX
+ GLint srcY
+ GLint srcZ
+ HGLRC hDstRC
+ GLuint dstName
+ GLenum dstTarget
+ GLint dstLevel
+ GLint dstX
+ GLint dstY
+ GLint dstZ
+ GLsizei width
+ GLsizei height
+ GLsizei depth
+
+
+ HDC wglCreateAffinityDCNV
+ const HGPUNV *phGpuList
+
+
+ HGLRC wglCreateAssociatedContextAMD
+ UINT id
+
+
+ HGLRC wglCreateAssociatedContextAttribsAMD
+ UINT id
+ HGLRC hShareContext
+ const int *attribList
+
+
+ HANDLE wglCreateBufferRegionARB
+ HDC hDC
+ int iLayerPlane
+ UINT uType
+
+
+ HGLRC wglCreateContext
+ HDC hDc
+
+
+ HGLRC wglCreateContextAttribsARB
+ HDC hDC
+ HGLRC hShareContext
+ const int *attribList
+
+
+ GLboolean wglCreateDisplayColorTableEXT
+ GLushort id
+
+
+ LPVOID wglCreateImageBufferI3D
+ HDC hDC
+ DWORD dwSize
+ UINT uFlags
+
+
+ HGLRC wglCreateLayerContext
+ HDC hDc
+ int level
+
+
+ HPBUFFERARB wglCreatePbufferARB
+ HDC hDC
+ int iPixelFormat
+ int iWidth
+ int iHeight
+ const int *piAttribList
+
+
+ HPBUFFEREXT wglCreatePbufferEXT
+ HDC hDC
+ int iPixelFormat
+ int iWidth
+ int iHeight
+ const int *piAttribList
+
+
+ BOOL wglDelayBeforeSwapNV
+ HDC hDC
+ GLfloat seconds
+
+
+ BOOL wglDeleteAssociatedContextAMD
+ HGLRC hglrc
+
+
+ VOID wglDeleteBufferRegionARB
+ HANDLE hRegion
+
+
+ BOOL wglDeleteContext
+ HGLRC oldContext
+
+
+ BOOL wglDeleteDCNV
+ HDC hdc
+
+
+ BOOL wglDescribeLayerPlane
+ HDC hDc
+ int pixelFormat
+ int layerPlane
+ UINT nBytes
+ const LAYERPLANEDESCRIPTOR *plpd
+
+
+ VOID wglDestroyDisplayColorTableEXT
+ GLushort id
+
+
+ BOOL wglDestroyImageBufferI3D
+ HDC hDC
+ LPVOID pAddress
+
+
+ BOOL wglDestroyPbufferARB
+ HPBUFFERARB hPbuffer
+
+
+ BOOL wglDestroyPbufferEXT
+ HPBUFFEREXT hPbuffer
+
+
+ BOOL wglDisableFrameLockI3D
+
+
+ BOOL wglDisableGenlockI3D
+ HDC hDC
+
+
+ BOOL wglDXCloseDeviceNV
+ HANDLE hDevice
+
+
+ BOOL wglDXLockObjectsNV
+ HANDLE hDevice
+ GLint count
+ HANDLE *hObjects
+
+
+ BOOL wglDXObjectAccessNV
+ HANDLE hObject
+ GLenum access
+
+
+ HANDLE wglDXOpenDeviceNV
+ void *dxDevice
+
+
+ HANDLE wglDXRegisterObjectNV
+ HANDLE hDevice
+ void *dxObject
+ GLuint name
+ GLenum type
+ GLenum access
+
+
+ BOOL wglDXSetResourceShareHandleNV
+ void *dxObject
+ HANDLE shareHandle
+
+
+ BOOL wglDXUnlockObjectsNV
+ HANDLE hDevice
+ GLint count
+ HANDLE *hObjects
+
+
+ BOOL wglDXUnregisterObjectNV
+ HANDLE hDevice
+ HANDLE hObject
+
+
+ BOOL wglEnableFrameLockI3D
+
+
+ BOOL wglEnableGenlockI3D
+ HDC hDC
+
+
+ BOOL wglEndFrameTrackingI3D
+
+
+ UINT wglEnumerateVideoCaptureDevicesNV
+ HDC hDc
+ HVIDEOINPUTDEVICENV *phDeviceList
+
+
+ int wglEnumerateVideoDevicesNV
+ HDC hDC
+ HVIDEOOUTPUTDEVICENV *phDeviceList
+
+
+ BOOL wglEnumGpuDevicesNV
+ HGPUNV hGpu
+ UINT iDeviceIndex
+ PGPU_DEVICE lpGpuDevice
+
+
+ BOOL wglEnumGpusFromAffinityDCNV
+ HDC hAffinityDC
+ UINT iGpuIndex
+ HGPUNV *hGpu
+
+
+ BOOL wglEnumGpusNV
+ UINT iGpuIndex
+ HGPUNV *phGpu
+
+
+ void wglFreeMemoryNV
+ void *pointer
+
+
+ BOOL wglGenlockSampleRateI3D
+ HDC hDC
+ UINT uRate
+
+
+ BOOL wglGenlockSourceDelayI3D
+ HDC hDC
+ UINT uDelay
+
+
+ BOOL wglGenlockSourceEdgeI3D
+ HDC hDC
+ UINT uEdge
+
+
+ BOOL wglGenlockSourceI3D
+ HDC hDC
+ UINT uSource
+
+
+ UINT wglGetContextGPUIDAMD
+ HGLRC hglrc
+
+
+ HGLRC wglGetCurrentAssociatedContextAMD
+
+
+ HGLRC wglGetCurrentContext
+
+
+ HDC wglGetCurrentDC
+
+
+ HDC wglGetCurrentReadDCARB
+
+
+ HDC wglGetCurrentReadDCEXT
+
+
+ PROC wglGetDefaultProcAddress
+ LPCSTR lpszProc
+
+
+ BOOL wglGetDigitalVideoParametersI3D
+ HDC hDC
+ int iAttribute
+ int *piValue
+
+
+ UINT GetEnhMetaFilePixelFormat
+ HENHMETAFILE hemf
+ const PIXELFORMATDESCRIPTOR *ppfd
+
+
+ const char *wglGetExtensionsStringARB
+ HDC hdc
+
+
+ const char *wglGetExtensionsStringEXT
+
+
+ BOOL wglGetFrameUsageI3D
+ float *pUsage
+
+
+ BOOL wglGetGammaTableI3D
+ HDC hDC
+ int iEntries
+ USHORT *puRed
+ USHORT *puGreen
+ USHORT *puBlue
+
+
+ BOOL wglGetGammaTableParametersI3D
+ HDC hDC
+ int iAttribute
+ int *piValue
+
+
+ BOOL wglGetGenlockSampleRateI3D
+ HDC hDC
+ UINT *uRate
+
+
+ BOOL wglGetGenlockSourceDelayI3D
+ HDC hDC
+ UINT *uDelay
+
+
+ BOOL wglGetGenlockSourceEdgeI3D
+ HDC hDC
+ UINT *uEdge
+
+
+ BOOL wglGetGenlockSourceI3D
+ HDC hDC
+ UINT *uSource
+
+
+ UINT wglGetGPUIDsAMD
+ UINT maxCount
+ UINT *ids
+
+
+ INT wglGetGPUInfoAMD
+ UINT id
+ int property
+ GLenum dataType
+ UINT size
+ void *data
+
+
+ int wglGetLayerPaletteEntries
+ HDC hdc
+ int iLayerPlane
+ int iStart
+ int cEntries
+ const COLORREF *pcr
+
+
+ BOOL wglGetMscRateOML
+ HDC hdc
+ INT32 *numerator
+ INT32 *denominator
+
+
+ HDC wglGetPbufferDCARB
+ HPBUFFERARB hPbuffer
+
+
+ HDC wglGetPbufferDCEXT
+ HPBUFFEREXT hPbuffer
+
+
+ BOOL wglGetPixelFormatAttribfvARB
+ HDC hdc
+ int iPixelFormat
+ int iLayerPlane
+ UINT nAttributes
+ const int *piAttributes
+ FLOAT *pfValues
+
+
+ BOOL wglGetPixelFormatAttribfvEXT
+ HDC hdc
+ int iPixelFormat
+ int iLayerPlane
+ UINT nAttributes
+ int *piAttributes
+ FLOAT *pfValues
+
+
+ BOOL wglGetPixelFormatAttribivARB
+ HDC hdc
+ int iPixelFormat
+ int iLayerPlane
+ UINT nAttributes
+ const int *piAttributes
+ int *piValues
+
+
+ BOOL wglGetPixelFormatAttribivEXT
+ HDC hdc
+ int iPixelFormat
+ int iLayerPlane
+ UINT nAttributes
+ int *piAttributes
+ int *piValues
+
+
+ PROC wglGetProcAddress
+ LPCSTR lpszProc
+
+
+ int wglGetSwapIntervalEXT
+
+
+ BOOL wglGetSyncValuesOML
+ HDC hdc
+ INT64 *ust
+ INT64 *msc
+ INT64 *sbc
+
+
+ BOOL wglGetVideoDeviceNV
+ HDC hDC
+ int numDevices
+ HPVIDEODEV *hVideoDevice
+
+
+ BOOL wglGetVideoInfoNV
+ HPVIDEODEV hpVideoDevice
+ unsigned long *pulCounterOutputPbuffer
+ unsigned long *pulCounterOutputVideo
+
+
+ BOOL wglIsEnabledFrameLockI3D
+ BOOL *pFlag
+
+
+ BOOL wglIsEnabledGenlockI3D
+ HDC hDC
+ BOOL *pFlag
+
+
+ BOOL wglJoinSwapGroupNV
+ HDC hDC
+ GLuint group
+
+
+ GLboolean wglLoadDisplayColorTableEXT
+ const GLushort *table
+ GLuint length
+
+
+ BOOL wglLockVideoCaptureDeviceNV
+ HDC hDc
+ HVIDEOINPUTDEVICENV hDevice
+
+
+ BOOL wglMakeAssociatedContextCurrentAMD
+ HGLRC hglrc
+
+
+ BOOL wglMakeContextCurrentARB
+ HDC hDrawDC
+ HDC hReadDC
+ HGLRC hglrc
+
+
+ BOOL wglMakeContextCurrentEXT
+ HDC hDrawDC
+ HDC hReadDC
+ HGLRC hglrc
+
+
+ BOOL wglMakeCurrent
+ HDC hDc
+ HGLRC newContext
+
+
+ BOOL wglQueryCurrentContextNV
+ int iAttribute
+ int *piValue
+
+
+ BOOL wglQueryFrameCountNV
+ HDC hDC
+ GLuint *count
+
+
+ BOOL wglQueryFrameLockMasterI3D
+ BOOL *pFlag
+
+
+ BOOL wglQueryFrameTrackingI3D
+ DWORD *pFrameCount
+ DWORD *pMissedFrames
+ float *pLastMissedUsage
+
+
+ BOOL wglQueryGenlockMaxSourceDelayI3D
+ HDC hDC
+ UINT *uMaxLineDelay
+ UINT *uMaxPixelDelay
+
+
+ BOOL wglQueryMaxSwapGroupsNV
+ HDC hDC
+ GLuint *maxGroups
+ GLuint *maxBarriers
+
+
+ BOOL wglQueryPbufferARB
+ HPBUFFERARB hPbuffer
+ int iAttribute
+ int *piValue
+
+
+ BOOL wglQueryPbufferEXT
+ HPBUFFEREXT hPbuffer
+ int iAttribute
+ int *piValue
+
+
+ BOOL wglQuerySwapGroupNV
+ HDC hDC
+ GLuint *group
+ GLuint *barrier
+
+
+ BOOL wglQueryVideoCaptureDeviceNV
+ HDC hDc
+ HVIDEOINPUTDEVICENV hDevice
+ int iAttribute
+ int *piValue
+
+
+ BOOL wglRealizeLayerPalette
+ HDC hdc
+ int iLayerPlane
+ BOOL bRealize
+
+
+ BOOL wglReleaseImageBufferEventsI3D
+ HDC hDC
+ const LPVOID *pAddress
+ UINT count
+
+
+ int wglReleasePbufferDCARB
+ HPBUFFERARB hPbuffer
+ HDC hDC
+
+
+ int wglReleasePbufferDCEXT
+ HPBUFFEREXT hPbuffer
+ HDC hDC
+
+
+ BOOL wglReleaseTexImageARB
+ HPBUFFERARB hPbuffer
+ int iBuffer
+
+
+ BOOL wglReleaseVideoCaptureDeviceNV
+ HDC hDc
+ HVIDEOINPUTDEVICENV hDevice
+
+
+ BOOL wglReleaseVideoDeviceNV
+ HPVIDEODEV hVideoDevice
+
+
+ BOOL wglReleaseVideoImageNV
+ HPBUFFERARB hPbuffer
+ int iVideoBuffer
+
+
+ BOOL wglResetFrameCountNV
+ HDC hDC
+
+
+ BOOL wglRestoreBufferRegionARB
+ HANDLE hRegion
+ int x
+ int y
+ int width
+ int height
+ int xSrc
+ int ySrc
+
+
+ BOOL wglSaveBufferRegionARB
+ HANDLE hRegion
+ int x
+ int y
+ int width
+ int height
+
+
+ BOOL wglSendPbufferToVideoNV
+ HPBUFFERARB hPbuffer
+ int iBufferType
+ unsigned long *pulCounterPbuffer
+ BOOL bBlock
+
+
+ BOOL wglSetDigitalVideoParametersI3D
+ HDC hDC
+ int iAttribute
+ const int *piValue
+
+
+ BOOL wglSetGammaTableI3D
+ HDC hDC
+ int iEntries
+ const USHORT *puRed
+ const USHORT *puGreen
+ const USHORT *puBlue
+
+
+ BOOL wglSetGammaTableParametersI3D
+ HDC hDC
+ int iAttribute
+ const int *piValue
+
+
+ int wglSetLayerPaletteEntries
+ HDC hdc
+ int iLayerPlane
+ int iStart
+ int cEntries
+ const COLORREF *pcr
+
+
+ BOOL wglSetPbufferAttribARB
+ HPBUFFERARB hPbuffer
+ const int *piAttribList
+
+
+ BOOL wglSetStereoEmitterState3DL
+ HDC hDC
+ UINT uState
+
+
+ BOOL wglShareLists
+ HGLRC hrcSrvShare
+ HGLRC hrcSrvSource
+
+
+ INT64 wglSwapBuffersMscOML
+ HDC hdc
+ INT64 target_msc
+ INT64 divisor
+ INT64 remainder
+
+
+ BOOL wglSwapLayerBuffers
+ HDC hdc
+ UINT fuFlags
+
+
+ BOOL wglSwapIntervalEXT
+ int interval
+
+
+ INT64 wglSwapLayerBuffersMscOML
+ HDC hdc
+ int fuPlanes
+ INT64 target_msc
+ INT64 divisor
+ INT64 remainder
+
+
+ BOOL wglUseFontBitmaps
+ HDC hDC
+ DWORD first
+ DWORD count
+ DWORD listBase
+
+
+ BOOL wglUseFontBitmapsA
+ HDC hDC
+ DWORD first
+ DWORD count
+ DWORD listBase
+
+
+ BOOL wglUseFontBitmapsW
+ HDC hDC
+ DWORD first
+ DWORD count
+ DWORD listBase
+
+
+ BOOL wglUseFontOutlines
+ HDC hDC
+ DWORD first
+ DWORD count
+ DWORD listBase
+ FLOAT deviation
+ FLOAT extrusion
+ int format
+ LPGLYPHMETRICSFLOAT lpgmf
+
+
+ BOOL wglUseFontOutlinesA
+ HDC hDC
+ DWORD first
+ DWORD count
+ DWORD listBase
+ FLOAT deviation
+ FLOAT extrusion
+ int format
+ LPGLYPHMETRICSFLOAT lpgmf
+
+
+ BOOL wglUseFontOutlinesW
+ HDC hDC
+ DWORD first
+ DWORD count
+ DWORD listBase
+ FLOAT deviation
+ FLOAT extrusion
+ int format
+ LPGLYPHMETRICSFLOAT lpgmf
+
+
+ BOOL wglWaitForMscOML
+ HDC hdc
+ INT64 target_msc
+ INT64 divisor
+ INT64 remainder
+ INT64 *ust
+ INT64 *msc
+ INT64 *sbc
+
+
+ BOOL wglWaitForSbcOML
+ HDC hdc
+ INT64 target_sbc
+ INT64 *ust
+ INT64 *msc
+ INT64 *sbc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/glad/parse.py b/glad/parse.py
index 4cac34e6..80b98463 100644
--- a/glad/parse.py
+++ b/glad/parse.py
@@ -6,6 +6,8 @@
def xml_fromstring(argument):
return etree.fromstring(argument, parser=parser())
+ def xml_parse(path):
+ return etree.parse(path, parser=parser()).getroot()
except ImportError:
try:
import xml.etree.cElementTree as etree
@@ -14,6 +16,8 @@ def xml_fromstring(argument):
def xml_fromstring(argument):
return etree.fromstring(argument)
+ def xml_parse(path):
+ return etree.parse(path).getroot()
import re
import copy
@@ -81,7 +85,7 @@ def __init__(self, name, info, features, extensions, types, enums, commands):
self.commands = commands
def __str__(self):
- return 'FeatureSet@(name={self.name}, info={self.info}, extensions={extensions})' \
+ return 'FeatureSet(name={self.name}, info={self.info}, extensions={extensions})' \
.format(self=self, extensions=len(self.extensions))
__repr__ = __str__
@@ -261,8 +265,11 @@ def from_string(cls, string):
return cls(xml_fromstring(string))
@classmethod
- def from_file(cls, path, opener=None):
- return cls.from_url('file:' + path, opener=opener)
+ def from_file(cls, path_or_file_like, opener=None):
+ try:
+ return cls.from_url('file:' + path_or_file_like, opener=opener)
+ except TypeError:
+ return cls(xml_parse(path_or_file_like))
@property
def comment(self):
@@ -280,7 +287,10 @@ def groups(self):
def platforms(self):
platforms = dict()
- pe = self.root.find('platforms') or []
+ pe = self.root.find('platforms')
+ if pe is None:
+ pe = []
+
for element in pe:
platform = Platform.from_element(element)
platforms[platform.name] = platform
diff --git a/utility/download.sh b/utility/download.sh
index fd424f7c..669363e9 100755
--- a/utility/download.sh
+++ b/utility/download.sh
@@ -2,20 +2,30 @@
set -e
-rm -f egl.xml
-wget -O egl.xml https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/egl.xml
-rm -f gl.xml
-wget -O gl.xml https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/gl.xml
+TARGET=${TARGET:="."}
-rm -f glx.xml
-wget -O glx.xml https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/glx.xml
-rm -f wgl.xml
-wget -O wgl.xml https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/wgl.xml
+rm -f "${TARGET}/egl.xml"
+wget -O "${TARGET}/egl.xml" https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/egl.xml
-rm -f khrplatform.h
-wget -O khrplatform.h https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/KHR/khrplatform.h
+rm -f "${TARGET}/gl.xml"
+wget -O "${TARGET}/gl.xml" https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/gl.xml
-rm -f eglplatform.h
-wget -O eglplatform.h https://cgit.freedesktop.org/mesa/mesa/plain/include/EGL/eglplatform.h
+rm -f "${TARGET}/glx.xml"
+wget -O "${TARGET}/glx.xml" https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/glx.xml
+
+rm -f "${TARGET}/wgl.xml"
+wget -O "${TARGET}/wgl.xml" https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/wgl.xml
+
+rm -f "${TARGET}/vk.xml"
+wget -O "${TARGET}/vk.xml" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/master/xml/vk.xml
+
+rm -f "${TARGET}/khrplatform.h"
+wget -O "${TARGET}/khrplatform.h" https://raw.githubusercontent.com/KhronosGroup/EGL-Registry/master/api/KHR/khrplatform.h
+
+rm -f "${TARGET}/eglplatform.h"
+wget -O "${TARGET}/eglplatform.h" https://cgit.freedesktop.org/mesa/mesa/plain/include/EGL/eglplatform.h
+
+rm -f "${TARGET}/vk_platform.h"
+wget -O "${TARGET}/vk_platform.h" https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/master/include/vulkan/vk_platform.h
\ No newline at end of file
diff --git a/utility/test.sh b/utility/test.sh
index 1b0fd2de..949e129b 100755
--- a/utility/test.sh
+++ b/utility/test.sh
@@ -4,7 +4,8 @@ EXIT_ON_FAILURE=${EXIT_ON_FAILURE:=0}
PRINT_MESSAGE=${PRINT_MESSAGE:=0}
PYTHON=${PYTHON:="python"}
-GLAD=${GLAD:="$PYTHON -m glad"}
+GLAD_ARGS=${GLAD_ARGS:="--reproducible"}
+GLAD=${GLAD:="$PYTHON -m glad ${GLAD_ARGS}"}
_GCC=${_GCC:="gcc"}
_MINGW_GCC=${_MINGW_GCC:="x86_64-w64-mingw32-gcc"}