Add support for OpenGL 4.5 and recent extensions

Update Regal GLEW to 1.11.0, including OpenGL 4.5
Refresh apitrace from upstream
Can now "make framework" under Mac OS
Merged pull requests 134, 135, and 136
This commit is contained in:
Scott Nations 2014-08-12 21:32:45 -05:00
parent bc7e48247e
commit 586b2e12be
61 changed files with 23787 additions and 503 deletions

View file

@ -35,6 +35,8 @@ all:: regal.lib
clean:: regal.clean
framework:: regal.framework
REGAL.LDFLAGS :=
ifeq ($(filter nacl%,$(SYSTEM)),)
@ -210,13 +212,17 @@ REGAL.LDFLAGS.SO := $(LDFLAGS.SO) $(LDFLAGS.DYNAMIC) -Wl,-soname=$(REGAL.SONAME)
endif
ifneq ($(filter darwin%,$(SYSTEM)),)
OPENGL_NAME := OpenGL
OPENGL_FRAMEWORK := $(OPENGL_NAME).framework
OPENGL := $(OPENGL_FRAMEWORK)/Versions/A/$(OPENGL_NAME)
REGAL.SONAME := lib$(NAME).$(SO_MAJOR).dylib
REGAL.DEVLNK := lib$(NAME).dylib
REGAL.SHARED := lib$(NAME).$(SO_VERSION).dylib
REGAL.FRAMEWORK := $(NAME)
REGAL.LDFLAGS.SO := $(LDFLAGS.SO) $(LDFLAGS.DYNAMIC) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
#LDFLAGS.SO += -install_name $(REGAL_DEST)/lib/$(REGAL.SHARED)
REGAL.LDFLAGS += -Wl,-reexport-lGLU -L/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries
REGAL.LDFLAGS += -Wl,-reexport-lGLU -L/System/Library/Frameworks/$(OPENGL_FRAMEWORK)/Versions/A/Libraries
INFO_PLIST := build/mac/Info.plist
endif
ifdef REGAL.STATIC
@ -237,6 +243,23 @@ ifdef REGAL.SHARED
$(RM) -r bin/$(SYSTEM)/$(REGAL.SHARED)
endif
ifneq ($(filter darwin%,$(SYSTEM)),)
regal.framework:
$(RM) -r $(OPENGL_FRAMEWORK)
$(MKDIR) $(OPENGL_FRAMEWORK)/Versions/A/Resources
$(MKDIR) $(OPENGL_FRAMEWORK)/Versions/A/Libraries
$(LN) A $(OPENGL_FRAMEWORK)/Versions/Current
$(LN) Versions/Current/Resources $(OPENGL_FRAMEWORK)/Resources
$(LN) Versions/Current/Headers $(OPENGL_FRAMEWORK)/Headers
$(LN) Versions/Current/Libraries $(OPENGL_FRAMEWORK)/Libraries
$(LN) Versions/Current/$(OPENGL_NAME) $(OPENGL_FRAMEWORK)/$(OPENGL_NAME)
$(CP) $(INFO_PLIST) $(OPENGL_FRAMEWORK)/Resources
ifdef REGAL.SHARED
$(CP) lib/$(SYSTEM)/$(REGAL.SHARED) $(OPENGL_FRAMEWORK)/Versions/A/Libraries/$(OPENGL_NAME)
endif
$(LN) Libraries/$(OPENGL_NAME) $(OPENGL_FRAMEWORK)/Versions/A/$(OPENGL_NAME)
endif
ifdef APITRACE.STATIC
lib/$(SYSTEM)/$(REGAL.STATIC): lib/$(SYSTEM)/$(APITRACE.STATIC) lib/$(SYSTEM)/$(SNAPPY.STATIC)
endif

View file

@ -34,6 +34,8 @@ STRIP ?= strip
RM ?= rm -f
LN ?= ln -sf
CXX ?= $(CC)
CP ?= cp -f
MKDIR ?= mkdir -p
# Release mode is the default
@ -57,6 +59,9 @@ LOG_LD ?= @echo " [LD] $@";
LOG_AR ?= @echo " [AR] $@";
LOG_RANLIB ?= @echo " [RANLIB] $@";
LOG_STRIP ?= @echo " [STRIP] $@";
LOG_LN ?= @echo " [LN] $@";
LOG_CP ?= @echo " [CP] $@";
LOG_MKDIR ?= @echo " [MKDIR] $@";
endif
INCLUDE ?= -Iinclude

29
build/mac/Info.plist Normal file
View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>OpenGL</string>
<key>CFBundleGetInfoString</key>
<string>NVIDIA OpenGL Regal Framework 1.0</string>
<key>CFBundleIdentifier</key>
<string>com.nvidia.Regal</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>NVIDIA OpenGL Regal Framework</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>FMWK</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2011-2014 NVIDIA Corporation. All rights reserved.</string>
</dict>
</plist>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -211,8 +211,8 @@ typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
#define GLX_PBUFFER_BIT 0x00000004
#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
#define GLX_AUX_BUFFERS_BIT 0x00000010
#define GLX_DEPTH_BUFFER_BIT 0x00000020
#define GLX_CONFIG_CAVEAT 0x20
#define GLX_DEPTH_BUFFER_BIT 0x00000020
#define GLX_X_VISUAL_TYPE 0x22
#define GLX_TRANSPARENT_TYPE 0x23
#define GLX_TRANSPARENT_INDEX_VALUE 0x24
@ -387,6 +387,15 @@ typedef Bool ( * PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext ctx);
#endif /* GLX_AMD_gpu_association */
/* --------------------- GLX_ARB_context_flush_control --------------------- */
#ifndef GLX_ARB_context_flush_control
#define GLX_ARB_context_flush_control 1
#define GLXEW_ARB_context_flush_control GLXEW_GET_VAR(__GLXEW_ARB_context_flush_control)
#endif /* GLX_ARB_context_flush_control */
/* ------------------------- GLX_ARB_create_context ------------------------ */
#ifndef GLX_ARB_create_context
@ -921,6 +930,21 @@ typedef int ( * PFNGLXSWAPINTERVALMESAPROC) (unsigned int interval);
#endif /* GLX_MESA_swap_control */
/* --------------------------- GLX_NV_copy_buffer -------------------------- */
#ifndef GLX_NV_copy_buffer
#define GLX_NV_copy_buffer 1
typedef void ( * PFNGLXCOPYBUFFERSUBDATANVPROC) (Display* dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
typedef void ( * PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC) (Display* dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
#define glXCopyBufferSubDataNV GLXEW_GET_FUN(__glewXCopyBufferSubDataNV)
#define glXNamedCopyBufferSubDataNV GLXEW_GET_FUN(__glewXNamedCopyBufferSubDataNV)
#define GLXEW_NV_copy_buffer GLXEW_GET_VAR(__GLXEW_NV_copy_buffer)
#endif /* GLX_NV_copy_buffer */
/* --------------------------- GLX_NV_copy_image --------------------------- */
#ifndef GLX_NV_copy_image
@ -1544,6 +1568,9 @@ GLXEW_FUN_EXPORT PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
GLXEW_FUN_EXPORT PFNGLXGETSWAPINTERVALMESAPROC __glewXGetSwapIntervalMESA;
GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALMESAPROC __glewXSwapIntervalMESA;
GLXEW_FUN_EXPORT PFNGLXCOPYBUFFERSUBDATANVPROC __glewXCopyBufferSubDataNV;
GLXEW_FUN_EXPORT PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC __glewXNamedCopyBufferSubDataNV;
GLXEW_FUN_EXPORT PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV;
GLXEW_FUN_EXPORT PFNGLXDELAYBEFORESWAPNVPROC __glewXDelayBeforeSwapNV;
@ -1640,6 +1667,7 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_3;
GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_4;
GLXEW_VAR_EXPORT GLboolean __GLXEW_3DFX_multisample;
GLXEW_VAR_EXPORT GLboolean __GLXEW_AMD_gpu_association;
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_context_flush_control;
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context;
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_profile;
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_robustness;
@ -1673,6 +1701,7 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_query_renderer;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_release_buffers;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_swap_control;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_buffer;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_image;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_delay_before_swap;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_float_buffer;

View file

@ -183,6 +183,15 @@ typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, in
#endif /* WGL_ARB_buffer_region */
/* --------------------- WGL_ARB_context_flush_control --------------------- */
#ifndef WGL_ARB_context_flush_control
#define WGL_ARB_context_flush_control 1
#define WGLEW_ARB_context_flush_control WGLEW_GET_VAR(__WGLEW_ARB_context_flush_control)
#endif /* WGL_ARB_context_flush_control */
/* ------------------------- WGL_ARB_create_context ------------------------ */
#ifndef WGL_ARB_create_context
@ -1350,6 +1359,7 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_3DFX_multisample;
WGLEW_VAR_EXPORT GLboolean __WGLEW_3DL_stereo_control;
WGLEW_VAR_EXPORT GLboolean __WGLEW_AMD_gpu_association;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_buffer_region;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_context_flush_control;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_profile;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_robustness;

View file

@ -50,7 +50,10 @@ ppaFormulae = {
],
},
'GetTexParam' : {
'entries' : [ 'glGet(Tex|Texture)(Level|)Parameter(f|i)v(EXT|)' ],
'entries' : [
'glGet(Texture)(Level|)Parameter(f|i)v(EXT)',
'glGet(Tex)(Level|)Parameter(f|i)v(EXT|)',
],
'impl' : [
'if( ! _context->ppa->glGet${m1}${m2}Parameter( _context, ${arg0plus} ) ) {',
' _context->dispatcher.emulation.glGet${m1}${m2}Parameter${m3}v${m4}( ${arg0plus} );',

View file

@ -119,7 +119,7 @@ if __name__ == "__main__":
# output
if len(options.output):
if options.output and len(options.output):
for i in range(len(options.input)):
f = open( os.path.join(options.output,os.path.basename(options.input[i])), 'w' )
f.write('\n'.join(output[i]))

File diff suppressed because it is too large Load diff

97
scripts/glew2py.py → scripts/api/glew2py.py Executable file → Normal file
View file

@ -22,18 +22,20 @@ options = None
# paramSplit - split a parameter into (name,type) tuple
paramRE1 = re.compile('((const )?[a-zA-Z][a-zA-Z0-9_]*[ \*]+(const )?)(.+)(\[.*\])?')
paramRE1 = re.compile('((const )?[a-zA-Z][a-zA-Z0-9_]*( [a-zA-Z][a-zA-Z0-9_]+)?[ \*]+(const )?)(.+)(\[.*\])?')
paramRE2 = re.compile('((const )?[a-zA-Z][a-zA-Z0-9_]*)')
def splitParam(param):
if param=='void':
return None, 'void'
m = paramRE1.match(param)
if m:
if m.group(5):
return m.group(4), '%s%s'%(m.group(1),m.group(5))
if m.group(6):
return m.group(5), '%s%s'%(m.group(1),m.group(6))
else:
return m.group(4), m.group(1)
return m.group(5), m.group(1)
m = paramRE2.match(param)
if m:
return '', m.group(1)
@ -89,7 +91,7 @@ def splitFunction(f):
# Return a tuple Python code representation of an
# extension specification:
#
# ( enums, enumsAdd, functions, functionsAdd)
# ( enums, enumsAdd, functions )
#
def extensionToPyCode(ext):
@ -105,13 +107,15 @@ def extensionToPyCode(ext):
for i in enums:
code = []
value = i[1]
if not i[1].startswith('0x'):
if i[1].startswith('0x'):
value = '0x%04x'%(long(value,16))
else:
try:
value = '0x%04x'%(long(value))
except:
value = '\'%s\''%i[1]
i = ( i[0], '\'%s\''%i[1] )
code.append( '%-45s = Enumerant(\'%s\',%s,\'%s\')'%(i[0],i[0],value,category) )
code.append( '%s = Enumerant(\'%s\', %s, \'%s\')'%(i[0],i[0],value.lower(),category) )
pyEnums.append( tuple(code) )
pyEnumsAdd = []
@ -134,17 +138,14 @@ def extensionToPyCode(ext):
code.append( '%s.ret = Return(\'%s\')'%(name,ret) )
for i in params:
if i[1]!=None and not (i[0]==None and i[1]=='void'):
code.append( '%s.add(Input(\'%s\',\'%s\'))'%(name,i[0],i[1]) )
code.append( '%s.add( Input( \'%s\',\'%s\' ))'%(name,i[0],i[1]) )
code.append( '%s.category = \'%s\''%(name,category) )
code.append( '%s.trace = True'%(name) )
code.append( '%s.play = True'%(name) )
code.append( '%s.add(%s)'%(options.api,name) )
pyFunctions.append( tuple(code) )
pyFunctionsAdd = []
for i in functions:
code = []
code.append( '%s.add(%s)'%(options.api,i[1]) )
pyFunctionsAdd.append( tuple(code) )
return tuple(pyEnums), tuple(pyEnumsAdd), tuple(pyFunctions), tuple(pyFunctionsAdd)
return tuple(pyEnums), tuple(pyEnumsAdd), tuple(pyFunctions)
#
#
@ -178,9 +179,11 @@ if __name__ == "__main__":
ext = []
for i in files:
e = readGLEWextension(i)
e = ( e[0], e[1], e[2], sorted(e[3]), sorted(e[4]), sorted(e[5]), sorted(e[6]))
e = ( e[0], e[1], e[2], sorted(e[3]), sorted(e[4],key=lambda x: splitFunction(x)[1]), sorted(e[5]), sorted(e[6]))
ext.append(tuple([e,(extensionToPyCode(e))]))
ext = sorted(ext)
# output file
if options.output:
@ -194,6 +197,7 @@ from Api import Function, Typedef, Enum
from Api import Return, Parameter, Input, Output, InputOutput
from Api import Enumerant
from Api import Extension
from Api import StateType, State
%s = Api()
defines = Enum('defines')
@ -202,46 +206,37 @@ defines = Enum('defines')
'''%(options.api,options.api)
for i in ext:
print >>file, '# %s'%(i[0][0])
print >>file, ''
for j in i[1][0]:
print >>file, '\n'.join(j)
print >>file, ''
if len(i[1][0]):
print >>file, '# %s'%(i[0][0])
print >>file, ''
for j in i[1][0]:
print >>file, '\n'.join(j)
print >>file, ''
for j in i[1][1]:
print >>file, '\n'.join(j)
print >>file, ''
for i in ext:
print >>file, '# %s'%(i[0][0])
print >>file, ''
for j in i[1][1]:
print >>file, '\n'.join(j)
print >>file, ''
for i in ext:
print >>file, '# %s'%(i[0][0])
print >>file, ''
for j in i[1][2]:
print >>file, '%s\n'%('\n'.join(j))
print >>file, ''
for i in ext:
print >>file, '# %s'%(i[0][0])
print >>file, ''
for j in i[1][3]:
print >>file, '\n'.join(j)
print >>file, ''
if len(i[1][2]):
print >>file, '# %s'%(i[0][0])
print >>file, ''
for j in i[1][2]:
print >>file, '%s\n'%('\n'.join(j))
print >>file, ''
# for j in i[1][3]:
# print >>file, '\n'.join(j)
# print >>file, ''
# Output Extensions
for i in ext:
print >>file, '%-45s = Extension(\'%s\',\'%s\')'%(i[0][0],i[0][0],i[0][1])
print >>file, ''
for i in ext:
if len(i[0][4]):
print >>file, '%s.functions = [\'%s\']'%(i[0][0],'\',\''.join([j.split(' ')[1] for j in i[0][4]]))
print >>file, ''
for i in ext:
print >>file, '%s = Extension(\'%s\')'%(i[0][0],i[0][0])
if len(i[0][1]):
print >>file, '%s.url = \'%s\''%(i[0][0],i[0][1])
if len(i[0][3]):
print >>file, '%s.enumerants = [\'%s\']'%(i[0][0],'\',\''.join([j.split(' ')[0] for j in i[0][3]]))
print >>file, ''
for i in ext:
if len(i[0][4]):
print >>file, '%s.functions = [\'%s\']'%(i[0][0],'\',\''.join([j.split(' ')[1] for j in i[0][4]]))
print >>file, '%s.add(%s)'%(options.api,i[0][0])
print >>file, ''
print >>file, ''

View file

@ -2415,3 +2415,140 @@ glXGetProcAddress.trace = True
glXGetProcAddress.play = True
glx.add(glXGetProcAddress)
############################## OpenGL 4.5
# GLX_ARB_robustness_application_isolation
GLX_CONTEXT_RESET_ISOLATION_BIT_ARB = Enumerant('GLX_CONTEXT_RESET_ISOLATION_BIT_ARB', 0x0008, 'GLX_ARB_robustness_application_isolation')
defines.add(GLX_CONTEXT_RESET_ISOLATION_BIT_ARB)
# GLX_EXT_buffer_age
GLX_BACK_BUFFER_AGE_EXT = Enumerant('GLX_BACK_BUFFER_AGE_EXT', 0x20f4, 'GLX_EXT_buffer_age')
defines.add(GLX_BACK_BUFFER_AGE_EXT)
# GLX_EXT_stereo_tree
GLX_STEREO_NOTIFY_EXT = Enumerant('GLX_STEREO_NOTIFY_EXT', 0x0000, 'GLX_EXT_stereo_tree')
GLX_STEREO_NOTIFY_MASK_EXT = Enumerant('GLX_STEREO_NOTIFY_MASK_EXT', 0x0001, 'GLX_EXT_stereo_tree')
GLX_STEREO_TREE_EXT = Enumerant('GLX_STEREO_TREE_EXT', 0x20f5, 'GLX_EXT_stereo_tree')
defines.add(GLX_STEREO_NOTIFY_EXT)
defines.add(GLX_STEREO_NOTIFY_MASK_EXT)
defines.add(GLX_STEREO_TREE_EXT)
# GLX_MESA_query_renderer
GLX_RENDERER_ACCELERATED_MESA = Enumerant('GLX_RENDERER_ACCELERATED_MESA', 0x8186, 'GLX_MESA_query_renderer')
GLX_RENDERER_DEVICE_ID_MESA = Enumerant('GLX_RENDERER_DEVICE_ID_MESA', 0x8184, 'GLX_MESA_query_renderer')
GLX_RENDERER_ID_MESA = Enumerant('GLX_RENDERER_ID_MESA', 0x818e, 'GLX_MESA_query_renderer')
GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA = Enumerant('GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA', 0x818b, 'GLX_MESA_query_renderer')
GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA = Enumerant('GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA', 0x818a, 'GLX_MESA_query_renderer')
GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA = Enumerant('GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA', 0x818d, 'GLX_MESA_query_renderer')
GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA = Enumerant('GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA', 0x818c, 'GLX_MESA_query_renderer')
GLX_RENDERER_PREFERRED_PROFILE_MESA = Enumerant('GLX_RENDERER_PREFERRED_PROFILE_MESA', 0x8189, 'GLX_MESA_query_renderer')
GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA = Enumerant('GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA', 0x8188, 'GLX_MESA_query_renderer')
GLX_RENDERER_VENDOR_ID_MESA = Enumerant('GLX_RENDERER_VENDOR_ID_MESA', 0x8183, 'GLX_MESA_query_renderer')
GLX_RENDERER_VERSION_MESA = Enumerant('GLX_RENDERER_VERSION_MESA', 0x8185, 'GLX_MESA_query_renderer')
GLX_RENDERER_VIDEO_MEMORY_MESA = Enumerant('GLX_RENDERER_VIDEO_MEMORY_MESA', 0x8187, 'GLX_MESA_query_renderer')
defines.add(GLX_RENDERER_ACCELERATED_MESA)
defines.add(GLX_RENDERER_DEVICE_ID_MESA)
defines.add(GLX_RENDERER_ID_MESA)
defines.add(GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA)
defines.add(GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA)
defines.add(GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA)
defines.add(GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA)
defines.add(GLX_RENDERER_PREFERRED_PROFILE_MESA)
defines.add(GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA)
defines.add(GLX_RENDERER_VENDOR_ID_MESA)
defines.add(GLX_RENDERER_VERSION_MESA)
defines.add(GLX_RENDERER_VIDEO_MEMORY_MESA)
# GLX_MESA_query_renderer
glXQueryCurrentRendererIntegerMESA = Function('glXQueryCurrentRendererIntegerMESA')
glXQueryCurrentRendererIntegerMESA.ret = Return('Bool')
glXQueryCurrentRendererIntegerMESA.add( Input( 'attribute','int' ))
glXQueryCurrentRendererIntegerMESA.add( Input( 'value','unsigned int *' ))
glXQueryCurrentRendererIntegerMESA.category = 'GLX_MESA_query_renderer'
glXQueryCurrentRendererIntegerMESA.trace = True
glXQueryCurrentRendererIntegerMESA.play = True
glx.add(glXQueryCurrentRendererIntegerMESA)
glXQueryRendererIntegerMESA = Function('glXQueryRendererIntegerMESA')
glXQueryRendererIntegerMESA.ret = Return('Bool')
glXQueryRendererIntegerMESA.add( Input( 'dpy','Display *' ))
glXQueryRendererIntegerMESA.add( Input( 'screen','int' ))
glXQueryRendererIntegerMESA.add( Input( 'renderer','int' ))
glXQueryRendererIntegerMESA.add( Input( 'attribute','int' ))
glXQueryRendererIntegerMESA.add( Input( 'value','unsigned int *' ))
glXQueryRendererIntegerMESA.category = 'GLX_MESA_query_renderer'
glXQueryRendererIntegerMESA.trace = True
glXQueryRendererIntegerMESA.play = True
glx.add(glXQueryRendererIntegerMESA)
glXQueryCurrentRendererStringMESA = Function('glXQueryCurrentRendererStringMESA')
glXQueryCurrentRendererStringMESA.ret = Return('const char *')
glXQueryCurrentRendererStringMESA.add( Input( 'attribute','int' ))
glXQueryCurrentRendererStringMESA.category = 'GLX_MESA_query_renderer'
glXQueryCurrentRendererStringMESA.trace = True
glXQueryCurrentRendererStringMESA.play = True
glx.add(glXQueryCurrentRendererStringMESA)
glXQueryRendererStringMESA = Function('glXQueryRendererStringMESA')
glXQueryRendererStringMESA.ret = Return('const char *')
glXQueryRendererStringMESA.add( Input( 'dpy','Display *' ))
glXQueryRendererStringMESA.add( Input( 'screen','int' ))
glXQueryRendererStringMESA.add( Input( 'renderer','int' ))
glXQueryRendererStringMESA.add( Input( 'attribute','int' ))
glXQueryRendererStringMESA.category = 'GLX_MESA_query_renderer'
glXQueryRendererStringMESA.trace = True
glXQueryRendererStringMESA.play = True
glx.add(glXQueryRendererStringMESA)
# GLX_NV_copy_buffer
glXCopyBufferSubDataNV = Function('glXCopyBufferSubDataNV')
glXCopyBufferSubDataNV.ret = Return('void')
glXCopyBufferSubDataNV.add( Input( 'dpy','Display *' ))
glXCopyBufferSubDataNV.add( Input( 'readCtx','GLXContext' ))
glXCopyBufferSubDataNV.add( Input( 'writeCtx','GLXContext' ))
glXCopyBufferSubDataNV.add( Input( 'readTarget','GLenum' ))
glXCopyBufferSubDataNV.add( Input( 'writeTarget','GLenum' ))
glXCopyBufferSubDataNV.add( Input( 'readOffset','GLintptr' ))
glXCopyBufferSubDataNV.add( Input( 'writeOffset','GLintptr' ))
glXCopyBufferSubDataNV.add( Input( 'size','GLsizeiptr' ))
glXCopyBufferSubDataNV.category = 'GLX_NV_copy_buffer'
glXCopyBufferSubDataNV.trace = True
glXCopyBufferSubDataNV.play = True
glx.add(glXCopyBufferSubDataNV)
glXNamedCopyBufferSubDataNV = Function('glXNamedCopyBufferSubDataNV')
glXNamedCopyBufferSubDataNV.ret = Return('void')
glXNamedCopyBufferSubDataNV.add( Input( 'dpy','Display *' ))
glXNamedCopyBufferSubDataNV.add( Input( 'readCtx','GLXContext' ))
glXNamedCopyBufferSubDataNV.add( Input( 'writeCtx','GLXContext' ))
glXNamedCopyBufferSubDataNV.add( Input( 'readBuffer','GLuint' ))
glXNamedCopyBufferSubDataNV.add( Input( 'writeBuffer','GLuint' ))
glXNamedCopyBufferSubDataNV.add( Input( 'readOffset','GLintptr' ))
glXNamedCopyBufferSubDataNV.add( Input( 'writeOffset','GLintptr' ))
glXNamedCopyBufferSubDataNV.add( Input( 'size','GLsizeiptr' ))
glXNamedCopyBufferSubDataNV.category = 'GLX_NV_copy_buffer'
glXNamedCopyBufferSubDataNV.trace = True
glXNamedCopyBufferSubDataNV.play = True
glx.add(glXNamedCopyBufferSubDataNV)
# GLX_NV_delay_before_swap
glXDelayBeforeSwapNV = Function('glXDelayBeforeSwapNV')
glXDelayBeforeSwapNV.ret = Return('Bool')
glXDelayBeforeSwapNV.add( Input( 'dpy','Display *' ))
glXDelayBeforeSwapNV.add( Input( 'drawable','GLXDrawable' ))
glXDelayBeforeSwapNV.add( Input( 'seconds','GLfloat' ))
glXDelayBeforeSwapNV.category = 'GLX_NV_delay_before_swap'
glXDelayBeforeSwapNV.trace = True
glXDelayBeforeSwapNV.play = True
glx.add(glXDelayBeforeSwapNV)

View file

@ -2384,3 +2384,303 @@ wglUseFontOutlinesW.trace = True
wglUseFontOutlinesW.play = True
wgl.add(wglUseFontOutlinesW)
########### OpenGL 4.5
# WGL_ARB_robustness_application_isolation
WGL_CONTEXT_RESET_ISOLATION_BIT_ARB = Enumerant('WGL_CONTEXT_RESET_ISOLATION_BIT_ARB', 0x0008, 'WGL_ARB_robustness_application_isolation')
defines.add(WGL_CONTEXT_RESET_ISOLATION_BIT_ARB)
# WGL_NV_delay_before_swap
wglDelayBeforeSwapNV = Function('wglDelayBeforeSwapNV')
wglDelayBeforeSwapNV.ret = Return('BOOL')
wglDelayBeforeSwapNV.add( Input( 'hDC','HDC' ))
wglDelayBeforeSwapNV.add( Input( 'seconds','GLfloat' ))
wglDelayBeforeSwapNV.category = 'WGL_NV_delay_before_swap'
wglDelayBeforeSwapNV.trace = True
wglDelayBeforeSwapNV.play = True
wgl.add(wglDelayBeforeSwapNV)
WGL_3DFX_multisample = Extension('WGL_3DFX_multisample')
WGL_3DFX_multisample.url = 'http://www.opengl.org/registry/specs/3DFX/3dfx_multisample.txt'
WGL_3DFX_multisample.enumerants = ['WGL_SAMPLES_3DFX','WGL_SAMPLE_BUFFERS_3DFX']
wgl.add(WGL_3DFX_multisample)
WGL_3DL_stereo_control = Extension('WGL_3DL_stereo_control')
WGL_3DL_stereo_control.url = 'http://www.opengl.org/registry/specs/3DL/stereo_control.txt'
WGL_3DL_stereo_control.enumerants = ['WGL_STEREO_EMITTER_DISABLE_3DL','WGL_STEREO_EMITTER_ENABLE_3DL','WGL_STEREO_POLARITY_INVERT_3DL','WGL_STEREO_POLARITY_NORMAL_3DL']
WGL_3DL_stereo_control.functions = ['wglSetStereoEmitterState3DL']
wgl.add(WGL_3DL_stereo_control)
WGL_AMD_gpu_association = Extension('WGL_AMD_gpu_association')
WGL_AMD_gpu_association.url = 'http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt'
WGL_AMD_gpu_association.enumerants = ['WGL_GPU_CLOCK_AMD','WGL_GPU_FASTEST_TARGET_GPUS_AMD','WGL_GPU_NUM_PIPES_AMD','WGL_GPU_NUM_RB_AMD','WGL_GPU_NUM_SIMD_AMD','WGL_GPU_NUM_SPI_AMD','WGL_GPU_OPENGL_VERSION_STRING_AMD','WGL_GPU_RAM_AMD','WGL_GPU_RENDERER_STRING_AMD','WGL_GPU_VENDOR_AMD']
WGL_AMD_gpu_association.functions = ['wglBlitContextFramebufferAMD','wglCreateAssociatedContextAMD','wglCreateAssociatedContextAttribsAMD','wglDeleteAssociatedContextAMD','wglGetContextGPUIDAMD','wglGetCurrentAssociatedContextAMD','wglGetGPUIDsAMD','wglGetGPUInfoAMD','wglMakeAssociatedContextCurrentAMD']
wgl.add(WGL_AMD_gpu_association)
WGL_ARB_buffer_region = Extension('WGL_ARB_buffer_region')
WGL_ARB_buffer_region.url = 'http://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt'
WGL_ARB_buffer_region.enumerants = ['WGL_BACK_COLOR_BUFFER_BIT_ARB','WGL_DEPTH_BUFFER_BIT_ARB','WGL_FRONT_COLOR_BUFFER_BIT_ARB','WGL_STENCIL_BUFFER_BIT_ARB']
WGL_ARB_buffer_region.functions = ['wglCreateBufferRegionARB','wglDeleteBufferRegionARB','wglRestoreBufferRegionARB','wglSaveBufferRegionARB']
wgl.add(WGL_ARB_buffer_region)
WGL_ARB_create_context = Extension('WGL_ARB_create_context')
WGL_ARB_create_context.url = 'http://www.opengl.org/registry/specs/ARB/wgl_create_context.txt'
WGL_ARB_create_context.enumerants = ['ERROR_INVALID_PROFILE_ARB','ERROR_INVALID_VERSION_ARB','WGL_CONTEXT_DEBUG_BIT_ARB','WGL_CONTEXT_FLAGS_ARB','WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB','WGL_CONTEXT_LAYER_PLANE_ARB','WGL_CONTEXT_MAJOR_VERSION_ARB','WGL_CONTEXT_MINOR_VERSION_ARB']
WGL_ARB_create_context.functions = ['wglCreateContextAttribsARB']
wgl.add(WGL_ARB_create_context)
WGL_ARB_create_context_profile = Extension('WGL_ARB_create_context_profile')
WGL_ARB_create_context_profile.url = 'http://www.opengl.org/registry/specs/ARB/wgl_create_context.txt'
WGL_ARB_create_context_profile.enumerants = ['WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB','WGL_CONTEXT_CORE_PROFILE_BIT_ARB','WGL_CONTEXT_PROFILE_MASK_ARB']
wgl.add(WGL_ARB_create_context_profile)
WGL_ARB_create_context_robustness = Extension('WGL_ARB_create_context_robustness')
WGL_ARB_create_context_robustness.url = 'http://www.opengl.org/registry/specs/ARB/wgl_create_context_robustness.txt'
WGL_ARB_create_context_robustness.enumerants = ['WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB','WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB','WGL_LOSE_CONTEXT_ON_RESET_ARB','WGL_NO_RESET_NOTIFICATION_ARB']
wgl.add(WGL_ARB_create_context_robustness)
WGL_ARB_extensions_string = Extension('WGL_ARB_extensions_string')
WGL_ARB_extensions_string.url = 'http://www.opengl.org/registry/specs/ARB/wgl_extensions_string.txt'
WGL_ARB_extensions_string.functions = ['char*']
wgl.add(WGL_ARB_extensions_string)
WGL_ARB_framebuffer_sRGB = Extension('WGL_ARB_framebuffer_sRGB')
WGL_ARB_framebuffer_sRGB.url = 'http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt'
WGL_ARB_framebuffer_sRGB.enumerants = ['WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB']
wgl.add(WGL_ARB_framebuffer_sRGB)
WGL_ARB_make_current_read = Extension('WGL_ARB_make_current_read')
WGL_ARB_make_current_read.url = 'http://www.opengl.org/registry/specs/ARB/wgl_make_current_read.txt'
WGL_ARB_make_current_read.enumerants = ['ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB','ERROR_INVALID_PIXEL_TYPE_ARB']
WGL_ARB_make_current_read.functions = ['wglGetCurrentReadDCARB','wglMakeContextCurrentARB']
wgl.add(WGL_ARB_make_current_read)
WGL_ARB_multisample = Extension('WGL_ARB_multisample')
WGL_ARB_multisample.url = 'http://www.opengl.org/registry/specs/ARB/multisample.txt'
WGL_ARB_multisample.enumerants = ['WGL_SAMPLES_ARB','WGL_SAMPLE_BUFFERS_ARB']
wgl.add(WGL_ARB_multisample)
WGL_ARB_pbuffer = Extension('WGL_ARB_pbuffer')
WGL_ARB_pbuffer.url = 'http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt'
WGL_ARB_pbuffer.enumerants = ['WGL_DRAW_TO_PBUFFER_ARB','WGL_MAX_PBUFFER_HEIGHT_ARB','WGL_MAX_PBUFFER_PIXELS_ARB','WGL_MAX_PBUFFER_WIDTH_ARB','WGL_PBUFFER_HEIGHT_ARB','WGL_PBUFFER_LARGEST_ARB','WGL_PBUFFER_LOST_ARB','WGL_PBUFFER_WIDTH_ARB']
WGL_ARB_pbuffer.functions = ['wglCreatePbufferARB','wglDestroyPbufferARB','wglGetPbufferDCARB','wglQueryPbufferARB','wglReleasePbufferDCARB']
wgl.add(WGL_ARB_pbuffer)
WGL_ARB_pixel_format = Extension('WGL_ARB_pixel_format')
WGL_ARB_pixel_format.url = 'http://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt'
WGL_ARB_pixel_format.enumerants = ['WGL_ACCELERATION_ARB','WGL_ACCUM_ALPHA_BITS_ARB','WGL_ACCUM_BITS_ARB','WGL_ACCUM_BLUE_BITS_ARB','WGL_ACCUM_GREEN_BITS_ARB','WGL_ACCUM_RED_BITS_ARB','WGL_ALPHA_BITS_ARB','WGL_ALPHA_SHIFT_ARB','WGL_AUX_BUFFERS_ARB','WGL_BLUE_BITS_ARB','WGL_BLUE_SHIFT_ARB','WGL_COLOR_BITS_ARB','WGL_DEPTH_BITS_ARB','WGL_DOUBLE_BUFFER_ARB','WGL_DRAW_TO_BITMAP_ARB','WGL_DRAW_TO_WINDOW_ARB','WGL_FULL_ACCELERATION_ARB','WGL_GENERIC_ACCELERATION_ARB','WGL_GREEN_BITS_ARB','WGL_GREEN_SHIFT_ARB','WGL_NEED_PALETTE_ARB','WGL_NEED_SYSTEM_PALETTE_ARB','WGL_NO_ACCELERATION_ARB','WGL_NUMBER_OVERLAYS_ARB','WGL_NUMBER_PIXEL_FORMATS_ARB','WGL_NUMBER_UNDERLAYS_ARB','WGL_PIXEL_TYPE_ARB','WGL_RED_BITS_ARB','WGL_RED_SHIFT_ARB','WGL_SHARE_ACCUM_ARB','WGL_SHARE_DEPTH_ARB','WGL_SHARE_STENCIL_ARB','WGL_STENCIL_BITS_ARB','WGL_STEREO_ARB','WGL_SUPPORT_GDI_ARB','WGL_SUPPORT_OPENGL_ARB','WGL_SWAP_COPY_ARB','WGL_SWAP_EXCHANGE_ARB','WGL_SWAP_LAYER_BUFFERS_ARB','WGL_SWAP_METHOD_ARB','WGL_SWAP_UNDEFINED_ARB','WGL_TRANSPARENT_ALPHA_VALUE_ARB','WGL_TRANSPARENT_ARB','WGL_TRANSPARENT_BLUE_VALUE_ARB','WGL_TRANSPARENT_GREEN_VALUE_ARB','WGL_TRANSPARENT_INDEX_VALUE_ARB','WGL_TRANSPARENT_RED_VALUE_ARB','WGL_TYPE_COLORINDEX_ARB','WGL_TYPE_RGBA_ARB']
WGL_ARB_pixel_format.functions = ['wglChoosePixelFormatARB','wglGetPixelFormatAttribfvARB','wglGetPixelFormatAttribivARB']
wgl.add(WGL_ARB_pixel_format)
WGL_ARB_pixel_format_float = Extension('WGL_ARB_pixel_format_float')
WGL_ARB_pixel_format_float.url = 'http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt'
WGL_ARB_pixel_format_float.enumerants = ['WGL_TYPE_RGBA_FLOAT_ARB']
wgl.add(WGL_ARB_pixel_format_float)
WGL_ARB_render_texture = Extension('WGL_ARB_render_texture')
WGL_ARB_render_texture.url = 'http://www.opengl.org/registry/specs/ARB/wgl_render_texture.txt'
WGL_ARB_render_texture.enumerants = ['WGL_AUX0_ARB','WGL_AUX1_ARB','WGL_AUX2_ARB','WGL_AUX3_ARB','WGL_AUX4_ARB','WGL_AUX5_ARB','WGL_AUX6_ARB','WGL_AUX7_ARB','WGL_AUX8_ARB','WGL_AUX9_ARB','WGL_BACK_LEFT_ARB','WGL_BACK_RIGHT_ARB','WGL_BIND_TO_TEXTURE_RGBA_ARB','WGL_BIND_TO_TEXTURE_RGB_ARB','WGL_CUBE_MAP_FACE_ARB','WGL_FRONT_LEFT_ARB','WGL_FRONT_RIGHT_ARB','WGL_MIPMAP_LEVEL_ARB','WGL_MIPMAP_TEXTURE_ARB','WGL_NO_TEXTURE_ARB','WGL_TEXTURE_1D_ARB','WGL_TEXTURE_2D_ARB','WGL_TEXTURE_CUBE_MAP_ARB','WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB','WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB','WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB','WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB','WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB','WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB','WGL_TEXTURE_FORMAT_ARB','WGL_TEXTURE_RGBA_ARB','WGL_TEXTURE_RGB_ARB','WGL_TEXTURE_TARGET_ARB']
WGL_ARB_render_texture.functions = ['wglBindTexImageARB','wglReleaseTexImageARB','wglSetPbufferAttribARB']
wgl.add(WGL_ARB_render_texture)
WGL_ARB_robustness_application_isolation = Extension('WGL_ARB_robustness_application_isolation')
WGL_ARB_robustness_application_isolation.url = 'http://www.opengl.org/registry/specs/ARB/wgl_robustness_isolation.txt'
WGL_ARB_robustness_application_isolation.enumerants = ['WGL_CONTEXT_RESET_ISOLATION_BIT_ARB']
wgl.add(WGL_ARB_robustness_application_isolation)
WGL_ARB_robustness_share_group_isolation = Extension('WGL_ARB_robustness_share_group_isolation')
WGL_ARB_robustness_share_group_isolation.url = 'http://www.opengl.org/registry/specs/ARB/wgl_robustness_isolation.txt'
WGL_ARB_robustness_share_group_isolation.enumerants = ['WGL_CONTEXT_RESET_ISOLATION_BIT_ARB']
wgl.add(WGL_ARB_robustness_share_group_isolation)
WGL_ATI_pixel_format_float = Extension('WGL_ATI_pixel_format_float')
WGL_ATI_pixel_format_float.url = 'http://www.opengl.org/registry/specs/ATI/pixel_format_float.txt'
WGL_ATI_pixel_format_float.enumerants = ['GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI','GL_RGBA_FLOAT_MODE_ATI','WGL_TYPE_RGBA_FLOAT_ATI']
wgl.add(WGL_ATI_pixel_format_float)
WGL_ATI_render_texture_rectangle = Extension('WGL_ATI_render_texture_rectangle')
WGL_ATI_render_texture_rectangle.enumerants = ['WGL_TEXTURE_RECTANGLE_ATI']
wgl.add(WGL_ATI_render_texture_rectangle)
WGL_EXT_create_context_es2_profile = Extension('WGL_EXT_create_context_es2_profile')
WGL_EXT_create_context_es2_profile.url = 'http://www.opengl.org/registry/specs/EXT/wgl_create_context_es2_profile.txt'
WGL_EXT_create_context_es2_profile.enumerants = ['WGL_CONTEXT_ES2_PROFILE_BIT_EXT']
wgl.add(WGL_EXT_create_context_es2_profile)
WGL_EXT_create_context_es_profile = Extension('WGL_EXT_create_context_es_profile')
WGL_EXT_create_context_es_profile.url = 'http://www.opengl.org/registry/specs/EXT/wgl_create_context_es_profile.txt'
WGL_EXT_create_context_es_profile.enumerants = ['WGL_CONTEXT_ES_PROFILE_BIT_EXT']
wgl.add(WGL_EXT_create_context_es_profile)
WGL_EXT_depth_float = Extension('WGL_EXT_depth_float')
WGL_EXT_depth_float.url = 'http://www.opengl.org/registry/specs/EXT/wgl_depth_float.txt'
WGL_EXT_depth_float.enumerants = ['WGL_DEPTH_FLOAT_EXT']
wgl.add(WGL_EXT_depth_float)
WGL_EXT_display_color_table = Extension('WGL_EXT_display_color_table')
WGL_EXT_display_color_table.url = 'http://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt'
WGL_EXT_display_color_table.functions = ['wglBindDisplayColorTableEXT','wglCreateDisplayColorTableEXT','wglDestroyDisplayColorTableEXT','wglLoadDisplayColorTableEXT']
wgl.add(WGL_EXT_display_color_table)
WGL_EXT_extensions_string = Extension('WGL_EXT_extensions_string')
WGL_EXT_extensions_string.url = 'http://www.opengl.org/registry/specs/EXT/wgl_extensions_string.txt'
WGL_EXT_extensions_string.functions = ['char*']
wgl.add(WGL_EXT_extensions_string)
WGL_EXT_framebuffer_sRGB = Extension('WGL_EXT_framebuffer_sRGB')
WGL_EXT_framebuffer_sRGB.url = 'http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt'
WGL_EXT_framebuffer_sRGB.enumerants = ['WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT']
wgl.add(WGL_EXT_framebuffer_sRGB)
WGL_EXT_make_current_read = Extension('WGL_EXT_make_current_read')
WGL_EXT_make_current_read.url = 'http://www.opengl.org/registry/specs/EXT/wgl_make_current_read.txt'
WGL_EXT_make_current_read.enumerants = ['ERROR_INVALID_PIXEL_TYPE_EXT']
WGL_EXT_make_current_read.functions = ['wglGetCurrentReadDCEXT','wglMakeContextCurrentEXT']
wgl.add(WGL_EXT_make_current_read)
WGL_EXT_multisample = Extension('WGL_EXT_multisample')
WGL_EXT_multisample.url = 'http://www.opengl.org/registry/specs/EXT/wgl_multisample.txt'
WGL_EXT_multisample.enumerants = ['WGL_SAMPLES_EXT','WGL_SAMPLE_BUFFERS_EXT']
wgl.add(WGL_EXT_multisample)
WGL_EXT_pbuffer = Extension('WGL_EXT_pbuffer')
WGL_EXT_pbuffer.url = 'http://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt'
WGL_EXT_pbuffer.enumerants = ['WGL_DRAW_TO_PBUFFER_EXT','WGL_MAX_PBUFFER_HEIGHT_EXT','WGL_MAX_PBUFFER_PIXELS_EXT','WGL_MAX_PBUFFER_WIDTH_EXT','WGL_OPTIMAL_PBUFFER_HEIGHT_EXT','WGL_OPTIMAL_PBUFFER_WIDTH_EXT','WGL_PBUFFER_HEIGHT_EXT','WGL_PBUFFER_LARGEST_EXT','WGL_PBUFFER_WIDTH_EXT']
WGL_EXT_pbuffer.functions = ['wglCreatePbufferEXT','wglDestroyPbufferEXT','wglGetPbufferDCEXT','wglQueryPbufferEXT','wglReleasePbufferDCEXT']
wgl.add(WGL_EXT_pbuffer)
WGL_EXT_pixel_format = Extension('WGL_EXT_pixel_format')
WGL_EXT_pixel_format.url = 'http://www.opengl.org/registry/specs/EXT/wgl_pixel_format.txt'
WGL_EXT_pixel_format.enumerants = ['WGL_ACCELERATION_EXT','WGL_ACCUM_ALPHA_BITS_EXT','WGL_ACCUM_BITS_EXT','WGL_ACCUM_BLUE_BITS_EXT','WGL_ACCUM_GREEN_BITS_EXT','WGL_ACCUM_RED_BITS_EXT','WGL_ALPHA_BITS_EXT','WGL_ALPHA_SHIFT_EXT','WGL_AUX_BUFFERS_EXT','WGL_BLUE_BITS_EXT','WGL_BLUE_SHIFT_EXT','WGL_COLOR_BITS_EXT','WGL_DEPTH_BITS_EXT','WGL_DOUBLE_BUFFER_EXT','WGL_DRAW_TO_BITMAP_EXT','WGL_DRAW_TO_WINDOW_EXT','WGL_FULL_ACCELERATION_EXT','WGL_GENERIC_ACCELERATION_EXT','WGL_GREEN_BITS_EXT','WGL_GREEN_SHIFT_EXT','WGL_NEED_PALETTE_EXT','WGL_NEED_SYSTEM_PALETTE_EXT','WGL_NO_ACCELERATION_EXT','WGL_NUMBER_OVERLAYS_EXT','WGL_NUMBER_PIXEL_FORMATS_EXT','WGL_NUMBER_UNDERLAYS_EXT','WGL_PIXEL_TYPE_EXT','WGL_RED_BITS_EXT','WGL_RED_SHIFT_EXT','WGL_SHARE_ACCUM_EXT','WGL_SHARE_DEPTH_EXT','WGL_SHARE_STENCIL_EXT','WGL_STENCIL_BITS_EXT','WGL_STEREO_EXT','WGL_SUPPORT_GDI_EXT','WGL_SUPPORT_OPENGL_EXT','WGL_SWAP_COPY_EXT','WGL_SWAP_EXCHANGE_EXT','WGL_SWAP_LAYER_BUFFERS_EXT','WGL_SWAP_METHOD_EXT','WGL_SWAP_UNDEFINED_EXT','WGL_TRANSPARENT_EXT','WGL_TRANSPARENT_VALUE_EXT','WGL_TYPE_COLORINDEX_EXT','WGL_TYPE_RGBA_EXT']
WGL_EXT_pixel_format.functions = ['wglChoosePixelFormatEXT','wglGetPixelFormatAttribfvEXT','wglGetPixelFormatAttribivEXT']
wgl.add(WGL_EXT_pixel_format)
WGL_EXT_pixel_format_packed_float = Extension('WGL_EXT_pixel_format_packed_float')
WGL_EXT_pixel_format_packed_float.url = 'http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt'
WGL_EXT_pixel_format_packed_float.enumerants = ['WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT']
wgl.add(WGL_EXT_pixel_format_packed_float)
WGL_EXT_swap_control = Extension('WGL_EXT_swap_control')
WGL_EXT_swap_control.url = 'http://www.opengl.org/registry/specs/EXT/wgl_swap_control.txt'
WGL_EXT_swap_control.functions = ['wglGetSwapIntervalEXT','wglSwapIntervalEXT']
wgl.add(WGL_EXT_swap_control)
WGL_EXT_swap_control_tear = Extension('WGL_EXT_swap_control_tear')
WGL_EXT_swap_control_tear.url = 'http://www.opengl.org/registry/specs/EXT/wgl_swap_control_tear.txt'
wgl.add(WGL_EXT_swap_control_tear)
WGL_I3D_digital_video_control = Extension('WGL_I3D_digital_video_control')
WGL_I3D_digital_video_control.url = 'http://www.opengl.org/registry/specs/I3D/wgl_digital_video_control.txt'
WGL_I3D_digital_video_control.enumerants = ['WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D','WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D','WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D','WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D']
WGL_I3D_digital_video_control.functions = ['wglGetDigitalVideoParametersI3D','wglSetDigitalVideoParametersI3D']
wgl.add(WGL_I3D_digital_video_control)
WGL_I3D_gamma = Extension('WGL_I3D_gamma')
WGL_I3D_gamma.url = 'http://www.opengl.org/registry/specs/I3D/wgl_gamma.txt'
WGL_I3D_gamma.enumerants = ['WGL_GAMMA_EXCLUDE_DESKTOP_I3D','WGL_GAMMA_TABLE_SIZE_I3D']
WGL_I3D_gamma.functions = ['wglGetGammaTableI3D','wglGetGammaTableParametersI3D','wglSetGammaTableI3D','wglSetGammaTableParametersI3D']
wgl.add(WGL_I3D_gamma)
WGL_I3D_genlock = Extension('WGL_I3D_genlock')
WGL_I3D_genlock.url = 'http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt'
WGL_I3D_genlock.enumerants = ['WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D','WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D','WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D','WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D','WGL_GENLOCK_SOURCE_EDGE_RISING_I3D','WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D','WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D','WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D','WGL_GENLOCK_SOURCE_MULTIVIEW_I3D']
WGL_I3D_genlock.functions = ['wglDisableGenlockI3D','wglEnableGenlockI3D','wglGenlockSampleRateI3D','wglGenlockSourceDelayI3D','wglGenlockSourceEdgeI3D','wglGenlockSourceI3D','wglGetGenlockSampleRateI3D','wglGetGenlockSourceDelayI3D','wglGetGenlockSourceEdgeI3D','wglGetGenlockSourceI3D','wglIsEnabledGenlockI3D','wglQueryGenlockMaxSourceDelayI3D']
wgl.add(WGL_I3D_genlock)
WGL_I3D_image_buffer = Extension('WGL_I3D_image_buffer')
WGL_I3D_image_buffer.url = 'http://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt'
WGL_I3D_image_buffer.enumerants = ['WGL_IMAGE_BUFFER_LOCK_I3D','WGL_IMAGE_BUFFER_MIN_ACCESS_I3D']
WGL_I3D_image_buffer.functions = ['wglAssociateImageBufferEventsI3D','wglCreateImageBufferI3D','wglDestroyImageBufferI3D','wglReleaseImageBufferEventsI3D']
wgl.add(WGL_I3D_image_buffer)
WGL_I3D_swap_frame_lock = Extension('WGL_I3D_swap_frame_lock')
WGL_I3D_swap_frame_lock.url = 'http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt'
WGL_I3D_swap_frame_lock.functions = ['wglDisableFrameLockI3D','wglEnableFrameLockI3D','wglIsEnabledFrameLockI3D','wglQueryFrameLockMasterI3D']
wgl.add(WGL_I3D_swap_frame_lock)
WGL_I3D_swap_frame_usage = Extension('WGL_I3D_swap_frame_usage')
WGL_I3D_swap_frame_usage.url = 'http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt'
WGL_I3D_swap_frame_usage.functions = ['wglBeginFrameTrackingI3D','wglEndFrameTrackingI3D','wglGetFrameUsageI3D','wglQueryFrameTrackingI3D']
wgl.add(WGL_I3D_swap_frame_usage)
WGL_NV_DX_interop = Extension('WGL_NV_DX_interop')
WGL_NV_DX_interop.url = 'http://www.opengl.org/registry/specs/NV/DX_interop.txt'
WGL_NV_DX_interop.enumerants = ['WGL_ACCESS_READ_ONLY_NV','WGL_ACCESS_READ_WRITE_NV','WGL_ACCESS_WRITE_DISCARD_NV']
WGL_NV_DX_interop.functions = ['wglDXCloseDeviceNV','wglDXLockObjectsNV','wglDXObjectAccessNV','wglDXOpenDeviceNV','wglDXRegisterObjectNV','wglDXSetResourceShareHandleNV','wglDXUnlockObjectsNV','wglDXUnregisterObjectNV']
wgl.add(WGL_NV_DX_interop)
WGL_NV_DX_interop2 = Extension('WGL_NV_DX_interop2')
WGL_NV_DX_interop2.url = 'http://www.opengl.org/registry/specs/NV/DX_interop2.txt'
wgl.add(WGL_NV_DX_interop2)
WGL_NV_copy_image = Extension('WGL_NV_copy_image')
WGL_NV_copy_image.url = 'http://www.opengl.org/registry/specs/NV/copy_image.txt'
WGL_NV_copy_image.functions = ['wglCopyImageSubDataNV']
wgl.add(WGL_NV_copy_image)
WGL_NV_delay_before_swap = Extension('WGL_NV_delay_before_swap')
WGL_NV_delay_before_swap.url = 'http://www.opengl.org/registry/specs/NV/wgl_delay_before_swap.txt'
WGL_NV_delay_before_swap.functions = ['wglDelayBeforeSwapNV']
wgl.add(WGL_NV_delay_before_swap)
WGL_NV_float_buffer = Extension('WGL_NV_float_buffer')
WGL_NV_float_buffer.url = 'http://www.opengl.org/registry/specs/NV/float_buffer.txt'
WGL_NV_float_buffer.enumerants = ['WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV','WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV','WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV','WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV','WGL_FLOAT_COMPONENTS_NV','WGL_TEXTURE_FLOAT_RGBA_NV','WGL_TEXTURE_FLOAT_RGB_NV','WGL_TEXTURE_FLOAT_RG_NV','WGL_TEXTURE_FLOAT_R_NV']
wgl.add(WGL_NV_float_buffer)
WGL_NV_gpu_affinity = Extension('WGL_NV_gpu_affinity')
WGL_NV_gpu_affinity.url = 'http://developer.download.nvidia.com/opengl/specs/WGL_nv_gpu_affinity.txt'
WGL_NV_gpu_affinity.enumerants = ['WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV','WGL_ERROR_MISSING_AFFINITY_MASK_NV']
WGL_NV_gpu_affinity.functions = ['wglCreateAffinityDCNV','wglDeleteDCNV','wglEnumGpuDevicesNV','wglEnumGpusFromAffinityDCNV','wglEnumGpusNV']
wgl.add(WGL_NV_gpu_affinity)
WGL_NV_multisample_coverage = Extension('WGL_NV_multisample_coverage')
WGL_NV_multisample_coverage.url = 'http://www.opengl.org/registry/specs/NV/multisample_coverage.txt'
WGL_NV_multisample_coverage.enumerants = ['WGL_COLOR_SAMPLES_NV','WGL_COVERAGE_SAMPLES_NV']
wgl.add(WGL_NV_multisample_coverage)
WGL_NV_present_video = Extension('WGL_NV_present_video')
WGL_NV_present_video.url = 'http://www.opengl.org/registry/specs/NV/present_video.txt'
WGL_NV_present_video.enumerants = ['WGL_NUM_VIDEO_SLOTS_NV']
WGL_NV_present_video.functions = ['wglBindVideoDeviceNV','wglEnumerateVideoDevicesNV','wglQueryCurrentContextNV']
wgl.add(WGL_NV_present_video)
WGL_NV_render_depth_texture = Extension('WGL_NV_render_depth_texture')
WGL_NV_render_depth_texture.url = 'http://www.opengl.org/registry/specs/NV/render_depth_texture.txt'
WGL_NV_render_depth_texture.enumerants = ['WGL_BIND_TO_TEXTURE_DEPTH_NV','WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV','WGL_DEPTH_COMPONENT_NV','WGL_DEPTH_TEXTURE_FORMAT_NV','WGL_NO_TEXTURE_ARB','WGL_TEXTURE_DEPTH_COMPONENT_NV']
wgl.add(WGL_NV_render_depth_texture)
WGL_NV_render_texture_rectangle = Extension('WGL_NV_render_texture_rectangle')
WGL_NV_render_texture_rectangle.url = 'http://www.opengl.org/registry/specs/NV/render_texture_rectangle.txt'
WGL_NV_render_texture_rectangle.enumerants = ['WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV','WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV','WGL_TEXTURE_RECTANGLE_NV']
wgl.add(WGL_NV_render_texture_rectangle)
WGL_NV_swap_group = Extension('WGL_NV_swap_group')
WGL_NV_swap_group.url = 'http://www.opengl.org/registry/specs/NV/wgl_swap_group.txt'
WGL_NV_swap_group.functions = ['wglBindSwapBarrierNV','wglJoinSwapGroupNV','wglQueryFrameCountNV','wglQueryMaxSwapGroupsNV','wglQuerySwapGroupNV','wglResetFrameCountNV']
wgl.add(WGL_NV_swap_group)
WGL_NV_vertex_array_range = Extension('WGL_NV_vertex_array_range')
WGL_NV_vertex_array_range.url = 'http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt'
WGL_NV_vertex_array_range.functions = ['*','wglFreeMemoryNV']
wgl.add(WGL_NV_vertex_array_range)
WGL_NV_video_capture = Extension('WGL_NV_video_capture')
WGL_NV_video_capture.url = 'http://www.opengl.org/registry/specs/NV/video_capture.txt'
WGL_NV_video_capture.enumerants = ['WGL_NUM_VIDEO_CAPTURE_SLOTS_NV','WGL_UNIQUE_ID_NV']
WGL_NV_video_capture.functions = ['wglBindVideoCaptureDeviceNV','wglEnumerateVideoCaptureDevicesNV','wglLockVideoCaptureDeviceNV','wglQueryVideoCaptureDeviceNV','wglReleaseVideoCaptureDeviceNV']
wgl.add(WGL_NV_video_capture)
WGL_NV_video_output = Extension('WGL_NV_video_output')
WGL_NV_video_output.url = 'http://www.opengl.org/registry/specs/NV/wgl_video_output.txt'
WGL_NV_video_output.enumerants = ['WGL_BIND_TO_VIDEO_RGBA_NV','WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV','WGL_BIND_TO_VIDEO_RGB_NV','WGL_VIDEO_OUT_ALPHA_NV','WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV','WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV','WGL_VIDEO_OUT_COLOR_NV','WGL_VIDEO_OUT_DEPTH_NV','WGL_VIDEO_OUT_FIELD_1','WGL_VIDEO_OUT_FIELD_2','WGL_VIDEO_OUT_FRAME','WGL_VIDEO_OUT_STACKED_FIELDS_1_2','WGL_VIDEO_OUT_STACKED_FIELDS_2_1']
WGL_NV_video_output.functions = ['wglBindVideoImageNV','wglGetVideoDeviceNV','wglGetVideoInfoNV','wglReleaseVideoDeviceNV','wglReleaseVideoImageNV','wglSendPbufferToVideoNV']
wgl.add(WGL_NV_video_output)
WGL_OML_sync_control = Extension('WGL_OML_sync_control')
WGL_OML_sync_control.url = 'http://www.opengl.org/registry/specs/OML/wgl_sync_control.txt'
WGL_OML_sync_control.functions = ['wglGetMscRateOML','wglGetSyncValuesOML','wglSwapBuffersMscOML','wglSwapLayerBuffersMscOML','wglWaitForMscOML','wglWaitForSbcOML']
wgl.add(WGL_OML_sync_control)

View file

@ -316,7 +316,7 @@ def traverseContextInfo(apis, args):
if api.name == 'gles':
api.versions = [ [2, 0] ]
if api.name == 'gl':
api.versions = [ [4,4], [4,3], [4,2], [4, 1], [4, 0] ]
api.versions = [ [4,5], [4,4], [4,3], [4,2], [4, 1], [4, 0] ]
api.versions += [ [3, 3], [3, 2], [3, 1], [3, 0] ]
api.versions += [ [2, 1], [2, 0] ]
api.versions += [ [1, 5], [1, 4], [1, 3], [1, 2], [1, 1], [1, 0] ]

View file

@ -82,4 +82,37 @@ exclude = [
'GL_SGIX_fog_texture',
'GL_SUN_read_video_pixels',
# OpenGL 4.5 additions, August 2014
'GL_ARB_ES3_1_compatibility',
'GL_ARB_clip_control',
'GL_ARB_conditional_render_inverted',
'GL_ARB_context_flush_control',
'GL_ARB_cull_distance',
'GL_ARB_derivative_control',
'GL_ARB_direct_state_access',
'GL_ARB_get_texture_sub_image',
'GL_ARB_pipeline_statistics_query',
'GL_ARB_shader_texture_image_samples',
'GL_ARB_sparse_buffer',
'GL_ARB_texture_barrier',
'GL_ARB_transform_feedback_overflow_query',
'GL_EXT_shader_image_load_formatted',
'GL_EXT_shader_integer_mix',
'GL_INTEL_fragment_shader_ordering',
'GL_INTEL_performance_query',
'GL_KHR_blend_equation_advanced',
'GL_KHR_blend_equation_advanced_coherent',
'GL_KHR_robust_buffer_access_behavior',
'GL_KHR_robustness',
'GL_KHR_texture_compression_astc_hdr',
'GL_NV_bindless_multi_draw_indirect_count',
'GL_NV_shader_atomic_int64',
'GL_NV_shader_thread_group',
'GL_NV_shader_thread_shuffle',
'GLX_MESA_query_renderer',
'GLX_NV_copy_buffer',
'GLX_NV_delay_before_swap'
]

View file

@ -79,7 +79,14 @@ void log(const char *format, ...)
* This should be called only from the wrappers, when there is no safe way of
* failing gracefully.
*/
void abort(void);
#ifdef _MSC_VER
__declspec(noreturn)
#endif
void abort(void)
#ifdef __GNUC__
__attribute__((__noreturn__))
#endif
;
void setExceptionCallback(void (*callback)(void));
void resetExceptionCallback(void);

View file

@ -240,6 +240,9 @@ void
abort(void)
{
TerminateProcess(GetCurrentProcess(), 1);
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
__builtin_unreachable();
#endif
}

View file

@ -42,25 +42,18 @@ def function_pointer_type(function):
def function_pointer_value(function):
return '_' + function.name + '_ptr'
return '_' + function.name
class Dispatcher:
def header(self):
# Must be implemented by derived classes, which should define, declare,
# or implement something like:
#
# typedef void (*_PROC)(void);
#
# static _PROC _getPublicProcAddress(const char *name);
# static _PROC _getPrivateProcAddress(const char *name);
#
raise NotImplementedError
def dispatchModule(self, module):
self.dispatchModuleDecl(module)
self.dispatchModuleImpl(module)
def dispatchModuleDecl(self, module):
for function in module.functions:
self.dispatchFunction(module, function)
self.dispatchFunctionDecl(module, function)
# define standard name aliases for convenience, but only when not
# tracing, as that would cause symbol clashing with the tracing
@ -70,55 +63,67 @@ class Dispatcher:
print '#define %s _%s' % (function.name, function.name)
print '#endif /* RETRACE */'
print
def dispatchFunction(self, module, function):
def dispatchFunctionDecl(self, module, function):
ptype = function_pointer_type(function)
pvalue = function_pointer_value(function)
print 'typedef ' + function.prototype('* %s' % ptype) + ';'
print 'static %s %s = NULL;' % (ptype, pvalue)
print 'extern %s %s;' % (ptype, pvalue)
print
print 'static inline ' + function.prototype('_' + function.name) + ' {'
print ' const char *_name = "%s";' % function.name
def dispatchModuleImpl(self, module):
for function in module.functions:
self.dispatchFunctionImpl(module, function)
def dispatchFunctionImpl(self, module, function):
ptype = function_pointer_type(function)
pvalue = function_pointer_value(function)
if function.type is stdapi.Void:
ret = ''
else:
ret = 'return '
print 'static ' + function.prototype('_fail_' + function.name) + ' {'
self.failFunction(function)
print '}'
print
print 'static ' + function.prototype('_get_' + function.name) + ' {'
self.invokeGetProcAddress(module, function)
print ' %s%s(%s);' % (ret, pvalue, ', '.join([str(arg.name) for arg in function.args]))
print '}'
print
def isFunctionPublic(self, module, function):
return True
print '%s %s = &%s;' % (ptype, pvalue, '_get_' + function.name)
print
def getProcAddressName(self, module, function):
if self.isFunctionPublic(module, function):
return '_getPublicProcAddress'
else:
return '_getPrivateProcAddress'
raise NotImplementedError
def invokeGetProcAddress(self, module, function):
ptype = function_pointer_type(function)
pvalue = function_pointer_value(function)
getProcAddressName = self.getProcAddressName(module, function)
print ' if (!%s) {' % (pvalue,)
print ' %s = (%s)%s(_name);' % (pvalue, ptype, getProcAddressName)
print ' if (!%s) {' % (pvalue,)
self.failFunction(function)
print ' }'
print ' %s _ptr;' % (ptype,)
print ' _ptr = (%s)%s("%s");' % (ptype, getProcAddressName, function.name)
print ' if (!_ptr) {'
print ' _ptr = &%s;' % ('_fail_' + function.name)
print ' }'
print ' %s = _ptr;' % (pvalue,)
def failFunction(self, function):
print r' const char *_name = "%s";' % function.name
if function.type is stdapi.Void or function.fail is not None:
print r' os::log("warning: ignoring call to unavailable function %s\n", _name);'
print r' os::log("warning: ignoring call to unavailable function %s\n", _name);'
if function.type is stdapi.Void:
assert function.fail is None
print ' return;'
print ' return;'
else:
assert function.fail is not None
print ' return %s;' % function.fail
print ' return %s;' % function.fail
else:
print r' os::log("error: unavailable function %s\n", _name);'
print r' os::abort();'
print r' os::log("error: unavailable function %s\n", _name);'
print r' os::abort();'

View file

@ -29,6 +29,8 @@ covers all the functions we support.
"""
import sys
from dispatch import Dispatcher
import specs.stdapi as stdapi
from specs.glapi import glapi
@ -491,23 +493,42 @@ public_symbols.update([
class GlDispatcher(Dispatcher):
def header(self):
print '''
#if defined(_WIN32)
extern HMODULE _libGlHandle;
#else
extern void * _libGlHandle;
#endif
void * _getPublicProcAddress(const char *procName);
void * _getPrivateProcAddress(const char *procName);
'''
def isFunctionPublic(self, module, function):
return function.name in public_symbols or function.name.startswith('CGL')
def getProcAddressName(self, module, function):
if self.isFunctionPublic(module, function):
return '_getPublicProcAddress'
else:
return '_getPrivateProcAddress'
def failFunction(self, function):
# We fake this when they are not available
# We fake these when they are not available
if function.name in (
# GL_KHR_debug
'glDebugMessageControl',
'glDebugMessageInsert',
'glDebugMessageCallback',
'glPushDebugGroup',
'glPopDebugGroup',
'glObjectLabel',
'glObjectPtrLabel',
# GL_ARB_debug_output
'glDebugMessageControlARB',
'glDebugMessageInsertARB',
'glDebugMessageCallbackARB',
# GL_AMD_debug_output
'glDebugMessageEnableAMD',
'glDebugMessageInsertAMD',
'glDebugMessageCallbackAMD',
# GL_EXT_debug_label
'glLabelObjectEXT',
# GL_EXT_debug_marker
'glInsertEventMarkerEXT',
'glPushGroupMarkerEXT',
'glPopGroupMarkerEXT',
):
return
if function.name in ('glGetObjectLabel', 'glGetObjectPtrLabel', 'glGetObjectLabelEXT'):
print r' if (length != 0) *length = 0;'
print r' if (label != 0 && bufSize > 0) *label = 0;'
@ -519,6 +540,7 @@ void * _getPrivateProcAddress(const char *procName);
print r' if (severities != 0) *severities = 0;'
print r' if (lengths != 0) *lengths = 0;'
print r' if (messageLog != 0 && bufsize > 0) *messageLog = 0;'
print r' return 0;'
return
if function.name in ('glGetDebugMessageLogAMD'):
print r' if (categories != 0) *categories = 0;'
@ -526,43 +548,80 @@ void * _getPrivateProcAddress(const char *procName);
print r' if (severities != 0) *severities = 0;'
print r' if (lengths != 0) *lengths = 0;'
print r' if (message != 0 && bufsize > 0) *message = 0;'
print r' return 0;'
return
Dispatcher.failFunction(self, function)
if __name__ == '__main__':
decl, impl = sys.argv[1:]
sys.stdout = open(decl, 'wt')
print
print '#ifndef _GLPROC_HPP_'
print '#define _GLPROC_HPP_'
print
print
print '#include "glimports.hpp"'
print
print '#if defined(_WIN32)'
print 'extern HMODULE _libGlHandle;'
print '#else'
print 'extern void * _libGlHandle;'
print '#endif'
print
print 'void * _getPublicProcAddress(const char *procName);'
print 'void * _getPrivateProcAddress(const char *procName);'
print
dispatcher = GlDispatcher()
print
dispatcher.dispatchModuleDecl(eglapi)
print
print '#if defined(_WIN32)'
print
dispatcher.dispatchModuleDecl(wglapi)
print
print '#elif defined(__APPLE__)'
print
dispatcher.dispatchModuleDecl(cglapi)
print
print '#elif defined(HAVE_X11)'
print
dispatcher.dispatchModuleDecl(glxapi)
print
print '#endif'
print
dispatcher.dispatchModuleDecl(glapi)
print
dispatcher.dispatchModuleDecl(glesapi)
print
print '#endif /* !_GLPROC_HPP_ */'
print
sys.stdout = open(impl, 'wt')
print
print '#include "glproc.hpp"'
print '#include "os.hpp"'
print
dispatcher = GlDispatcher()
print
dispatcher.header()
print
dispatcher.dispatchModule(eglapi)
dispatcher.dispatchModuleImpl(eglapi)
print
print '#if defined(_WIN32)'
print
dispatcher.dispatchModule(wglapi)
dispatcher.dispatchModuleImpl(wglapi)
print
print '#elif defined(__APPLE__)'
print
dispatcher.dispatchModule(cglapi)
dispatcher.dispatchModuleImpl(cglapi)
print
print '#elif defined(HAVE_X11)'
print
dispatcher.dispatchModule(glxapi)
dispatcher.dispatchModuleImpl(glxapi)
print
print '#endif'
print
dispatcher.dispatchModule(glapi)
dispatcher.dispatchModuleImpl(glapi)
print
dispatcher.dispatchModule(glesapi)
print
print '#endif /* !_GLPROC_HPP_ */'
dispatcher.dispatchModuleImpl(glesapi)
print

View file

@ -25,6 +25,7 @@
#include "glproc.hpp"
#include "os.hpp"
#if !defined(_WIN32)

View file

@ -345,6 +345,17 @@ _element_array_buffer_binding(void) {
return _glGetInteger(GL_ELEMENT_ARRAY_BUFFER_BINDING);
}
/**
* Same as glGetVertexAttribiv, but passing the result in the return value.
*/
static inline GLint
_glGetVertexAttribi(GLuint index, GLenum pname) {
GLint param = 0;
_glGetVertexAttribiv(index, pname, &param);
return param;
}
static inline GLuint
_glDrawArrays_count(GLint first, GLsizei count)
{

View file

@ -2170,9 +2170,9 @@ parameters = [
("", X, 1, "GL_GEOMETRY_INPUT_TYPE"), # 0x8917
("", X, 1, "GL_GEOMETRY_OUTPUT_TYPE"), # 0x8918
("_glGet", I, 1, "GL_SAMPLER_BINDING"), # 0x8919
("glGet", B, 1, "GL_CLAMP_VERTEX_COLOR"), # 0x891A
("glGet", B, 1, "GL_CLAMP_FRAGMENT_COLOR"), # 0x891B
("glGet", B, 1, "GL_CLAMP_READ_COLOR"), # 0x891C
("glGet", E, 1, "GL_CLAMP_VERTEX_COLOR"), # 0x891A
("glGet", E, 1, "GL_CLAMP_FRAGMENT_COLOR"), # 0x891B
("glGet", E, 1, "GL_CLAMP_READ_COLOR"), # 0x891C
("", X, 1, "GL_FIXED_ONLY"), # 0x891D
("", X, 1, "GL_TESS_CONTROL_PROGRAM_NV"), # 0x891E
("", X, 1, "GL_TESS_EVALUATION_PROGRAM_NV"), # 0x891F

View file

@ -336,8 +336,16 @@ GLXContextARBAttribs = AttribArray(Const(GLXEnum), [
('GLX_RENDER_TYPE', FakeEnum(Int, ["GLX_RGBA_TYPE", "GLX_COLOR_INDEX_TYPE"])),
('GLX_CONTEXT_MAJOR_VERSION_ARB', Int),
('GLX_CONTEXT_MINOR_VERSION_ARB', Int),
('GLX_CONTEXT_FLAGS_ARB', Flags(Int, ["GLX_CONTEXT_DEBUG_BIT_ARB", "GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB", "GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB"])),
('GLX_CONTEXT_PROFILE_MASK_ARB', Flags(Int, ["GLX_CONTEXT_CORE_PROFILE_BIT_ARB", "GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB"])),
('GLX_CONTEXT_FLAGS_ARB', Flags(Int, [
"GLX_CONTEXT_DEBUG_BIT_ARB",
"GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB",
"GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB",
])),
('GLX_CONTEXT_PROFILE_MASK_ARB', Flags(Int, [
"GLX_CONTEXT_CORE_PROFILE_BIT_ARB",
"GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB",
"GLX_CONTEXT_ES_PROFILE_BIT_EXT",
])),
('GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB', GLXEnum),
])

View file

@ -150,6 +150,7 @@ WGLContextAttribs = AttribArray(Const(WGLenum), [
('WGL_CONTEXT_PROFILE_MASK_ARB', Flags(Int, [
"WGL_CONTEXT_CORE_PROFILE_BIT_ARB",
"WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB",
"WGL_CONTEXT_ES_PROFILE_BIT_EXT",
]))
])

View file

@ -1,5 +1,3 @@
LIBRARY "d2d1"
EXPORTS
D2D1CreateFactory @1
D2D1MakeRotateMatrix @2

View file

@ -59,7 +59,6 @@ class DllDispatcher(Dispatcher):
Dispatcher.dispatchModule(self, module)
def getProcAddressName(self, module, function):
assert self.isFunctionPublic(module, function)
return '_get%sProcAddress' % (module.name.upper())

View file

@ -73,6 +73,17 @@ class D3DCommonTracer(DllTracer):
self.serializeValue(arg.type, '_pSwapChainDesc')
return
# Serialize object names
# http://blogs.msdn.com/b/chuckw/archive/2010/04/15/object-naming.aspx
if function.name == 'SetPrivateData' and arg.name == 'pData':
iid = function.args[0].name
print r' if (%s == WKPDID_D3DDebugObjectName) {' % iid
print r' trace::localWriter.writeString(static_cast<const char *>(pData), DataSize);'
print r' } else {'
DllTracer.serializeArgValue(self, function, arg)
print r' }'
return
DllTracer.serializeArgValue(self, function, arg)
# Interfaces that need book-keeping for maps

View file

@ -93,7 +93,6 @@ class Context {
public:
enum Profile profile;
bool user_arrays;
bool user_arrays_arb;
bool user_arrays_nv;
unsigned retain_count;
@ -106,7 +105,6 @@ public:
Context(void) :
profile(PROFILE_COMPAT),
user_arrays(false),
user_arrays_arb(false),
user_arrays_nv(false),
retain_count(0),
bound(false)

View file

@ -119,13 +119,12 @@ class GlTracer(Tracer):
# Which glVertexAttrib* variant to use
print 'enum vertex_attrib {'
print ' VERTEX_ATTRIB,'
print ' VERTEX_ATTRIB_ARB,'
print ' VERTEX_ATTRIB_NV,'
print '};'
print
print 'static vertex_attrib _get_vertex_attrib(void) {'
print ' gltrace::Context *ctx = gltrace::getContext();'
print ' if (ctx->user_arrays_arb || ctx->user_arrays_nv) {'
print ' if (ctx->user_arrays_nv) {'
print ' GLboolean _vertex_program = GL_FALSE;'
print ' _glGetBooleanv(GL_VERTEX_PROGRAM_ARB, &_vertex_program);'
print ' if (_vertex_program) {'
@ -135,7 +134,6 @@ class GlTracer(Tracer):
print ' return VERTEX_ATTRIB_NV;'
print ' }'
print ' }'
print ' return VERTEX_ATTRIB_ARB;'
print ' }'
print ' }'
print ' return VERTEX_ATTRIB;'
@ -152,12 +150,14 @@ class GlTracer(Tracer):
print ' return false;'
print ' }'
print
print ' enum gltrace::Profile profile = ctx->profile;'
print
for camelcase_name, uppercase_name in self.arrays:
# in which profile is the array available?
profile_check = 'ctx->profile == gltrace::PROFILE_COMPAT'
profile_check = 'profile == gltrace::PROFILE_COMPAT'
if camelcase_name in self.arrays_es1:
profile_check = '(' + profile_check + ' || ctx->profile == gltrace::PROFILE_ES1)';
profile_check = '(' + profile_check + ' || profile == gltrace::PROFILE_ES1)';
function_name = 'gl%sPointer' % camelcase_name
enable_name = 'GL_%s_ARRAY' % uppercase_name
@ -165,19 +165,17 @@ class GlTracer(Tracer):
print ' // %s' % function_name
print ' if (%s) {' % profile_check
self.array_prolog(api, uppercase_name)
print ' if (_glIsEnabled(%s)) {' % enable_name
print ' GLint _binding = _glGetInteger(%s);' % binding_name
print ' if (!_binding) {'
print ' if (_glIsEnabled(%s) &&' % enable_name
print ' _glGetInteger(%s) == 0) {' % binding_name
self.array_cleanup(api, uppercase_name)
print ' return true;'
print ' }'
print ' return true;'
print ' }'
self.array_epilog(api, uppercase_name)
print ' }'
print
print ' // ES1 does not support generic vertex attributes'
print ' if (ctx->profile == gltrace::PROFILE_ES1)'
print ' if (profile == gltrace::PROFILE_ES1)'
print ' return false;'
print
print ' vertex_attrib _vertex_attrib = _get_vertex_attrib();'
@ -186,30 +184,9 @@ class GlTracer(Tracer):
print ' if (_vertex_attrib == VERTEX_ATTRIB) {'
print ' GLint _max_vertex_attribs = _glGetInteger(GL_MAX_VERTEX_ATTRIBS);'
print ' for (GLint index = 0; index < _max_vertex_attribs; ++index) {'
print ' GLint _enabled = 0;'
print ' _glGetVertexAttribiv(index, GL_VERTEX_ATTRIB_ARRAY_ENABLED, &_enabled);'
print ' if (_enabled) {'
print ' GLint _binding = 0;'
print ' _glGetVertexAttribiv(index, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, &_binding);'
print ' if (!_binding) {'
print ' return true;'
print ' }'
print ' }'
print ' }'
print ' }'
print
print ' // glVertexAttribPointerARB'
print ' if (_vertex_attrib == VERTEX_ATTRIB_ARB) {'
print ' GLint _max_vertex_attribs = _glGetInteger(GL_MAX_VERTEX_ATTRIBS_ARB);'
print ' for (GLint index = 0; index < _max_vertex_attribs; ++index) {'
print ' GLint _enabled = 0;'
print ' _glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB, &_enabled);'
print ' if (_enabled) {'
print ' GLint _binding = 0;'
print ' _glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB, &_binding);'
print ' if (!_binding) {'
print ' return true;'
print ' }'
print ' if (_glGetVertexAttribi(index, GL_VERTEX_ATTRIB_ARRAY_ENABLED) &&'
print ' _glGetVertexAttribi(index, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) == 0) {'
print ' return true;'
print ' }'
print ' }'
print ' }'
@ -217,8 +194,7 @@ class GlTracer(Tracer):
print ' // glVertexAttribPointerNV'
print ' if (_vertex_attrib == VERTEX_ATTRIB_NV) {'
print ' for (GLint index = 0; index < 16; ++index) {'
print ' GLboolean _enabled = _glIsEnabled(GL_VERTEX_ATTRIB_ARRAY0_NV);'
print ' if (_enabled) {'
print ' if (_glIsEnabled(GL_VERTEX_ATTRIB_ARRAY0_NV + index)) {'
print ' return true;'
print ' }'
print ' }'
@ -493,8 +469,6 @@ class GlTracer(Tracer):
print ' if (!_array_buffer) {'
print ' gltrace::Context *ctx = gltrace::getContext();'
print ' ctx->user_arrays = true;'
if function.name == "glVertexAttribPointerARB":
print ' ctx->user_arrays_arb = true;'
if function.name == "glVertexAttribPointerNV":
print ' ctx->user_arrays_nv = true;'
self.invokeFunction(function)
@ -747,10 +721,6 @@ class GlTracer(Tracer):
'glStringMarkerGREMEDY',
# GL_GREMEDY_frame_terminator
'glFrameTerminatorGREMEDY',
# GL_EXT_debug_marker
'glInsertEventMarkerEXT',
'glPushGroupMarkerEXT',
'glPopGroupMarkerEXT',
]
# These entrypoints may be implemented by drivers, but are also very useful
@ -777,6 +747,13 @@ class GlTracer(Tracer):
'glDebugMessageInsertAMD',
'glDebugMessageCallbackAMD',
'glGetDebugMessageLogAMD',
# GL_EXT_debug_label
'glLabelObjectEXT',
'glGetObjectLabelEXT',
# GL_EXT_debug_marker
'glInsertEventMarkerEXT',
'glPushGroupMarkerEXT',
'glPopGroupMarkerEXT',
]
def invokeFunction(self, function):
@ -796,8 +773,7 @@ class GlTracer(Tracer):
Tracer.doInvokeFunction(self, function, prefix = 'gltrace::_', suffix = '_override')
return
# We implement GL_EXT_debug_marker, GL_GREMEDY_*, etc., and not the
# driver
# We implement GL_GREMEDY_*, etc., and not the driver
if function.name in self.marker_functions:
return
@ -1064,7 +1040,7 @@ class GlTracer(Tracer):
print
print ' vertex_attrib _vertex_attrib = _get_vertex_attrib();'
print
for suffix in ['', 'ARB', 'NV']:
for suffix in ['', 'NV']:
if suffix:
SUFFIX = '_' + suffix
else:

View file

@ -41,13 +41,12 @@ static std::map<void *, void *> g_WrappedObjects;
enum vertex_attrib {
VERTEX_ATTRIB,
VERTEX_ATTRIB_ARB,
VERTEX_ATTRIB_NV,
};
static vertex_attrib _get_vertex_attrib(void) {
gltrace::Context *ctx = gltrace::getContext();
if (ctx->user_arrays_arb || ctx->user_arrays_nv) {
if (ctx->user_arrays_nv) {
GLboolean _vertex_program = GL_FALSE;
_glGetBooleanv(GL_VERTEX_PROGRAM_ARB, &_vertex_program);
if (_vertex_program) {
@ -57,7 +56,6 @@ static vertex_attrib _get_vertex_attrib(void) {
return VERTEX_ATTRIB_NV;
}
}
return VERTEX_ATTRIB_ARB;
}
}
return VERTEX_ATTRIB;
@ -85,38 +83,34 @@ static inline bool _need_user_arrays(void)
return false;
}
enum gltrace::Profile profile = ctx->profile;
// glSecondaryColorPointer
if (ctx->profile == gltrace::PROFILE_COMPAT) {
if (_glIsEnabled(GL_SECONDARY_COLOR_ARRAY)) {
GLint _binding = _glGetInteger(GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING);
if (!_binding) {
return true;
}
if (profile == gltrace::PROFILE_COMPAT) {
if (_glIsEnabled(GL_SECONDARY_COLOR_ARRAY) &&
_glGetInteger(GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING) == 0) {
return true;
}
}
// glFogCoordPointer
if (ctx->profile == gltrace::PROFILE_COMPAT) {
if (_glIsEnabled(GL_FOG_COORD_ARRAY)) {
GLint _binding = _glGetInteger(GL_FOG_COORD_ARRAY_BUFFER_BINDING);
if (!_binding) {
return true;
}
if (profile == gltrace::PROFILE_COMPAT) {
if (_glIsEnabled(GL_FOG_COORD_ARRAY) &&
_glGetInteger(GL_FOG_COORD_ARRAY_BUFFER_BINDING) == 0) {
return true;
}
}
// glEdgeFlagPointer
if (ctx->profile == gltrace::PROFILE_COMPAT) {
if (_glIsEnabled(GL_EDGE_FLAG_ARRAY)) {
GLint _binding = _glGetInteger(GL_EDGE_FLAG_ARRAY_BUFFER_BINDING);
if (!_binding) {
return true;
}
if (profile == gltrace::PROFILE_COMPAT) {
if (_glIsEnabled(GL_EDGE_FLAG_ARRAY) &&
_glGetInteger(GL_EDGE_FLAG_ARRAY_BUFFER_BINDING) == 0) {
return true;
}
}
// glTexCoordPointer
if ((ctx->profile == gltrace::PROFILE_COMPAT || ctx->profile == gltrace::PROFILE_ES1)) {
if ((profile == gltrace::PROFILE_COMPAT || profile == gltrace::PROFILE_ES1)) {
GLint client_active_texture = _glGetInteger(GL_CLIENT_ACTIVE_TEXTURE);
GLint max_texture_coords = 0;
if (ctx->profile == gltrace::PROFILE_COMPAT)
@ -126,59 +120,49 @@ static inline bool _need_user_arrays(void)
for (GLint unit = 0; unit < max_texture_coords; ++unit) {
GLint texture = GL_TEXTURE0 + unit;
_glClientActiveTexture(texture);
if (_glIsEnabled(GL_TEXTURE_COORD_ARRAY)) {
GLint _binding = _glGetInteger(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING);
if (!_binding) {
if (_glIsEnabled(GL_TEXTURE_COORD_ARRAY) &&
_glGetInteger(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) == 0) {
_glClientActiveTexture(client_active_texture);
return true;
}
return true;
}
}
_glClientActiveTexture(client_active_texture);
}
// glIndexPointer
if (ctx->profile == gltrace::PROFILE_COMPAT) {
if (_glIsEnabled(GL_INDEX_ARRAY)) {
GLint _binding = _glGetInteger(GL_INDEX_ARRAY_BUFFER_BINDING);
if (!_binding) {
return true;
}
if (profile == gltrace::PROFILE_COMPAT) {
if (_glIsEnabled(GL_INDEX_ARRAY) &&
_glGetInteger(GL_INDEX_ARRAY_BUFFER_BINDING) == 0) {
return true;
}
}
// glColorPointer
if ((ctx->profile == gltrace::PROFILE_COMPAT || ctx->profile == gltrace::PROFILE_ES1)) {
if (_glIsEnabled(GL_COLOR_ARRAY)) {
GLint _binding = _glGetInteger(GL_COLOR_ARRAY_BUFFER_BINDING);
if (!_binding) {
return true;
}
if ((profile == gltrace::PROFILE_COMPAT || profile == gltrace::PROFILE_ES1)) {
if (_glIsEnabled(GL_COLOR_ARRAY) &&
_glGetInteger(GL_COLOR_ARRAY_BUFFER_BINDING) == 0) {
return true;
}
}
// glNormalPointer
if ((ctx->profile == gltrace::PROFILE_COMPAT || ctx->profile == gltrace::PROFILE_ES1)) {
if (_glIsEnabled(GL_NORMAL_ARRAY)) {
GLint _binding = _glGetInteger(GL_NORMAL_ARRAY_BUFFER_BINDING);
if (!_binding) {
return true;
}
if ((profile == gltrace::PROFILE_COMPAT || profile == gltrace::PROFILE_ES1)) {
if (_glIsEnabled(GL_NORMAL_ARRAY) &&
_glGetInteger(GL_NORMAL_ARRAY_BUFFER_BINDING) == 0) {
return true;
}
}
// glVertexPointer
if ((ctx->profile == gltrace::PROFILE_COMPAT || ctx->profile == gltrace::PROFILE_ES1)) {
if (_glIsEnabled(GL_VERTEX_ARRAY)) {
GLint _binding = _glGetInteger(GL_VERTEX_ARRAY_BUFFER_BINDING);
if (!_binding) {
return true;
}
if ((profile == gltrace::PROFILE_COMPAT || profile == gltrace::PROFILE_ES1)) {
if (_glIsEnabled(GL_VERTEX_ARRAY) &&
_glGetInteger(GL_VERTEX_ARRAY_BUFFER_BINDING) == 0) {
return true;
}
}
// ES1 does not support generic vertex attributes
if (ctx->profile == gltrace::PROFILE_ES1)
if (profile == gltrace::PROFILE_ES1)
return false;
vertex_attrib _vertex_attrib = _get_vertex_attrib();
@ -187,30 +171,9 @@ static inline bool _need_user_arrays(void)
if (_vertex_attrib == VERTEX_ATTRIB) {
GLint _max_vertex_attribs = _glGetInteger(GL_MAX_VERTEX_ATTRIBS);
for (GLint index = 0; index < _max_vertex_attribs; ++index) {
GLint _enabled = 0;
_glGetVertexAttribiv(index, GL_VERTEX_ATTRIB_ARRAY_ENABLED, &_enabled);
if (_enabled) {
GLint _binding = 0;
_glGetVertexAttribiv(index, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, &_binding);
if (!_binding) {
return true;
}
}
}
}
// glVertexAttribPointerARB
if (_vertex_attrib == VERTEX_ATTRIB_ARB) {
GLint _max_vertex_attribs = _glGetInteger(GL_MAX_VERTEX_ATTRIBS_ARB);
for (GLint index = 0; index < _max_vertex_attribs; ++index) {
GLint _enabled = 0;
_glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB, &_enabled);
if (_enabled) {
GLint _binding = 0;
_glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB, &_binding);
if (!_binding) {
return true;
}
if (_glGetVertexAttribi(index, GL_VERTEX_ATTRIB_ARRAY_ENABLED) &&
_glGetVertexAttribi(index, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) == 0) {
return true;
}
}
}
@ -218,8 +181,7 @@ static inline bool _need_user_arrays(void)
// glVertexAttribPointerNV
if (_vertex_attrib == VERTEX_ATTRIB_NV) {
for (GLint index = 0; index < 16; ++index) {
GLboolean _enabled = _glIsEnabled(GL_VERTEX_ATTRIB_ARRAY0_NV);
if (_enabled) {
if (_glIsEnabled(GL_VERTEX_ATTRIB_ARRAY0_NV + index)) {
return true;
}
}
@ -470,6 +432,9 @@ is_symbolic_pname(GLenum pname) {
case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV:
case GL_BUFFER_ACCESS:
case GL_ACTIVE_STENCIL_FACE_EXT:
case GL_CLAMP_VERTEX_COLOR:
case GL_CLAMP_FRAGMENT_COLOR:
case GL_CLAMP_READ_COLOR:
case GL_ELEMENT_ARRAY_TYPE_APPLE:
case GL_UNIFORM_TYPE:
case GL_TEXTURE_SRGB_DECODE_EXT:
@ -6535,10 +6500,11 @@ static const trace::BitmaskSig _bitmaskint15_sig = {
static const trace::BitmaskFlag _bitmaskint16_flags[] = {
{"GLX_CONTEXT_CORE_PROFILE_BIT_ARB", GLX_CONTEXT_CORE_PROFILE_BIT_ARB},
{"GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB", GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB},
{"GLX_CONTEXT_ES_PROFILE_BIT_EXT", GLX_CONTEXT_ES_PROFILE_BIT_EXT},
};
static const trace::BitmaskSig _bitmaskint16_sig = {
15, 2, _bitmaskint16_flags
15, 3, _bitmaskint16_flags
};
#endif // REGAL_SYS_GLX
@ -6907,10 +6873,11 @@ static const trace::BitmaskSig _bitmaskint46_sig = {
static const trace::BitmaskFlag _bitmaskint47_flags[] = {
{"WGL_CONTEXT_CORE_PROFILE_BIT_ARB", WGL_CONTEXT_CORE_PROFILE_BIT_ARB},
{"WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB", WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB},
{"WGL_CONTEXT_ES_PROFILE_BIT_EXT", WGL_CONTEXT_ES_PROFILE_BIT_EXT},
};
static const trace::BitmaskSig _bitmaskint47_sig = {
25, 2, _bitmaskint47_flags
25, 3, _bitmaskint47_flags
};
static const char * _structRECT_members[4] = {
@ -46234,7 +46201,6 @@ void glVertexAttribPointerARB( GLuint index, GLint size, GLenum type, GLboolean
if (!_array_buffer) {
gltrace::Context *ctx = gltrace::getContext();
ctx->user_arrays = true;
ctx->user_arrays_arb = true;
_glVertexAttribPointerARB(index, size, type, normalized, stride, pointer);
static bool _checked = false;
if (!_checked && size == GL_BGRA) {
@ -95666,54 +95632,6 @@ static void _trace_user_arrays(GLuint count)
}
}
// void APIENTRY glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer)
if (_vertex_attrib == VERTEX_ATTRIB_ARB) {
GLint _max_vertex_attribs = _glGetInteger(GL_MAX_VERTEX_ATTRIBS);
for (GLint index = 0; index < _max_vertex_attribs; ++index) {
GLint _enabled = 0;
_glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB, &_enabled);
if (_enabled) {
GLint _binding = 0;
_glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB, &_binding);
if (!_binding) {
GLint size = 0;
_glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB, &size);
GLint type = 0;
_glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB, &type);
GLint normalized = 0;
_glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB, &normalized);
GLint stride = 0;
_glGetVertexAttribivARB(index, GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB, &stride);
GLvoid * pointer = 0;
_glGetVertexAttribPointervARB(index, GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB, &pointer);
size_t _size = _glVertexAttribPointerARB_size(size, type, normalized, stride, count);
unsigned _call = trace::localWriter.beginEnter(&_glVertexAttribPointerARB_sig, true);
trace::localWriter.beginArg(0);
trace::localWriter.writeUInt(index);
trace::localWriter.endArg();
trace::localWriter.beginArg(1);
trace::localWriter.writeEnum(&_enumGLint2_sig, size);
trace::localWriter.endArg();
trace::localWriter.beginArg(2);
trace::localWriter.writeEnum(&_enumGLenum_sig, type);
trace::localWriter.endArg();
trace::localWriter.beginArg(3);
trace::localWriter.writeEnum(&_enumGLboolean_sig, normalized);
trace::localWriter.endArg();
trace::localWriter.beginArg(4);
trace::localWriter.writeSInt(stride);
trace::localWriter.endArg();
trace::localWriter.beginArg(5);
trace::localWriter.writeBlob((const void *)pointer, _size);
trace::localWriter.endArg();
trace::localWriter.endEnter();
trace::localWriter.beginLeave(_call);
trace::localWriter.endLeave();
}
}
}
}
// void APIENTRY glVertexAttribPointerNV(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer)
if (_vertex_attrib == VERTEX_ATTRIB_NV) {
GLint _max_vertex_attribs = 16;

View file

@ -39,6 +39,8 @@ def getWrapperInterfaceName(interface):
return "Wrap" + interface.expr
debug = False
class ComplexValueSerializer(stdapi.OnceVisitor):
'''Type visitors which generates serialization functions for
@ -697,7 +699,6 @@ class Tracer:
for method in interface.iterMethods():
print " " + method.prototype() + ";"
print
#print "private:"
for type, name, value in self.enumWrapperInterfaceVariables(interface):
print ' %s %s;' % (type, name)
for i in range(64):
@ -737,12 +738,14 @@ class Tracer:
print r' assert(pWrapper->m_pInstance == pInstance);'
print r' if (pWrapper->m_pVtbl == *(void **)pInstance &&'
print r' pWrapper->m_NumMethods >= %s) {' % len(list(interface.iterBaseMethods()))
#print r' os::log("%s: fetched pvObj=%p pWrapper=%p pVtbl=%p\n", functionName, pInstance, pWrapper, pWrapper->m_pVtbl);'
if debug:
print r' os::log("%s: fetched pvObj=%p pWrapper=%p pVtbl=%p\n", functionName, pInstance, pWrapper, pWrapper->m_pVtbl);'
print r' return pWrapper;'
print r' }'
print r' }'
print r' Wrap%s *pWrapper = new Wrap%s(pInstance);' % (interface.name, interface.name)
#print r' os::log("%%s: created %s pvObj=%%p pWrapper=%%p pVtbl=%%p\n", functionName, pInstance, pWrapper, pWrapper->m_pVtbl);' % interface.name
if debug:
print r' os::log("%%s: created %s pvObj=%%p pWrapper=%%p pVtbl=%%p\n", functionName, pInstance, pWrapper, pWrapper->m_pVtbl);' % interface.name
print r' g_WrappedObjects[pInstance] = pWrapper;'
print r' return pWrapper;'
print '}'
@ -750,7 +753,8 @@ class Tracer:
# Destructor
print '%s::~%s() {' % (getWrapperInterfaceName(interface), getWrapperInterfaceName(interface))
#print r' os::log("%s::Release: deleted pvObj=%%p pWrapper=%%p pVtbl=%%p\n", m_pInstance, this, m_pVtbl);' % interface.name
if debug:
print r' os::log("%s::Release: deleted pvObj=%%p pWrapper=%%p pVtbl=%%p\n", m_pInstance, this, m_pVtbl);' % interface.name
print r' g_WrappedObjects.erase(m_pInstance);'
print '}'
print

File diff suppressed because it is too large Load diff

View file

@ -211,8 +211,8 @@ typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
#define GLX_PBUFFER_BIT 0x00000004
#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
#define GLX_AUX_BUFFERS_BIT 0x00000010
#define GLX_DEPTH_BUFFER_BIT 0x00000020
#define GLX_CONFIG_CAVEAT 0x20
#define GLX_DEPTH_BUFFER_BIT 0x00000020
#define GLX_X_VISUAL_TYPE 0x22
#define GLX_TRANSPARENT_TYPE 0x23
#define GLX_TRANSPARENT_INDEX_VALUE 0x24
@ -387,6 +387,15 @@ typedef Bool ( * PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext ctx);
#endif /* GLX_AMD_gpu_association */
/* --------------------- GLX_ARB_context_flush_control --------------------- */
#ifndef GLX_ARB_context_flush_control
#define GLX_ARB_context_flush_control 1
#define GLXEW_ARB_context_flush_control GLXEW_GET_VAR(__GLXEW_ARB_context_flush_control)
#endif /* GLX_ARB_context_flush_control */
/* ------------------------- GLX_ARB_create_context ------------------------ */
#ifndef GLX_ARB_create_context
@ -921,6 +930,21 @@ typedef int ( * PFNGLXSWAPINTERVALMESAPROC) (unsigned int interval);
#endif /* GLX_MESA_swap_control */
/* --------------------------- GLX_NV_copy_buffer -------------------------- */
#ifndef GLX_NV_copy_buffer
#define GLX_NV_copy_buffer 1
typedef void ( * PFNGLXCOPYBUFFERSUBDATANVPROC) (Display* dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
typedef void ( * PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC) (Display* dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
#define glXCopyBufferSubDataNV GLXEW_GET_FUN(__glewXCopyBufferSubDataNV)
#define glXNamedCopyBufferSubDataNV GLXEW_GET_FUN(__glewXNamedCopyBufferSubDataNV)
#define GLXEW_NV_copy_buffer GLXEW_GET_VAR(__GLXEW_NV_copy_buffer)
#endif /* GLX_NV_copy_buffer */
/* --------------------------- GLX_NV_copy_image --------------------------- */
#ifndef GLX_NV_copy_image
@ -1544,6 +1568,9 @@ GLXEW_FUN_EXPORT PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
GLXEW_FUN_EXPORT PFNGLXGETSWAPINTERVALMESAPROC __glewXGetSwapIntervalMESA;
GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALMESAPROC __glewXSwapIntervalMESA;
GLXEW_FUN_EXPORT PFNGLXCOPYBUFFERSUBDATANVPROC __glewXCopyBufferSubDataNV;
GLXEW_FUN_EXPORT PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC __glewXNamedCopyBufferSubDataNV;
GLXEW_FUN_EXPORT PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV;
GLXEW_FUN_EXPORT PFNGLXDELAYBEFORESWAPNVPROC __glewXDelayBeforeSwapNV;
@ -1640,6 +1667,7 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_3;
GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_4;
GLXEW_VAR_EXPORT GLboolean __GLXEW_3DFX_multisample;
GLXEW_VAR_EXPORT GLboolean __GLXEW_AMD_gpu_association;
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_context_flush_control;
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context;
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_profile;
GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_robustness;
@ -1673,6 +1701,7 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_query_renderer;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_release_buffers;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_swap_control;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_buffer;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_image;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_delay_before_swap;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_float_buffer;

View file

@ -183,6 +183,15 @@ typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, in
#endif /* WGL_ARB_buffer_region */
/* --------------------- WGL_ARB_context_flush_control --------------------- */
#ifndef WGL_ARB_context_flush_control
#define WGL_ARB_context_flush_control 1
#define WGLEW_ARB_context_flush_control WGLEW_GET_VAR(__WGLEW_ARB_context_flush_control)
#endif /* WGL_ARB_context_flush_control */
/* ------------------------- WGL_ARB_create_context ------------------------ */
#ifndef WGL_ARB_create_context
@ -1350,6 +1359,7 @@ WGLEW_VAR_EXPORT GLboolean __WGLEW_3DFX_multisample;
WGLEW_VAR_EXPORT GLboolean __WGLEW_3DL_stereo_control;
WGLEW_VAR_EXPORT GLboolean __WGLEW_AMD_gpu_association;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_buffer_region;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_context_flush_control;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_profile;
WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_robustness;

File diff suppressed because it is too large Load diff

View file

@ -549,6 +549,15 @@ static void _glewInfo_GL_VERSION_4_4 (void)
#endif /* GL_VERSION_4_4 */
#ifdef GL_VERSION_4_5
static void _glewInfo_GL_VERSION_4_5 (void)
{
glewPrintExt("GL_VERSION_4_5", GLEW_VERSION_4_5, GLEW_VERSION_4_5, GLEW_VERSION_4_5);
}
#endif /* GL_VERSION_4_5 */
#ifdef GL_3DFX_multisample
static void _glewInfo_GL_3DFX_multisample (void)
@ -1213,6 +1222,17 @@ static void _glewInfo_GL_ARB_ES2_compatibility (void)
#endif /* GL_ARB_ES2_compatibility */
#ifdef GL_ARB_ES3_1_compatibility
static void _glewInfo_GL_ARB_ES3_1_compatibility (void)
{
glewPrintExt("GL_ARB_ES3_1_compatibility", GLEW_ARB_ES3_1_compatibility, glewIsSupported("GL_ARB_ES3_1_compatibility"), glewGetExtension("GL_ARB_ES3_1_compatibility"));
glewInfoFunc("glMemoryBarrierByRegion", glMemoryBarrierByRegion == NULL);
}
#endif /* GL_ARB_ES3_1_compatibility */
#ifdef GL_ARB_ES3_compatibility
static void _glewInfo_GL_ARB_ES3_compatibility (void)
@ -1331,6 +1351,17 @@ static void _glewInfo_GL_ARB_clear_texture (void)
#endif /* GL_ARB_clear_texture */
#ifdef GL_ARB_clip_control
static void _glewInfo_GL_ARB_clip_control (void)
{
glewPrintExt("GL_ARB_clip_control", GLEW_ARB_clip_control, glewIsSupported("GL_ARB_clip_control"), glewGetExtension("GL_ARB_clip_control"));
glewInfoFunc("glClipControl", glClipControl == NULL);
}
#endif /* GL_ARB_clip_control */
#ifdef GL_ARB_color_buffer_float
static void _glewInfo_GL_ARB_color_buffer_float (void)
@ -1383,6 +1414,15 @@ static void _glewInfo_GL_ARB_compute_variable_group_size (void)
#endif /* GL_ARB_compute_variable_group_size */
#ifdef GL_ARB_conditional_render_inverted
static void _glewInfo_GL_ARB_conditional_render_inverted (void)
{
glewPrintExt("GL_ARB_conditional_render_inverted", GLEW_ARB_conditional_render_inverted, glewIsSupported("GL_ARB_conditional_render_inverted"), glewGetExtension("GL_ARB_conditional_render_inverted"));
}
#endif /* GL_ARB_conditional_render_inverted */
#ifdef GL_ARB_conservative_depth
static void _glewInfo_GL_ARB_conservative_depth (void)
@ -1414,6 +1454,15 @@ static void _glewInfo_GL_ARB_copy_image (void)
#endif /* GL_ARB_copy_image */
#ifdef GL_ARB_cull_distance
static void _glewInfo_GL_ARB_cull_distance (void)
{
glewPrintExt("GL_ARB_cull_distance", GLEW_ARB_cull_distance, glewIsSupported("GL_ARB_cull_distance"), glewGetExtension("GL_ARB_cull_distance"));
}
#endif /* GL_ARB_cull_distance */
#ifdef GL_ARB_debug_output
static void _glewInfo_GL_ARB_debug_output (void)
@ -1455,6 +1504,118 @@ static void _glewInfo_GL_ARB_depth_texture (void)
#endif /* GL_ARB_depth_texture */
#ifdef GL_ARB_derivative_control
static void _glewInfo_GL_ARB_derivative_control (void)
{
glewPrintExt("GL_ARB_derivative_control", GLEW_ARB_derivative_control, glewIsSupported("GL_ARB_derivative_control"), glewGetExtension("GL_ARB_derivative_control"));
}
#endif /* GL_ARB_derivative_control */
#ifdef GL_ARB_direct_state_access
static void _glewInfo_GL_ARB_direct_state_access (void)
{
glewPrintExt("GL_ARB_direct_state_access", GLEW_ARB_direct_state_access, glewIsSupported("GL_ARB_direct_state_access"), glewGetExtension("GL_ARB_direct_state_access"));
glewInfoFunc("glBindTextureUnit", glBindTextureUnit == NULL);
glewInfoFunc("glBlitNamedFramebuffer", glBlitNamedFramebuffer == NULL);
glewInfoFunc("glCheckNamedFramebufferStatus", glCheckNamedFramebufferStatus == NULL);
glewInfoFunc("glClearNamedBufferData", glClearNamedBufferData == NULL);
glewInfoFunc("glClearNamedBufferSubData", glClearNamedBufferSubData == NULL);
glewInfoFunc("glClearNamedFramebufferfi", glClearNamedFramebufferfi == NULL);
glewInfoFunc("glClearNamedFramebufferfv", glClearNamedFramebufferfv == NULL);
glewInfoFunc("glClearNamedFramebufferiv", glClearNamedFramebufferiv == NULL);
glewInfoFunc("glClearNamedFramebufferuiv", glClearNamedFramebufferuiv == NULL);
glewInfoFunc("glCompressedTextureSubImage1D", glCompressedTextureSubImage1D == NULL);
glewInfoFunc("glCompressedTextureSubImage2D", glCompressedTextureSubImage2D == NULL);
glewInfoFunc("glCompressedTextureSubImage3D", glCompressedTextureSubImage3D == NULL);
glewInfoFunc("glCopyNamedBufferSubData", glCopyNamedBufferSubData == NULL);
glewInfoFunc("glCopyTextureSubImage1D", glCopyTextureSubImage1D == NULL);
glewInfoFunc("glCopyTextureSubImage2D", glCopyTextureSubImage2D == NULL);
glewInfoFunc("glCopyTextureSubImage3D", glCopyTextureSubImage3D == NULL);
glewInfoFunc("glCreateBuffers", glCreateBuffers == NULL);
glewInfoFunc("glCreateFramebuffers", glCreateFramebuffers == NULL);
glewInfoFunc("glCreateProgramPipelines", glCreateProgramPipelines == NULL);
glewInfoFunc("glCreateQueries", glCreateQueries == NULL);
glewInfoFunc("glCreateRenderbuffers", glCreateRenderbuffers == NULL);
glewInfoFunc("glCreateSamplers", glCreateSamplers == NULL);
glewInfoFunc("glCreateTextures", glCreateTextures == NULL);
glewInfoFunc("glCreateTransformFeedbacks", glCreateTransformFeedbacks == NULL);
glewInfoFunc("glCreateVertexArrays", glCreateVertexArrays == NULL);
glewInfoFunc("glDisableVertexArrayAttrib", glDisableVertexArrayAttrib == NULL);
glewInfoFunc("glEnableVertexArrayAttrib", glEnableVertexArrayAttrib == NULL);
glewInfoFunc("glFlushMappedNamedBufferRange", glFlushMappedNamedBufferRange == NULL);
glewInfoFunc("glGenerateTextureMipmap", glGenerateTextureMipmap == NULL);
glewInfoFunc("glGetCompressedTextureImage", glGetCompressedTextureImage == NULL);
glewInfoFunc("glGetNamedBufferParameteri64v", glGetNamedBufferParameteri64v == NULL);
glewInfoFunc("glGetNamedBufferParameteriv", glGetNamedBufferParameteriv == NULL);
glewInfoFunc("glGetNamedBufferPointerv", glGetNamedBufferPointerv == NULL);
glewInfoFunc("glGetNamedBufferSubData", glGetNamedBufferSubData == NULL);
glewInfoFunc("glGetNamedFramebufferAttachmentParameteriv", glGetNamedFramebufferAttachmentParameteriv == NULL);
glewInfoFunc("glGetNamedFramebufferParameteriv", glGetNamedFramebufferParameteriv == NULL);
glewInfoFunc("glGetNamedRenderbufferParameteriv", glGetNamedRenderbufferParameteriv == NULL);
glewInfoFunc("glGetTextureImage", glGetTextureImage == NULL);
glewInfoFunc("glGetTextureLevelParameterfv", glGetTextureLevelParameterfv == NULL);
glewInfoFunc("glGetTextureLevelParameteriv", glGetTextureLevelParameteriv == NULL);
glewInfoFunc("glGetTextureParameterIiv", glGetTextureParameterIiv == NULL);
glewInfoFunc("glGetTextureParameterIuiv", glGetTextureParameterIuiv == NULL);
glewInfoFunc("glGetTextureParameterfv", glGetTextureParameterfv == NULL);
glewInfoFunc("glGetTextureParameteriv", glGetTextureParameteriv == NULL);
glewInfoFunc("glGetTransformFeedbacki64_v", glGetTransformFeedbacki64_v == NULL);
glewInfoFunc("glGetTransformFeedbacki_v", glGetTransformFeedbacki_v == NULL);
glewInfoFunc("glGetTransformFeedbackiv", glGetTransformFeedbackiv == NULL);
glewInfoFunc("glGetVertexArrayIndexed64iv", glGetVertexArrayIndexed64iv == NULL);
glewInfoFunc("glGetVertexArrayIndexediv", glGetVertexArrayIndexediv == NULL);
glewInfoFunc("glGetVertexArrayiv", glGetVertexArrayiv == NULL);
glewInfoFunc("glInvalidateNamedFramebufferData", glInvalidateNamedFramebufferData == NULL);
glewInfoFunc("glInvalidateNamedFramebufferSubData", glInvalidateNamedFramebufferSubData == NULL);
glewInfoFunc("glMapNamedBuffer", glMapNamedBuffer == NULL);
glewInfoFunc("glMapNamedBufferRange", glMapNamedBufferRange == NULL);
glewInfoFunc("glNamedBufferData", glNamedBufferData == NULL);
glewInfoFunc("glNamedBufferStorage", glNamedBufferStorage == NULL);
glewInfoFunc("glNamedBufferSubData", glNamedBufferSubData == NULL);
glewInfoFunc("glNamedFramebufferDrawBuffer", glNamedFramebufferDrawBuffer == NULL);
glewInfoFunc("glNamedFramebufferDrawBuffers", glNamedFramebufferDrawBuffers == NULL);
glewInfoFunc("glNamedFramebufferParameteri", glNamedFramebufferParameteri == NULL);
glewInfoFunc("glNamedFramebufferReadBuffer", glNamedFramebufferReadBuffer == NULL);
glewInfoFunc("glNamedFramebufferRenderbuffer", glNamedFramebufferRenderbuffer == NULL);
glewInfoFunc("glNamedFramebufferTexture", glNamedFramebufferTexture == NULL);
glewInfoFunc("glNamedFramebufferTextureLayer", glNamedFramebufferTextureLayer == NULL);
glewInfoFunc("glNamedRenderbufferStorage", glNamedRenderbufferStorage == NULL);
glewInfoFunc("glNamedRenderbufferStorageMultisample", glNamedRenderbufferStorageMultisample == NULL);
glewInfoFunc("glTextureBuffer", glTextureBuffer == NULL);
glewInfoFunc("glTextureBufferRange", glTextureBufferRange == NULL);
glewInfoFunc("glTextureParameterIiv", glTextureParameterIiv == NULL);
glewInfoFunc("glTextureParameterIuiv", glTextureParameterIuiv == NULL);
glewInfoFunc("glTextureParameterf", glTextureParameterf == NULL);
glewInfoFunc("glTextureParameterfv", glTextureParameterfv == NULL);
glewInfoFunc("glTextureParameteri", glTextureParameteri == NULL);
glewInfoFunc("glTextureParameteriv", glTextureParameteriv == NULL);
glewInfoFunc("glTextureStorage1D", glTextureStorage1D == NULL);
glewInfoFunc("glTextureStorage2D", glTextureStorage2D == NULL);
glewInfoFunc("glTextureStorage2DMultisample", glTextureStorage2DMultisample == NULL);
glewInfoFunc("glTextureStorage3D", glTextureStorage3D == NULL);
glewInfoFunc("glTextureStorage3DMultisample", glTextureStorage3DMultisample == NULL);
glewInfoFunc("glTextureSubImage1D", glTextureSubImage1D == NULL);
glewInfoFunc("glTextureSubImage2D", glTextureSubImage2D == NULL);
glewInfoFunc("glTextureSubImage3D", glTextureSubImage3D == NULL);
glewInfoFunc("glTransformFeedbackBufferBase", glTransformFeedbackBufferBase == NULL);
glewInfoFunc("glTransformFeedbackBufferRange", glTransformFeedbackBufferRange == NULL);
glewInfoFunc("glUnmapNamedBuffer", glUnmapNamedBuffer == NULL);
glewInfoFunc("glVertexArrayAttribBinding", glVertexArrayAttribBinding == NULL);
glewInfoFunc("glVertexArrayAttribFormat", glVertexArrayAttribFormat == NULL);
glewInfoFunc("glVertexArrayAttribIFormat", glVertexArrayAttribIFormat == NULL);
glewInfoFunc("glVertexArrayAttribLFormat", glVertexArrayAttribLFormat == NULL);
glewInfoFunc("glVertexArrayBindingDivisor", glVertexArrayBindingDivisor == NULL);
glewInfoFunc("glVertexArrayElementBuffer", glVertexArrayElementBuffer == NULL);
glewInfoFunc("glVertexArrayVertexBuffer", glVertexArrayVertexBuffer == NULL);
glewInfoFunc("glVertexArrayVertexBuffers", glVertexArrayVertexBuffers == NULL);
}
#endif /* GL_ARB_direct_state_access */
#ifdef GL_ARB_draw_buffers
static void _glewInfo_GL_ARB_draw_buffers (void)
@ -1667,6 +1828,18 @@ static void _glewInfo_GL_ARB_get_program_binary (void)
#endif /* GL_ARB_get_program_binary */
#ifdef GL_ARB_get_texture_sub_image
static void _glewInfo_GL_ARB_get_texture_sub_image (void)
{
glewPrintExt("GL_ARB_get_texture_sub_image", GLEW_ARB_get_texture_sub_image, glewIsSupported("GL_ARB_get_texture_sub_image"), glewGetExtension("GL_ARB_get_texture_sub_image"));
glewInfoFunc("glGetCompressedTextureSubImage", glGetCompressedTextureSubImage == NULL);
glewInfoFunc("glGetTextureSubImage", glGetTextureSubImage == NULL);
}
#endif /* GL_ARB_get_texture_sub_image */
#ifdef GL_ARB_gpu_shader5
static void _glewInfo_GL_ARB_gpu_shader5 (void)
@ -1974,6 +2147,15 @@ static void _glewInfo_GL_ARB_occlusion_query2 (void)
#endif /* GL_ARB_occlusion_query2 */
#ifdef GL_ARB_pipeline_statistics_query
static void _glewInfo_GL_ARB_pipeline_statistics_query (void)
{
glewPrintExt("GL_ARB_pipeline_statistics_query", GLEW_ARB_pipeline_statistics_query, glewIsSupported("GL_ARB_pipeline_statistics_query"), glewGetExtension("GL_ARB_pipeline_statistics_query"));
}
#endif /* GL_ARB_pipeline_statistics_query */
#ifdef GL_ARB_pixel_buffer_object
static void _glewInfo_GL_ARB_pixel_buffer_object (void)
@ -2375,6 +2557,15 @@ static void _glewInfo_GL_ARB_shader_subroutine (void)
#endif /* GL_ARB_shader_subroutine */
#ifdef GL_ARB_shader_texture_image_samples
static void _glewInfo_GL_ARB_shader_texture_image_samples (void)
{
glewPrintExt("GL_ARB_shader_texture_image_samples", GLEW_ARB_shader_texture_image_samples, glewIsSupported("GL_ARB_shader_texture_image_samples"), glewGetExtension("GL_ARB_shader_texture_image_samples"));
}
#endif /* GL_ARB_shader_texture_image_samples */
#ifdef GL_ARB_shader_texture_lod
static void _glewInfo_GL_ARB_shader_texture_lod (void)
@ -2445,6 +2636,17 @@ static void _glewInfo_GL_ARB_shadow_ambient (void)
#endif /* GL_ARB_shadow_ambient */
#ifdef GL_ARB_sparse_buffer
static void _glewInfo_GL_ARB_sparse_buffer (void)
{
glewPrintExt("GL_ARB_sparse_buffer", GLEW_ARB_sparse_buffer, glewIsSupported("GL_ARB_sparse_buffer"), glewGetExtension("GL_ARB_sparse_buffer"));
glewInfoFunc("glBufferPageCommitmentARB", glBufferPageCommitmentARB == NULL);
}
#endif /* GL_ARB_sparse_buffer */
#ifdef GL_ARB_sparse_texture
static void _glewInfo_GL_ARB_sparse_texture (void)
@ -2495,6 +2697,17 @@ static void _glewInfo_GL_ARB_tessellation_shader (void)
#endif /* GL_ARB_tessellation_shader */
#ifdef GL_ARB_texture_barrier
static void _glewInfo_GL_ARB_texture_barrier (void)
{
glewPrintExt("GL_ARB_texture_barrier", GLEW_ARB_texture_barrier, glewIsSupported("GL_ARB_texture_barrier"), glewGetExtension("GL_ARB_texture_barrier"));
glewInfoFunc("glTextureBarrier", glTextureBarrier == NULL);
}
#endif /* GL_ARB_texture_barrier */
#ifdef GL_ARB_texture_border_clamp
static void _glewInfo_GL_ARB_texture_border_clamp (void)
@ -2844,6 +3057,15 @@ static void _glewInfo_GL_ARB_transform_feedback_instanced (void)
#endif /* GL_ARB_transform_feedback_instanced */
#ifdef GL_ARB_transform_feedback_overflow_query
static void _glewInfo_GL_ARB_transform_feedback_overflow_query (void)
{
glewPrintExt("GL_ARB_transform_feedback_overflow_query", GLEW_ARB_transform_feedback_overflow_query, glewIsSupported("GL_ARB_transform_feedback_overflow_query"), glewGetExtension("GL_ARB_transform_feedback_overflow_query"));
}
#endif /* GL_ARB_transform_feedback_overflow_query */
#ifdef GL_ARB_transpose_matrix
static void _glewInfo_GL_ARB_transpose_matrix (void)
@ -5153,6 +5375,35 @@ static void _glewInfo_GL_INTEL_texture_scissor (void)
#endif /* GL_INTEL_texture_scissor */
#ifdef GL_KHR_blend_equation_advanced
static void _glewInfo_GL_KHR_blend_equation_advanced (void)
{
glewPrintExt("GL_KHR_blend_equation_advanced", GLEW_KHR_blend_equation_advanced, glewIsSupported("GL_KHR_blend_equation_advanced"), glewGetExtension("GL_KHR_blend_equation_advanced"));
glewInfoFunc("glBlendBarrierKHR", glBlendBarrierKHR == NULL);
}
#endif /* GL_KHR_blend_equation_advanced */
#ifdef GL_KHR_blend_equation_advanced_coherent
static void _glewInfo_GL_KHR_blend_equation_advanced_coherent (void)
{
glewPrintExt("GL_KHR_blend_equation_advanced_coherent", GLEW_KHR_blend_equation_advanced_coherent, glewIsSupported("GL_KHR_blend_equation_advanced_coherent"), glewGetExtension("GL_KHR_blend_equation_advanced_coherent"));
}
#endif /* GL_KHR_blend_equation_advanced_coherent */
#ifdef GL_KHR_context_flush_control
static void _glewInfo_GL_KHR_context_flush_control (void)
{
glewPrintExt("GL_KHR_context_flush_control", GLEW_KHR_context_flush_control, glewIsSupported("GL_KHR_context_flush_control"), glewGetExtension("GL_KHR_context_flush_control"));
}
#endif /* GL_KHR_context_flush_control */
#ifdef GL_KHR_debug
static void _glewInfo_GL_KHR_debug (void)
@ -5173,6 +5424,29 @@ static void _glewInfo_GL_KHR_debug (void)
#endif /* GL_KHR_debug */
#ifdef GL_KHR_robust_buffer_access_behavior
static void _glewInfo_GL_KHR_robust_buffer_access_behavior (void)
{
glewPrintExt("GL_KHR_robust_buffer_access_behavior", GLEW_KHR_robust_buffer_access_behavior, glewIsSupported("GL_KHR_robust_buffer_access_behavior"), glewGetExtension("GL_KHR_robust_buffer_access_behavior"));
}
#endif /* GL_KHR_robust_buffer_access_behavior */
#ifdef GL_KHR_robustness
static void _glewInfo_GL_KHR_robustness (void)
{
glewPrintExt("GL_KHR_robustness", GLEW_KHR_robustness, glewIsSupported("GL_KHR_robustness"), glewGetExtension("GL_KHR_robustness"));
glewInfoFunc("glGetnUniformfv", glGetnUniformfv == NULL);
glewInfoFunc("glGetnUniformiv", glGetnUniformiv == NULL);
glewInfoFunc("glGetnUniformuiv", glGetnUniformuiv == NULL);
glewInfoFunc("glReadnPixels", glReadnPixels == NULL);
}
#endif /* GL_KHR_robustness */
#ifdef GL_KHR_texture_compression_astc_hdr
static void _glewInfo_GL_KHR_texture_compression_astc_hdr (void)
@ -5311,6 +5585,18 @@ static void _glewInfo_GL_NV_bindless_multi_draw_indirect (void)
#endif /* GL_NV_bindless_multi_draw_indirect */
#ifdef GL_NV_bindless_multi_draw_indirect_count
static void _glewInfo_GL_NV_bindless_multi_draw_indirect_count (void)
{
glewPrintExt("GL_NV_bindless_multi_draw_indirect_count", GLEW_NV_bindless_multi_draw_indirect_count, glewIsSupported("GL_NV_bindless_multi_draw_indirect_count"), glewGetExtension("GL_NV_bindless_multi_draw_indirect_count"));
glewInfoFunc("glMultiDrawArraysIndirectBindlessCountNV", glMultiDrawArraysIndirectBindlessCountNV == NULL);
glewInfoFunc("glMultiDrawElementsIndirectBindlessCountNV", glMultiDrawElementsIndirectBindlessCountNV == NULL);
}
#endif /* GL_NV_bindless_multi_draw_indirect_count */
#ifdef GL_NV_bindless_texture
static void _glewInfo_GL_NV_bindless_texture (void)
@ -5985,6 +6271,15 @@ static void _glewInfo_GL_NV_shader_atomic_float (void)
#endif /* GL_NV_shader_atomic_float */
#ifdef GL_NV_shader_atomic_int64
static void _glewInfo_GL_NV_shader_atomic_int64 (void)
{
glewPrintExt("GL_NV_shader_atomic_int64", GLEW_NV_shader_atomic_int64, glewIsSupported("GL_NV_shader_atomic_int64"), glewGetExtension("GL_NV_shader_atomic_int64"));
}
#endif /* GL_NV_shader_atomic_int64 */
#ifdef GL_NV_shader_buffer_load
static void _glewInfo_GL_NV_shader_buffer_load (void)
@ -7374,6 +7669,15 @@ static void _glewInfo_WGL_ARB_buffer_region (void)
#endif /* WGL_ARB_buffer_region */
#ifdef WGL_ARB_context_flush_control
static void _glewInfo_WGL_ARB_context_flush_control (void)
{
glewPrintExt("WGL_ARB_context_flush_control", WGLEW_ARB_context_flush_control, wglewIsSupported("WGL_ARB_context_flush_control"), wglewGetExtension("WGL_ARB_context_flush_control"));
}
#endif /* WGL_ARB_context_flush_control */
#ifdef WGL_ARB_create_context
static void _glewInfo_WGL_ARB_create_context (void)
@ -8025,6 +8329,15 @@ static void _glewInfo_GLX_AMD_gpu_association (void)
#endif /* GLX_AMD_gpu_association */
#ifdef GLX_ARB_context_flush_control
static void _glewInfo_GLX_ARB_context_flush_control (void)
{
glewPrintExt("GLX_ARB_context_flush_control", GLXEW_ARB_context_flush_control, glxewIsSupported("GLX_ARB_context_flush_control"), glxewGetExtension("GLX_ARB_context_flush_control"));
}
#endif /* GLX_ARB_context_flush_control */
#ifdef GLX_ARB_create_context
static void _glewInfo_GLX_ARB_create_context (void)
@ -8356,6 +8669,18 @@ static void _glewInfo_GLX_MESA_swap_control (void)
#endif /* GLX_MESA_swap_control */
#ifdef GLX_NV_copy_buffer
static void _glewInfo_GLX_NV_copy_buffer (void)
{
glewPrintExt("GLX_NV_copy_buffer", GLXEW_NV_copy_buffer, glxewIsSupported("GLX_NV_copy_buffer"), glxewGetExtension("GLX_NV_copy_buffer"));
glewInfoFunc("glXCopyBufferSubDataNV", glXCopyBufferSubDataNV == NULL);
glewInfoFunc("glXNamedCopyBufferSubDataNV", glXNamedCopyBufferSubDataNV == NULL);
}
#endif /* GLX_NV_copy_buffer */
#ifdef GLX_NV_copy_image
static void _glewInfo_GLX_NV_copy_image (void)
@ -8749,6 +9074,9 @@ static void glewInfo (void)
#ifdef GL_VERSION_4_4
_glewInfo_GL_VERSION_4_4();
#endif /* GL_VERSION_4_4 */
#ifdef GL_VERSION_4_5
_glewInfo_GL_VERSION_4_5();
#endif /* GL_VERSION_4_5 */
#ifdef GL_3DFX_multisample
_glewInfo_GL_3DFX_multisample();
#endif /* GL_3DFX_multisample */
@ -8932,6 +9260,9 @@ static void glewInfo (void)
#ifdef GL_ARB_ES2_compatibility
_glewInfo_GL_ARB_ES2_compatibility();
#endif /* GL_ARB_ES2_compatibility */
#ifdef GL_ARB_ES3_1_compatibility
_glewInfo_GL_ARB_ES3_1_compatibility();
#endif /* GL_ARB_ES3_1_compatibility */
#ifdef GL_ARB_ES3_compatibility
_glewInfo_GL_ARB_ES3_compatibility();
#endif /* GL_ARB_ES3_compatibility */
@ -8959,6 +9290,9 @@ static void glewInfo (void)
#ifdef GL_ARB_clear_texture
_glewInfo_GL_ARB_clear_texture();
#endif /* GL_ARB_clear_texture */
#ifdef GL_ARB_clip_control
_glewInfo_GL_ARB_clip_control();
#endif /* GL_ARB_clip_control */
#ifdef GL_ARB_color_buffer_float
_glewInfo_GL_ARB_color_buffer_float();
#endif /* GL_ARB_color_buffer_float */
@ -8974,6 +9308,9 @@ static void glewInfo (void)
#ifdef GL_ARB_compute_variable_group_size
_glewInfo_GL_ARB_compute_variable_group_size();
#endif /* GL_ARB_compute_variable_group_size */
#ifdef GL_ARB_conditional_render_inverted
_glewInfo_GL_ARB_conditional_render_inverted();
#endif /* GL_ARB_conditional_render_inverted */
#ifdef GL_ARB_conservative_depth
_glewInfo_GL_ARB_conservative_depth();
#endif /* GL_ARB_conservative_depth */
@ -8983,6 +9320,9 @@ static void glewInfo (void)
#ifdef GL_ARB_copy_image
_glewInfo_GL_ARB_copy_image();
#endif /* GL_ARB_copy_image */
#ifdef GL_ARB_cull_distance
_glewInfo_GL_ARB_cull_distance();
#endif /* GL_ARB_cull_distance */
#ifdef GL_ARB_debug_output
_glewInfo_GL_ARB_debug_output();
#endif /* GL_ARB_debug_output */
@ -8995,6 +9335,12 @@ static void glewInfo (void)
#ifdef GL_ARB_depth_texture
_glewInfo_GL_ARB_depth_texture();
#endif /* GL_ARB_depth_texture */
#ifdef GL_ARB_derivative_control
_glewInfo_GL_ARB_derivative_control();
#endif /* GL_ARB_derivative_control */
#ifdef GL_ARB_direct_state_access
_glewInfo_GL_ARB_direct_state_access();
#endif /* GL_ARB_direct_state_access */
#ifdef GL_ARB_draw_buffers
_glewInfo_GL_ARB_draw_buffers();
#endif /* GL_ARB_draw_buffers */
@ -9049,6 +9395,9 @@ static void glewInfo (void)
#ifdef GL_ARB_get_program_binary
_glewInfo_GL_ARB_get_program_binary();
#endif /* GL_ARB_get_program_binary */
#ifdef GL_ARB_get_texture_sub_image
_glewInfo_GL_ARB_get_texture_sub_image();
#endif /* GL_ARB_get_texture_sub_image */
#ifdef GL_ARB_gpu_shader5
_glewInfo_GL_ARB_gpu_shader5();
#endif /* GL_ARB_gpu_shader5 */
@ -9106,6 +9455,9 @@ static void glewInfo (void)
#ifdef GL_ARB_occlusion_query2
_glewInfo_GL_ARB_occlusion_query2();
#endif /* GL_ARB_occlusion_query2 */
#ifdef GL_ARB_pipeline_statistics_query
_glewInfo_GL_ARB_pipeline_statistics_query();
#endif /* GL_ARB_pipeline_statistics_query */
#ifdef GL_ARB_pixel_buffer_object
_glewInfo_GL_ARB_pixel_buffer_object();
#endif /* GL_ARB_pixel_buffer_object */
@ -9184,6 +9536,9 @@ static void glewInfo (void)
#ifdef GL_ARB_shader_subroutine
_glewInfo_GL_ARB_shader_subroutine();
#endif /* GL_ARB_shader_subroutine */
#ifdef GL_ARB_shader_texture_image_samples
_glewInfo_GL_ARB_shader_texture_image_samples();
#endif /* GL_ARB_shader_texture_image_samples */
#ifdef GL_ARB_shader_texture_lod
_glewInfo_GL_ARB_shader_texture_lod();
#endif /* GL_ARB_shader_texture_lod */
@ -9205,6 +9560,9 @@ static void glewInfo (void)
#ifdef GL_ARB_shadow_ambient
_glewInfo_GL_ARB_shadow_ambient();
#endif /* GL_ARB_shadow_ambient */
#ifdef GL_ARB_sparse_buffer
_glewInfo_GL_ARB_sparse_buffer();
#endif /* GL_ARB_sparse_buffer */
#ifdef GL_ARB_sparse_texture
_glewInfo_GL_ARB_sparse_texture();
#endif /* GL_ARB_sparse_texture */
@ -9217,6 +9575,9 @@ static void glewInfo (void)
#ifdef GL_ARB_tessellation_shader
_glewInfo_GL_ARB_tessellation_shader();
#endif /* GL_ARB_tessellation_shader */
#ifdef GL_ARB_texture_barrier
_glewInfo_GL_ARB_texture_barrier();
#endif /* GL_ARB_texture_barrier */
#ifdef GL_ARB_texture_border_clamp
_glewInfo_GL_ARB_texture_border_clamp();
#endif /* GL_ARB_texture_border_clamp */
@ -9316,6 +9677,9 @@ static void glewInfo (void)
#ifdef GL_ARB_transform_feedback_instanced
_glewInfo_GL_ARB_transform_feedback_instanced();
#endif /* GL_ARB_transform_feedback_instanced */
#ifdef GL_ARB_transform_feedback_overflow_query
_glewInfo_GL_ARB_transform_feedback_overflow_query();
#endif /* GL_ARB_transform_feedback_overflow_query */
#ifdef GL_ARB_transpose_matrix
_glewInfo_GL_ARB_transpose_matrix();
#endif /* GL_ARB_transpose_matrix */
@ -9787,9 +10151,24 @@ static void glewInfo (void)
#ifdef GL_INTEL_texture_scissor
_glewInfo_GL_INTEL_texture_scissor();
#endif /* GL_INTEL_texture_scissor */
#ifdef GL_KHR_blend_equation_advanced
_glewInfo_GL_KHR_blend_equation_advanced();
#endif /* GL_KHR_blend_equation_advanced */
#ifdef GL_KHR_blend_equation_advanced_coherent
_glewInfo_GL_KHR_blend_equation_advanced_coherent();
#endif /* GL_KHR_blend_equation_advanced_coherent */
#ifdef GL_KHR_context_flush_control
_glewInfo_GL_KHR_context_flush_control();
#endif /* GL_KHR_context_flush_control */
#ifdef GL_KHR_debug
_glewInfo_GL_KHR_debug();
#endif /* GL_KHR_debug */
#ifdef GL_KHR_robust_buffer_access_behavior
_glewInfo_GL_KHR_robust_buffer_access_behavior();
#endif /* GL_KHR_robust_buffer_access_behavior */
#ifdef GL_KHR_robustness
_glewInfo_GL_KHR_robustness();
#endif /* GL_KHR_robustness */
#ifdef GL_KHR_texture_compression_astc_hdr
_glewInfo_GL_KHR_texture_compression_astc_hdr();
#endif /* GL_KHR_texture_compression_astc_hdr */
@ -9823,6 +10202,9 @@ static void glewInfo (void)
#ifdef GL_NV_bindless_multi_draw_indirect
_glewInfo_GL_NV_bindless_multi_draw_indirect();
#endif /* GL_NV_bindless_multi_draw_indirect */
#ifdef GL_NV_bindless_multi_draw_indirect_count
_glewInfo_GL_NV_bindless_multi_draw_indirect_count();
#endif /* GL_NV_bindless_multi_draw_indirect_count */
#ifdef GL_NV_bindless_texture
_glewInfo_GL_NV_bindless_texture();
#endif /* GL_NV_bindless_texture */
@ -9964,6 +10346,9 @@ static void glewInfo (void)
#ifdef GL_NV_shader_atomic_float
_glewInfo_GL_NV_shader_atomic_float();
#endif /* GL_NV_shader_atomic_float */
#ifdef GL_NV_shader_atomic_int64
_glewInfo_GL_NV_shader_atomic_int64();
#endif /* GL_NV_shader_atomic_int64 */
#ifdef GL_NV_shader_buffer_load
_glewInfo_GL_NV_shader_buffer_load();
#endif /* GL_NV_shader_buffer_load */
@ -10308,6 +10693,9 @@ static void wglewInfo ()
#ifdef WGL_ARB_buffer_region
_glewInfo_WGL_ARB_buffer_region();
#endif /* WGL_ARB_buffer_region */
#ifdef WGL_ARB_context_flush_control
_glewInfo_WGL_ARB_context_flush_control();
#endif /* WGL_ARB_context_flush_control */
#ifdef WGL_ARB_create_context
_glewInfo_WGL_ARB_create_context();
#endif /* WGL_ARB_create_context */
@ -10476,6 +10864,9 @@ static void glxewInfo ()
#ifdef GLX_AMD_gpu_association
_glewInfo_GLX_AMD_gpu_association();
#endif /* GLX_AMD_gpu_association */
#ifdef GLX_ARB_context_flush_control
_glewInfo_GLX_ARB_context_flush_control();
#endif /* GLX_ARB_context_flush_control */
#ifdef GLX_ARB_create_context
_glewInfo_GLX_ARB_create_context();
#endif /* GLX_ARB_create_context */
@ -10575,6 +10966,9 @@ static void glxewInfo ()
#ifdef GLX_MESA_swap_control
_glewInfo_GLX_MESA_swap_control();
#endif /* GLX_MESA_swap_control */
#ifdef GLX_NV_copy_buffer
_glewInfo_GLX_NV_copy_buffer();
#endif /* GLX_NV_copy_buffer */
#ifdef GLX_NV_copy_image
_glewInfo_GLX_NV_copy_image();
#endif /* GLX_NV_copy_image */

File diff suppressed because it is too large Load diff

View file

@ -81,6 +81,7 @@ EXPORTS
glBindTexGenParameterEXT
glBindTexture
glBindTextureEXT
glBindTextureUnit
glBindTextureUnitParameterEXT
glBindTextures
glBindTransformFeedback
@ -105,6 +106,7 @@ EXPORTS
glBinormal3svEXT
glBinormalPointerEXT
glBitmap
glBlendBarrierKHR
glBlendBarrierNV
glBlendColor
glBlendColorEXT
@ -136,9 +138,11 @@ EXPORTS
glBlitFramebufferANGLE
glBlitFramebufferEXT
glBlitFramebufferNV
glBlitNamedFramebuffer
glBufferAddressRangeNV
glBufferData
glBufferDataARB
glBufferPageCommitmentARB
glBufferParameteriAPPLE
glBufferRegionEnabled
glBufferStorage
@ -149,6 +153,7 @@ EXPORTS
glCheckFramebufferStatus
glCheckFramebufferStatusEXT
glCheckFramebufferStatusOES
glCheckNamedFramebufferStatus
glCheckNamedFramebufferStatusEXT
glClampColor
glClampColorARB
@ -170,8 +175,14 @@ EXPORTS
glClearDepthfOES
glClearDepthx
glClearIndex
glClearNamedBufferData
glClearNamedBufferDataEXT
glClearNamedBufferSubData
glClearNamedBufferSubDataEXT
glClearNamedFramebufferfi
glClearNamedFramebufferfv
glClearNamedFramebufferiv
glClearNamedFramebufferuiv
glClearStencil
glClearTexImage
glClearTexSubImage
@ -181,6 +192,7 @@ EXPORTS
glClientAttribDefaultEXT
glClientWaitSync
glClientWaitSyncAPPLE
glClipControl
glClipPlane
glClipPlanef
glClipPlanefOES
@ -288,8 +300,11 @@ EXPORTS
glCompressedTextureImage1DEXT
glCompressedTextureImage2DEXT
glCompressedTextureImage3DEXT
glCompressedTextureSubImage1D
glCompressedTextureSubImage1DEXT
glCompressedTextureSubImage2D
glCompressedTextureSubImage2DEXT
glCompressedTextureSubImage3D
glCompressedTextureSubImage3DEXT
glConvolutionFilter1D
glConvolutionFilter1DEXT
@ -320,6 +335,7 @@ EXPORTS
glCopyMultiTexSubImage1DEXT
glCopyMultiTexSubImage2DEXT
glCopyMultiTexSubImage3DEXT
glCopyNamedBufferSubData
glCopyPathNV
glCopyPixels
glCopyTexImage1D
@ -336,8 +352,11 @@ EXPORTS
glCopyTextureImage1DEXT
glCopyTextureImage2DEXT
glCopyTextureLevelsAPPLE
glCopyTextureSubImage1D
glCopyTextureSubImage1DEXT
glCopyTextureSubImage2D
glCopyTextureSubImage2DEXT
glCopyTextureSubImage3D
glCopyTextureSubImage3DEXT
glCoverFillPathInstancedNV
glCoverFillPathNV
@ -345,13 +364,22 @@ EXPORTS
glCoverStrokePathNV
glCoverageMaskNV
glCoverageOperationNV
glCreateBuffers
glCreateFramebuffers
glCreateProgram
glCreateProgramObjectARB
glCreateProgramPipelines
glCreateQueries
glCreateRenderbuffers
glCreateSamplers
glCreateShader
glCreateShaderObjectARB
glCreateShaderProgramEXT
glCreateShaderProgramv
glCreateSyncFromCLeventARB
glCreateTextures
glCreateTransformFeedbacks
glCreateVertexArrays
glCullFace
glCullParameterdvEXT
glCullParameterfvEXT
@ -430,6 +458,7 @@ EXPORTS
glDisableDriverControlQCOM
glDisableIndexedEXT
glDisableVariantClientStateEXT
glDisableVertexArrayAttrib
glDisableVertexArrayAttribEXT
glDisableVertexArrayEXT
glDisableVertexAttribAPPLE
@ -495,6 +524,7 @@ EXPORTS
glEnableDriverControlQCOM
glEnableIndexedEXT
glEnableVariantClientStateEXT
glEnableVertexArrayAttrib
glEnableVertexArrayAttribEXT
glEnableVertexArrayEXT
glEnableVertexAttribAPPLE
@ -564,6 +594,7 @@ EXPORTS
glFlushMappedBufferRange
glFlushMappedBufferRangeAPPLE
glFlushMappedBufferRangeEXT
glFlushMappedNamedBufferRange
glFlushMappedNamedBufferRangeEXT
glFlushPixelDataRangeNV
glFlushRasterSGIX
@ -688,6 +719,7 @@ EXPORTS
glGenerateMipmapEXT
glGenerateMipmapOES
glGenerateMultiTexMipmapEXT
glGenerateTextureMipmap
glGenerateTextureMipmapEXT
glGetActiveAtomicCounterBufferiv
glGetActiveAttrib
@ -741,7 +773,9 @@ EXPORTS
glGetCompressedMultiTexImageEXT
glGetCompressedTexImage
glGetCompressedTexImageARB
glGetCompressedTextureImage
glGetCompressedTextureImageEXT
glGetCompressedTextureSubImage
glGetConvolutionFilter
glGetConvolutionFilterEXT
glGetConvolutionParameterfv
@ -852,11 +886,17 @@ EXPORTS
glGetMultiTexParameterivEXT
glGetMultisamplefv
glGetMultisamplefvNV
glGetNamedBufferParameteri64v
glGetNamedBufferParameteriv
glGetNamedBufferParameterivEXT
glGetNamedBufferParameterui64vNV
glGetNamedBufferPointerv
glGetNamedBufferPointervEXT
glGetNamedBufferSubData
glGetNamedBufferSubDataEXT
glGetNamedFramebufferAttachmentParameteriv
glGetNamedFramebufferAttachmentParameterivEXT
glGetNamedFramebufferParameteriv
glGetNamedFramebufferParameterivEXT
glGetNamedProgramLocalParameterIivEXT
glGetNamedProgramLocalParameterIuivEXT
@ -864,6 +904,7 @@ EXPORTS
glGetNamedProgramLocalParameterfvEXT
glGetNamedProgramStringEXT
glGetNamedProgramivEXT
glGetNamedRenderbufferParameteriv
glGetNamedRenderbufferParameterivEXT
glGetNamedStringARB
glGetNamedStringivARB
@ -1004,19 +1045,30 @@ EXPORTS
glGetTexParameterxv
glGetTextureHandleARB
glGetTextureHandleNV
glGetTextureImage
glGetTextureImageEXT
glGetTextureLevelParameterfv
glGetTextureLevelParameterfvEXT
glGetTextureLevelParameteriv
glGetTextureLevelParameterivEXT
glGetTextureParameterIiv
glGetTextureParameterIivEXT
glGetTextureParameterIuiv
glGetTextureParameterIuivEXT
glGetTextureParameterfv
glGetTextureParameterfvEXT
glGetTextureParameteriv
glGetTextureParameterivEXT
glGetTextureSamplerHandleARB
glGetTextureSamplerHandleNV
glGetTextureSubImage
glGetTrackMatrixivNV
glGetTransformFeedbackVarying
glGetTransformFeedbackVaryingEXT
glGetTransformFeedbackVaryingNV
glGetTransformFeedbacki64_v
glGetTransformFeedbacki_v
glGetTransformFeedbackiv
glGetTranslatedShaderSourceANGLE
glGetUniformBlockIndex
glGetUniformBufferSizeEXT
@ -1041,10 +1093,13 @@ EXPORTS
glGetVariantIntegervEXT
glGetVariantPointervEXT
glGetVaryingLocationNV
glGetVertexArrayIndexed64iv
glGetVertexArrayIndexediv
glGetVertexArrayIntegeri_vEXT
glGetVertexArrayIntegervEXT
glGetVertexArrayPointeri_vEXT
glGetVertexArrayPointervEXT
glGetVertexArrayiv
glGetVertexAttribArrayObjectfvATI
glGetVertexAttribArrayObjectivATI
glGetVertexAttribIiv
@ -1091,10 +1146,13 @@ EXPORTS
glGetnSeparableFilterARB
glGetnTexImageARB
glGetnUniformdvARB
glGetnUniformfv
glGetnUniformfvARB
glGetnUniformfvEXT
glGetnUniformiv
glGetnUniformivARB
glGetnUniformivEXT
glGetnUniformuiv
glGetnUniformuivARB
glGlobalAlphaFactorbSUN
glGlobalAlphaFactordSUN
@ -1140,6 +1198,8 @@ EXPORTS
glInvalidateBufferData
glInvalidateBufferSubData
glInvalidateFramebuffer
glInvalidateNamedFramebufferData
glInvalidateNamedFramebufferSubData
glInvalidateSubFramebuffer
glInvalidateTexImage
glInvalidateTexSubImage
@ -1258,7 +1318,9 @@ EXPORTS
glMapGrid1f
glMapGrid2d
glMapGrid2f
glMapNamedBuffer
glMapNamedBufferEXT
glMapNamedBufferRange
glMapNamedBufferRangeEXT
glMapObjectBufferATI
glMapParameterfvNV
@ -1300,6 +1362,7 @@ EXPORTS
glMatrixTranslatedEXT
glMatrixTranslatefEXT
glMemoryBarrier
glMemoryBarrierByRegion
glMemoryBarrierEXT
glMinSampleShading
glMinSampleShadingARB
@ -1433,17 +1496,27 @@ EXPORTS
glMultiTexSubImage1DEXT
glMultiTexSubImage2DEXT
glMultiTexSubImage3DEXT
glNamedBufferData
glNamedBufferDataEXT
glNamedBufferStorage
glNamedBufferStorageEXT
glNamedBufferSubData
glNamedBufferSubDataEXT
glNamedCopyBufferSubDataEXT
glNamedFramebufferDrawBuffer
glNamedFramebufferDrawBuffers
glNamedFramebufferParameteri
glNamedFramebufferParameteriEXT
glNamedFramebufferReadBuffer
glNamedFramebufferRenderbuffer
glNamedFramebufferRenderbufferEXT
glNamedFramebufferTexture
glNamedFramebufferTexture1DEXT
glNamedFramebufferTexture2DEXT
glNamedFramebufferTexture3DEXT
glNamedFramebufferTextureEXT
glNamedFramebufferTextureFaceEXT
glNamedFramebufferTextureLayer
glNamedFramebufferTextureLayerEXT
glNamedProgramLocalParameter4dEXT
glNamedProgramLocalParameter4dvEXT
@ -1457,7 +1530,9 @@ EXPORTS
glNamedProgramLocalParametersI4ivEXT
glNamedProgramLocalParametersI4uivEXT
glNamedProgramStringEXT
glNamedRenderbufferStorage
glNamedRenderbufferStorageEXT
glNamedRenderbufferStorageMultisample
glNamedRenderbufferStorageMultisampleCoverageEXT
glNamedRenderbufferStorageMultisampleEXT
glNamedStringARB
@ -1794,6 +1869,7 @@ EXPORTS
glReadInstrumentsSGIX
glReadPixels
glReadVideoPixelsSUN
glReadnPixels
glReadnPixelsARB
glReadnPixelsEXT
glRectd
@ -2109,8 +2185,11 @@ EXPORTS
glTexSubImage3DEXT
glTexSubImage3DOES
glTexSubImage4DSGIS
glTextureBarrier
glTextureBarrierNV
glTextureBuffer
glTextureBufferEXT
glTextureBufferRange
glTextureBufferRangeEXT
glTextureColorMaskSGIS
glTextureFogSGIX
@ -2125,26 +2204,42 @@ EXPORTS
glTextureMaterialEXT
glTextureNormalEXT
glTexturePageCommitmentEXT
glTextureParameterIiv
glTextureParameterIivEXT
glTextureParameterIuiv
glTextureParameterIuivEXT
glTextureParameterf
glTextureParameterfEXT
glTextureParameterfv
glTextureParameterfvEXT
glTextureParameteri
glTextureParameteriEXT
glTextureParameteriv
glTextureParameterivEXT
glTextureRangeAPPLE
glTextureRenderbufferEXT
glTextureStorage1D
glTextureStorage1DEXT
glTextureStorage2D
glTextureStorage2DEXT
glTextureStorage2DMultisample
glTextureStorage2DMultisampleEXT
glTextureStorage3D
glTextureStorage3DEXT
glTextureStorage3DMultisample
glTextureStorage3DMultisampleEXT
glTextureStorageSparseAMD
glTextureSubImage1D
glTextureSubImage1DEXT
glTextureSubImage2D
glTextureSubImage2DEXT
glTextureSubImage3D
glTextureSubImage3DEXT
glTextureView
glTrackMatrixNV
glTransformFeedbackAttribsNV
glTransformFeedbackBufferBase
glTransformFeedbackBufferRange
glTransformFeedbackVaryings
glTransformFeedbackVaryingsEXT
glTransformFeedbackVaryingsNV
@ -2264,6 +2359,7 @@ EXPORTS
glUnmapBuffer
glUnmapBufferARB
glUnmapBufferOES
glUnmapNamedBuffer
glUnmapNamedBufferEXT
glUnmapObjectBufferATI
glUnmapTexture2DINTEL
@ -2325,9 +2421,15 @@ EXPORTS
glVertex4iv
glVertex4s
glVertex4sv
glVertexArrayAttribBinding
glVertexArrayAttribFormat
glVertexArrayAttribIFormat
glVertexArrayAttribLFormat
glVertexArrayBindVertexBufferEXT
glVertexArrayBindingDivisor
glVertexArrayColorOffsetEXT
glVertexArrayEdgeFlagOffsetEXT
glVertexArrayElementBuffer
glVertexArrayFogCoordOffsetEXT
glVertexArrayIndexOffsetEXT
glVertexArrayMultiTexCoordOffsetEXT
@ -2345,6 +2447,8 @@ EXPORTS
glVertexArrayVertexAttribLOffsetEXT
glVertexArrayVertexAttribOffsetEXT
glVertexArrayVertexBindingDivisorEXT
glVertexArrayVertexBuffer
glVertexArrayVertexBuffers
glVertexArrayVertexOffsetEXT
glVertexAttrib1d
glVertexAttrib1dARB
@ -2734,6 +2838,7 @@ EXPORTS
wglDXSetResourceShareHandleNV
wglDXUnlockObjectsNV
wglDXUnregisterObjectNV
wglDelayBeforeSwapNV
wglDeleteAssociatedContextAMD
wglDeleteBufferRegionARB
wglDeleteContext

View file

@ -91,6 +91,7 @@ ContextInfo::ContextInfo()
gl_version_4_2(false),
gl_version_4_3(false),
gl_version_4_4(false),
gl_version_4_5(false),
gles_version_major(-1),
gles_version_minor(-1),
glsl_version_major(-1),
@ -162,6 +163,7 @@ ContextInfo::ContextInfo()
gl_apple_vertex_program_evaluators(false),
gl_apple_ycbcr_422(false),
gl_arb_es2_compatibility(false),
gl_arb_es3_1_compatibility(false),
gl_arb_es3_compatibility(false),
gl_arb_base_instance(false),
gl_arb_bindless_texture(false),
@ -170,16 +172,20 @@ ContextInfo::ContextInfo()
gl_arb_cl_event(false),
gl_arb_clear_buffer_object(false),
gl_arb_clear_texture(false),
gl_arb_clip_control(false),
gl_arb_color_buffer_float(false),
gl_arb_compressed_texture_pixel_storage(false),
gl_arb_compute_shader(false),
gl_arb_compute_variable_group_size(false),
gl_arb_conditional_render_inverted(false),
gl_arb_copy_buffer(false),
gl_arb_copy_image(false),
gl_arb_cull_distance(false),
gl_arb_debug_output(false),
gl_arb_depth_buffer_float(false),
gl_arb_depth_clamp(false),
gl_arb_depth_texture(false),
gl_arb_direct_state_access(false),
gl_arb_draw_buffers(false),
gl_arb_draw_buffers_blend(false),
gl_arb_draw_elements_base_vertex(false),
@ -194,6 +200,7 @@ ContextInfo::ContextInfo()
gl_arb_framebuffer_srgb(false),
gl_arb_geometry_shader4(false),
gl_arb_get_program_binary(false),
gl_arb_get_texture_sub_image(false),
gl_arb_gpu_shader5(false),
gl_arb_gpu_shader_fp64(false),
gl_arb_half_float_pixel(false),
@ -213,6 +220,7 @@ ContextInfo::ContextInfo()
gl_arb_multitexture(false),
gl_arb_occlusion_query(false),
gl_arb_occlusion_query2(false),
gl_arb_pipeline_statistics_query(false),
gl_arb_pixel_buffer_object(false),
gl_arb_point_parameters(false),
gl_arb_point_sprite(false),
@ -233,10 +241,12 @@ ContextInfo::ContextInfo()
gl_arb_shading_language_include(false),
gl_arb_shadow(false),
gl_arb_shadow_ambient(false),
gl_arb_sparse_buffer(false),
gl_arb_sparse_texture(false),
gl_arb_stencil_texturing(false),
gl_arb_sync(false),
gl_arb_tessellation_shader(false),
gl_arb_texture_barrier(false),
gl_arb_texture_border_clamp(false),
gl_arb_texture_buffer_object(false),
gl_arb_texture_buffer_range(false),
@ -263,6 +273,7 @@ ContextInfo::ContextInfo()
gl_arb_transform_feedback2(false),
gl_arb_transform_feedback3(false),
gl_arb_transform_feedback_instanced(false),
gl_arb_transform_feedback_overflow_query(false),
gl_arb_transpose_matrix(false),
gl_arb_uniform_buffer_object(false),
gl_arb_vertex_array_object(false),
@ -427,7 +438,9 @@ ContextInfo::ContextInfo()
gl_intel_map_texture(false),
gl_intel_parallel_arrays(false),
gl_intel_texture_scissor(false),
gl_khr_blend_equation_advanced(false),
gl_khr_debug(false),
gl_khr_robustness(false),
gl_khr_texture_compression_astc_ldr(false),
gl_ktx_buffer_region(false),
gl_mesax_texture_stack(false),
@ -653,6 +666,7 @@ ContextInfo::ContextInfo()
wgl_arb_pixel_format(false),
wgl_arb_pixel_format_float(false),
wgl_arb_render_texture(false),
wgl_arb_robustness_application_isolation(false),
wgl_arb_robustness_share_group_isolation(false),
wgl_ati_pixel_format_float(false),
wgl_ati_render_texture_rectangle(false),
@ -677,6 +691,7 @@ ContextInfo::ContextInfo()
wgl_i3d_swap_frame_usage(false),
wgl_nv_dx_interop(false),
wgl_nv_copy_image(false),
wgl_nv_delay_before_swap(false),
wgl_nv_float_buffer(false),
wgl_nv_gpu_affinity(false),
wgl_nv_multisample_coverage(false),
@ -699,15 +714,18 @@ ContextInfo::ContextInfo()
glx_arb_framebuffer_srgb(false),
glx_arb_get_proc_address(false),
glx_arb_multisample(false),
glx_arb_robustness_application_isolation(false),
glx_arb_robustness_share_group_isolation(false),
glx_arb_vertex_buffer_object(false),
glx_ati_pixel_format_float(false),
glx_ati_render_texture(false),
glx_ext_buffer_age(false),
glx_ext_create_context_es2_profile(false),
glx_ext_create_context_es_profile(false),
glx_ext_fbconfig_packed_float(false),
glx_ext_framebuffer_srgb(false),
glx_ext_import_context(false),
glx_ext_stereo_tree(false),
glx_ext_swap_control(false),
glx_ext_swap_control_tear(false),
glx_ext_texture_from_pixmap(false),
@ -717,10 +735,13 @@ ContextInfo::ContextInfo()
glx_mesa_agp_offset(false),
glx_mesa_copy_sub_buffer(false),
glx_mesa_pixmap_colormap(false),
glx_mesa_query_renderer(false),
glx_mesa_release_buffers(false),
glx_mesa_set_3dfx_mode(false),
glx_mesa_swap_control(false),
glx_nv_copy_buffer(false),
glx_nv_copy_image(false),
glx_nv_delay_before_swap(false),
glx_nv_float_buffer(false),
glx_nv_multisample_coverage(false),
glx_nv_present_video(false),
@ -973,7 +994,8 @@ ContextInfo::init(const RegalContext &context)
if (!es1 && !es2)
{
gl_version_4_4 = gl_version_major > 4 || (gl_version_major == 4 && gl_version_minor >= 4);
gl_version_4_5 = gl_version_major > 4 || (gl_version_major == 4 && gl_version_minor >= 5);
gl_version_4_4 = gl_version_4_5 || (gl_version_major == 4 && gl_version_minor == 4);
gl_version_4_3 = gl_version_4_4 || (gl_version_major == 4 && gl_version_minor == 3);
gl_version_4_2 = gl_version_4_3 || (gl_version_major == 4 && gl_version_minor == 2);
gl_version_4_1 = gl_version_4_2 || (gl_version_major == 4 && gl_version_minor == 1);
@ -1062,6 +1084,7 @@ ContextInfo::init(const RegalContext &context)
gl_apple_vertex_program_evaluators = stringSetFind(e,"GL_APPLE_vertex_program_evaluators");
gl_apple_ycbcr_422 = stringSetFind(e,"GL_APPLE_ycbcr_422");
gl_arb_es2_compatibility = stringSetFind(e,"GL_ARB_ES2_compatibility");
gl_arb_es3_1_compatibility = stringSetFind(e,"GL_ARB_ES3_1_compatibility");
gl_arb_es3_compatibility = stringSetFind(e,"GL_ARB_ES3_compatibility");
gl_arb_base_instance = stringSetFind(e,"GL_ARB_base_instance");
gl_arb_bindless_texture = stringSetFind(e,"GL_ARB_bindless_texture");
@ -1070,16 +1093,20 @@ ContextInfo::init(const RegalContext &context)
gl_arb_cl_event = stringSetFind(e,"GL_ARB_cl_event");
gl_arb_clear_buffer_object = stringSetFind(e,"GL_ARB_clear_buffer_object");
gl_arb_clear_texture = stringSetFind(e,"GL_ARB_clear_texture");
gl_arb_clip_control = stringSetFind(e,"GL_ARB_clip_control");
gl_arb_color_buffer_float = stringSetFind(e,"GL_ARB_color_buffer_float");
gl_arb_compressed_texture_pixel_storage = stringSetFind(e,"GL_ARB_compressed_texture_pixel_storage");
gl_arb_compute_shader = stringSetFind(e,"GL_ARB_compute_shader");
gl_arb_compute_variable_group_size = stringSetFind(e,"GL_ARB_compute_variable_group_size");
gl_arb_conditional_render_inverted = stringSetFind(e,"GL_ARB_conditional_render_inverted");
gl_arb_copy_buffer = stringSetFind(e,"GL_ARB_copy_buffer");
gl_arb_copy_image = stringSetFind(e,"GL_ARB_copy_image");
gl_arb_cull_distance = stringSetFind(e,"GL_ARB_cull_distance");
gl_arb_debug_output = stringSetFind(e,"GL_ARB_debug_output");
gl_arb_depth_buffer_float = stringSetFind(e,"GL_ARB_depth_buffer_float");
gl_arb_depth_clamp = stringSetFind(e,"GL_ARB_depth_clamp");
gl_arb_depth_texture = stringSetFind(e,"GL_ARB_depth_texture");
gl_arb_direct_state_access = stringSetFind(e,"GL_ARB_direct_state_access");
gl_arb_draw_buffers = stringSetFind(e,"GL_ARB_draw_buffers");
gl_arb_draw_buffers_blend = stringSetFind(e,"GL_ARB_draw_buffers_blend");
gl_arb_draw_elements_base_vertex = stringSetFind(e,"GL_ARB_draw_elements_base_vertex");
@ -1094,6 +1121,7 @@ ContextInfo::init(const RegalContext &context)
gl_arb_framebuffer_srgb = stringSetFind(e,"GL_ARB_framebuffer_sRGB");
gl_arb_geometry_shader4 = stringSetFind(e,"GL_ARB_geometry_shader4");
gl_arb_get_program_binary = stringSetFind(e,"GL_ARB_get_program_binary");
gl_arb_get_texture_sub_image = stringSetFind(e,"GL_ARB_get_texture_sub_image");
gl_arb_gpu_shader5 = stringSetFind(e,"GL_ARB_gpu_shader5");
gl_arb_gpu_shader_fp64 = stringSetFind(e,"GL_ARB_gpu_shader_fp64");
gl_arb_half_float_pixel = stringSetFind(e,"GL_ARB_half_float_pixel");
@ -1113,6 +1141,7 @@ ContextInfo::init(const RegalContext &context)
gl_arb_multitexture = stringSetFind(e,"GL_ARB_multitexture");
gl_arb_occlusion_query = stringSetFind(e,"GL_ARB_occlusion_query");
gl_arb_occlusion_query2 = stringSetFind(e,"GL_ARB_occlusion_query2");
gl_arb_pipeline_statistics_query = stringSetFind(e,"GL_ARB_pipeline_statistics_query");
gl_arb_pixel_buffer_object = stringSetFind(e,"GL_ARB_pixel_buffer_object");
gl_arb_point_parameters = stringSetFind(e,"GL_ARB_point_parameters");
gl_arb_point_sprite = stringSetFind(e,"GL_ARB_point_sprite");
@ -1133,10 +1162,12 @@ ContextInfo::init(const RegalContext &context)
gl_arb_shading_language_include = stringSetFind(e,"GL_ARB_shading_language_include");
gl_arb_shadow = stringSetFind(e,"GL_ARB_shadow");
gl_arb_shadow_ambient = stringSetFind(e,"GL_ARB_shadow_ambient");
gl_arb_sparse_buffer = stringSetFind(e,"GL_ARB_sparse_buffer");
gl_arb_sparse_texture = stringSetFind(e,"GL_ARB_sparse_texture");
gl_arb_stencil_texturing = stringSetFind(e,"GL_ARB_stencil_texturing");
gl_arb_sync = stringSetFind(e,"GL_ARB_sync");
gl_arb_tessellation_shader = stringSetFind(e,"GL_ARB_tessellation_shader");
gl_arb_texture_barrier = stringSetFind(e,"GL_ARB_texture_barrier");
gl_arb_texture_border_clamp = stringSetFind(e,"GL_ARB_texture_border_clamp");
gl_arb_texture_buffer_object = stringSetFind(e,"GL_ARB_texture_buffer_object");
gl_arb_texture_buffer_range = stringSetFind(e,"GL_ARB_texture_buffer_range");
@ -1163,6 +1194,7 @@ ContextInfo::init(const RegalContext &context)
gl_arb_transform_feedback2 = stringSetFind(e,"GL_ARB_transform_feedback2");
gl_arb_transform_feedback3 = stringSetFind(e,"GL_ARB_transform_feedback3");
gl_arb_transform_feedback_instanced = stringSetFind(e,"GL_ARB_transform_feedback_instanced");
gl_arb_transform_feedback_overflow_query = stringSetFind(e,"GL_ARB_transform_feedback_overflow_query");
gl_arb_transpose_matrix = stringSetFind(e,"GL_ARB_transpose_matrix");
gl_arb_uniform_buffer_object = stringSetFind(e,"GL_ARB_uniform_buffer_object");
gl_arb_vertex_array_object = stringSetFind(e,"GL_ARB_vertex_array_object");
@ -1327,7 +1359,9 @@ ContextInfo::init(const RegalContext &context)
gl_intel_map_texture = stringSetFind(e,"GL_INTEL_map_texture");
gl_intel_parallel_arrays = stringSetFind(e,"GL_INTEL_parallel_arrays");
gl_intel_texture_scissor = stringSetFind(e,"GL_INTEL_texture_scissor");
gl_khr_blend_equation_advanced = stringSetFind(e,"GL_KHR_blend_equation_advanced");
gl_khr_debug = stringSetFind(e,"GL_KHR_debug");
gl_khr_robustness = stringSetFind(e,"GL_KHR_robustness");
gl_khr_texture_compression_astc_ldr = stringSetFind(e,"GL_KHR_texture_compression_astc_ldr");
gl_ktx_buffer_region = stringSetFind(e,"GL_KTX_buffer_region");
gl_mesax_texture_stack = stringSetFind(e,"GL_MESAX_texture_stack");
@ -1554,6 +1588,7 @@ ContextInfo::init(const RegalContext &context)
wgl_arb_pixel_format = stringSetFind(e,"WGL_ARB_pixel_format");
wgl_arb_pixel_format_float = stringSetFind(e,"WGL_ARB_pixel_format_float");
wgl_arb_render_texture = stringSetFind(e,"WGL_ARB_render_texture");
wgl_arb_robustness_application_isolation = stringSetFind(e,"WGL_ARB_robustness_application_isolation");
wgl_arb_robustness_share_group_isolation = stringSetFind(e,"WGL_ARB_robustness_share_group_isolation");
wgl_ati_pixel_format_float = stringSetFind(e,"WGL_ATI_pixel_format_float");
wgl_ati_render_texture_rectangle = stringSetFind(e,"WGL_ATI_render_texture_rectangle");
@ -1578,6 +1613,7 @@ ContextInfo::init(const RegalContext &context)
wgl_i3d_swap_frame_usage = stringSetFind(e,"WGL_I3D_swap_frame_usage");
wgl_nv_dx_interop = stringSetFind(e,"WGL_NV_DX_interop");
wgl_nv_copy_image = stringSetFind(e,"WGL_NV_copy_image");
wgl_nv_delay_before_swap = stringSetFind(e,"WGL_NV_delay_before_swap");
wgl_nv_float_buffer = stringSetFind(e,"WGL_NV_float_buffer");
wgl_nv_gpu_affinity = stringSetFind(e,"WGL_NV_gpu_affinity");
wgl_nv_multisample_coverage = stringSetFind(e,"WGL_NV_multisample_coverage");
@ -1601,15 +1637,18 @@ ContextInfo::init(const RegalContext &context)
glx_arb_framebuffer_srgb = stringSetFind(e,"GLX_ARB_framebuffer_sRGB");
glx_arb_get_proc_address = stringSetFind(e,"GLX_ARB_get_proc_address");
glx_arb_multisample = stringSetFind(e,"GLX_ARB_multisample");
glx_arb_robustness_application_isolation = stringSetFind(e,"GLX_ARB_robustness_application_isolation");
glx_arb_robustness_share_group_isolation = stringSetFind(e,"GLX_ARB_robustness_share_group_isolation");
glx_arb_vertex_buffer_object = stringSetFind(e,"GLX_ARB_vertex_buffer_object");
glx_ati_pixel_format_float = stringSetFind(e,"GLX_ATI_pixel_format_float");
glx_ati_render_texture = stringSetFind(e,"GLX_ATI_render_texture");
glx_ext_buffer_age = stringSetFind(e,"GLX_EXT_buffer_age");
glx_ext_create_context_es2_profile = stringSetFind(e,"GLX_EXT_create_context_es2_profile");
glx_ext_create_context_es_profile = stringSetFind(e,"GLX_EXT_create_context_es_profile");
glx_ext_fbconfig_packed_float = stringSetFind(e,"GLX_EXT_fbconfig_packed_float");
glx_ext_framebuffer_srgb = stringSetFind(e,"GLX_EXT_framebuffer_sRGB");
glx_ext_import_context = stringSetFind(e,"GLX_EXT_import_context");
glx_ext_stereo_tree = stringSetFind(e,"GLX_EXT_stereo_tree");
glx_ext_swap_control = stringSetFind(e,"GLX_EXT_swap_control");
glx_ext_swap_control_tear = stringSetFind(e,"GLX_EXT_swap_control_tear");
glx_ext_texture_from_pixmap = stringSetFind(e,"GLX_EXT_texture_from_pixmap");
@ -1619,10 +1658,13 @@ ContextInfo::init(const RegalContext &context)
glx_mesa_agp_offset = stringSetFind(e,"GLX_MESA_agp_offset");
glx_mesa_copy_sub_buffer = stringSetFind(e,"GLX_MESA_copy_sub_buffer");
glx_mesa_pixmap_colormap = stringSetFind(e,"GLX_MESA_pixmap_colormap");
glx_mesa_query_renderer = stringSetFind(e,"GLX_MESA_query_renderer");
glx_mesa_release_buffers = stringSetFind(e,"GLX_MESA_release_buffers");
glx_mesa_set_3dfx_mode = stringSetFind(e,"GLX_MESA_set_3dfx_mode");
glx_mesa_swap_control = stringSetFind(e,"GLX_MESA_swap_control");
glx_nv_copy_buffer = stringSetFind(e,"GLX_NV_copy_buffer");
glx_nv_copy_image = stringSetFind(e,"GLX_NV_copy_image");
glx_nv_delay_before_swap = stringSetFind(e,"GLX_NV_delay_before_swap");
glx_nv_float_buffer = stringSetFind(e,"GLX_NV_float_buffer");
glx_nv_multisample_coverage = stringSetFind(e,"GLX_NV_multisample_coverage");
glx_nv_present_video = stringSetFind(e,"GLX_NV_present_video");
@ -1828,6 +1870,7 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GL_APPLE_vertex_program_evaluators")) return gl_apple_vertex_program_evaluators;
if (!strcmp(ext,"GL_APPLE_ycbcr_422")) return gl_apple_ycbcr_422;
if (!strcmp(ext,"GL_ARB_ES2_compatibility")) return gl_arb_es2_compatibility;
if (!strcmp(ext,"GL_ARB_ES3_1_compatibility")) return gl_arb_es3_1_compatibility;
if (!strcmp(ext,"GL_ARB_ES3_compatibility")) return gl_arb_es3_compatibility;
if (!strcmp(ext,"GL_ARB_base_instance")) return gl_arb_base_instance;
if (!strcmp(ext,"GL_ARB_bindless_texture")) return gl_arb_bindless_texture;
@ -1836,16 +1879,20 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GL_ARB_cl_event")) return gl_arb_cl_event;
if (!strcmp(ext,"GL_ARB_clear_buffer_object")) return gl_arb_clear_buffer_object;
if (!strcmp(ext,"GL_ARB_clear_texture")) return gl_arb_clear_texture;
if (!strcmp(ext,"GL_ARB_clip_control")) return gl_arb_clip_control;
if (!strcmp(ext,"GL_ARB_color_buffer_float")) return gl_arb_color_buffer_float;
if (!strcmp(ext,"GL_ARB_compressed_texture_pixel_storage")) return gl_arb_compressed_texture_pixel_storage;
if (!strcmp(ext,"GL_ARB_compute_shader")) return gl_arb_compute_shader;
if (!strcmp(ext,"GL_ARB_compute_variable_group_size")) return gl_arb_compute_variable_group_size;
if (!strcmp(ext,"GL_ARB_conditional_render_inverted")) return gl_arb_conditional_render_inverted;
if (!strcmp(ext,"GL_ARB_copy_buffer")) return gl_arb_copy_buffer;
if (!strcmp(ext,"GL_ARB_copy_image")) return gl_arb_copy_image;
if (!strcmp(ext,"GL_ARB_cull_distance")) return gl_arb_cull_distance;
if (!strcmp(ext,"GL_ARB_debug_output")) return gl_arb_debug_output;
if (!strcmp(ext,"GL_ARB_depth_buffer_float")) return gl_arb_depth_buffer_float;
if (!strcmp(ext,"GL_ARB_depth_clamp")) return gl_arb_depth_clamp;
if (!strcmp(ext,"GL_ARB_depth_texture")) return gl_arb_depth_texture;
if (!strcmp(ext,"GL_ARB_direct_state_access")) return gl_arb_direct_state_access;
if (!strcmp(ext,"GL_ARB_draw_buffers")) return gl_arb_draw_buffers;
if (!strcmp(ext,"GL_ARB_draw_buffers_blend")) return gl_arb_draw_buffers_blend;
if (!strcmp(ext,"GL_ARB_draw_elements_base_vertex")) return gl_arb_draw_elements_base_vertex;
@ -1860,6 +1907,7 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GL_ARB_framebuffer_sRGB")) return gl_arb_framebuffer_srgb;
if (!strcmp(ext,"GL_ARB_geometry_shader4")) return gl_arb_geometry_shader4;
if (!strcmp(ext,"GL_ARB_get_program_binary")) return gl_arb_get_program_binary;
if (!strcmp(ext,"GL_ARB_get_texture_sub_image")) return gl_arb_get_texture_sub_image;
if (!strcmp(ext,"GL_ARB_gpu_shader5")) return gl_arb_gpu_shader5;
if (!strcmp(ext,"GL_ARB_gpu_shader_fp64")) return gl_arb_gpu_shader_fp64;
if (!strcmp(ext,"GL_ARB_half_float_pixel")) return gl_arb_half_float_pixel;
@ -1879,6 +1927,7 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GL_ARB_multitexture")) return gl_arb_multitexture;
if (!strcmp(ext,"GL_ARB_occlusion_query")) return gl_arb_occlusion_query;
if (!strcmp(ext,"GL_ARB_occlusion_query2")) return gl_arb_occlusion_query2;
if (!strcmp(ext,"GL_ARB_pipeline_statistics_query")) return gl_arb_pipeline_statistics_query;
if (!strcmp(ext,"GL_ARB_pixel_buffer_object")) return gl_arb_pixel_buffer_object;
if (!strcmp(ext,"GL_ARB_point_parameters")) return gl_arb_point_parameters;
if (!strcmp(ext,"GL_ARB_point_sprite")) return gl_arb_point_sprite;
@ -1899,10 +1948,12 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GL_ARB_shading_language_include")) return gl_arb_shading_language_include;
if (!strcmp(ext,"GL_ARB_shadow")) return gl_arb_shadow;
if (!strcmp(ext,"GL_ARB_shadow_ambient")) return gl_arb_shadow_ambient;
if (!strcmp(ext,"GL_ARB_sparse_buffer")) return gl_arb_sparse_buffer;
if (!strcmp(ext,"GL_ARB_sparse_texture")) return gl_arb_sparse_texture;
if (!strcmp(ext,"GL_ARB_stencil_texturing")) return gl_arb_stencil_texturing;
if (!strcmp(ext,"GL_ARB_sync")) return gl_arb_sync;
if (!strcmp(ext,"GL_ARB_tessellation_shader")) return gl_arb_tessellation_shader;
if (!strcmp(ext,"GL_ARB_texture_barrier")) return gl_arb_texture_barrier;
if (!strcmp(ext,"GL_ARB_texture_border_clamp")) return gl_arb_texture_border_clamp;
if (!strcmp(ext,"GL_ARB_texture_buffer_object")) return gl_arb_texture_buffer_object;
if (!strcmp(ext,"GL_ARB_texture_buffer_range")) return gl_arb_texture_buffer_range;
@ -1929,6 +1980,7 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GL_ARB_transform_feedback2")) return gl_arb_transform_feedback2;
if (!strcmp(ext,"GL_ARB_transform_feedback3")) return gl_arb_transform_feedback3;
if (!strcmp(ext,"GL_ARB_transform_feedback_instanced")) return gl_arb_transform_feedback_instanced;
if (!strcmp(ext,"GL_ARB_transform_feedback_overflow_query")) return gl_arb_transform_feedback_overflow_query;
if (!strcmp(ext,"GL_ARB_transpose_matrix")) return gl_arb_transpose_matrix;
if (!strcmp(ext,"GL_ARB_uniform_buffer_object")) return gl_arb_uniform_buffer_object;
if (!strcmp(ext,"GL_ARB_vertex_array_object")) return gl_arb_vertex_array_object;
@ -2093,7 +2145,9 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GL_INTEL_map_texture")) return gl_intel_map_texture;
if (!strcmp(ext,"GL_INTEL_parallel_arrays")) return gl_intel_parallel_arrays;
if (!strcmp(ext,"GL_INTEL_texture_scissor")) return gl_intel_texture_scissor;
if (!strcmp(ext,"GL_KHR_blend_equation_advanced")) return gl_khr_blend_equation_advanced;
if (!strcmp(ext,"GL_KHR_debug")) return gl_khr_debug;
if (!strcmp(ext,"GL_KHR_robustness")) return gl_khr_robustness;
if (!strcmp(ext,"GL_KHR_texture_compression_astc_ldr")) return gl_khr_texture_compression_astc_ldr;
if (!strcmp(ext,"GL_KTX_buffer_region")) return gl_ktx_buffer_region;
if (!strcmp(ext,"GL_MESAX_texture_stack")) return gl_mesax_texture_stack;
@ -2320,6 +2374,7 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"WGL_ARB_pixel_format")) return wgl_arb_pixel_format;
if (!strcmp(ext,"WGL_ARB_pixel_format_float")) return wgl_arb_pixel_format_float;
if (!strcmp(ext,"WGL_ARB_render_texture")) return wgl_arb_render_texture;
if (!strcmp(ext,"WGL_ARB_robustness_application_isolation")) return wgl_arb_robustness_application_isolation;
if (!strcmp(ext,"WGL_ARB_robustness_share_group_isolation")) return wgl_arb_robustness_share_group_isolation;
if (!strcmp(ext,"WGL_ATI_pixel_format_float")) return wgl_ati_pixel_format_float;
if (!strcmp(ext,"WGL_ATI_render_texture_rectangle")) return wgl_ati_render_texture_rectangle;
@ -2344,6 +2399,7 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"WGL_I3D_swap_frame_usage")) return wgl_i3d_swap_frame_usage;
if (!strcmp(ext,"WGL_NV_DX_interop")) return wgl_nv_dx_interop;
if (!strcmp(ext,"WGL_NV_copy_image")) return wgl_nv_copy_image;
if (!strcmp(ext,"WGL_NV_delay_before_swap")) return wgl_nv_delay_before_swap;
if (!strcmp(ext,"WGL_NV_float_buffer")) return wgl_nv_float_buffer;
if (!strcmp(ext,"WGL_NV_gpu_affinity")) return wgl_nv_gpu_affinity;
if (!strcmp(ext,"WGL_NV_multisample_coverage")) return wgl_nv_multisample_coverage;
@ -2367,15 +2423,18 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GLX_ARB_framebuffer_sRGB")) return glx_arb_framebuffer_srgb;
if (!strcmp(ext,"GLX_ARB_get_proc_address")) return glx_arb_get_proc_address;
if (!strcmp(ext,"GLX_ARB_multisample")) return glx_arb_multisample;
if (!strcmp(ext,"GLX_ARB_robustness_application_isolation")) return glx_arb_robustness_application_isolation;
if (!strcmp(ext,"GLX_ARB_robustness_share_group_isolation")) return glx_arb_robustness_share_group_isolation;
if (!strcmp(ext,"GLX_ARB_vertex_buffer_object")) return glx_arb_vertex_buffer_object;
if (!strcmp(ext,"GLX_ATI_pixel_format_float")) return glx_ati_pixel_format_float;
if (!strcmp(ext,"GLX_ATI_render_texture")) return glx_ati_render_texture;
if (!strcmp(ext,"GLX_EXT_buffer_age")) return glx_ext_buffer_age;
if (!strcmp(ext,"GLX_EXT_create_context_es2_profile")) return glx_ext_create_context_es2_profile;
if (!strcmp(ext,"GLX_EXT_create_context_es_profile")) return glx_ext_create_context_es_profile;
if (!strcmp(ext,"GLX_EXT_fbconfig_packed_float")) return glx_ext_fbconfig_packed_float;
if (!strcmp(ext,"GLX_EXT_framebuffer_sRGB")) return glx_ext_framebuffer_srgb;
if (!strcmp(ext,"GLX_EXT_import_context")) return glx_ext_import_context;
if (!strcmp(ext,"GLX_EXT_stereo_tree")) return glx_ext_stereo_tree;
if (!strcmp(ext,"GLX_EXT_swap_control")) return glx_ext_swap_control;
if (!strcmp(ext,"GLX_EXT_swap_control_tear")) return glx_ext_swap_control_tear;
if (!strcmp(ext,"GLX_EXT_texture_from_pixmap")) return glx_ext_texture_from_pixmap;
@ -2385,10 +2444,13 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GLX_MESA_agp_offset")) return glx_mesa_agp_offset;
if (!strcmp(ext,"GLX_MESA_copy_sub_buffer")) return glx_mesa_copy_sub_buffer;
if (!strcmp(ext,"GLX_MESA_pixmap_colormap")) return glx_mesa_pixmap_colormap;
if (!strcmp(ext,"GLX_MESA_query_renderer")) return glx_mesa_query_renderer;
if (!strcmp(ext,"GLX_MESA_release_buffers")) return glx_mesa_release_buffers;
if (!strcmp(ext,"GLX_MESA_set_3dfx_mode")) return glx_mesa_set_3dfx_mode;
if (!strcmp(ext,"GLX_MESA_swap_control")) return glx_mesa_swap_control;
if (!strcmp(ext,"GLX_NV_copy_buffer")) return glx_nv_copy_buffer;
if (!strcmp(ext,"GLX_NV_copy_image")) return glx_nv_copy_image;
if (!strcmp(ext,"GLX_NV_delay_before_swap")) return glx_nv_delay_before_swap;
if (!strcmp(ext,"GLX_NV_float_buffer")) return glx_nv_float_buffer;
if (!strcmp(ext,"GLX_NV_multisample_coverage")) return glx_nv_multisample_coverage;
if (!strcmp(ext,"GLX_NV_present_video")) return glx_nv_present_video;

View file

@ -106,6 +106,7 @@ struct ContextInfo
GLboolean gl_version_4_2 : 1;
GLboolean gl_version_4_3 : 1;
GLboolean gl_version_4_4 : 1;
GLboolean gl_version_4_5 : 1;
GLint gles_version_major;
GLint gles_version_minor;
@ -184,6 +185,7 @@ struct ContextInfo
GLboolean gl_apple_vertex_program_evaluators : 1;
GLboolean gl_apple_ycbcr_422 : 1;
GLboolean gl_arb_es2_compatibility : 1;
GLboolean gl_arb_es3_1_compatibility : 1;
GLboolean gl_arb_es3_compatibility : 1;
GLboolean gl_arb_base_instance : 1;
GLboolean gl_arb_bindless_texture : 1;
@ -192,16 +194,20 @@ struct ContextInfo
GLboolean gl_arb_cl_event : 1;
GLboolean gl_arb_clear_buffer_object : 1;
GLboolean gl_arb_clear_texture : 1;
GLboolean gl_arb_clip_control : 1;
GLboolean gl_arb_color_buffer_float : 1;
GLboolean gl_arb_compressed_texture_pixel_storage : 1;
GLboolean gl_arb_compute_shader : 1;
GLboolean gl_arb_compute_variable_group_size : 1;
GLboolean gl_arb_conditional_render_inverted : 1;
GLboolean gl_arb_copy_buffer : 1;
GLboolean gl_arb_copy_image : 1;
GLboolean gl_arb_cull_distance : 1;
GLboolean gl_arb_debug_output : 1;
GLboolean gl_arb_depth_buffer_float : 1;
GLboolean gl_arb_depth_clamp : 1;
GLboolean gl_arb_depth_texture : 1;
GLboolean gl_arb_direct_state_access : 1;
GLboolean gl_arb_draw_buffers : 1;
GLboolean gl_arb_draw_buffers_blend : 1;
GLboolean gl_arb_draw_elements_base_vertex : 1;
@ -216,6 +222,7 @@ struct ContextInfo
GLboolean gl_arb_framebuffer_srgb : 1;
GLboolean gl_arb_geometry_shader4 : 1;
GLboolean gl_arb_get_program_binary : 1;
GLboolean gl_arb_get_texture_sub_image : 1;
GLboolean gl_arb_gpu_shader5 : 1;
GLboolean gl_arb_gpu_shader_fp64 : 1;
GLboolean gl_arb_half_float_pixel : 1;
@ -235,6 +242,7 @@ struct ContextInfo
GLboolean gl_arb_multitexture : 1;
GLboolean gl_arb_occlusion_query : 1;
GLboolean gl_arb_occlusion_query2 : 1;
GLboolean gl_arb_pipeline_statistics_query : 1;
GLboolean gl_arb_pixel_buffer_object : 1;
GLboolean gl_arb_point_parameters : 1;
GLboolean gl_arb_point_sprite : 1;
@ -255,10 +263,12 @@ struct ContextInfo
GLboolean gl_arb_shading_language_include : 1;
GLboolean gl_arb_shadow : 1;
GLboolean gl_arb_shadow_ambient : 1;
GLboolean gl_arb_sparse_buffer : 1;
GLboolean gl_arb_sparse_texture : 1;
GLboolean gl_arb_stencil_texturing : 1;
GLboolean gl_arb_sync : 1;
GLboolean gl_arb_tessellation_shader : 1;
GLboolean gl_arb_texture_barrier : 1;
GLboolean gl_arb_texture_border_clamp : 1;
GLboolean gl_arb_texture_buffer_object : 1;
GLboolean gl_arb_texture_buffer_range : 1;
@ -285,6 +295,7 @@ struct ContextInfo
GLboolean gl_arb_transform_feedback2 : 1;
GLboolean gl_arb_transform_feedback3 : 1;
GLboolean gl_arb_transform_feedback_instanced : 1;
GLboolean gl_arb_transform_feedback_overflow_query : 1;
GLboolean gl_arb_transpose_matrix : 1;
GLboolean gl_arb_uniform_buffer_object : 1;
GLboolean gl_arb_vertex_array_object : 1;
@ -449,7 +460,9 @@ struct ContextInfo
GLboolean gl_intel_map_texture : 1;
GLboolean gl_intel_parallel_arrays : 1;
GLboolean gl_intel_texture_scissor : 1;
GLboolean gl_khr_blend_equation_advanced : 1;
GLboolean gl_khr_debug : 1;
GLboolean gl_khr_robustness : 1;
GLboolean gl_khr_texture_compression_astc_ldr : 1;
GLboolean gl_ktx_buffer_region : 1;
GLboolean gl_mesax_texture_stack : 1;
@ -676,6 +689,7 @@ struct ContextInfo
GLboolean wgl_arb_pixel_format : 1;
GLboolean wgl_arb_pixel_format_float : 1;
GLboolean wgl_arb_render_texture : 1;
GLboolean wgl_arb_robustness_application_isolation : 1;
GLboolean wgl_arb_robustness_share_group_isolation : 1;
GLboolean wgl_ati_pixel_format_float : 1;
GLboolean wgl_ati_render_texture_rectangle : 1;
@ -700,6 +714,7 @@ struct ContextInfo
GLboolean wgl_i3d_swap_frame_usage : 1;
GLboolean wgl_nv_dx_interop : 1;
GLboolean wgl_nv_copy_image : 1;
GLboolean wgl_nv_delay_before_swap : 1;
GLboolean wgl_nv_float_buffer : 1;
GLboolean wgl_nv_gpu_affinity : 1;
GLboolean wgl_nv_multisample_coverage : 1;
@ -723,15 +738,18 @@ struct ContextInfo
GLboolean glx_arb_framebuffer_srgb : 1;
GLboolean glx_arb_get_proc_address : 1;
GLboolean glx_arb_multisample : 1;
GLboolean glx_arb_robustness_application_isolation : 1;
GLboolean glx_arb_robustness_share_group_isolation : 1;
GLboolean glx_arb_vertex_buffer_object : 1;
GLboolean glx_ati_pixel_format_float : 1;
GLboolean glx_ati_render_texture : 1;
GLboolean glx_ext_buffer_age : 1;
GLboolean glx_ext_create_context_es2_profile : 1;
GLboolean glx_ext_create_context_es_profile : 1;
GLboolean glx_ext_fbconfig_packed_float : 1;
GLboolean glx_ext_framebuffer_srgb : 1;
GLboolean glx_ext_import_context : 1;
GLboolean glx_ext_stereo_tree : 1;
GLboolean glx_ext_swap_control : 1;
GLboolean glx_ext_swap_control_tear : 1;
GLboolean glx_ext_texture_from_pixmap : 1;
@ -741,10 +759,13 @@ struct ContextInfo
GLboolean glx_mesa_agp_offset : 1;
GLboolean glx_mesa_copy_sub_buffer : 1;
GLboolean glx_mesa_pixmap_colormap : 1;
GLboolean glx_mesa_query_renderer : 1;
GLboolean glx_mesa_release_buffers : 1;
GLboolean glx_mesa_set_3dfx_mode : 1;
GLboolean glx_mesa_swap_control : 1;
GLboolean glx_nv_copy_buffer : 1;
GLboolean glx_nv_copy_image : 1;
GLboolean glx_nv_delay_before_swap : 1;
GLboolean glx_nv_float_buffer : 1;
GLboolean glx_nv_multisample_coverage : 1;
GLboolean glx_nv_present_video : 1;

View file

@ -225,6 +225,10 @@ namespace Dispatch
BOOL (REGAL_CALL *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);
// WGL_NV_delay_before_swap
BOOL (REGAL_CALL *wglDelayBeforeSwapNV)(HDC hDC, GLfloat seconds);
// WGL_NV_gpu_affinity
HDC (REGAL_CALL *wglCreateAffinityDCNV)(const HGPUNV *phGpuList);
@ -412,6 +416,13 @@ namespace Dispatch
GLXPixmap (REGAL_CALL *glXCreateGLXPixmapMESA)(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
// GLX_MESA_query_renderer
Bool (REGAL_CALL *glXQueryCurrentRendererIntegerMESA)(int attribute, unsigned int *value);
const char *(REGAL_CALL *glXQueryCurrentRendererStringMESA)(int attribute);
Bool (REGAL_CALL *glXQueryRendererIntegerMESA)(Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
const char *(REGAL_CALL *glXQueryRendererStringMESA)(Display *dpy, int screen, int renderer, int attribute);
// GLX_MESA_release_buffers
Bool (REGAL_CALL *glXReleaseBuffersMESA)(Display *dpy, GLXDrawable d);
@ -425,10 +436,19 @@ namespace Dispatch
int (REGAL_CALL *glXGetSwapIntervalMESA)(void);
int (REGAL_CALL *glXSwapIntervalMESA)(unsigned int interval);
// GLX_NV_copy_buffer
void (REGAL_CALL *glXCopyBufferSubDataNV)(Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
void (REGAL_CALL *glXNamedCopyBufferSubDataNV)(Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
// GLX_NV_copy_image
void (REGAL_CALL *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);
// GLX_NV_delay_before_swap
Bool (REGAL_CALL *glXDelayBeforeSwapNV)(Display *dpy, GLXDrawable drawable, GLfloat seconds);
// GLX_NV_present_video
int (REGAL_CALL *glXBindVideoDeviceNV)(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
@ -1569,6 +1589,10 @@ namespace Dispatch
void (REGAL_CALL *glReleaseShaderCompiler)(void);
void (REGAL_CALL *glShaderBinary)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
// GL_ARB_ES3_1_compatibility
void (REGAL_CALL *glMemoryBarrierByRegion)(GLbitfield barriers);
// GL_ARB_base_instance
void (REGAL_CALL *glDrawArraysInstancedBaseInstance)(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);
@ -1620,6 +1644,10 @@ namespace Dispatch
void (REGAL_CALL *glClearTexImage)(GLuint texture, GLint level, GLenum format, GLenum type, const GLvoid *data);
void (REGAL_CALL *glClearTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *data);
// GL_ARB_clip_control
void (REGAL_CALL *glClipControl)(GLenum origin, GLenum depth);
// GL_ARB_color_buffer_float
void (REGAL_CALL *glClampColorARB)(GLenum target, GLenum clamp);
@ -1648,6 +1676,102 @@ namespace Dispatch
void (REGAL_CALL *glDebugMessageInsertARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
GLuint (REGAL_CALL *glGetDebugMessageLogARB)(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
// GL_ARB_direct_state_access
void (REGAL_CALL *glBindTextureUnit)(GLuint unit, GLuint texture);
void (REGAL_CALL *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);
GLenum (REGAL_CALL *glCheckNamedFramebufferStatus)(GLuint framebuffer, GLenum target);
void (REGAL_CALL *glClearNamedBufferData)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const GLvoid *data);
void (REGAL_CALL *glClearNamedBufferSubData)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const GLvoid *data);
void (REGAL_CALL *glClearNamedFramebufferfi)(GLuint framebuffer, GLenum buffer, GLfloat depth, GLint stencil);
void (REGAL_CALL *glClearNamedFramebufferfv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
void (REGAL_CALL *glClearNamedFramebufferiv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
void (REGAL_CALL *glClearNamedFramebufferuiv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
void (REGAL_CALL *glCompressedTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
void (REGAL_CALL *glCompressedTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
void (REGAL_CALL *glCompressedTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
void (REGAL_CALL *glCopyNamedBufferSubData)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
void (REGAL_CALL *glCopyTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
void (REGAL_CALL *glCopyTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
void (REGAL_CALL *glCopyTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
void (REGAL_CALL *glCreateBuffers)(GLsizei n, GLuint *buffers);
void (REGAL_CALL *glCreateFramebuffers)(GLsizei n, GLuint *framebuffers);
void (REGAL_CALL *glCreateProgramPipelines)(GLsizei n, GLuint *pipelines);
void (REGAL_CALL *glCreateQueries)(GLenum target, GLsizei n, GLuint *ids);
void (REGAL_CALL *glCreateRenderbuffers)(GLsizei n, GLuint *renderbuffers);
void (REGAL_CALL *glCreateSamplers)(GLsizei n, GLuint *samplers);
void (REGAL_CALL *glCreateTextures)(GLenum target, GLsizei n, GLuint *textures);
void (REGAL_CALL *glCreateTransformFeedbacks)(GLsizei n, GLuint *ids);
void (REGAL_CALL *glCreateVertexArrays)(GLsizei n, GLuint *arrays);
void (REGAL_CALL *glDisableVertexArrayAttrib)(GLuint vaobj, GLuint index);
void (REGAL_CALL *glEnableVertexArrayAttrib)(GLuint vaobj, GLuint index);
void (REGAL_CALL *glFlushMappedNamedBufferRange)(GLuint buffer, GLintptr offset, GLsizeiptr length);
void (REGAL_CALL *glGenerateTextureMipmap)(GLuint texture);
void (REGAL_CALL *glGetCompressedTextureImage)(GLuint texture, GLint level, GLsizei bufSize, GLvoid *pixels);
void (REGAL_CALL *glGetNamedBufferParameteri64v)(GLuint buffer, GLenum pname, GLint64 *params);
void (REGAL_CALL *glGetNamedBufferParameteriv)(GLuint buffer, GLenum pname, GLint *params);
void (REGAL_CALL *glGetNamedBufferPointerv)(GLuint buffer, GLenum pname, GLvoid **params);
void (REGAL_CALL *glGetNamedBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
void (REGAL_CALL *glGetNamedFramebufferAttachmentParameteriv)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
void (REGAL_CALL *glGetNamedFramebufferParameteriv)(GLuint framebuffer, GLenum pname, GLint *param);
void (REGAL_CALL *glGetNamedRenderbufferParameteriv)(GLuint renderbuffer, GLenum pname, GLint *params);
void (REGAL_CALL *glGetTextureImage)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels);
void (REGAL_CALL *glGetTextureLevelParameterfv)(GLuint texture, GLint level, GLenum pname, GLfloat *params);
void (REGAL_CALL *glGetTextureLevelParameteriv)(GLuint texture, GLint level, GLenum pname, GLint *params);
void (REGAL_CALL *glGetTextureParameterIiv)(GLuint texture, GLenum pname, GLint *params);
void (REGAL_CALL *glGetTextureParameterIuiv)(GLuint texture, GLenum pname, GLuint *params);
void (REGAL_CALL *glGetTextureParameterfv)(GLuint texture, GLenum pname, GLfloat *params);
void (REGAL_CALL *glGetTextureParameteriv)(GLuint texture, GLenum pname, GLint *params);
void (REGAL_CALL *glGetTransformFeedbacki64_v)(GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
void (REGAL_CALL *glGetTransformFeedbacki_v)(GLuint xfb, GLenum pname, GLuint index, GLint *param);
void (REGAL_CALL *glGetTransformFeedbackiv)(GLuint xfb, GLenum pname, GLint *param);
void (REGAL_CALL *glGetVertexArrayIndexed64iv)(GLuint vaobj, GLuint index, GLenum pname, GLint64 *param);
void (REGAL_CALL *glGetVertexArrayIndexediv)(GLuint vaobj, GLuint index, GLenum pname, GLint *param);
void (REGAL_CALL *glGetVertexArrayiv)(GLuint vaobj, GLenum pname, GLint *param);
void (REGAL_CALL *glInvalidateNamedFramebufferData)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments);
void (REGAL_CALL *glInvalidateNamedFramebufferSubData)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
GLvoid *(REGAL_CALL *glMapNamedBuffer)(GLuint buffer, GLenum access);
GLvoid *(REGAL_CALL *glMapNamedBufferRange)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
void (REGAL_CALL *glNamedBufferData)(GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
void (REGAL_CALL *glNamedBufferStorage)(GLuint buffer, GLsizeiptr size, const GLvoid *data, GLbitfield flags);
void (REGAL_CALL *glNamedBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
void (REGAL_CALL *glNamedFramebufferDrawBuffer)(GLuint framebuffer, GLenum mode);
void (REGAL_CALL *glNamedFramebufferDrawBuffers)(GLuint framebuffer, GLsizei n, const GLenum *bufs);
void (REGAL_CALL *glNamedFramebufferParameteri)(GLuint framebuffer, GLenum pname, GLint param);
void (REGAL_CALL *glNamedFramebufferReadBuffer)(GLuint framebuffer, GLenum mode);
void (REGAL_CALL *glNamedFramebufferRenderbuffer)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
void (REGAL_CALL *glNamedFramebufferTexture)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
void (REGAL_CALL *glNamedFramebufferTextureLayer)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
void (REGAL_CALL *glNamedRenderbufferStorage)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
void (REGAL_CALL *glNamedRenderbufferStorageMultisample)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
void (REGAL_CALL *glTextureBuffer)(GLuint texture, GLenum internalformat, GLuint buffer);
void (REGAL_CALL *glTextureBufferRange)(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
void (REGAL_CALL *glTextureParameterIiv)(GLuint texture, GLenum pname, const GLint *params);
void (REGAL_CALL *glTextureParameterIuiv)(GLuint texture, GLenum pname, const GLuint *params);
void (REGAL_CALL *glTextureParameterf)(GLuint texture, GLenum pname, GLfloat param);
void (REGAL_CALL *glTextureParameterfv)(GLuint texture, GLenum pname, const GLfloat *param);
void (REGAL_CALL *glTextureParameteri)(GLuint texture, GLenum pname, GLint param);
void (REGAL_CALL *glTextureParameteriv)(GLuint texture, GLenum pname, const GLint *param);
void (REGAL_CALL *glTextureStorage1D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
void (REGAL_CALL *glTextureStorage2D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
void (REGAL_CALL *glTextureStorage2DMultisample)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
void (REGAL_CALL *glTextureStorage3D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
void (REGAL_CALL *glTextureStorage3DMultisample)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
void (REGAL_CALL *glTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
void (REGAL_CALL *glTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
void (REGAL_CALL *glTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
void (REGAL_CALL *glTransformFeedbackBufferBase)(GLuint xfb, GLuint index, GLuint buffer);
void (REGAL_CALL *glTransformFeedbackBufferRange)(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
GLboolean (REGAL_CALL *glUnmapNamedBuffer)(GLuint buffer);
void (REGAL_CALL *glVertexArrayAttribBinding)(GLuint vaobj, GLuint attribindex, GLuint bindingindex);
void (REGAL_CALL *glVertexArrayAttribFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
void (REGAL_CALL *glVertexArrayAttribIFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
void (REGAL_CALL *glVertexArrayAttribLFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
void (REGAL_CALL *glVertexArrayBindingDivisor)(GLuint vaobj, GLuint bindingindex, GLuint divisor);
void (REGAL_CALL *glVertexArrayElementBuffer)(GLuint vaobj, GLuint buffer);
void (REGAL_CALL *glVertexArrayVertexBuffer)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
void (REGAL_CALL *glVertexArrayVertexBuffers)(GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);
// GL_ARB_draw_buffers
void (REGAL_CALL *glDrawBuffersARB)(GLsizei n, const GLenum *bufs);
@ -1719,6 +1843,11 @@ namespace Dispatch
void (REGAL_CALL *glProgramBinary)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
void (REGAL_CALL *glProgramParameteri)(GLuint program, GLenum pname, GLint value);
// GL_ARB_get_texture_sub_image
void (REGAL_CALL *glGetCompressedTextureSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, GLvoid *pixels);
void (REGAL_CALL *glGetTextureSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels);
// GL_ARB_gpu_shader_fp64
void (REGAL_CALL *glGetUniformdv)(GLuint program, GLint location, GLdouble *params);
@ -2083,6 +2212,10 @@ namespace Dispatch
GLboolean (REGAL_CALL *glIsNamedStringARB)(GLint namelen, const GLchar *name);
void (REGAL_CALL *glNamedStringARB)(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);
// GL_ARB_sparse_buffer
void (REGAL_CALL *glBufferPageCommitmentARB)(GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit);
// GL_ARB_sparse_texture
void (REGAL_CALL *glTexPageCommitmentARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
@ -2103,6 +2236,10 @@ namespace Dispatch
void (REGAL_CALL *glPatchParameterfv)(GLenum pname, const GLfloat *values);
void (REGAL_CALL *glPatchParameteri)(GLenum pname, GLint value);
// GL_ARB_texture_barrier
void (REGAL_CALL *glTextureBarrier)(void);
// GL_ARB_texture_buffer_object
void (REGAL_CALL *glTexBufferARB)(GLenum target, GLenum internalformat, GLuint buffer);
@ -3330,6 +3467,10 @@ namespace Dispatch
void (REGAL_CALL *glTexScissorFuncINTEL)(GLenum target, GLenum lfunc, GLenum hfunc);
void (REGAL_CALL *glTexScissorINTEL)(GLenum target, GLclampf tlow, GLclampf thigh);
// GL_KHR_blend_equation_advanced
void (REGAL_CALL *glBlendBarrierKHR)(void);
// GL_KHR_debug
void (REGAL_CALL *glDebugMessageCallback)(GLDEBUGPROC callback, const void *userParam);
@ -3343,6 +3484,13 @@ namespace Dispatch
void (REGAL_CALL *glPopDebugGroup)(void);
void (REGAL_CALL *glPushDebugGroup)(GLenum source, GLuint id, GLsizei length, const GLchar *message);
// GL_KHR_robustness
void (REGAL_CALL *glGetnUniformfv)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
void (REGAL_CALL *glGetnUniformiv)(GLuint program, GLint location, GLsizei bufSize, GLint *params);
void (REGAL_CALL *glGetnUniformuiv)(GLuint program, GLint location, GLsizei bufSize, GLuint *params);
void (REGAL_CALL *glReadnPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
// GL_KTX_buffer_region
GLuint (REGAL_CALL *glBufferRegionEnabled)(void);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -34129,6 +34129,8 @@ static void REGAL_CALL emu_glShaderBinary(GLsizei count, const GLuint *shaders,
}
// GL_ARB_ES3_1_compatibility
// GL_ARB_base_instance
static void REGAL_CALL emu_glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance)
@ -34203,6 +34205,8 @@ static void REGAL_CALL emu_glDrawElementsInstancedBaseVertexBaseInstance(GLenum
// GL_ARB_clear_texture
// GL_ARB_clip_control
// GL_ARB_color_buffer_float
// GL_ARB_compute_shader
@ -34255,6 +34259,8 @@ static void REGAL_CALL emu_glCopyBufferSubData(GLenum readtarget, GLenum writeta
// GL_ARB_debug_output
// GL_ARB_direct_state_access
// GL_ARB_draw_buffers
static void REGAL_CALL emu_glDrawBuffersARB(GLsizei n, const GLenum *bufs)
@ -36134,6 +36140,8 @@ static void REGAL_CALL emu_glFramebufferTextureLayerARB(GLenum target, GLenum at
// GL_ARB_get_program_binary
// GL_ARB_get_texture_sub_image
// GL_ARB_gpu_shader_fp64
static void REGAL_CALL emu_glUniform1d(GLint location, GLdouble x)
@ -43456,6 +43464,8 @@ static void REGAL_CALL emu_glUseProgramObjectARB(GLhandleARB programObj)
// GL_ARB_shading_language_include
// GL_ARB_sparse_buffer
// GL_ARB_sparse_texture
// GL_ARB_sync
@ -43567,6 +43577,8 @@ static void REGAL_CALL emu_glGetInteger64v(GLenum pname, GLint64 *params)
// GL_ARB_tessellation_shader
// GL_ARB_texture_barrier
// GL_ARB_texture_buffer_object
// GL_ARB_texture_buffer_range
@ -70775,8 +70787,12 @@ static void REGAL_CALL emu_glVertexPointerEXT(GLint size, GLenum type, GLsizei s
// GL_INTEL_texture_scissor
// GL_KHR_blend_equation_advanced
// GL_KHR_debug
// GL_KHR_robustness
// GL_KTX_buffer_region
// GL_MESA_resize_buffers

File diff suppressed because it is too large Load diff

View file

@ -586,6 +586,40 @@ static GLXPixmap REGAL_CALL GLX_glXCreateGLXPixmapMESA(Display *dpy, XVisualInfo
return ret;
}
// GLX_MESA_query_renderer
static Bool REGAL_CALL GLX_glXQueryCurrentRendererIntegerMESA(int attribute, unsigned int *value)
{
DispatchTableGlobal *_next = dispatcherGlobal.glx.next();
RegalAssert(_next);
Bool ret = _next->call(&_next->glXQueryCurrentRendererIntegerMESA)(attribute, value);
return ret;
}
static const char *REGAL_CALL GLX_glXQueryCurrentRendererStringMESA(int attribute)
{
DispatchTableGlobal *_next = dispatcherGlobal.glx.next();
RegalAssert(_next);
const char * ret = _next->call(&_next->glXQueryCurrentRendererStringMESA)(attribute);
return ret;
}
static Bool REGAL_CALL GLX_glXQueryRendererIntegerMESA(Display *dpy, int screen, int renderer, int attribute, unsigned int *value)
{
DispatchTableGlobal *_next = dispatcherGlobal.glx.next();
RegalAssert(_next);
Bool ret = _next->call(&_next->glXQueryRendererIntegerMESA)(dpy, screen, renderer, attribute, value);
return ret;
}
static const char *REGAL_CALL GLX_glXQueryRendererStringMESA(Display *dpy, int screen, int renderer, int attribute)
{
DispatchTableGlobal *_next = dispatcherGlobal.glx.next();
RegalAssert(_next);
const char * ret = _next->call(&_next->glXQueryRendererStringMESA)(dpy, screen, renderer, attribute);
return ret;
}
// GLX_MESA_release_buffers
static Bool REGAL_CALL GLX_glXReleaseBuffersMESA(Display *dpy, GLXDrawable d)
@ -624,6 +658,22 @@ static int REGAL_CALL GLX_glXSwapIntervalMESA(unsigned int interval)
return ret;
}
// GLX_NV_copy_buffer
static void REGAL_CALL GLX_glXCopyBufferSubDataNV(Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
{
DispatchTableGlobal *_next = dispatcherGlobal.glx.next();
RegalAssert(_next);
_next->call(&_next->glXCopyBufferSubDataNV)(dpy, readCtx, writeCtx, readTarget, writeTarget, readOffset, writeOffset, size);
}
static void REGAL_CALL GLX_glXNamedCopyBufferSubDataNV(Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
{
DispatchTableGlobal *_next = dispatcherGlobal.glx.next();
RegalAssert(_next);
_next->call(&_next->glXNamedCopyBufferSubDataNV)(dpy, readCtx, writeCtx, readBuffer, writeBuffer, readOffset, writeOffset, size);
}
// GLX_NV_copy_image
static void REGAL_CALL GLX_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)
@ -633,6 +683,16 @@ static void REGAL_CALL GLX_glXCopyImageSubDataNV(Display *dpy, GLXContext srcCtx
_next->call(&_next->glXCopyImageSubDataNV)(dpy, srcCtx, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstCtx, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth);
}
// GLX_NV_delay_before_swap
static Bool REGAL_CALL GLX_glXDelayBeforeSwapNV(Display *dpy, GLXDrawable drawable, GLfloat seconds)
{
DispatchTableGlobal *_next = dispatcherGlobal.glx.next();
RegalAssert(_next);
Bool ret = _next->call(&_next->glXDelayBeforeSwapNV)(dpy, drawable, seconds);
return ret;
}
// GLX_NV_present_video
static int REGAL_CALL GLX_glXBindVideoDeviceNV(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list)
@ -1206,6 +1266,13 @@ void InitDispatchTableGlobalGLX(DispatchTableGlobal &tbl)
tbl.glXCreateGLXPixmapMESA = GLX_glXCreateGLXPixmapMESA;
// GLX_MESA_query_renderer
tbl.glXQueryCurrentRendererIntegerMESA = GLX_glXQueryCurrentRendererIntegerMESA;
tbl.glXQueryCurrentRendererStringMESA = GLX_glXQueryCurrentRendererStringMESA;
tbl.glXQueryRendererIntegerMESA = GLX_glXQueryRendererIntegerMESA;
tbl.glXQueryRendererStringMESA = GLX_glXQueryRendererStringMESA;
// GLX_MESA_release_buffers
tbl.glXReleaseBuffersMESA = GLX_glXReleaseBuffersMESA;
@ -1219,10 +1286,19 @@ void InitDispatchTableGlobalGLX(DispatchTableGlobal &tbl)
tbl.glXGetSwapIntervalMESA = GLX_glXGetSwapIntervalMESA;
tbl.glXSwapIntervalMESA = GLX_glXSwapIntervalMESA;
// GLX_NV_copy_buffer
tbl.glXCopyBufferSubDataNV = GLX_glXCopyBufferSubDataNV;
tbl.glXNamedCopyBufferSubDataNV = GLX_glXNamedCopyBufferSubDataNV;
// GLX_NV_copy_image
tbl.glXCopyImageSubDataNV = GLX_glXCopyImageSubDataNV;
// GLX_NV_delay_before_swap
tbl.glXDelayBeforeSwapNV = GLX_glXDelayBeforeSwapNV;
// GLX_NV_present_video
tbl.glXBindVideoDeviceNV = GLX_glXBindVideoDeviceNV;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -3591,6 +3591,10 @@ namespace Trace
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);
// WGL_NV_delay_before_swap
BOOL wglDelayBeforeSwapNV(HDC hDC, GLfloat seconds);
// WGL_NV_gpu_affinity
HDC wglCreateAffinityDCNV(const HGPUNV *phGpuList);
@ -31292,6 +31296,18 @@ static BOOL REGAL_CALL trace_wglCopyImageSubDataNV(HGLRC hSrcRC, GLuint srcName,
return ret;
}
// WGL_NV_delay_before_swap
static BOOL REGAL_CALL trace_wglDelayBeforeSwapNV(HDC hDC, GLfloat seconds)
{
Internal("trace_wglDelayBeforeSwapNV","()");
Thread::ThreadLocal &_instance = Thread::ThreadLocal::instance();
Push<DispatchTableGlobal *> _push(_instance.nextDispatchTableGlobal);
_instance.nextDispatchTableGlobal = dispatcherGlobal.trace.next();
BOOL ret = Trace::wglDelayBeforeSwapNV(hDC, seconds);
return ret;
}
// WGL_NV_gpu_affinity
static HDC REGAL_CALL trace_wglCreateAffinityDCNV(const HGPUNV *phGpuList)
@ -37528,6 +37544,10 @@ void InitDispatchTableGlobalTrace(DispatchTableGlobal &tbl)
tbl.wglCopyImageSubDataNV = trace_wglCopyImageSubDataNV;
// WGL_NV_delay_before_swap
tbl.wglDelayBeforeSwapNV = trace_wglDelayBeforeSwapNV;
// WGL_NV_gpu_affinity
tbl.wglCreateAffinityDCNV = trace_wglCreateAffinityDCNV;

View file

@ -273,6 +273,7 @@ REGAL_GLOBAL_BEGIN
RGL_BITMAP = GL_BITMAP,
RGL_BITMAP_TOKEN = GL_BITMAP_TOKEN,
RGL_BLEND = GL_BLEND,
RGL_BLEND_ADVANCED_COHERENT_KHR = GL_BLEND_ADVANCED_COHERENT_KHR,
RGL_BLEND_ADVANCED_COHERENT_NV = GL_BLEND_ADVANCED_COHERENT_NV,
RGL_BLEND_COLOR = GL_BLEND_COLOR,
RGL_BLEND_COLOR_EXT = GL_BLEND_COLOR_EXT,
@ -395,6 +396,9 @@ REGAL_GLOBAL_BEGIN
RGL_CLIENT_PIXEL_STORE_BIT = GL_CLIENT_PIXEL_STORE_BIT,
RGL_CLIENT_STORAGE_BIT = GL_CLIENT_STORAGE_BIT,
RGL_CLIENT_VERTEX_ARRAY_BIT = GL_CLIENT_VERTEX_ARRAY_BIT,
RGL_CLIPPING_INPUT_PRIMITIVES_ARB = GL_CLIPPING_INPUT_PRIMITIVES_ARB,
RGL_CLIPPING_OUTPUT_PRIMITIVES_ARB = GL_CLIPPING_OUTPUT_PRIMITIVES_ARB,
RGL_CLIP_DEPTH_MODE = GL_CLIP_DEPTH_MODE,
RGL_CLIP_DISTANCE0 = GL_CLIP_DISTANCE0,
RGL_CLIP_DISTANCE1 = GL_CLIP_DISTANCE1,
RGL_CLIP_DISTANCE2 = GL_CLIP_DISTANCE2,
@ -406,6 +410,7 @@ REGAL_GLOBAL_BEGIN
RGL_CLIP_DISTANCE_NV = GL_CLIP_DISTANCE_NV,
RGL_CLIP_FAR_HINT_PGI = GL_CLIP_FAR_HINT_PGI,
RGL_CLIP_NEAR_HINT_PGI = GL_CLIP_NEAR_HINT_PGI,
RGL_CLIP_ORIGIN = GL_CLIP_ORIGIN,
RGL_CLIP_PLANE0 = GL_CLIP_PLANE0,
RGL_CLIP_PLANE0_IMG = GL_CLIP_PLANE0_IMG,
RGL_CLIP_PLANE1 = GL_CLIP_PLANE1,
@ -431,7 +436,9 @@ REGAL_GLOBAL_BEGIN
RGL_COLOR = GL_COLOR,
RGL_COLOR3_BIT_PGI = GL_COLOR3_BIT_PGI,
RGL_COLOR4_BIT_PGI = GL_COLOR4_BIT_PGI,
RGL_COLORBURN_KHR = GL_COLORBURN_KHR,
RGL_COLORBURN_NV = GL_COLORBURN_NV,
RGL_COLORDODGE_KHR = GL_COLORDODGE_KHR,
RGL_COLORDODGE_NV = GL_COLORDODGE_NV,
RGL_COLOR_ALPHA_PAIRING_ATI = GL_COLOR_ALPHA_PAIRING_ATI,
RGL_COLOR_ARRAY = GL_COLOR_ARRAY,
@ -728,6 +735,7 @@ REGAL_GLOBAL_BEGIN
RGL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV,
RGL_COMPUTE_SHADER = GL_COMPUTE_SHADER,
RGL_COMPUTE_SHADER_BIT = GL_COMPUTE_SHADER_BIT,
RGL_COMPUTE_SHADER_INVOCATIONS_ARB = GL_COMPUTE_SHADER_INVOCATIONS_ARB,
RGL_COMPUTE_SUBROUTINE = GL_COMPUTE_SUBROUTINE,
RGL_COMPUTE_SUBROUTINE_UNIFORM = GL_COMPUTE_SUBROUTINE_UNIFORM,
RGL_COMPUTE_TEXTURE = GL_COMPUTE_TEXTURE,
@ -755,7 +763,9 @@ REGAL_GLOBAL_BEGIN
RGL_CONTEXT_FLAG_DEBUG_BIT = GL_CONTEXT_FLAG_DEBUG_BIT,
RGL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
RGL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB,
RGL_CONTEXT_LOST = GL_CONTEXT_LOST,
RGL_CONTEXT_PROFILE_MASK = GL_CONTEXT_PROFILE_MASK,
RGL_CONTEXT_ROBUST_ACCESS = GL_CONTEXT_ROBUST_ACCESS,
RGL_CONTEXT_ROBUST_ACCESS_EXT = GL_CONTEXT_ROBUST_ACCESS_EXT,
RGL_CONTINUOUS_AMD = GL_CONTINUOUS_AMD,
RGL_CONTRAST_NV = GL_CONTRAST_NV,
@ -865,6 +875,7 @@ REGAL_GLOBAL_BEGIN
RGL_CURRENT_VERTEX_WEIGHT_EXT = GL_CURRENT_VERTEX_WEIGHT_EXT,
RGL_CURRENT_WEIGHT_ARB = GL_CURRENT_WEIGHT_ARB,
RGL_CW = GL_CW,
RGL_DARKEN_KHR = GL_DARKEN_KHR,
RGL_DARKEN_NV = GL_DARKEN_NV,
RGL_DATA_BUFFER_AMD = GL_DATA_BUFFER_AMD,
RGL_DEBUG_CALLBACK_FUNCTION = GL_DEBUG_CALLBACK_FUNCTION,
@ -1005,6 +1016,7 @@ REGAL_GLOBAL_BEGIN
RGL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS,
RGL_DETAIL_TEXTURE_LEVEL_SGIS = GL_DETAIL_TEXTURE_LEVEL_SGIS,
RGL_DETAIL_TEXTURE_MODE_SGIS = GL_DETAIL_TEXTURE_MODE_SGIS,
RGL_DIFFERENCE_KHR = GL_DIFFERENCE_KHR,
RGL_DIFFERENCE_NV = GL_DIFFERENCE_NV,
RGL_DIFFUSE = GL_DIFFUSE,
RGL_DISCARD_ATI = GL_DISCARD_ATI,
@ -1248,6 +1260,7 @@ REGAL_GLOBAL_BEGIN
RGL_EVAL_VERTEX_ATTRIB7_NV = GL_EVAL_VERTEX_ATTRIB7_NV,
RGL_EVAL_VERTEX_ATTRIB8_NV = GL_EVAL_VERTEX_ATTRIB8_NV,
RGL_EVAL_VERTEX_ATTRIB9_NV = GL_EVAL_VERTEX_ATTRIB9_NV,
RGL_EXCLUSION_KHR = GL_EXCLUSION_KHR,
RGL_EXCLUSION_NV = GL_EXCLUSION_NV,
RGL_EXP = GL_EXP,
RGL_EXP2 = GL_EXP2,
@ -1446,6 +1459,7 @@ REGAL_GLOBAL_BEGIN
RGL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB,
RGL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES = GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES,
RGL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT,
RGL_FRAGMENT_SHADER_INVOCATIONS_ARB = GL_FRAGMENT_SHADER_INVOCATIONS_ARB,
RGL_FRAGMENT_SUBROUTINE = GL_FRAGMENT_SUBROUTINE,
RGL_FRAGMENT_SUBROUTINE_UNIFORM = GL_FRAGMENT_SUBROUTINE_UNIFORM,
RGL_FRAGMENT_TEXTURE = GL_FRAGMENT_TEXTURE,
@ -1573,6 +1587,7 @@ REGAL_GLOBAL_BEGIN
RGL_GEOMETRY_SHADER_BIT = GL_GEOMETRY_SHADER_BIT,
RGL_GEOMETRY_SHADER_EXT = GL_GEOMETRY_SHADER_EXT,
RGL_GEOMETRY_SHADER_INVOCATIONS = GL_GEOMETRY_SHADER_INVOCATIONS,
RGL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB,
RGL_GEOMETRY_SUBROUTINE = GL_GEOMETRY_SUBROUTINE,
RGL_GEOMETRY_SUBROUTINE_UNIFORM = GL_GEOMETRY_SUBROUTINE_UNIFORM,
RGL_GEOMETRY_TEXTURE = GL_GEOMETRY_TEXTURE,
@ -1611,6 +1626,7 @@ REGAL_GLOBAL_BEGIN
RGL_GREEN_MAX_CLAMP_INGR = GL_GREEN_MAX_CLAMP_INGR,
RGL_GREEN_MIN_CLAMP_INGR = GL_GREEN_MIN_CLAMP_INGR,
RGL_GREEN_SCALE = GL_GREEN_SCALE,
RGL_GUILTY_CONTEXT_RESET = GL_GUILTY_CONTEXT_RESET,
RGL_GUILTY_CONTEXT_RESET_ARB = GL_GUILTY_CONTEXT_RESET_ARB,
RGL_GUILTY_CONTEXT_RESET_EXT = GL_GUILTY_CONTEXT_RESET_EXT,
RGL_HALF_APPLE = GL_HALF_APPLE,
@ -1621,6 +1637,7 @@ REGAL_GLOBAL_BEGIN
RGL_HALF_FLOAT_ARB = GL_HALF_FLOAT_ARB,
RGL_HALF_FLOAT_NV = GL_HALF_FLOAT_NV,
RGL_HALF_FLOAT_OES = GL_HALF_FLOAT_OES,
RGL_HARDLIGHT_KHR = GL_HARDLIGHT_KHR,
RGL_HARDLIGHT_NV = GL_HARDLIGHT_NV,
RGL_HARDMIX_NV = GL_HARDMIX_NV,
RGL_HIGH_FLOAT = GL_HIGH_FLOAT,
@ -1650,9 +1667,13 @@ REGAL_GLOBAL_BEGIN
RGL_HI_BIAS_NV = GL_HI_BIAS_NV,
RGL_HI_SCALE_NV = GL_HI_SCALE_NV,
RGL_HORIZONTAL_LINE_TO_NV = GL_HORIZONTAL_LINE_TO_NV,
RGL_HSL_COLOR_KHR = GL_HSL_COLOR_KHR,
RGL_HSL_COLOR_NV = GL_HSL_COLOR_NV,
RGL_HSL_HUE_KHR = GL_HSL_HUE_KHR,
RGL_HSL_HUE_NV = GL_HSL_HUE_NV,
RGL_HSL_LUMINOSITY_KHR = GL_HSL_LUMINOSITY_KHR,
RGL_HSL_LUMINOSITY_NV = GL_HSL_LUMINOSITY_NV,
RGL_HSL_SATURATION_KHR = GL_HSL_SATURATION_KHR,
RGL_HSL_SATURATION_NV = GL_HSL_SATURATION_NV,
RGL_IDENTITY_NV = GL_IDENTITY_NV,
RGL_IGNORE_BORDER = GL_IGNORE_BORDER,
@ -1751,6 +1772,7 @@ REGAL_GLOBAL_BEGIN
RGL_INDEX_SHIFT = GL_INDEX_SHIFT,
RGL_INDEX_WRITEMASK = GL_INDEX_WRITEMASK,
RGL_INFO_LOG_LENGTH = GL_INFO_LOG_LENGTH,
RGL_INNOCENT_CONTEXT_RESET = GL_INNOCENT_CONTEXT_RESET,
RGL_INNOCENT_CONTEXT_RESET_ARB = GL_INNOCENT_CONTEXT_RESET_ARB,
RGL_INNOCENT_CONTEXT_RESET_EXT = GL_INNOCENT_CONTEXT_RESET_EXT,
RGL_INT = GL_INT,
@ -1918,6 +1940,7 @@ REGAL_GLOBAL_BEGIN
RGL_LIGHT5 = GL_LIGHT5,
RGL_LIGHT6 = GL_LIGHT6,
RGL_LIGHT7 = GL_LIGHT7,
RGL_LIGHTEN_KHR = GL_LIGHTEN_KHR,
RGL_LIGHTEN_NV = GL_LIGHTEN_NV,
RGL_LIGHTING = GL_LIGHTING,
RGL_LIGHTING_BIT = GL_LIGHTING_BIT,
@ -1986,6 +2009,7 @@ REGAL_GLOBAL_BEGIN
RGL_LOG_REGAL = GL_LOG_REGAL,
RGL_LOG_STATUS_REGAL = GL_LOG_STATUS_REGAL,
RGL_LOG_WARNING_REGAL = GL_LOG_WARNING_REGAL,
RGL_LOSE_CONTEXT_ON_RESET = GL_LOSE_CONTEXT_ON_RESET,
RGL_LOSE_CONTEXT_ON_RESET_ARB = GL_LOSE_CONTEXT_ON_RESET_ARB,
RGL_LOSE_CONTEXT_ON_RESET_EXT = GL_LOSE_CONTEXT_ON_RESET_EXT,
RGL_LOWER_LEFT = GL_LOWER_LEFT,
@ -2241,6 +2265,7 @@ REGAL_GLOBAL_BEGIN
RGL_MAX_COLOR_TEXTURE_SAMPLES = GL_MAX_COLOR_TEXTURE_SAMPLES,
RGL_MAX_COMBINED_ATOMIC_COUNTERS = GL_MAX_COMBINED_ATOMIC_COUNTERS,
RGL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
RGL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES,
RGL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
RGL_MAX_COMBINED_DIMENSIONS = GL_MAX_COMBINED_DIMENSIONS,
RGL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
@ -2279,6 +2304,7 @@ REGAL_GLOBAL_BEGIN
RGL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB,
RGL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT,
RGL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES,
RGL_MAX_CULL_DISTANCES = GL_MAX_CULL_DISTANCES,
RGL_MAX_DEBUG_GROUP_STACK_DEPTH = GL_MAX_DEBUG_GROUP_STACK_DEPTH,
RGL_MAX_DEBUG_LOGGED_MESSAGES = GL_MAX_DEBUG_LOGGED_MESSAGES,
RGL_MAX_DEBUG_LOGGED_MESSAGES_AMD = GL_MAX_DEBUG_LOGGED_MESSAGES_AMD,
@ -2640,6 +2666,7 @@ REGAL_GLOBAL_BEGIN
RGL_MOVE_TO_RESETS_NV = GL_MOVE_TO_RESETS_NV,
RGL_MOV_ATI = GL_MOV_ATI,
RGL_MULT = GL_MULT,
RGL_MULTIPLY_KHR = GL_MULTIPLY_KHR,
RGL_MULTIPLY_NV = GL_MULTIPLY_NV,
RGL_MULTISAMPLE = GL_MULTISAMPLE,
RGL_MULTISAMPLE_3DFX = GL_MULTISAMPLE_3DFX,
@ -2677,6 +2704,7 @@ REGAL_GLOBAL_BEGIN
RGL_NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST,
RGL_NEGATE_BIT_ATI = GL_NEGATE_BIT_ATI,
RGL_NEGATIVE_ONE_EXT = GL_NEGATIVE_ONE_EXT,
RGL_NEGATIVE_ONE_TO_ONE = GL_NEGATIVE_ONE_TO_ONE,
RGL_NEGATIVE_W_EXT = GL_NEGATIVE_W_EXT,
RGL_NEGATIVE_X_EXT = GL_NEGATIVE_X_EXT,
RGL_NEGATIVE_Y_EXT = GL_NEGATIVE_Y_EXT,
@ -2714,6 +2742,7 @@ REGAL_GLOBAL_BEGIN
RGL_NORMAL_MAP_OES = GL_NORMAL_MAP_OES,
RGL_NOTEQUAL = GL_NOTEQUAL,
RGL_NO_ERROR = GL_NO_ERROR,
RGL_NO_RESET_NOTIFICATION = GL_NO_RESET_NOTIFICATION,
RGL_NO_RESET_NOTIFICATION_ARB = GL_NO_RESET_NOTIFICATION_ARB,
RGL_NO_RESET_NOTIFICATION_EXT = GL_NO_RESET_NOTIFICATION_EXT,
RGL_NUM_ACTIVE_VARIABLES = GL_NUM_ACTIVE_VARIABLES,
@ -2879,6 +2908,7 @@ REGAL_GLOBAL_BEGIN
RGL_OUTPUT_TEXTURE_COORD9_EXT = GL_OUTPUT_TEXTURE_COORD9_EXT,
RGL_OUTPUT_VERTEX_EXT = GL_OUTPUT_VERTEX_EXT,
RGL_OUT_OF_MEMORY = GL_OUT_OF_MEMORY,
RGL_OVERLAY_KHR = GL_OVERLAY_KHR,
RGL_OVERLAY_NV = GL_OVERLAY_NV,
RGL_PACK_ALIGNMENT = GL_PACK_ALIGNMENT,
RGL_PACK_CMYK_HINT_EXT = GL_PACK_CMYK_HINT_EXT,
@ -3137,6 +3167,7 @@ REGAL_GLOBAL_BEGIN
RGL_PRIMITIVES_GENERATED = GL_PRIMITIVES_GENERATED,
RGL_PRIMITIVES_GENERATED_EXT = GL_PRIMITIVES_GENERATED_EXT,
RGL_PRIMITIVES_GENERATED_NV = GL_PRIMITIVES_GENERATED_NV,
RGL_PRIMITIVES_SUBMITTED_ARB = GL_PRIMITIVES_SUBMITTED_ARB,
RGL_PRIMITIVE_ID_NV = GL_PRIMITIVE_ID_NV,
RGL_PRIMITIVE_RESTART = GL_PRIMITIVE_RESTART,
RGL_PRIMITIVE_RESTART_FIXED_INDEX = GL_PRIMITIVE_RESTART_FIXED_INDEX,
@ -3253,14 +3284,17 @@ REGAL_GLOBAL_BEGIN
RGL_QUERY_BUFFER_BINDING = GL_QUERY_BUFFER_BINDING,
RGL_QUERY_BUFFER_BINDING_AMD = GL_QUERY_BUFFER_BINDING_AMD,
RGL_QUERY_BY_REGION_NO_WAIT = GL_QUERY_BY_REGION_NO_WAIT,
RGL_QUERY_BY_REGION_NO_WAIT_INVERTED = GL_QUERY_BY_REGION_NO_WAIT_INVERTED,
RGL_QUERY_BY_REGION_NO_WAIT_NV = GL_QUERY_BY_REGION_NO_WAIT_NV,
RGL_QUERY_BY_REGION_WAIT = GL_QUERY_BY_REGION_WAIT,
RGL_QUERY_BY_REGION_WAIT_INVERTED = GL_QUERY_BY_REGION_WAIT_INVERTED,
RGL_QUERY_BY_REGION_WAIT_NV = GL_QUERY_BY_REGION_WAIT_NV,
RGL_QUERY_COUNTER_BITS = GL_QUERY_COUNTER_BITS,
RGL_QUERY_COUNTER_BITS_ANGLE = GL_QUERY_COUNTER_BITS_ANGLE,
RGL_QUERY_COUNTER_BITS_ARB = GL_QUERY_COUNTER_BITS_ARB,
RGL_QUERY_COUNTER_BITS_EXT = GL_QUERY_COUNTER_BITS_EXT,
RGL_QUERY_NO_WAIT = GL_QUERY_NO_WAIT,
RGL_QUERY_NO_WAIT_INVERTED = GL_QUERY_NO_WAIT_INVERTED,
RGL_QUERY_NO_WAIT_NV = GL_QUERY_NO_WAIT_NV,
RGL_QUERY_OBJECT_AMD = GL_QUERY_OBJECT_AMD,
RGL_QUERY_OBJECT_EXT = GL_QUERY_OBJECT_EXT,
@ -3276,7 +3310,9 @@ REGAL_GLOBAL_BEGIN
RGL_QUERY_RESULT_NO_WAIT = GL_QUERY_RESULT_NO_WAIT,
RGL_QUERY_RESULT_NO_WAIT_AMD = GL_QUERY_RESULT_NO_WAIT_AMD,
RGL_QUERY_RESULT_NV = GL_QUERY_RESULT_NV,
RGL_QUERY_TARGET = GL_QUERY_TARGET,
RGL_QUERY_WAIT = GL_QUERY_WAIT,
RGL_QUERY_WAIT_INVERTED = GL_QUERY_WAIT_INVERTED,
RGL_QUERY_WAIT_NV = GL_QUERY_WAIT_NV,
RGL_R = GL_R,
RGL_R11F_G11F_B10F = GL_R11F_G11F_B10F,
@ -3449,6 +3485,7 @@ REGAL_GLOBAL_BEGIN
RGL_RESAMPLE_ZERO_FILL_SGIX = GL_RESAMPLE_ZERO_FILL_SGIX,
RGL_RESCALE_NORMAL = GL_RESCALE_NORMAL,
RGL_RESCALE_NORMAL_EXT = GL_RESCALE_NORMAL_EXT,
RGL_RESET_NOTIFICATION_STRATEGY = GL_RESET_NOTIFICATION_STRATEGY,
RGL_RESET_NOTIFICATION_STRATEGY_ARB = GL_RESET_NOTIFICATION_STRATEGY_ARB,
RGL_RESET_NOTIFICATION_STRATEGY_EXT = GL_RESET_NOTIFICATION_STRATEGY_EXT,
RGL_RESTART_PATH_NV = GL_RESTART_PATH_NV,
@ -3691,6 +3728,7 @@ REGAL_GLOBAL_BEGIN
RGL_SCISSOR_BOX = GL_SCISSOR_BOX,
RGL_SCISSOR_TEST = GL_SCISSOR_TEST,
RGL_SCREEN_COORDINATES_REND = GL_SCREEN_COORDINATES_REND,
RGL_SCREEN_KHR = GL_SCREEN_KHR,
RGL_SCREEN_NV = GL_SCREEN_NV,
RGL_SECONDARY_COLOR_ARRAY = GL_SECONDARY_COLOR_ARRAY,
RGL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV,
@ -3808,6 +3846,7 @@ REGAL_GLOBAL_BEGIN
RGL_SMOOTH_POINT_SIZE_GRANULARITY = GL_SMOOTH_POINT_SIZE_GRANULARITY,
RGL_SMOOTH_POINT_SIZE_RANGE = GL_SMOOTH_POINT_SIZE_RANGE,
RGL_SMOOTH_QUADRATIC_CURVE_TO_NV = GL_SMOOTH_QUADRATIC_CURVE_TO_NV,
RGL_SOFTLIGHT_KHR = GL_SOFTLIGHT_KHR,
RGL_SOFTLIGHT_NV = GL_SOFTLIGHT_NV,
RGL_SOURCE0_ALPHA = GL_SOURCE0_ALPHA,
RGL_SOURCE0_ALPHA_ARB = GL_SOURCE0_ALPHA_ARB,
@ -3832,6 +3871,8 @@ REGAL_GLOBAL_BEGIN
RGL_SPARE0_NV = GL_SPARE0_NV,
RGL_SPARE0_PLUS_SECONDARY_COLOR_NV = GL_SPARE0_PLUS_SECONDARY_COLOR_NV,
RGL_SPARE1_NV = GL_SPARE1_NV,
RGL_SPARSE_BUFFER_PAGE_SIZE_ARB = GL_SPARSE_BUFFER_PAGE_SIZE_ARB,
RGL_SPARSE_STORAGE_BIT_ARB = GL_SPARSE_STORAGE_BIT_ARB,
RGL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB,
RGL_SPECULAR = GL_SPECULAR,
RGL_SPHERE_MAP = GL_SPHERE_MAP,
@ -4006,6 +4047,7 @@ REGAL_GLOBAL_BEGIN
RGL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV,
RGL_TESS_CONTROL_SHADER = GL_TESS_CONTROL_SHADER,
RGL_TESS_CONTROL_SHADER_BIT = GL_TESS_CONTROL_SHADER_BIT,
RGL_TESS_CONTROL_SHADER_PATCHES_ARB = GL_TESS_CONTROL_SHADER_PATCHES_ARB,
RGL_TESS_CONTROL_SUBROUTINE = GL_TESS_CONTROL_SUBROUTINE,
RGL_TESS_CONTROL_SUBROUTINE_UNIFORM = GL_TESS_CONTROL_SUBROUTINE_UNIFORM,
RGL_TESS_CONTROL_TEXTURE = GL_TESS_CONTROL_TEXTURE,
@ -4013,6 +4055,7 @@ REGAL_GLOBAL_BEGIN
RGL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV,
RGL_TESS_EVALUATION_SHADER = GL_TESS_EVALUATION_SHADER,
RGL_TESS_EVALUATION_SHADER_BIT = GL_TESS_EVALUATION_SHADER_BIT,
RGL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB,
RGL_TESS_EVALUATION_SUBROUTINE = GL_TESS_EVALUATION_SUBROUTINE,
RGL_TESS_EVALUATION_SUBROUTINE_UNIFORM = GL_TESS_EVALUATION_SUBROUTINE_UNIFORM,
RGL_TESS_EVALUATION_TEXTURE = GL_TESS_EVALUATION_TEXTURE,
@ -4116,6 +4159,7 @@ REGAL_GLOBAL_BEGIN
RGL_TEXTURE_APPLICATION_MODE_EXT = GL_TEXTURE_APPLICATION_MODE_EXT,
RGL_TEXTURE_BASE_LEVEL = GL_TEXTURE_BASE_LEVEL,
RGL_TEXTURE_BASE_LEVEL_SGIS = GL_TEXTURE_BASE_LEVEL_SGIS,
RGL_TEXTURE_BINDING = GL_TEXTURE_BINDING,
RGL_TEXTURE_BINDING_1D = GL_TEXTURE_BINDING_1D,
RGL_TEXTURE_BINDING_1D_ARRAY = GL_TEXTURE_BINDING_1D_ARRAY,
RGL_TEXTURE_BINDING_1D_ARRAY_EXT = GL_TEXTURE_BINDING_1D_ARRAY_EXT,
@ -4362,6 +4406,7 @@ REGAL_GLOBAL_BEGIN
RGL_TEXTURE_SWIZZLE_RGBA = GL_TEXTURE_SWIZZLE_RGBA,
RGL_TEXTURE_SWIZZLE_RGBA_EXT = GL_TEXTURE_SWIZZLE_RGBA_EXT,
RGL_TEXTURE_SWIZZLE_R_EXT = GL_TEXTURE_SWIZZLE_R_EXT,
RGL_TEXTURE_TARGET = GL_TEXTURE_TARGET,
RGL_TEXTURE_TARGET_QCOM = GL_TEXTURE_TARGET_QCOM,
RGL_TEXTURE_TYPE_QCOM = GL_TEXTURE_TYPE_QCOM,
RGL_TEXTURE_UNSIGNED_REMAP_MODE_NV = GL_TEXTURE_UNSIGNED_REMAP_MODE_NV,
@ -4423,10 +4468,12 @@ REGAL_GLOBAL_BEGIN
RGL_TRANSFORM_FEEDBACK_BUFFER_START_NV = GL_TRANSFORM_FEEDBACK_BUFFER_START_NV,
RGL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE,
RGL_TRANSFORM_FEEDBACK_NV = GL_TRANSFORM_FEEDBACK_NV,
RGL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB,
RGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
RGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT,
RGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV,
RGL_TRANSFORM_FEEDBACK_RECORD_NV = GL_TRANSFORM_FEEDBACK_RECORD_NV,
RGL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB,
RGL_TRANSFORM_FEEDBACK_VARYING = GL_TRANSFORM_FEEDBACK_VARYING,
RGL_TRANSFORM_FEEDBACK_VARYINGS = GL_TRANSFORM_FEEDBACK_VARYINGS,
RGL_TRANSFORM_FEEDBACK_VARYINGS_EXT = GL_TRANSFORM_FEEDBACK_VARYINGS_EXT,
@ -4500,6 +4547,7 @@ REGAL_GLOBAL_BEGIN
RGL_UNIFORM_OFFSET = GL_UNIFORM_OFFSET,
RGL_UNIFORM_SIZE = GL_UNIFORM_SIZE,
RGL_UNIFORM_TYPE = GL_UNIFORM_TYPE,
RGL_UNKNOWN_CONTEXT_RESET = GL_UNKNOWN_CONTEXT_RESET,
RGL_UNKNOWN_CONTEXT_RESET_ARB = GL_UNKNOWN_CONTEXT_RESET_ARB,
RGL_UNKNOWN_CONTEXT_RESET_EXT = GL_UNKNOWN_CONTEXT_RESET_EXT,
RGL_UNPACK_ALIGNMENT = GL_UNPACK_ALIGNMENT,
@ -4781,6 +4829,7 @@ REGAL_GLOBAL_BEGIN
RGL_VERTEX_SHADER_EXT = GL_VERTEX_SHADER_EXT,
RGL_VERTEX_SHADER_INSTRUCTIONS_EXT = GL_VERTEX_SHADER_INSTRUCTIONS_EXT,
RGL_VERTEX_SHADER_INVARIANTS_EXT = GL_VERTEX_SHADER_INVARIANTS_EXT,
RGL_VERTEX_SHADER_INVOCATIONS_ARB = GL_VERTEX_SHADER_INVOCATIONS_ARB,
RGL_VERTEX_SHADER_LOCALS_EXT = GL_VERTEX_SHADER_LOCALS_EXT,
RGL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT,
RGL_VERTEX_SHADER_OPTIMIZED_EXT = GL_VERTEX_SHADER_OPTIMIZED_EXT,
@ -4805,6 +4854,7 @@ REGAL_GLOBAL_BEGIN
RGL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT,
RGL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT,
RGL_VERTICAL_LINE_TO_NV = GL_VERTICAL_LINE_TO_NV,
RGL_VERTICES_SUBMITTED_ARB = GL_VERTICES_SUBMITTED_ARB,
RGL_VIBRANCE_BIAS_NV = GL_VIBRANCE_BIAS_NV,
RGL_VIBRANCE_SCALE_NV = GL_VIBRANCE_SCALE_NV,
RGL_VIDEO_BUFFER_BINDING_NV = GL_VIDEO_BUFFER_BINDING_NV,
@ -4897,6 +4947,7 @@ REGAL_GLOBAL_BEGIN
RGL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV,
RGL_ZERO = GL_ZERO,
RGL_ZERO_EXT = GL_ZERO_EXT,
RGL_ZERO_TO_ONE = GL_ZERO_TO_ONE,
RGL_ZOOM_X = GL_ZOOM_X,
RGL_ZOOM_Y = GL_ZOOM_Y,
RGL_Z_EXT = GL_Z_EXT,

File diff suppressed because it is too large Load diff

View file

@ -59,65 +59,65 @@ inline int NameCmp(const void *a, const void *b)
return std::strcmp(*(const char **) a, *(const char **) b);
}
extern const char * const gl_Name[2701];
extern const void *gl_Value[2701];
extern const char * const gl_Name[2805];
extern const void *gl_Value[2805];
template<typename T>
T
gl_Lookup(const char *name, T def = NULL)
{
const char **res = (const char **) std::bsearch(&name, gl_Name, 2700, sizeof(const char *), NameCmp);
const char **res = (const char **) std::bsearch(&name, gl_Name, 2804, sizeof(const char *), NameCmp);
return res ? reinterpret_cast<T>(const_cast<void *>(gl_Value[(size_t) (res - gl_Name)])) : def;
}
extern const size_t gl_Offset[2701];
extern const size_t gl_Offset[2805];
inline size_t gl_LookupOffset(const char *name)
{
const char **res = (const char **) std::bsearch(&name, gl_Name, 2700, sizeof(const char *), NameCmp);
const char **res = (const char **) std::bsearch(&name, gl_Name, 2804, sizeof(const char *), NameCmp);
return res ? gl_Offset[(size_t) (res - gl_Name)] : 0;
}
#if REGAL_SYS_WGL
extern const char * const wgl_Name[144];
extern const void *wgl_Value[144];
extern const char * const wgl_Name[145];
extern const void *wgl_Value[145];
template<typename T>
T
wgl_Lookup(const char *name, T def = NULL)
{
const char **res = (const char **) std::bsearch(&name, wgl_Name, 143, sizeof(const char *), NameCmp);
const char **res = (const char **) std::bsearch(&name, wgl_Name, 144, sizeof(const char *), NameCmp);
return res ? reinterpret_cast<T>(const_cast<void *>(wgl_Value[(size_t) (res - wgl_Name)])) : def;
}
extern const size_t wgl_Offset[144];
extern const size_t wgl_Offset[145];
inline size_t wgl_LookupOffset(const char *name)
{
const char **res = (const char **) std::bsearch(&name, wgl_Name, 143, sizeof(const char *), NameCmp);
const char **res = (const char **) std::bsearch(&name, wgl_Name, 144, sizeof(const char *), NameCmp);
return res ? wgl_Offset[(size_t) (res - wgl_Name)] : 0;
}
#endif /* REGAL_SYS_WGL */
#if REGAL_SYS_GLX
extern const char * const glx_Name[123];
extern const void *glx_Value[123];
extern const char * const glx_Name[130];
extern const void *glx_Value[130];
template<typename T>
T
glx_Lookup(const char *name, T def = NULL)
{
const char **res = (const char **) std::bsearch(&name, glx_Name, 122, sizeof(const char *), NameCmp);
const char **res = (const char **) std::bsearch(&name, glx_Name, 129, sizeof(const char *), NameCmp);
return res ? reinterpret_cast<T>(const_cast<void *>(glx_Value[(size_t) (res - glx_Name)])) : def;
}
extern const size_t glx_Offset[123];
extern const size_t glx_Offset[130];
inline size_t glx_LookupOffset(const char *name)
{
const char **res = (const char **) std::bsearch(&name, glx_Name, 122, sizeof(const char *), NameCmp);
const char **res = (const char **) std::bsearch(&name, glx_Name, 129, sizeof(const char *), NameCmp);
return res ? glx_Offset[(size_t) (res - glx_Name)] : 0;
}

File diff suppressed because it is too large Load diff

View file

@ -101,6 +101,7 @@ Statistics::log() const
log("GL_VERSION_4_2",gl_version_4_2);
log("GL_VERSION_4_3",gl_version_4_3);
log("GL_VERSION_4_4",gl_version_4_4);
log("GL_VERSION_4_5",gl_version_4_5);
log("GLX_VERSION_1_0",glx_version_1_0);
log("GLX_VERSION_1_1",glx_version_1_1);
log("GLX_VERSION_1_2",glx_version_1_2);
@ -164,6 +165,7 @@ Statistics::log() const
log("GL_APPLE_VERTEX_PROGRAM_EVALUATORS",gl_apple_vertex_program_evaluators);
log("GL_APPLE_YCBCR_422",gl_apple_ycbcr_422);
log("GL_ARB_ES2_COMPATIBILITY",gl_arb_es2_compatibility);
log("GL_ARB_ES3_1_COMPATIBILITY",gl_arb_es3_1_compatibility);
log("GL_ARB_ES3_COMPATIBILITY",gl_arb_es3_compatibility);
log("GL_ARB_BASE_INSTANCE",gl_arb_base_instance);
log("GL_ARB_BINDLESS_TEXTURE",gl_arb_bindless_texture);
@ -172,16 +174,20 @@ Statistics::log() const
log("GL_ARB_CL_EVENT",gl_arb_cl_event);
log("GL_ARB_CLEAR_BUFFER_OBJECT",gl_arb_clear_buffer_object);
log("GL_ARB_CLEAR_TEXTURE",gl_arb_clear_texture);
log("GL_ARB_CLIP_CONTROL",gl_arb_clip_control);
log("GL_ARB_COLOR_BUFFER_FLOAT",gl_arb_color_buffer_float);
log("GL_ARB_COMPRESSED_TEXTURE_PIXEL_STORAGE",gl_arb_compressed_texture_pixel_storage);
log("GL_ARB_COMPUTE_SHADER",gl_arb_compute_shader);
log("GL_ARB_COMPUTE_VARIABLE_GROUP_SIZE",gl_arb_compute_variable_group_size);
log("GL_ARB_CONDITIONAL_RENDER_INVERTED",gl_arb_conditional_render_inverted);
log("GL_ARB_COPY_BUFFER",gl_arb_copy_buffer);
log("GL_ARB_COPY_IMAGE",gl_arb_copy_image);
log("GL_ARB_CULL_DISTANCE",gl_arb_cull_distance);
log("GL_ARB_DEBUG_OUTPUT",gl_arb_debug_output);
log("GL_ARB_DEPTH_BUFFER_FLOAT",gl_arb_depth_buffer_float);
log("GL_ARB_DEPTH_CLAMP",gl_arb_depth_clamp);
log("GL_ARB_DEPTH_TEXTURE",gl_arb_depth_texture);
log("GL_ARB_DIRECT_STATE_ACCESS",gl_arb_direct_state_access);
log("GL_ARB_DRAW_BUFFERS",gl_arb_draw_buffers);
log("GL_ARB_DRAW_BUFFERS_BLEND",gl_arb_draw_buffers_blend);
log("GL_ARB_DRAW_ELEMENTS_BASE_VERTEX",gl_arb_draw_elements_base_vertex);
@ -196,6 +202,7 @@ Statistics::log() const
log("GL_ARB_FRAMEBUFFER_SRGB",gl_arb_framebuffer_srgb);
log("GL_ARB_GEOMETRY_SHADER4",gl_arb_geometry_shader4);
log("GL_ARB_GET_PROGRAM_BINARY",gl_arb_get_program_binary);
log("GL_ARB_GET_TEXTURE_SUB_IMAGE",gl_arb_get_texture_sub_image);
log("GL_ARB_GPU_SHADER5",gl_arb_gpu_shader5);
log("GL_ARB_GPU_SHADER_FP64",gl_arb_gpu_shader_fp64);
log("GL_ARB_HALF_FLOAT_PIXEL",gl_arb_half_float_pixel);
@ -215,6 +222,7 @@ Statistics::log() const
log("GL_ARB_MULTITEXTURE",gl_arb_multitexture);
log("GL_ARB_OCCLUSION_QUERY",gl_arb_occlusion_query);
log("GL_ARB_OCCLUSION_QUERY2",gl_arb_occlusion_query2);
log("GL_ARB_PIPELINE_STATISTICS_QUERY",gl_arb_pipeline_statistics_query);
log("GL_ARB_PIXEL_BUFFER_OBJECT",gl_arb_pixel_buffer_object);
log("GL_ARB_POINT_PARAMETERS",gl_arb_point_parameters);
log("GL_ARB_POINT_SPRITE",gl_arb_point_sprite);
@ -235,10 +243,12 @@ Statistics::log() const
log("GL_ARB_SHADING_LANGUAGE_INCLUDE",gl_arb_shading_language_include);
log("GL_ARB_SHADOW",gl_arb_shadow);
log("GL_ARB_SHADOW_AMBIENT",gl_arb_shadow_ambient);
log("GL_ARB_SPARSE_BUFFER",gl_arb_sparse_buffer);
log("GL_ARB_SPARSE_TEXTURE",gl_arb_sparse_texture);
log("GL_ARB_STENCIL_TEXTURING",gl_arb_stencil_texturing);
log("GL_ARB_SYNC",gl_arb_sync);
log("GL_ARB_TESSELLATION_SHADER",gl_arb_tessellation_shader);
log("GL_ARB_TEXTURE_BARRIER",gl_arb_texture_barrier);
log("GL_ARB_TEXTURE_BORDER_CLAMP",gl_arb_texture_border_clamp);
log("GL_ARB_TEXTURE_BUFFER_OBJECT",gl_arb_texture_buffer_object);
log("GL_ARB_TEXTURE_BUFFER_RANGE",gl_arb_texture_buffer_range);
@ -265,6 +275,7 @@ Statistics::log() const
log("GL_ARB_TRANSFORM_FEEDBACK2",gl_arb_transform_feedback2);
log("GL_ARB_TRANSFORM_FEEDBACK3",gl_arb_transform_feedback3);
log("GL_ARB_TRANSFORM_FEEDBACK_INSTANCED",gl_arb_transform_feedback_instanced);
log("GL_ARB_TRANSFORM_FEEDBACK_OVERFLOW_QUERY",gl_arb_transform_feedback_overflow_query);
log("GL_ARB_TRANSPOSE_MATRIX",gl_arb_transpose_matrix);
log("GL_ARB_UNIFORM_BUFFER_OBJECT",gl_arb_uniform_buffer_object);
log("GL_ARB_VERTEX_ARRAY_OBJECT",gl_arb_vertex_array_object);
@ -429,7 +440,9 @@ Statistics::log() const
log("GL_INTEL_MAP_TEXTURE",gl_intel_map_texture);
log("GL_INTEL_PARALLEL_ARRAYS",gl_intel_parallel_arrays);
log("GL_INTEL_TEXTURE_SCISSOR",gl_intel_texture_scissor);
log("GL_KHR_BLEND_EQUATION_ADVANCED",gl_khr_blend_equation_advanced);
log("GL_KHR_DEBUG",gl_khr_debug);
log("GL_KHR_ROBUSTNESS",gl_khr_robustness);
log("GL_KHR_TEXTURE_COMPRESSION_ASTC_LDR",gl_khr_texture_compression_astc_ldr);
log("GL_KTX_BUFFER_REGION",gl_ktx_buffer_region);
log("GL_MESAX_TEXTURE_STACK",gl_mesax_texture_stack);
@ -655,6 +668,7 @@ Statistics::log() const
log("WGL_ARB_PIXEL_FORMAT",wgl_arb_pixel_format);
log("WGL_ARB_PIXEL_FORMAT_FLOAT",wgl_arb_pixel_format_float);
log("WGL_ARB_RENDER_TEXTURE",wgl_arb_render_texture);
log("WGL_ARB_ROBUSTNESS_APPLICATION_ISOLATION",wgl_arb_robustness_application_isolation);
log("WGL_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION",wgl_arb_robustness_share_group_isolation);
log("WGL_ATI_PIXEL_FORMAT_FLOAT",wgl_ati_pixel_format_float);
log("WGL_ATI_RENDER_TEXTURE_RECTANGLE",wgl_ati_render_texture_rectangle);
@ -679,6 +693,7 @@ Statistics::log() const
log("WGL_I3D_SWAP_FRAME_USAGE",wgl_i3d_swap_frame_usage);
log("WGL_NV_DX_INTEROP",wgl_nv_dx_interop);
log("WGL_NV_COPY_IMAGE",wgl_nv_copy_image);
log("WGL_NV_DELAY_BEFORE_SWAP",wgl_nv_delay_before_swap);
log("WGL_NV_FLOAT_BUFFER",wgl_nv_float_buffer);
log("WGL_NV_GPU_AFFINITY",wgl_nv_gpu_affinity);
log("WGL_NV_MULTISAMPLE_COVERAGE",wgl_nv_multisample_coverage);
@ -701,15 +716,18 @@ Statistics::log() const
log("GLX_ARB_FRAMEBUFFER_SRGB",glx_arb_framebuffer_srgb);
log("GLX_ARB_GET_PROC_ADDRESS",glx_arb_get_proc_address);
log("GLX_ARB_MULTISAMPLE",glx_arb_multisample);
log("GLX_ARB_ROBUSTNESS_APPLICATION_ISOLATION",glx_arb_robustness_application_isolation);
log("GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION",glx_arb_robustness_share_group_isolation);
log("GLX_ARB_VERTEX_BUFFER_OBJECT",glx_arb_vertex_buffer_object);
log("GLX_ATI_PIXEL_FORMAT_FLOAT",glx_ati_pixel_format_float);
log("GLX_ATI_RENDER_TEXTURE",glx_ati_render_texture);
log("GLX_EXT_BUFFER_AGE",glx_ext_buffer_age);
log("GLX_EXT_CREATE_CONTEXT_ES2_PROFILE",glx_ext_create_context_es2_profile);
log("GLX_EXT_CREATE_CONTEXT_ES_PROFILE",glx_ext_create_context_es_profile);
log("GLX_EXT_FBCONFIG_PACKED_FLOAT",glx_ext_fbconfig_packed_float);
log("GLX_EXT_FRAMEBUFFER_SRGB",glx_ext_framebuffer_srgb);
log("GLX_EXT_IMPORT_CONTEXT",glx_ext_import_context);
log("GLX_EXT_STEREO_TREE",glx_ext_stereo_tree);
log("GLX_EXT_SWAP_CONTROL",glx_ext_swap_control);
log("GLX_EXT_SWAP_CONTROL_TEAR",glx_ext_swap_control_tear);
log("GLX_EXT_TEXTURE_FROM_PIXMAP",glx_ext_texture_from_pixmap);
@ -719,10 +737,13 @@ Statistics::log() const
log("GLX_MESA_AGP_OFFSET",glx_mesa_agp_offset);
log("GLX_MESA_COPY_SUB_BUFFER",glx_mesa_copy_sub_buffer);
log("GLX_MESA_PIXMAP_COLORMAP",glx_mesa_pixmap_colormap);
log("GLX_MESA_QUERY_RENDERER",glx_mesa_query_renderer);
log("GLX_MESA_RELEASE_BUFFERS",glx_mesa_release_buffers);
log("GLX_MESA_SET_3DFX_MODE",glx_mesa_set_3dfx_mode);
log("GLX_MESA_SWAP_CONTROL",glx_mesa_swap_control);
log("GLX_NV_COPY_BUFFER",glx_nv_copy_buffer);
log("GLX_NV_COPY_IMAGE",glx_nv_copy_image);
log("GLX_NV_DELAY_BEFORE_SWAP",glx_nv_delay_before_swap);
log("GLX_NV_FLOAT_BUFFER",glx_nv_float_buffer);
log("GLX_NV_MULTISAMPLE_COVERAGE",glx_nv_multisample_coverage);
log("GLX_NV_PRESENT_VIDEO",glx_nv_present_video);
@ -1626,6 +1647,10 @@ Statistics::log() const
log("glReleaseShaderCompiler",glReleaseShaderCompiler);
log("glShaderBinary",glShaderBinary);
/* GL_ARB_ES3_1_compatibility */
log("glMemoryBarrierByRegion",glMemoryBarrierByRegion);
/* GL_ARB_base_instance */
log("glDrawArraysInstancedBaseInstance",glDrawArraysInstancedBaseInstance);
@ -1677,6 +1702,10 @@ Statistics::log() const
log("glClearTexImage",glClearTexImage);
log("glClearTexSubImage",glClearTexSubImage);
/* GL_ARB_clip_control */
log("glClipControl",glClipControl);
/* GL_ARB_color_buffer_float */
log("glClampColorARB",glClampColorARB);
@ -1705,6 +1734,102 @@ Statistics::log() const
log("glDebugMessageInsertARB",glDebugMessageInsertARB);
log("glGetDebugMessageLogARB",glGetDebugMessageLogARB);
/* GL_ARB_direct_state_access */
log("glBindTextureUnit",glBindTextureUnit);
log("glBlitNamedFramebuffer",glBlitNamedFramebuffer);
log("glCheckNamedFramebufferStatus",glCheckNamedFramebufferStatus);
log("glClearNamedBufferData",glClearNamedBufferData);
log("glClearNamedBufferSubData",glClearNamedBufferSubData);
log("glClearNamedFramebufferfi",glClearNamedFramebufferfi);
log("glClearNamedFramebufferfv",glClearNamedFramebufferfv);
log("glClearNamedFramebufferiv",glClearNamedFramebufferiv);
log("glClearNamedFramebufferuiv",glClearNamedFramebufferuiv);
log("glCompressedTextureSubImage1D",glCompressedTextureSubImage1D);
log("glCompressedTextureSubImage2D",glCompressedTextureSubImage2D);
log("glCompressedTextureSubImage3D",glCompressedTextureSubImage3D);
log("glCopyNamedBufferSubData",glCopyNamedBufferSubData);
log("glCopyTextureSubImage1D",glCopyTextureSubImage1D);
log("glCopyTextureSubImage2D",glCopyTextureSubImage2D);
log("glCopyTextureSubImage3D",glCopyTextureSubImage3D);
log("glCreateBuffers",glCreateBuffers);
log("glCreateFramebuffers",glCreateFramebuffers);
log("glCreateProgramPipelines",glCreateProgramPipelines);
log("glCreateQueries",glCreateQueries);
log("glCreateRenderbuffers",glCreateRenderbuffers);
log("glCreateSamplers",glCreateSamplers);
log("glCreateTextures",glCreateTextures);
log("glCreateTransformFeedbacks",glCreateTransformFeedbacks);
log("glCreateVertexArrays",glCreateVertexArrays);
log("glDisableVertexArrayAttrib",glDisableVertexArrayAttrib);
log("glEnableVertexArrayAttrib",glEnableVertexArrayAttrib);
log("glFlushMappedNamedBufferRange",glFlushMappedNamedBufferRange);
log("glGenerateTextureMipmap",glGenerateTextureMipmap);
log("glGetCompressedTextureImage",glGetCompressedTextureImage);
log("glGetNamedBufferParameteri64v",glGetNamedBufferParameteri64v);
log("glGetNamedBufferParameteriv",glGetNamedBufferParameteriv);
log("glGetNamedBufferPointerv",glGetNamedBufferPointerv);
log("glGetNamedBufferSubData",glGetNamedBufferSubData);
log("glGetNamedFramebufferAttachmentParameteriv",glGetNamedFramebufferAttachmentParameteriv);
log("glGetNamedFramebufferParameteriv",glGetNamedFramebufferParameteriv);
log("glGetNamedRenderbufferParameteriv",glGetNamedRenderbufferParameteriv);
log("glGetTextureImage",glGetTextureImage);
log("glGetTextureLevelParameterfv",glGetTextureLevelParameterfv);
log("glGetTextureLevelParameteriv",glGetTextureLevelParameteriv);
log("glGetTextureParameterIiv",glGetTextureParameterIiv);
log("glGetTextureParameterIuiv",glGetTextureParameterIuiv);
log("glGetTextureParameterfv",glGetTextureParameterfv);
log("glGetTextureParameteriv",glGetTextureParameteriv);
log("glGetTransformFeedbacki64_v",glGetTransformFeedbacki64_v);
log("glGetTransformFeedbacki_v",glGetTransformFeedbacki_v);
log("glGetTransformFeedbackiv",glGetTransformFeedbackiv);
log("glGetVertexArrayIndexed64iv",glGetVertexArrayIndexed64iv);
log("glGetVertexArrayIndexediv",glGetVertexArrayIndexediv);
log("glGetVertexArrayiv",glGetVertexArrayiv);
log("glInvalidateNamedFramebufferData",glInvalidateNamedFramebufferData);
log("glInvalidateNamedFramebufferSubData",glInvalidateNamedFramebufferSubData);
log("glMapNamedBuffer",glMapNamedBuffer);
log("glMapNamedBufferRange",glMapNamedBufferRange);
log("glNamedBufferData",glNamedBufferData);
log("glNamedBufferStorage",glNamedBufferStorage);
log("glNamedBufferSubData",glNamedBufferSubData);
log("glNamedFramebufferDrawBuffer",glNamedFramebufferDrawBuffer);
log("glNamedFramebufferDrawBuffers",glNamedFramebufferDrawBuffers);
log("glNamedFramebufferParameteri",glNamedFramebufferParameteri);
log("glNamedFramebufferReadBuffer",glNamedFramebufferReadBuffer);
log("glNamedFramebufferRenderbuffer",glNamedFramebufferRenderbuffer);
log("glNamedFramebufferTexture",glNamedFramebufferTexture);
log("glNamedFramebufferTextureLayer",glNamedFramebufferTextureLayer);
log("glNamedRenderbufferStorage",glNamedRenderbufferStorage);
log("glNamedRenderbufferStorageMultisample",glNamedRenderbufferStorageMultisample);
log("glTextureBuffer",glTextureBuffer);
log("glTextureBufferRange",glTextureBufferRange);
log("glTextureParameterIiv",glTextureParameterIiv);
log("glTextureParameterIuiv",glTextureParameterIuiv);
log("glTextureParameterf",glTextureParameterf);
log("glTextureParameterfv",glTextureParameterfv);
log("glTextureParameteri",glTextureParameteri);
log("glTextureParameteriv",glTextureParameteriv);
log("glTextureStorage1D",glTextureStorage1D);
log("glTextureStorage2D",glTextureStorage2D);
log("glTextureStorage2DMultisample",glTextureStorage2DMultisample);
log("glTextureStorage3D",glTextureStorage3D);
log("glTextureStorage3DMultisample",glTextureStorage3DMultisample);
log("glTextureSubImage1D",glTextureSubImage1D);
log("glTextureSubImage2D",glTextureSubImage2D);
log("glTextureSubImage3D",glTextureSubImage3D);
log("glTransformFeedbackBufferBase",glTransformFeedbackBufferBase);
log("glTransformFeedbackBufferRange",glTransformFeedbackBufferRange);
log("glUnmapNamedBuffer",glUnmapNamedBuffer);
log("glVertexArrayAttribBinding",glVertexArrayAttribBinding);
log("glVertexArrayAttribFormat",glVertexArrayAttribFormat);
log("glVertexArrayAttribIFormat",glVertexArrayAttribIFormat);
log("glVertexArrayAttribLFormat",glVertexArrayAttribLFormat);
log("glVertexArrayBindingDivisor",glVertexArrayBindingDivisor);
log("glVertexArrayElementBuffer",glVertexArrayElementBuffer);
log("glVertexArrayVertexBuffer",glVertexArrayVertexBuffer);
log("glVertexArrayVertexBuffers",glVertexArrayVertexBuffers);
/* GL_ARB_draw_buffers */
log("glDrawBuffersARB",glDrawBuffersARB);
@ -1776,6 +1901,11 @@ Statistics::log() const
log("glProgramBinary",glProgramBinary);
log("glProgramParameteri",glProgramParameteri);
/* GL_ARB_get_texture_sub_image */
log("glGetCompressedTextureSubImage",glGetCompressedTextureSubImage);
log("glGetTextureSubImage",glGetTextureSubImage);
/* GL_ARB_gpu_shader_fp64 */
log("glGetUniformdv",glGetUniformdv);
@ -2140,6 +2270,10 @@ Statistics::log() const
log("glIsNamedStringARB",glIsNamedStringARB);
log("glNamedStringARB",glNamedStringARB);
/* GL_ARB_sparse_buffer */
log("glBufferPageCommitmentARB",glBufferPageCommitmentARB);
/* GL_ARB_sparse_texture */
log("glTexPageCommitmentARB",glTexPageCommitmentARB);
@ -2160,6 +2294,10 @@ Statistics::log() const
log("glPatchParameterfv",glPatchParameterfv);
log("glPatchParameteri",glPatchParameteri);
/* GL_ARB_texture_barrier */
log("glTextureBarrier",glTextureBarrier);
/* GL_ARB_texture_buffer_object */
log("glTexBufferARB",glTexBufferARB);
@ -3387,6 +3525,10 @@ Statistics::log() const
log("glTexScissorFuncINTEL",glTexScissorFuncINTEL);
log("glTexScissorINTEL",glTexScissorINTEL);
/* GL_KHR_blend_equation_advanced */
log("glBlendBarrierKHR",glBlendBarrierKHR);
/* GL_KHR_debug */
log("glDebugMessageCallback",glDebugMessageCallback);
@ -3400,6 +3542,13 @@ Statistics::log() const
log("glPopDebugGroup",glPopDebugGroup);
log("glPushDebugGroup",glPushDebugGroup);
/* GL_KHR_robustness */
log("glGetnUniformfv",glGetnUniformfv);
log("glGetnUniformiv",glGetnUniformiv);
log("glGetnUniformuiv",glGetnUniformuiv);
log("glReadnPixels",glReadnPixels);
/* GL_KTX_buffer_region */
log("glBufferRegionEnabled",glBufferRegionEnabled);
@ -4535,6 +4684,10 @@ Statistics::log() const
log("wglCopyImageSubDataNV",wglCopyImageSubDataNV);
/* WGL_NV_delay_before_swap */
log("wglDelayBeforeSwapNV",wglDelayBeforeSwapNV);
/* WGL_NV_gpu_affinity */
log("wglCreateAffinityDCNV",wglCreateAffinityDCNV);
@ -4723,6 +4876,13 @@ Statistics::log() const
log("glXCreateGLXPixmapMESA",glXCreateGLXPixmapMESA);
/* GLX_MESA_query_renderer */
log("glXQueryCurrentRendererIntegerMESA",glXQueryCurrentRendererIntegerMESA);
log("glXQueryCurrentRendererStringMESA",glXQueryCurrentRendererStringMESA);
log("glXQueryRendererIntegerMESA",glXQueryRendererIntegerMESA);
log("glXQueryRendererStringMESA",glXQueryRendererStringMESA);
/* GLX_MESA_release_buffers */
log("glXReleaseBuffersMESA",glXReleaseBuffersMESA);
@ -4736,10 +4896,19 @@ Statistics::log() const
log("glXGetSwapIntervalMESA",glXGetSwapIntervalMESA);
log("glXSwapIntervalMESA",glXSwapIntervalMESA);
/* GLX_NV_copy_buffer */
log("glXCopyBufferSubDataNV",glXCopyBufferSubDataNV);
log("glXNamedCopyBufferSubDataNV",glXNamedCopyBufferSubDataNV);
/* GLX_NV_copy_image */
log("glXCopyImageSubDataNV",glXCopyImageSubDataNV);
/* GLX_NV_delay_before_swap */
log("glXDelayBeforeSwapNV",glXDelayBeforeSwapNV);
/* GLX_NV_present_video */
log("glXBindVideoDeviceNV",glXBindVideoDeviceNV);

View file

@ -80,6 +80,7 @@ struct Statistics
GLuint gl_version_4_2;
GLuint gl_version_4_3;
GLuint gl_version_4_4;
GLuint gl_version_4_5;
GLuint glx_version_1_0;
GLuint glx_version_1_1;
@ -146,6 +147,7 @@ struct Statistics
GLuint gl_apple_vertex_program_evaluators;
GLuint gl_apple_ycbcr_422;
GLuint gl_arb_es2_compatibility;
GLuint gl_arb_es3_1_compatibility;
GLuint gl_arb_es3_compatibility;
GLuint gl_arb_base_instance;
GLuint gl_arb_bindless_texture;
@ -154,16 +156,20 @@ struct Statistics
GLuint gl_arb_cl_event;
GLuint gl_arb_clear_buffer_object;
GLuint gl_arb_clear_texture;
GLuint gl_arb_clip_control;
GLuint gl_arb_color_buffer_float;
GLuint gl_arb_compressed_texture_pixel_storage;
GLuint gl_arb_compute_shader;
GLuint gl_arb_compute_variable_group_size;
GLuint gl_arb_conditional_render_inverted;
GLuint gl_arb_copy_buffer;
GLuint gl_arb_copy_image;
GLuint gl_arb_cull_distance;
GLuint gl_arb_debug_output;
GLuint gl_arb_depth_buffer_float;
GLuint gl_arb_depth_clamp;
GLuint gl_arb_depth_texture;
GLuint gl_arb_direct_state_access;
GLuint gl_arb_draw_buffers;
GLuint gl_arb_draw_buffers_blend;
GLuint gl_arb_draw_elements_base_vertex;
@ -178,6 +184,7 @@ struct Statistics
GLuint gl_arb_framebuffer_srgb;
GLuint gl_arb_geometry_shader4;
GLuint gl_arb_get_program_binary;
GLuint gl_arb_get_texture_sub_image;
GLuint gl_arb_gpu_shader5;
GLuint gl_arb_gpu_shader_fp64;
GLuint gl_arb_half_float_pixel;
@ -197,6 +204,7 @@ struct Statistics
GLuint gl_arb_multitexture;
GLuint gl_arb_occlusion_query;
GLuint gl_arb_occlusion_query2;
GLuint gl_arb_pipeline_statistics_query;
GLuint gl_arb_pixel_buffer_object;
GLuint gl_arb_point_parameters;
GLuint gl_arb_point_sprite;
@ -217,10 +225,12 @@ struct Statistics
GLuint gl_arb_shading_language_include;
GLuint gl_arb_shadow;
GLuint gl_arb_shadow_ambient;
GLuint gl_arb_sparse_buffer;
GLuint gl_arb_sparse_texture;
GLuint gl_arb_stencil_texturing;
GLuint gl_arb_sync;
GLuint gl_arb_tessellation_shader;
GLuint gl_arb_texture_barrier;
GLuint gl_arb_texture_border_clamp;
GLuint gl_arb_texture_buffer_object;
GLuint gl_arb_texture_buffer_range;
@ -247,6 +257,7 @@ struct Statistics
GLuint gl_arb_transform_feedback2;
GLuint gl_arb_transform_feedback3;
GLuint gl_arb_transform_feedback_instanced;
GLuint gl_arb_transform_feedback_overflow_query;
GLuint gl_arb_transpose_matrix;
GLuint gl_arb_uniform_buffer_object;
GLuint gl_arb_vertex_array_object;
@ -411,7 +422,9 @@ struct Statistics
GLuint gl_intel_map_texture;
GLuint gl_intel_parallel_arrays;
GLuint gl_intel_texture_scissor;
GLuint gl_khr_blend_equation_advanced;
GLuint gl_khr_debug;
GLuint gl_khr_robustness;
GLuint gl_khr_texture_compression_astc_ldr;
GLuint gl_ktx_buffer_region;
GLuint gl_mesax_texture_stack;
@ -638,6 +651,7 @@ struct Statistics
GLuint wgl_arb_pixel_format;
GLuint wgl_arb_pixel_format_float;
GLuint wgl_arb_render_texture;
GLuint wgl_arb_robustness_application_isolation;
GLuint wgl_arb_robustness_share_group_isolation;
GLuint wgl_ati_pixel_format_float;
GLuint wgl_ati_render_texture_rectangle;
@ -662,6 +676,7 @@ struct Statistics
GLuint wgl_i3d_swap_frame_usage;
GLuint wgl_nv_dx_interop;
GLuint wgl_nv_copy_image;
GLuint wgl_nv_delay_before_swap;
GLuint wgl_nv_float_buffer;
GLuint wgl_nv_gpu_affinity;
GLuint wgl_nv_multisample_coverage;
@ -685,15 +700,18 @@ struct Statistics
GLuint glx_arb_framebuffer_srgb;
GLuint glx_arb_get_proc_address;
GLuint glx_arb_multisample;
GLuint glx_arb_robustness_application_isolation;
GLuint glx_arb_robustness_share_group_isolation;
GLuint glx_arb_vertex_buffer_object;
GLuint glx_ati_pixel_format_float;
GLuint glx_ati_render_texture;
GLuint glx_ext_buffer_age;
GLuint glx_ext_create_context_es2_profile;
GLuint glx_ext_create_context_es_profile;
GLuint glx_ext_fbconfig_packed_float;
GLuint glx_ext_framebuffer_srgb;
GLuint glx_ext_import_context;
GLuint glx_ext_stereo_tree;
GLuint glx_ext_swap_control;
GLuint glx_ext_swap_control_tear;
GLuint glx_ext_texture_from_pixmap;
@ -703,10 +721,13 @@ struct Statistics
GLuint glx_mesa_agp_offset;
GLuint glx_mesa_copy_sub_buffer;
GLuint glx_mesa_pixmap_colormap;
GLuint glx_mesa_query_renderer;
GLuint glx_mesa_release_buffers;
GLuint glx_mesa_set_3dfx_mode;
GLuint glx_mesa_swap_control;
GLuint glx_nv_copy_buffer;
GLuint glx_nv_copy_image;
GLuint glx_nv_delay_before_swap;
GLuint glx_nv_float_buffer;
GLuint glx_nv_multisample_coverage;
GLuint glx_nv_present_video;
@ -1611,6 +1632,10 @@ struct Statistics
GLuint glReleaseShaderCompiler;
GLuint glShaderBinary;
/* GL_ARB_ES3_1_compatibility */
GLuint glMemoryBarrierByRegion;
/* GL_ARB_base_instance */
GLuint glDrawArraysInstancedBaseInstance;
@ -1662,6 +1687,10 @@ struct Statistics
GLuint glClearTexImage;
GLuint glClearTexSubImage;
/* GL_ARB_clip_control */
GLuint glClipControl;
/* GL_ARB_color_buffer_float */
GLuint glClampColorARB;
@ -1690,6 +1719,102 @@ struct Statistics
GLuint glDebugMessageInsertARB;
GLuint glGetDebugMessageLogARB;
/* GL_ARB_direct_state_access */
GLuint glBindTextureUnit;
GLuint glBlitNamedFramebuffer;
GLuint glCheckNamedFramebufferStatus;
GLuint glClearNamedBufferData;
GLuint glClearNamedBufferSubData;
GLuint glClearNamedFramebufferfi;
GLuint glClearNamedFramebufferfv;
GLuint glClearNamedFramebufferiv;
GLuint glClearNamedFramebufferuiv;
GLuint glCompressedTextureSubImage1D;
GLuint glCompressedTextureSubImage2D;
GLuint glCompressedTextureSubImage3D;
GLuint glCopyNamedBufferSubData;
GLuint glCopyTextureSubImage1D;
GLuint glCopyTextureSubImage2D;
GLuint glCopyTextureSubImage3D;
GLuint glCreateBuffers;
GLuint glCreateFramebuffers;
GLuint glCreateProgramPipelines;
GLuint glCreateQueries;
GLuint glCreateRenderbuffers;
GLuint glCreateSamplers;
GLuint glCreateTextures;
GLuint glCreateTransformFeedbacks;
GLuint glCreateVertexArrays;
GLuint glDisableVertexArrayAttrib;
GLuint glEnableVertexArrayAttrib;
GLuint glFlushMappedNamedBufferRange;
GLuint glGenerateTextureMipmap;
GLuint glGetCompressedTextureImage;
GLuint glGetNamedBufferParameteri64v;
GLuint glGetNamedBufferParameteriv;
GLuint glGetNamedBufferPointerv;
GLuint glGetNamedBufferSubData;
GLuint glGetNamedFramebufferAttachmentParameteriv;
GLuint glGetNamedFramebufferParameteriv;
GLuint glGetNamedRenderbufferParameteriv;
GLuint glGetTextureImage;
GLuint glGetTextureLevelParameterfv;
GLuint glGetTextureLevelParameteriv;
GLuint glGetTextureParameterIiv;
GLuint glGetTextureParameterIuiv;
GLuint glGetTextureParameterfv;
GLuint glGetTextureParameteriv;
GLuint glGetTransformFeedbacki64_v;
GLuint glGetTransformFeedbacki_v;
GLuint glGetTransformFeedbackiv;
GLuint glGetVertexArrayIndexed64iv;
GLuint glGetVertexArrayIndexediv;
GLuint glGetVertexArrayiv;
GLuint glInvalidateNamedFramebufferData;
GLuint glInvalidateNamedFramebufferSubData;
GLuint glMapNamedBuffer;
GLuint glMapNamedBufferRange;
GLuint glNamedBufferData;
GLuint glNamedBufferStorage;
GLuint glNamedBufferSubData;
GLuint glNamedFramebufferDrawBuffer;
GLuint glNamedFramebufferDrawBuffers;
GLuint glNamedFramebufferParameteri;
GLuint glNamedFramebufferReadBuffer;
GLuint glNamedFramebufferRenderbuffer;
GLuint glNamedFramebufferTexture;
GLuint glNamedFramebufferTextureLayer;
GLuint glNamedRenderbufferStorage;
GLuint glNamedRenderbufferStorageMultisample;
GLuint glTextureBuffer;
GLuint glTextureBufferRange;
GLuint glTextureParameterIiv;
GLuint glTextureParameterIuiv;
GLuint glTextureParameterf;
GLuint glTextureParameterfv;
GLuint glTextureParameteri;
GLuint glTextureParameteriv;
GLuint glTextureStorage1D;
GLuint glTextureStorage2D;
GLuint glTextureStorage2DMultisample;
GLuint glTextureStorage3D;
GLuint glTextureStorage3DMultisample;
GLuint glTextureSubImage1D;
GLuint glTextureSubImage2D;
GLuint glTextureSubImage3D;
GLuint glTransformFeedbackBufferBase;
GLuint glTransformFeedbackBufferRange;
GLuint glUnmapNamedBuffer;
GLuint glVertexArrayAttribBinding;
GLuint glVertexArrayAttribFormat;
GLuint glVertexArrayAttribIFormat;
GLuint glVertexArrayAttribLFormat;
GLuint glVertexArrayBindingDivisor;
GLuint glVertexArrayElementBuffer;
GLuint glVertexArrayVertexBuffer;
GLuint glVertexArrayVertexBuffers;
/* GL_ARB_draw_buffers */
GLuint glDrawBuffersARB;
@ -1761,6 +1886,11 @@ struct Statistics
GLuint glProgramBinary;
GLuint glProgramParameteri;
/* GL_ARB_get_texture_sub_image */
GLuint glGetCompressedTextureSubImage;
GLuint glGetTextureSubImage;
/* GL_ARB_gpu_shader_fp64 */
GLuint glGetUniformdv;
@ -2125,6 +2255,10 @@ struct Statistics
GLuint glIsNamedStringARB;
GLuint glNamedStringARB;
/* GL_ARB_sparse_buffer */
GLuint glBufferPageCommitmentARB;
/* GL_ARB_sparse_texture */
GLuint glTexPageCommitmentARB;
@ -2145,6 +2279,10 @@ struct Statistics
GLuint glPatchParameterfv;
GLuint glPatchParameteri;
/* GL_ARB_texture_barrier */
GLuint glTextureBarrier;
/* GL_ARB_texture_buffer_object */
GLuint glTexBufferARB;
@ -3372,6 +3510,10 @@ struct Statistics
GLuint glTexScissorFuncINTEL;
GLuint glTexScissorINTEL;
/* GL_KHR_blend_equation_advanced */
GLuint glBlendBarrierKHR;
/* GL_KHR_debug */
GLuint glDebugMessageCallback;
@ -3385,6 +3527,13 @@ struct Statistics
GLuint glPopDebugGroup;
GLuint glPushDebugGroup;
/* GL_KHR_robustness */
GLuint glGetnUniformfv;
GLuint glGetnUniformiv;
GLuint glGetnUniformuiv;
GLuint glReadnPixels;
/* GL_KTX_buffer_region */
GLuint glBufferRegionEnabled;
@ -4520,6 +4669,10 @@ struct Statistics
GLuint wglCopyImageSubDataNV;
/* WGL_NV_delay_before_swap */
GLuint wglDelayBeforeSwapNV;
/* WGL_NV_gpu_affinity */
GLuint wglCreateAffinityDCNV;
@ -4708,6 +4861,13 @@ struct Statistics
GLuint glXCreateGLXPixmapMESA;
/* GLX_MESA_query_renderer */
GLuint glXQueryCurrentRendererIntegerMESA;
GLuint glXQueryCurrentRendererStringMESA;
GLuint glXQueryRendererIntegerMESA;
GLuint glXQueryRendererStringMESA;
/* GLX_MESA_release_buffers */
GLuint glXReleaseBuffersMESA;
@ -4721,10 +4881,19 @@ struct Statistics
GLuint glXGetSwapIntervalMESA;
GLuint glXSwapIntervalMESA;
/* GLX_NV_copy_buffer */
GLuint glXCopyBufferSubDataNV;
GLuint glXNamedCopyBufferSubDataNV;
/* GLX_NV_copy_image */
GLuint glXCopyImageSubDataNV;
/* GLX_NV_delay_before_swap */
GLuint glXDelayBeforeSwapNV;
/* GLX_NV_present_video */
GLuint glXBindVideoDeviceNV;

View file

@ -816,6 +816,7 @@ namespace Token {
case 0x00000504: return "GL_STACK_UNDERFLOW";
case 0x00000505: return "GL_OUT_OF_MEMORY";
case 0x00000506: return "GL_INVALID_FRAMEBUFFER_OPERATION";
case 0x00000507: return "GL_CONTEXT_LOST";
case 0x00000600: return "GL_2D";
case 0x00000601: return "GL_3D";
case 0x00000602: return "GL_3D_COLOR";
@ -1051,6 +1052,7 @@ namespace Token {
case 0x00001003: return "GL_TEXTURE_INTERNAL_FORMAT";
case 0x00001004: return "GL_TEXTURE_BORDER_COLOR";
case 0x00001005: return "GL_TEXTURE_BORDER";
case 0x00001006: return "GL_TEXTURE_TARGET";
case 0x00001100: return "GL_DONT_CARE";
case 0x00001101: return "GL_FASTEST";
case 0x00001102: return "GL_NICEST";
@ -1565,11 +1567,11 @@ namespace Token {
case 0x0000824f: return "GL_DEBUG_TYPE_PORTABILITY";
case 0x00008250: return "GL_DEBUG_TYPE_PERFORMANCE";
case 0x00008251: return "GL_DEBUG_TYPE_OTHER";
case 0x00008252: return "GL_LOSE_CONTEXT_ON_RESET_ARB";
case 0x00008253: return "GL_GUILTY_CONTEXT_RESET_ARB";
case 0x00008254: return "GL_INNOCENT_CONTEXT_RESET_ARB";
case 0x00008255: return "GL_UNKNOWN_CONTEXT_RESET_ARB";
case 0x00008256: return "GL_RESET_NOTIFICATION_STRATEGY_ARB";
case 0x00008252: return "GL_LOSE_CONTEXT_ON_RESET";
case 0x00008253: return "GL_GUILTY_CONTEXT_RESET";
case 0x00008254: return "GL_INNOCENT_CONTEXT_RESET";
case 0x00008255: return "GL_UNKNOWN_CONTEXT_RESET";
case 0x00008256: return "GL_RESET_NOTIFICATION_STRATEGY";
case 0x00008257: return "GL_PROGRAM_BINARY_RETRIEVABLE_HINT";
case 0x00008258: return "GL_PROGRAM_SEPARABLE";
case 0x00008259: return "GL_ACTIVE_PROGRAM";
@ -1580,7 +1582,7 @@ namespace Token {
case 0x0000825e: return "GL_LAYER_PROVOKING_VERTEX";
case 0x0000825f: return "GL_VIEWPORT_INDEX_PROVOKING_VERTEX";
case 0x00008260: return "GL_UNDEFINED_VERTEX";
case 0x00008261: return "GL_NO_RESET_NOTIFICATION_ARB";
case 0x00008261: return "GL_NO_RESET_NOTIFICATION";
case 0x00008262: return "GL_MAX_COMPUTE_SHARED_MEMORY_SIZE";
case 0x00008263: return "GL_MAX_COMPUTE_UNIFORM_COMPONENTS";
case 0x00008264: return "GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS";
@ -1715,6 +1717,23 @@ namespace Token {
case 0x000082e7: return "GL_DISPLAY_LIST";
case 0x000082e8: return "GL_MAX_LABEL_LENGTH";
case 0x000082e9: return "GL_NUM_SHADING_LANGUAGE_VERSIONS";
case 0x000082ea: return "GL_QUERY_TARGET";
case 0x000082eb: return "GL_TEXTURE_BINDING";
case 0x000082ec: return "GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB";
case 0x000082ed: return "GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB";
case 0x000082ee: return "GL_VERTICES_SUBMITTED_ARB";
case 0x000082ef: return "GL_PRIMITIVES_SUBMITTED_ARB";
case 0x000082f0: return "GL_VERTEX_SHADER_INVOCATIONS_ARB";
case 0x000082f1: return "GL_TESS_CONTROL_SHADER_PATCHES_ARB";
case 0x000082f2: return "GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB";
case 0x000082f3: return "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB";
case 0x000082f4: return "GL_FRAGMENT_SHADER_INVOCATIONS_ARB";
case 0x000082f5: return "GL_COMPUTE_SHADER_INVOCATIONS_ARB";
case 0x000082f6: return "GL_CLIPPING_INPUT_PRIMITIVES_ARB";
case 0x000082f7: return "GL_CLIPPING_OUTPUT_PRIMITIVES_ARB";
case 0x000082f8: return "GL_SPARSE_BUFFER_PAGE_SIZE_ARB";
case 0x000082f9: return "GL_MAX_CULL_DISTANCES";
case 0x000082fa: return "GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES";
case 0x00008316: return "GL_CONVOLUTION_HINT_SGIX";
case 0x00008320: return "GL_ALPHA_MIN_SGIX";
case 0x00008321: return "GL_ALPHA_MAX_SGIX";
@ -3276,6 +3295,10 @@ namespace Token {
case 0x00008e14: return "GL_QUERY_NO_WAIT";
case 0x00008e15: return "GL_QUERY_BY_REGION_WAIT";
case 0x00008e16: return "GL_QUERY_BY_REGION_NO_WAIT";
case 0x00008e17: return "GL_QUERY_WAIT_INVERTED";
case 0x00008e18: return "GL_QUERY_NO_WAIT_INVERTED";
case 0x00008e19: return "GL_QUERY_BY_REGION_WAIT_INVERTED";
case 0x00008e1a: return "GL_QUERY_BY_REGION_NO_WAIT_INVERTED";
case 0x00008e1e: return "GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS";
case 0x00008e1f: return "GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS";
case 0x00008e20: return "GL_COLOR_SAMPLES_NV";
@ -3672,7 +3695,7 @@ namespace Token {
case 0x000090f0: return "GL_COLOR_ATTACHMENT_EXT";
case 0x000090f1: return "GL_MULTIVIEW_EXT";
case 0x000090f2: return "GL_MAX_MULTIVIEW_BUFFERS_EXT";
case 0x000090f3: return "GL_CONTEXT_ROBUST_ACCESS_EXT";
case 0x000090f3: return "GL_CONTEXT_ROBUST_ACCESS";
case 0x000090f4: return "GL_3DVISION_STEREO_NV";
case 0x000090f5: return "GL_STEREO_SEPARATION_NV";
case 0x000090f6: return "GL_STEREO_CONVERGENCE_NV";
@ -3800,7 +3823,7 @@ namespace Token {
case 0x00009282: return "GL_UNCORRELATED_NV";
case 0x00009283: return "GL_DISJOINT_NV";
case 0x00009284: return "GL_CONJOINT_NV";
case 0x00009285: return "GL_BLEND_ADVANCED_COHERENT_NV";
case 0x00009285: return "GL_BLEND_ADVANCED_COHERENT_KHR";
case 0x00009286: return "GL_SRC_NV";
case 0x00009287: return "GL_DST_NV";
case 0x00009288: return "GL_SRC_OVER_NV";
@ -3813,18 +3836,18 @@ namespace Token {
case 0x0000928f: return "GL_DST_ATOP_NV";
case 0x00009291: return "GL_PLUS_NV";
case 0x00009292: return "GL_PLUS_DARKER_NV";
case 0x00009294: return "GL_MULTIPLY_NV";
case 0x00009295: return "GL_SCREEN_NV";
case 0x00009296: return "GL_OVERLAY_NV";
case 0x00009297: return "GL_DARKEN_NV";
case 0x00009298: return "GL_LIGHTEN_NV";
case 0x00009299: return "GL_COLORDODGE_NV";
case 0x0000929a: return "GL_COLORBURN_NV";
case 0x0000929b: return "GL_HARDLIGHT_NV";
case 0x0000929c: return "GL_SOFTLIGHT_NV";
case 0x0000929e: return "GL_DIFFERENCE_NV";
case 0x00009294: return "GL_MULTIPLY_KHR";
case 0x00009295: return "GL_SCREEN_KHR";
case 0x00009296: return "GL_OVERLAY_KHR";
case 0x00009297: return "GL_DARKEN_KHR";
case 0x00009298: return "GL_LIGHTEN_KHR";
case 0x00009299: return "GL_COLORDODGE_KHR";
case 0x0000929a: return "GL_COLORBURN_KHR";
case 0x0000929b: return "GL_HARDLIGHT_KHR";
case 0x0000929c: return "GL_SOFTLIGHT_KHR";
case 0x0000929e: return "GL_DIFFERENCE_KHR";
case 0x0000929f: return "GL_MINUS_NV";
case 0x000092a0: return "GL_EXCLUSION_NV";
case 0x000092a0: return "GL_EXCLUSION_KHR";
case 0x000092a1: return "GL_CONTRAST_NV";
case 0x000092a3: return "GL_INVERT_RGB_NV";
case 0x000092a4: return "GL_LINEARDODGE_NV";
@ -3833,10 +3856,10 @@ namespace Token {
case 0x000092a7: return "GL_LINEARLIGHT_NV";
case 0x000092a8: return "GL_PINLIGHT_NV";
case 0x000092a9: return "GL_HARDMIX_NV";
case 0x000092ad: return "GL_HSL_HUE_NV";
case 0x000092ae: return "GL_HSL_SATURATION_NV";
case 0x000092af: return "GL_HSL_COLOR_NV";
case 0x000092b0: return "GL_HSL_LUMINOSITY_NV";
case 0x000092ad: return "GL_HSL_HUE_KHR";
case 0x000092ae: return "GL_HSL_SATURATION_KHR";
case 0x000092af: return "GL_HSL_COLOR_KHR";
case 0x000092b0: return "GL_HSL_LUMINOSITY_KHR";
case 0x000092b1: return "GL_PLUS_CLAMPED_NV";
case 0x000092b2: return "GL_PLUS_CLAMPED_ALPHA_NV";
case 0x000092b3: return "GL_MINUS_CLAMPED_NV";
@ -3946,6 +3969,10 @@ namespace Token {
case 0x0000934a: return "GL_LOCATION_COMPONENT";
case 0x0000934b: return "GL_TRANSFORM_FEEDBACK_BUFFER_INDEX";
case 0x0000934c: return "GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE";
case 0x0000935c: return "GL_CLIP_ORIGIN";
case 0x0000935d: return "GL_CLIP_DEPTH_MODE";
case 0x0000935e: return "GL_NEGATIVE_ONE_TO_ONE";
case 0x0000935f: return "GL_ZERO_TO_ONE";
case 0x00009360: return "GL_MISSING_REGAL";
case 0x00009361: return "GL_TRACE_REGAL";
case 0x00009362: return "GL_CACHE_REGAL";
@ -4154,7 +4181,7 @@ namespace Token {
const char * GLXenumToString(int v) {
#if REGAL_ENUM_TO_STRING
switch( v ) {
case 0x00000000: return "GLX_SYNC_FRAME_SGIX";
case 0x00000000: return "GLX_STEREO_NOTIFY_EXT";
case 0x00000001: return "GLX_3DFX_WINDOW_MODE_MESA";
case 0x00000002: return "GLX_3DFX_FULLSCREEN_MODE_MESA";
case 0x00000003: return "GLX_EXTENSIONS";
@ -4243,6 +4270,8 @@ namespace Token {
case 0x000020f1: return "GLX_SWAP_INTERVAL_EXT";
case 0x000020f2: return "GLX_MAX_SWAP_INTERVAL_EXT";
case 0x000020f3: return "GLX_LATE_SWAPS_TEAR_EXT";
case 0x000020f4: return "GLX_BACK_BUFFER_AGE_EXT";
case 0x000020f5: return "GLX_STEREO_TREE_EXT";
case 0x000021a2: return "GLX_GPU_FASTEST_TARGET_GPUS_AMD";
case 0x000021a3: return "GLX_GPU_RAM_AMD";
case 0x000021a4: return "GLX_GPU_CLOCK_AMD";
@ -4301,6 +4330,18 @@ namespace Token {
case 0x00008180: return "GLX_EXCHANGE_COMPLETE_INTEL";
case 0x00008181: return "GLX_COPY_COMPLETE_INTEL";
case 0x00008182: return "GLX_FLIP_COMPLETE_INTEL";
case 0x00008183: return "GLX_RENDERER_VENDOR_ID_MESA";
case 0x00008184: return "GLX_RENDERER_DEVICE_ID_MESA";
case 0x00008185: return "GLX_RENDERER_VERSION_MESA";
case 0x00008186: return "GLX_RENDERER_ACCELERATED_MESA";
case 0x00008187: return "GLX_RENDERER_VIDEO_MEMORY_MESA";
case 0x00008188: return "GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA";
case 0x00008189: return "GLX_RENDERER_PREFERRED_PROFILE_MESA";
case 0x0000818a: return "GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA";
case 0x0000818b: return "GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA";
case 0x0000818c: return "GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA";
case 0x0000818d: return "GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA";
case 0x0000818e: return "GLX_RENDERER_ID_MESA";
case 0x00008252: return "GLX_LOSE_CONTEXT_ON_RESET_ARB";
case 0x00008256: return "GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB";
case 0x00008261: return "GLX_NO_RESET_NOTIFICATION_ARB";

View file

@ -81,6 +81,7 @@ EXPORTS
rglBindTexGenParameterEXT
rglBindTexture
rglBindTextureEXT
rglBindTextureUnit
rglBindTextureUnitParameterEXT
rglBindTextures
rglBindTransformFeedback
@ -105,6 +106,7 @@ EXPORTS
rglBinormal3svEXT
rglBinormalPointerEXT
rglBitmap
rglBlendBarrierKHR
rglBlendBarrierNV
rglBlendColor
rglBlendColorEXT
@ -136,9 +138,11 @@ EXPORTS
rglBlitFramebufferANGLE
rglBlitFramebufferEXT
rglBlitFramebufferNV
rglBlitNamedFramebuffer
rglBufferAddressRangeNV
rglBufferData
rglBufferDataARB
rglBufferPageCommitmentARB
rglBufferParameteriAPPLE
rglBufferRegionEnabled
rglBufferStorage
@ -149,6 +153,7 @@ EXPORTS
rglCheckFramebufferStatus
rglCheckFramebufferStatusEXT
rglCheckFramebufferStatusOES
rglCheckNamedFramebufferStatus
rglCheckNamedFramebufferStatusEXT
rglClampColor
rglClampColorARB
@ -170,8 +175,14 @@ EXPORTS
rglClearDepthfOES
rglClearDepthx
rglClearIndex
rglClearNamedBufferData
rglClearNamedBufferDataEXT
rglClearNamedBufferSubData
rglClearNamedBufferSubDataEXT
rglClearNamedFramebufferfi
rglClearNamedFramebufferfv
rglClearNamedFramebufferiv
rglClearNamedFramebufferuiv
rglClearStencil
rglClearTexImage
rglClearTexSubImage
@ -181,6 +192,7 @@ EXPORTS
rglClientAttribDefaultEXT
rglClientWaitSync
rglClientWaitSyncAPPLE
rglClipControl
rglClipPlane
rglClipPlanef
rglClipPlanefOES
@ -288,8 +300,11 @@ EXPORTS
rglCompressedTextureImage1DEXT
rglCompressedTextureImage2DEXT
rglCompressedTextureImage3DEXT
rglCompressedTextureSubImage1D
rglCompressedTextureSubImage1DEXT
rglCompressedTextureSubImage2D
rglCompressedTextureSubImage2DEXT
rglCompressedTextureSubImage3D
rglCompressedTextureSubImage3DEXT
rglConvolutionFilter1D
rglConvolutionFilter1DEXT
@ -320,6 +335,7 @@ EXPORTS
rglCopyMultiTexSubImage1DEXT
rglCopyMultiTexSubImage2DEXT
rglCopyMultiTexSubImage3DEXT
rglCopyNamedBufferSubData
rglCopyPathNV
rglCopyPixels
rglCopyTexImage1D
@ -336,8 +352,11 @@ EXPORTS
rglCopyTextureImage1DEXT
rglCopyTextureImage2DEXT
rglCopyTextureLevelsAPPLE
rglCopyTextureSubImage1D
rglCopyTextureSubImage1DEXT
rglCopyTextureSubImage2D
rglCopyTextureSubImage2DEXT
rglCopyTextureSubImage3D
rglCopyTextureSubImage3DEXT
rglCoverFillPathInstancedNV
rglCoverFillPathNV
@ -345,13 +364,22 @@ EXPORTS
rglCoverStrokePathNV
rglCoverageMaskNV
rglCoverageOperationNV
rglCreateBuffers
rglCreateFramebuffers
rglCreateProgram
rglCreateProgramObjectARB
rglCreateProgramPipelines
rglCreateQueries
rglCreateRenderbuffers
rglCreateSamplers
rglCreateShader
rglCreateShaderObjectARB
rglCreateShaderProgramEXT
rglCreateShaderProgramv
rglCreateSyncFromCLeventARB
rglCreateTextures
rglCreateTransformFeedbacks
rglCreateVertexArrays
rglCullFace
rglCullParameterdvEXT
rglCullParameterfvEXT
@ -430,6 +458,7 @@ EXPORTS
rglDisableDriverControlQCOM
rglDisableIndexedEXT
rglDisableVariantClientStateEXT
rglDisableVertexArrayAttrib
rglDisableVertexArrayAttribEXT
rglDisableVertexArrayEXT
rglDisableVertexAttribAPPLE
@ -495,6 +524,7 @@ EXPORTS
rglEnableDriverControlQCOM
rglEnableIndexedEXT
rglEnableVariantClientStateEXT
rglEnableVertexArrayAttrib
rglEnableVertexArrayAttribEXT
rglEnableVertexArrayEXT
rglEnableVertexAttribAPPLE
@ -564,6 +594,7 @@ EXPORTS
rglFlushMappedBufferRange
rglFlushMappedBufferRangeAPPLE
rglFlushMappedBufferRangeEXT
rglFlushMappedNamedBufferRange
rglFlushMappedNamedBufferRangeEXT
rglFlushPixelDataRangeNV
rglFlushRasterSGIX
@ -688,6 +719,7 @@ EXPORTS
rglGenerateMipmapEXT
rglGenerateMipmapOES
rglGenerateMultiTexMipmapEXT
rglGenerateTextureMipmap
rglGenerateTextureMipmapEXT
rglGetActiveAtomicCounterBufferiv
rglGetActiveAttrib
@ -741,7 +773,9 @@ EXPORTS
rglGetCompressedMultiTexImageEXT
rglGetCompressedTexImage
rglGetCompressedTexImageARB
rglGetCompressedTextureImage
rglGetCompressedTextureImageEXT
rglGetCompressedTextureSubImage
rglGetConvolutionFilter
rglGetConvolutionFilterEXT
rglGetConvolutionParameterfv
@ -852,11 +886,17 @@ EXPORTS
rglGetMultiTexParameterivEXT
rglGetMultisamplefv
rglGetMultisamplefvNV
rglGetNamedBufferParameteri64v
rglGetNamedBufferParameteriv
rglGetNamedBufferParameterivEXT
rglGetNamedBufferParameterui64vNV
rglGetNamedBufferPointerv
rglGetNamedBufferPointervEXT
rglGetNamedBufferSubData
rglGetNamedBufferSubDataEXT
rglGetNamedFramebufferAttachmentParameteriv
rglGetNamedFramebufferAttachmentParameterivEXT
rglGetNamedFramebufferParameteriv
rglGetNamedFramebufferParameterivEXT
rglGetNamedProgramLocalParameterIivEXT
rglGetNamedProgramLocalParameterIuivEXT
@ -864,6 +904,7 @@ EXPORTS
rglGetNamedProgramLocalParameterfvEXT
rglGetNamedProgramStringEXT
rglGetNamedProgramivEXT
rglGetNamedRenderbufferParameteriv
rglGetNamedRenderbufferParameterivEXT
rglGetNamedStringARB
rglGetNamedStringivARB
@ -1004,19 +1045,30 @@ EXPORTS
rglGetTexParameterxv
rglGetTextureHandleARB
rglGetTextureHandleNV
rglGetTextureImage
rglGetTextureImageEXT
rglGetTextureLevelParameterfv
rglGetTextureLevelParameterfvEXT
rglGetTextureLevelParameteriv
rglGetTextureLevelParameterivEXT
rglGetTextureParameterIiv
rglGetTextureParameterIivEXT
rglGetTextureParameterIuiv
rglGetTextureParameterIuivEXT
rglGetTextureParameterfv
rglGetTextureParameterfvEXT
rglGetTextureParameteriv
rglGetTextureParameterivEXT
rglGetTextureSamplerHandleARB
rglGetTextureSamplerHandleNV
rglGetTextureSubImage
rglGetTrackMatrixivNV
rglGetTransformFeedbackVarying
rglGetTransformFeedbackVaryingEXT
rglGetTransformFeedbackVaryingNV
rglGetTransformFeedbacki64_v
rglGetTransformFeedbacki_v
rglGetTransformFeedbackiv
rglGetTranslatedShaderSourceANGLE
rglGetUniformBlockIndex
rglGetUniformBufferSizeEXT
@ -1041,10 +1093,13 @@ EXPORTS
rglGetVariantIntegervEXT
rglGetVariantPointervEXT
rglGetVaryingLocationNV
rglGetVertexArrayIndexed64iv
rglGetVertexArrayIndexediv
rglGetVertexArrayIntegeri_vEXT
rglGetVertexArrayIntegervEXT
rglGetVertexArrayPointeri_vEXT
rglGetVertexArrayPointervEXT
rglGetVertexArrayiv
rglGetVertexAttribArrayObjectfvATI
rglGetVertexAttribArrayObjectivATI
rglGetVertexAttribIiv
@ -1091,10 +1146,13 @@ EXPORTS
rglGetnSeparableFilterARB
rglGetnTexImageARB
rglGetnUniformdvARB
rglGetnUniformfv
rglGetnUniformfvARB
rglGetnUniformfvEXT
rglGetnUniformiv
rglGetnUniformivARB
rglGetnUniformivEXT
rglGetnUniformuiv
rglGetnUniformuivARB
rglGlobalAlphaFactorbSUN
rglGlobalAlphaFactordSUN
@ -1140,6 +1198,8 @@ EXPORTS
rglInvalidateBufferData
rglInvalidateBufferSubData
rglInvalidateFramebuffer
rglInvalidateNamedFramebufferData
rglInvalidateNamedFramebufferSubData
rglInvalidateSubFramebuffer
rglInvalidateTexImage
rglInvalidateTexSubImage
@ -1258,7 +1318,9 @@ EXPORTS
rglMapGrid1f
rglMapGrid2d
rglMapGrid2f
rglMapNamedBuffer
rglMapNamedBufferEXT
rglMapNamedBufferRange
rglMapNamedBufferRangeEXT
rglMapObjectBufferATI
rglMapParameterfvNV
@ -1300,6 +1362,7 @@ EXPORTS
rglMatrixTranslatedEXT
rglMatrixTranslatefEXT
rglMemoryBarrier
rglMemoryBarrierByRegion
rglMemoryBarrierEXT
rglMinSampleShading
rglMinSampleShadingARB
@ -1433,17 +1496,27 @@ EXPORTS
rglMultiTexSubImage1DEXT
rglMultiTexSubImage2DEXT
rglMultiTexSubImage3DEXT
rglNamedBufferData
rglNamedBufferDataEXT
rglNamedBufferStorage
rglNamedBufferStorageEXT
rglNamedBufferSubData
rglNamedBufferSubDataEXT
rglNamedCopyBufferSubDataEXT
rglNamedFramebufferDrawBuffer
rglNamedFramebufferDrawBuffers
rglNamedFramebufferParameteri
rglNamedFramebufferParameteriEXT
rglNamedFramebufferReadBuffer
rglNamedFramebufferRenderbuffer
rglNamedFramebufferRenderbufferEXT
rglNamedFramebufferTexture
rglNamedFramebufferTexture1DEXT
rglNamedFramebufferTexture2DEXT
rglNamedFramebufferTexture3DEXT
rglNamedFramebufferTextureEXT
rglNamedFramebufferTextureFaceEXT
rglNamedFramebufferTextureLayer
rglNamedFramebufferTextureLayerEXT
rglNamedProgramLocalParameter4dEXT
rglNamedProgramLocalParameter4dvEXT
@ -1457,7 +1530,9 @@ EXPORTS
rglNamedProgramLocalParametersI4ivEXT
rglNamedProgramLocalParametersI4uivEXT
rglNamedProgramStringEXT
rglNamedRenderbufferStorage
rglNamedRenderbufferStorageEXT
rglNamedRenderbufferStorageMultisample
rglNamedRenderbufferStorageMultisampleCoverageEXT
rglNamedRenderbufferStorageMultisampleEXT
rglNamedStringARB
@ -1794,6 +1869,7 @@ EXPORTS
rglReadInstrumentsSGIX
rglReadPixels
rglReadVideoPixelsSUN
rglReadnPixels
rglReadnPixelsARB
rglReadnPixelsEXT
rglRectd
@ -2109,8 +2185,11 @@ EXPORTS
rglTexSubImage3DEXT
rglTexSubImage3DOES
rglTexSubImage4DSGIS
rglTextureBarrier
rglTextureBarrierNV
rglTextureBuffer
rglTextureBufferEXT
rglTextureBufferRange
rglTextureBufferRangeEXT
rglTextureColorMaskSGIS
rglTextureFogSGIX
@ -2125,26 +2204,42 @@ EXPORTS
rglTextureMaterialEXT
rglTextureNormalEXT
rglTexturePageCommitmentEXT
rglTextureParameterIiv
rglTextureParameterIivEXT
rglTextureParameterIuiv
rglTextureParameterIuivEXT
rglTextureParameterf
rglTextureParameterfEXT
rglTextureParameterfv
rglTextureParameterfvEXT
rglTextureParameteri
rglTextureParameteriEXT
rglTextureParameteriv
rglTextureParameterivEXT
rglTextureRangeAPPLE
rglTextureRenderbufferEXT
rglTextureStorage1D
rglTextureStorage1DEXT
rglTextureStorage2D
rglTextureStorage2DEXT
rglTextureStorage2DMultisample
rglTextureStorage2DMultisampleEXT
rglTextureStorage3D
rglTextureStorage3DEXT
rglTextureStorage3DMultisample
rglTextureStorage3DMultisampleEXT
rglTextureStorageSparseAMD
rglTextureSubImage1D
rglTextureSubImage1DEXT
rglTextureSubImage2D
rglTextureSubImage2DEXT
rglTextureSubImage3D
rglTextureSubImage3DEXT
rglTextureView
rglTrackMatrixNV
rglTransformFeedbackAttribsNV
rglTransformFeedbackBufferBase
rglTransformFeedbackBufferRange
rglTransformFeedbackVaryings
rglTransformFeedbackVaryingsEXT
rglTransformFeedbackVaryingsNV
@ -2264,6 +2359,7 @@ EXPORTS
rglUnmapBuffer
rglUnmapBufferARB
rglUnmapBufferOES
rglUnmapNamedBuffer
rglUnmapNamedBufferEXT
rglUnmapObjectBufferATI
rglUnmapTexture2DINTEL
@ -2325,9 +2421,15 @@ EXPORTS
rglVertex4iv
rglVertex4s
rglVertex4sv
rglVertexArrayAttribBinding
rglVertexArrayAttribFormat
rglVertexArrayAttribIFormat
rglVertexArrayAttribLFormat
rglVertexArrayBindVertexBufferEXT
rglVertexArrayBindingDivisor
rglVertexArrayColorOffsetEXT
rglVertexArrayEdgeFlagOffsetEXT
rglVertexArrayElementBuffer
rglVertexArrayFogCoordOffsetEXT
rglVertexArrayIndexOffsetEXT
rglVertexArrayMultiTexCoordOffsetEXT
@ -2345,6 +2447,8 @@ EXPORTS
rglVertexArrayVertexAttribLOffsetEXT
rglVertexArrayVertexAttribOffsetEXT
rglVertexArrayVertexBindingDivisorEXT
rglVertexArrayVertexBuffer
rglVertexArrayVertexBuffers
rglVertexArrayVertexOffsetEXT
rglVertexAttrib1d
rglVertexAttrib1dARB
@ -2734,6 +2838,7 @@ EXPORTS
rwglDXSetResourceShareHandleNV
rwglDXUnlockObjectsNV
rwglDXUnregisterObjectNV
rwglDelayBeforeSwapNV
rwglDeleteAssociatedContextAMD
rwglDeleteBufferRegionARB
rwglDeleteContext

View file

@ -132,6 +132,7 @@ _glBindSamplers
_glBindTexGenParameterEXT
_glBindTexture
_glBindTextureEXT
_glBindTextureUnit
_glBindTextureUnitParameterEXT
_glBindTextures
_glBindTransformFeedback
@ -156,6 +157,7 @@ _glBinormal3sEXT
_glBinormal3svEXT
_glBinormalPointerEXT
_glBitmap
_glBlendBarrierKHR
_glBlendBarrierNV
_glBlendColor
_glBlendColorEXT
@ -187,9 +189,11 @@ _glBlitFramebuffer
_glBlitFramebufferANGLE
_glBlitFramebufferEXT
_glBlitFramebufferNV
_glBlitNamedFramebuffer
_glBufferAddressRangeNV
_glBufferData
_glBufferDataARB
_glBufferPageCommitmentARB
_glBufferParameteriAPPLE
_glBufferRegionEnabled
_glBufferStorage
@ -200,6 +204,7 @@ _glCallLists
_glCheckFramebufferStatus
_glCheckFramebufferStatusEXT
_glCheckFramebufferStatusOES
_glCheckNamedFramebufferStatus
_glCheckNamedFramebufferStatusEXT
_glClampColor
_glClampColorARB
@ -221,8 +226,14 @@ _glClearDepthf
_glClearDepthfOES
_glClearDepthx
_glClearIndex
_glClearNamedBufferData
_glClearNamedBufferDataEXT
_glClearNamedBufferSubData
_glClearNamedBufferSubDataEXT
_glClearNamedFramebufferfi
_glClearNamedFramebufferfv
_glClearNamedFramebufferiv
_glClearNamedFramebufferuiv
_glClearStencil
_glClearTexImage
_glClearTexSubImage
@ -232,6 +243,7 @@ _glClientActiveVertexStreamATI
_glClientAttribDefaultEXT
_glClientWaitSync
_glClientWaitSyncAPPLE
_glClipControl
_glClipPlane
_glClipPlanef
_glClipPlanefOES
@ -339,8 +351,11 @@ _glCompressedTexSubImage3DOES
_glCompressedTextureImage1DEXT
_glCompressedTextureImage2DEXT
_glCompressedTextureImage3DEXT
_glCompressedTextureSubImage1D
_glCompressedTextureSubImage1DEXT
_glCompressedTextureSubImage2D
_glCompressedTextureSubImage2DEXT
_glCompressedTextureSubImage3D
_glCompressedTextureSubImage3DEXT
_glConvolutionFilter1D
_glConvolutionFilter1DEXT
@ -371,6 +386,7 @@ _glCopyMultiTexImage2DEXT
_glCopyMultiTexSubImage1DEXT
_glCopyMultiTexSubImage2DEXT
_glCopyMultiTexSubImage3DEXT
_glCopyNamedBufferSubData
_glCopyPathNV
_glCopyPixels
_glCopyTexImage1D
@ -387,8 +403,11 @@ _glCopyTexSubImage3DOES
_glCopyTextureImage1DEXT
_glCopyTextureImage2DEXT
_glCopyTextureLevelsAPPLE
_glCopyTextureSubImage1D
_glCopyTextureSubImage1DEXT
_glCopyTextureSubImage2D
_glCopyTextureSubImage2DEXT
_glCopyTextureSubImage3D
_glCopyTextureSubImage3DEXT
_glCoverFillPathInstancedNV
_glCoverFillPathNV
@ -396,13 +415,22 @@ _glCoverStrokePathInstancedNV
_glCoverStrokePathNV
_glCoverageMaskNV
_glCoverageOperationNV
_glCreateBuffers
_glCreateFramebuffers
_glCreateProgram
_glCreateProgramObjectARB
_glCreateProgramPipelines
_glCreateQueries
_glCreateRenderbuffers
_glCreateSamplers
_glCreateShader
_glCreateShaderObjectARB
_glCreateShaderProgramEXT
_glCreateShaderProgramv
_glCreateSyncFromCLeventARB
_glCreateTextures
_glCreateTransformFeedbacks
_glCreateVertexArrays
_glCullFace
_glCullParameterdvEXT
_glCullParameterfvEXT
@ -481,6 +509,7 @@ _glDisableClientStateiEXT
_glDisableDriverControlQCOM
_glDisableIndexedEXT
_glDisableVariantClientStateEXT
_glDisableVertexArrayAttrib
_glDisableVertexArrayAttribEXT
_glDisableVertexArrayEXT
_glDisableVertexAttribAPPLE
@ -546,6 +575,7 @@ _glEnableClientStateiEXT
_glEnableDriverControlQCOM
_glEnableIndexedEXT
_glEnableVariantClientStateEXT
_glEnableVertexArrayAttrib
_glEnableVertexArrayAttribEXT
_glEnableVertexArrayEXT
_glEnableVertexAttribAPPLE
@ -615,6 +645,7 @@ _glFlush
_glFlushMappedBufferRange
_glFlushMappedBufferRangeAPPLE
_glFlushMappedBufferRangeEXT
_glFlushMappedNamedBufferRange
_glFlushMappedNamedBufferRangeEXT
_glFlushPixelDataRangeNV
_glFlushRasterSGIX
@ -739,6 +770,7 @@ _glGenerateMipmap
_glGenerateMipmapEXT
_glGenerateMipmapOES
_glGenerateMultiTexMipmapEXT
_glGenerateTextureMipmap
_glGenerateTextureMipmapEXT
_glGetActiveAtomicCounterBufferiv
_glGetActiveAttrib
@ -792,7 +824,9 @@ _glGetCombinerStageParameterfvNV
_glGetCompressedMultiTexImageEXT
_glGetCompressedTexImage
_glGetCompressedTexImageARB
_glGetCompressedTextureImage
_glGetCompressedTextureImageEXT
_glGetCompressedTextureSubImage
_glGetConvolutionFilter
_glGetConvolutionFilterEXT
_glGetConvolutionParameterfv
@ -903,11 +937,17 @@ _glGetMultiTexParameterfvEXT
_glGetMultiTexParameterivEXT
_glGetMultisamplefv
_glGetMultisamplefvNV
_glGetNamedBufferParameteri64v
_glGetNamedBufferParameteriv
_glGetNamedBufferParameterivEXT
_glGetNamedBufferParameterui64vNV
_glGetNamedBufferPointerv
_glGetNamedBufferPointervEXT
_glGetNamedBufferSubData
_glGetNamedBufferSubDataEXT
_glGetNamedFramebufferAttachmentParameteriv
_glGetNamedFramebufferAttachmentParameterivEXT
_glGetNamedFramebufferParameteriv
_glGetNamedFramebufferParameterivEXT
_glGetNamedProgramLocalParameterIivEXT
_glGetNamedProgramLocalParameterIuivEXT
@ -915,6 +955,7 @@ _glGetNamedProgramLocalParameterdvEXT
_glGetNamedProgramLocalParameterfvEXT
_glGetNamedProgramStringEXT
_glGetNamedProgramivEXT
_glGetNamedRenderbufferParameteriv
_glGetNamedRenderbufferParameterivEXT
_glGetNamedStringARB
_glGetNamedStringivARB
@ -1055,19 +1096,30 @@ _glGetTexParameteriv
_glGetTexParameterxv
_glGetTextureHandleARB
_glGetTextureHandleNV
_glGetTextureImage
_glGetTextureImageEXT
_glGetTextureLevelParameterfv
_glGetTextureLevelParameterfvEXT
_glGetTextureLevelParameteriv
_glGetTextureLevelParameterivEXT
_glGetTextureParameterIiv
_glGetTextureParameterIivEXT
_glGetTextureParameterIuiv
_glGetTextureParameterIuivEXT
_glGetTextureParameterfv
_glGetTextureParameterfvEXT
_glGetTextureParameteriv
_glGetTextureParameterivEXT
_glGetTextureSamplerHandleARB
_glGetTextureSamplerHandleNV
_glGetTextureSubImage
_glGetTrackMatrixivNV
_glGetTransformFeedbackVarying
_glGetTransformFeedbackVaryingEXT
_glGetTransformFeedbackVaryingNV
_glGetTransformFeedbacki64_v
_glGetTransformFeedbacki_v
_glGetTransformFeedbackiv
_glGetTranslatedShaderSourceANGLE
_glGetUniformBlockIndex
_glGetUniformBufferSizeEXT
@ -1092,10 +1144,13 @@ _glGetVariantFloatvEXT
_glGetVariantIntegervEXT
_glGetVariantPointervEXT
_glGetVaryingLocationNV
_glGetVertexArrayIndexed64iv
_glGetVertexArrayIndexediv
_glGetVertexArrayIntegeri_vEXT
_glGetVertexArrayIntegervEXT
_glGetVertexArrayPointeri_vEXT
_glGetVertexArrayPointervEXT
_glGetVertexArrayiv
_glGetVertexAttribArrayObjectfvATI
_glGetVertexAttribArrayObjectivATI
_glGetVertexAttribIiv
@ -1142,10 +1197,13 @@ _glGetnPolygonStippleARB
_glGetnSeparableFilterARB
_glGetnTexImageARB
_glGetnUniformdvARB
_glGetnUniformfv
_glGetnUniformfvARB
_glGetnUniformfvEXT
_glGetnUniformiv
_glGetnUniformivARB
_glGetnUniformivEXT
_glGetnUniformuiv
_glGetnUniformuivARB
_glGlobalAlphaFactorbSUN
_glGlobalAlphaFactordSUN
@ -1191,6 +1249,8 @@ _glInterpolatePathsNV
_glInvalidateBufferData
_glInvalidateBufferSubData
_glInvalidateFramebuffer
_glInvalidateNamedFramebufferData
_glInvalidateNamedFramebufferSubData
_glInvalidateSubFramebuffer
_glInvalidateTexImage
_glInvalidateTexSubImage
@ -1309,7 +1369,9 @@ _glMapGrid1d
_glMapGrid1f
_glMapGrid2d
_glMapGrid2f
_glMapNamedBuffer
_glMapNamedBufferEXT
_glMapNamedBufferRange
_glMapNamedBufferRangeEXT
_glMapObjectBufferATI
_glMapParameterfvNV
@ -1351,6 +1413,7 @@ _glMatrixScalefEXT
_glMatrixTranslatedEXT
_glMatrixTranslatefEXT
_glMemoryBarrier
_glMemoryBarrierByRegion
_glMemoryBarrierEXT
_glMinSampleShading
_glMinSampleShadingARB
@ -1484,17 +1547,27 @@ _glMultiTexRenderbufferEXT
_glMultiTexSubImage1DEXT
_glMultiTexSubImage2DEXT
_glMultiTexSubImage3DEXT
_glNamedBufferData
_glNamedBufferDataEXT
_glNamedBufferStorage
_glNamedBufferStorageEXT
_glNamedBufferSubData
_glNamedBufferSubDataEXT
_glNamedCopyBufferSubDataEXT
_glNamedFramebufferDrawBuffer
_glNamedFramebufferDrawBuffers
_glNamedFramebufferParameteri
_glNamedFramebufferParameteriEXT
_glNamedFramebufferReadBuffer
_glNamedFramebufferRenderbuffer
_glNamedFramebufferRenderbufferEXT
_glNamedFramebufferTexture
_glNamedFramebufferTexture1DEXT
_glNamedFramebufferTexture2DEXT
_glNamedFramebufferTexture3DEXT
_glNamedFramebufferTextureEXT
_glNamedFramebufferTextureFaceEXT
_glNamedFramebufferTextureLayer
_glNamedFramebufferTextureLayerEXT
_glNamedProgramLocalParameter4dEXT
_glNamedProgramLocalParameter4dvEXT
@ -1508,7 +1581,9 @@ _glNamedProgramLocalParameters4fvEXT
_glNamedProgramLocalParametersI4ivEXT
_glNamedProgramLocalParametersI4uivEXT
_glNamedProgramStringEXT
_glNamedRenderbufferStorage
_glNamedRenderbufferStorageEXT
_glNamedRenderbufferStorageMultisample
_glNamedRenderbufferStorageMultisampleCoverageEXT
_glNamedRenderbufferStorageMultisampleEXT
_glNamedStringARB
@ -1845,6 +1920,7 @@ _glReadBufferRegion
_glReadInstrumentsSGIX
_glReadPixels
_glReadVideoPixelsSUN
_glReadnPixels
_glReadnPixelsARB
_glReadnPixelsEXT
_glRectd
@ -2160,8 +2236,11 @@ _glTexSubImage3D
_glTexSubImage3DEXT
_glTexSubImage3DOES
_glTexSubImage4DSGIS
_glTextureBarrier
_glTextureBarrierNV
_glTextureBuffer
_glTextureBufferEXT
_glTextureBufferRange
_glTextureBufferRangeEXT
_glTextureColorMaskSGIS
_glTextureFogSGIX
@ -2176,26 +2255,42 @@ _glTextureLightEXT
_glTextureMaterialEXT
_glTextureNormalEXT
_glTexturePageCommitmentEXT
_glTextureParameterIiv
_glTextureParameterIivEXT
_glTextureParameterIuiv
_glTextureParameterIuivEXT
_glTextureParameterf
_glTextureParameterfEXT
_glTextureParameterfv
_glTextureParameterfvEXT
_glTextureParameteri
_glTextureParameteriEXT
_glTextureParameteriv
_glTextureParameterivEXT
_glTextureRangeAPPLE
_glTextureRenderbufferEXT
_glTextureStorage1D
_glTextureStorage1DEXT
_glTextureStorage2D
_glTextureStorage2DEXT
_glTextureStorage2DMultisample
_glTextureStorage2DMultisampleEXT
_glTextureStorage3D
_glTextureStorage3DEXT
_glTextureStorage3DMultisample
_glTextureStorage3DMultisampleEXT
_glTextureStorageSparseAMD
_glTextureSubImage1D
_glTextureSubImage1DEXT
_glTextureSubImage2D
_glTextureSubImage2DEXT
_glTextureSubImage3D
_glTextureSubImage3DEXT
_glTextureView
_glTrackMatrixNV
_glTransformFeedbackAttribsNV
_glTransformFeedbackBufferBase
_glTransformFeedbackBufferRange
_glTransformFeedbackVaryings
_glTransformFeedbackVaryingsEXT
_glTransformFeedbackVaryingsNV
@ -2315,6 +2410,7 @@ _glUnlockArraysEXT
_glUnmapBuffer
_glUnmapBufferARB
_glUnmapBufferOES
_glUnmapNamedBuffer
_glUnmapNamedBufferEXT
_glUnmapObjectBufferATI
_glUnmapTexture2DINTEL
@ -2376,9 +2472,15 @@ _glVertex4i
_glVertex4iv
_glVertex4s
_glVertex4sv
_glVertexArrayAttribBinding
_glVertexArrayAttribFormat
_glVertexArrayAttribIFormat
_glVertexArrayAttribLFormat
_glVertexArrayBindVertexBufferEXT
_glVertexArrayBindingDivisor
_glVertexArrayColorOffsetEXT
_glVertexArrayEdgeFlagOffsetEXT
_glVertexArrayElementBuffer
_glVertexArrayFogCoordOffsetEXT
_glVertexArrayIndexOffsetEXT
_glVertexArrayMultiTexCoordOffsetEXT
@ -2396,6 +2498,8 @@ _glVertexArrayVertexAttribLFormatEXT
_glVertexArrayVertexAttribLOffsetEXT
_glVertexArrayVertexAttribOffsetEXT
_glVertexArrayVertexBindingDivisorEXT
_glVertexArrayVertexBuffer
_glVertexArrayVertexBuffers
_glVertexArrayVertexOffsetEXT
_glVertexAttrib1d
_glVertexAttrib1dARB