Touch-ups for apitrace NV_path_rendering support.
Add support for REGAL_LOAD_GL, REGAL_LOAD_ES2 and REGAL_LOAD_EGL for loading specific system GL/GLX/WGL/EGL libraries.
Tidy-up for RegalContextInfo codegen.
Mac XCode project udpates.
diff --git a/build/mac/Regal/Regal.xcodeproj/project.pbxproj b/build/mac/Regal/Regal.xcodeproj/project.pbxproj
index 5a4b04d..46582a9 100644
--- a/build/mac/Regal/Regal.xcodeproj/project.pbxproj
+++ b/build/mac/Regal/Regal.xcodeproj/project.pbxproj
@@ -15,6 +15,15 @@
431D3C0E15C9B6F0009DD04F /* RegalFavicon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0A15C9B6F0009DD04F /* RegalFavicon.cpp */; };
431D3C0F15C9B6F0009DD04F /* RegalFavicon.h in Headers */ = {isa = PBXBuildFile; fileRef = 431D3C0B15C9B6F0009DD04F /* RegalFavicon.h */; };
431D3C1015C9B6F0009DD04F /* RegalMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 431D3C0C15C9B6F0009DD04F /* RegalMac.cpp */; };
+ 4359147D18293B32002CB92C /* libapitrace.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359144B18293A5C002CB92C /* libapitrace.a */; };
+ 4359147E18293B32002CB92C /* libjsonsl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145118293A68002CB92C /* libjsonsl.a */; };
+ 4359147F18293B32002CB92C /* libmd5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145718293A74002CB92C /* libmd5.a */; };
+ 4359148018293B32002CB92C /* libmongoose.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359145D18293A7D002CB92C /* libmongoose.a */; };
+ 4359148118293B32002CB92C /* libpcre.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359146318293A8B002CB92C /* libpcre.a */; };
+ 4359148218293B32002CB92C /* libpng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359146918293A94002CB92C /* libpng.a */; };
+ 4359148318293B32002CB92C /* libsnappy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359146F18293A9C002CB92C /* libsnappy.a */; };
+ 4359148418293B32002CB92C /* libsquish.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359147518293AAA002CB92C /* libsquish.a */; };
+ 4359148518293B32002CB92C /* libzlib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4359147B18293AB2002CB92C /* libzlib.a */; };
438D2C2B16DE668A005E03F6 /* RegalJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C1F16DE668A005E03F6 /* RegalJson.cpp */; };
438D2C2D16DE668A005E03F6 /* RegalPixelConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 438D2C2116DE668A005E03F6 /* RegalPixelConversions.cpp */; };
438D2C2E16DE668A005E03F6 /* RegalPixelConversions.h in Headers */ = {isa = PBXBuildFile; fileRef = 438D2C2216DE668A005E03F6 /* RegalPixelConversions.h */; };
@@ -122,6 +131,72 @@
BCF889AA15E079D80093B7D5 /* RegalDispatchStaticES2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A915E079D80093B7D5 /* RegalDispatchStaticES2.cpp */; };
/* End PBXBuildFile section */
+/* Begin PBXContainerItemProxy section */
+ 4359144A18293A5C002CB92C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 4359144618293A5B002CB92C /* apitrace.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 433667A917C56F3500D45AD9;
+ remoteInfo = apitrace;
+ };
+ 4359145018293A68002CB92C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 4359144C18293A68002CB92C /* jsonsl.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 4336679417C56EF900D45AD9;
+ remoteInfo = jsonsl;
+ };
+ 4359145618293A74002CB92C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 4359145218293A73002CB92C /* md5.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 4336678117C56DFD00D45AD9;
+ remoteInfo = md5;
+ };
+ 4359145C18293A7D002CB92C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 4359145818293A7C002CB92C /* mongoose.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 4336676E17C56DC700D45AD9;
+ remoteInfo = mongoose;
+ };
+ 4359146218293A8B002CB92C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 4359145E18293A8A002CB92C /* pcre.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 433666B917C56BC000D45AD9;
+ remoteInfo = pcre;
+ };
+ 4359146818293A94002CB92C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 4359146418293A93002CB92C /* png.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 433665D517C5632600D45AD9;
+ remoteInfo = png;
+ };
+ 4359146E18293A9C002CB92C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 4359146A18293A9C002CB92C /* snappy.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 4336665817C56AA300D45AD9;
+ remoteInfo = snappy;
+ };
+ 4359147418293AAA002CB92C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 4359147018293AAA002CB92C /* squish.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 4336667917C56B5200D45AD9;
+ remoteInfo = squish;
+ };
+ 4359147A18293AB2002CB92C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 4359147618293AB1002CB92C /* zlib.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = 4336661617C56A0800D45AD9;
+ remoteInfo = zlib;
+ };
+/* End PBXContainerItemProxy section */
+
/* Begin PBXFileReference section */
430443EE16F1656A0078C0F9 /* RegalXfer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalXfer.cpp; path = ../../../src/regal/RegalXfer.cpp; sourceTree = "<group>"; };
430443EF16F1656A0078C0F9 /* RegalXfer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalXfer.h; path = ../../../src/regal/RegalXfer.h; sourceTree = "<group>"; };
@@ -131,6 +206,15 @@
431D3C0A15C9B6F0009DD04F /* RegalFavicon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalFavicon.cpp; path = ../../../src/regal/RegalFavicon.cpp; sourceTree = "<group>"; };
431D3C0B15C9B6F0009DD04F /* RegalFavicon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalFavicon.h; path = ../../../src/regal/RegalFavicon.h; sourceTree = "<group>"; };
431D3C0C15C9B6F0009DD04F /* RegalMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalMac.cpp; path = ../../../src/regal/RegalMac.cpp; sourceTree = "<group>"; };
+ 4359144618293A5B002CB92C /* apitrace.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = apitrace.xcodeproj; path = ../apitrace/apitrace.xcodeproj; sourceTree = "<group>"; };
+ 4359144C18293A68002CB92C /* jsonsl.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = jsonsl.xcodeproj; path = ../jsonsl/jsonsl.xcodeproj; sourceTree = "<group>"; };
+ 4359145218293A73002CB92C /* md5.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = md5.xcodeproj; path = ../md5/md5.xcodeproj; sourceTree = "<group>"; };
+ 4359145818293A7C002CB92C /* mongoose.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = mongoose.xcodeproj; path = ../mongoose/mongoose.xcodeproj; sourceTree = "<group>"; };
+ 4359145E18293A8A002CB92C /* pcre.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = pcre.xcodeproj; path = ../pcre/pcre.xcodeproj; sourceTree = "<group>"; };
+ 4359146418293A93002CB92C /* png.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = png.xcodeproj; path = ../png/png.xcodeproj; sourceTree = "<group>"; };
+ 4359146A18293A9C002CB92C /* snappy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = snappy.xcodeproj; path = ../snappy/snappy.xcodeproj; sourceTree = "<group>"; };
+ 4359147018293AAA002CB92C /* squish.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = squish.xcodeproj; path = ../squish/squish.xcodeproj; sourceTree = "<group>"; };
+ 4359147618293AB1002CB92C /* zlib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = zlib.xcodeproj; path = ../zlib/zlib.xcodeproj; sourceTree = "<group>"; };
436E18CA17020027005BE93E /* RegalJson.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = RegalJson.inl; path = ../../../src/regal/RegalJson.inl; sourceTree = "<group>"; };
438D2C1F16DE668A005E03F6 /* RegalJson.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalJson.cpp; path = ../../../src/regal/RegalJson.cpp; sourceTree = "<group>"; };
438D2C2116DE668A005E03F6 /* RegalPixelConversions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalPixelConversions.cpp; path = ../../../src/regal/RegalPixelConversions.cpp; sourceTree = "<group>"; };
@@ -246,17 +330,115 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 4359147D18293B32002CB92C /* libapitrace.a in Frameworks */,
+ 4359147E18293B32002CB92C /* libjsonsl.a in Frameworks */,
+ 4359147F18293B32002CB92C /* libmd5.a in Frameworks */,
+ 4359148018293B32002CB92C /* libmongoose.a in Frameworks */,
+ 4359148118293B32002CB92C /* libpcre.a in Frameworks */,
+ 4359148218293B32002CB92C /* libpng.a in Frameworks */,
+ 4359148318293B32002CB92C /* libsnappy.a in Frameworks */,
+ 4359148418293B32002CB92C /* libsquish.a in Frameworks */,
+ 4359148518293B32002CB92C /* libzlib.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 4359144718293A5B002CB92C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4359144B18293A5C002CB92C /* libapitrace.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 4359144D18293A68002CB92C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4359145118293A68002CB92C /* libjsonsl.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 4359145318293A73002CB92C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4359145718293A74002CB92C /* libmd5.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 4359145918293A7C002CB92C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4359145D18293A7D002CB92C /* libmongoose.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 4359145F18293A8A002CB92C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4359146318293A8B002CB92C /* libpcre.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 4359146518293A93002CB92C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4359146918293A94002CB92C /* libpng.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 4359146B18293A9C002CB92C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4359146F18293A9C002CB92C /* libsnappy.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 4359147118293AAA002CB92C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4359147518293AAA002CB92C /* libsquish.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 4359147718293AB1002CB92C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 4359147B18293AB2002CB92C /* libzlib.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 4359147C18293AF6002CB92C /* subprojects */ = {
+ isa = PBXGroup;
+ children = (
+ 4359144618293A5B002CB92C /* apitrace.xcodeproj */,
+ 4359144C18293A68002CB92C /* jsonsl.xcodeproj */,
+ 4359145218293A73002CB92C /* md5.xcodeproj */,
+ 4359145818293A7C002CB92C /* mongoose.xcodeproj */,
+ 4359145E18293A8A002CB92C /* pcre.xcodeproj */,
+ 4359146418293A93002CB92C /* png.xcodeproj */,
+ 4359146A18293A9C002CB92C /* snappy.xcodeproj */,
+ 4359147018293AAA002CB92C /* squish.xcodeproj */,
+ 4359147618293AB1002CB92C /* zlib.xcodeproj */,
+ );
+ name = subprojects;
+ sourceTree = "<group>";
+ };
43A6C1BB15C48CD90063667E = {
isa = PBXGroup;
children = (
- 43A6C1C715C48CD90063667E /* Products */,
43A6C1D015C48CFA0063667E /* Regal */,
+ 43A6C1C715C48CD90063667E /* Products */,
+ 4359147C18293AF6002CB92C /* subprojects */,
);
sourceTree = "<group>";
};
@@ -501,6 +683,44 @@
mainGroup = 43A6C1BB15C48CD90063667E;
productRefGroup = 43A6C1C715C48CD90063667E /* Products */;
projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 4359144718293A5B002CB92C /* Products */;
+ ProjectRef = 4359144618293A5B002CB92C /* apitrace.xcodeproj */;
+ },
+ {
+ ProductGroup = 4359144D18293A68002CB92C /* Products */;
+ ProjectRef = 4359144C18293A68002CB92C /* jsonsl.xcodeproj */;
+ },
+ {
+ ProductGroup = 4359145318293A73002CB92C /* Products */;
+ ProjectRef = 4359145218293A73002CB92C /* md5.xcodeproj */;
+ },
+ {
+ ProductGroup = 4359145918293A7C002CB92C /* Products */;
+ ProjectRef = 4359145818293A7C002CB92C /* mongoose.xcodeproj */;
+ },
+ {
+ ProductGroup = 4359145F18293A8A002CB92C /* Products */;
+ ProjectRef = 4359145E18293A8A002CB92C /* pcre.xcodeproj */;
+ },
+ {
+ ProductGroup = 4359146518293A93002CB92C /* Products */;
+ ProjectRef = 4359146418293A93002CB92C /* png.xcodeproj */;
+ },
+ {
+ ProductGroup = 4359146B18293A9C002CB92C /* Products */;
+ ProjectRef = 4359146A18293A9C002CB92C /* snappy.xcodeproj */;
+ },
+ {
+ ProductGroup = 4359147118293AAA002CB92C /* Products */;
+ ProjectRef = 4359147018293AAA002CB92C /* squish.xcodeproj */;
+ },
+ {
+ ProductGroup = 4359147718293AB1002CB92C /* Products */;
+ ProjectRef = 4359147618293AB1002CB92C /* zlib.xcodeproj */;
+ },
+ );
projectRoot = "";
targets = (
43A6C1C515C48CD90063667E /* Regal */,
@@ -508,6 +728,72 @@
};
/* End PBXProject section */
+/* Begin PBXReferenceProxy section */
+ 4359144B18293A5C002CB92C /* libapitrace.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libapitrace.a;
+ remoteRef = 4359144A18293A5C002CB92C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 4359145118293A68002CB92C /* libjsonsl.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libjsonsl.a;
+ remoteRef = 4359145018293A68002CB92C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 4359145718293A74002CB92C /* libmd5.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libmd5.a;
+ remoteRef = 4359145618293A74002CB92C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 4359145D18293A7D002CB92C /* libmongoose.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libmongoose.a;
+ remoteRef = 4359145C18293A7D002CB92C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 4359146318293A8B002CB92C /* libpcre.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libpcre.a;
+ remoteRef = 4359146218293A8B002CB92C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 4359146918293A94002CB92C /* libpng.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libpng.a;
+ remoteRef = 4359146818293A94002CB92C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 4359146F18293A9C002CB92C /* libsnappy.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libsnappy.a;
+ remoteRef = 4359146E18293A9C002CB92C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 4359147518293AAA002CB92C /* libsquish.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libsquish.a;
+ remoteRef = 4359147418293AAA002CB92C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ 4359147B18293AB2002CB92C /* libzlib.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libzlib.a;
+ remoteRef = 4359147A18293AB2002CB92C /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
/* Begin PBXSourcesBuildPhase section */
43A6C1C215C48CD90063667E /* Sources */ = {
isa = PBXSourcesBuildPhase;
@@ -613,7 +899,7 @@
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
ONLY_ACTIVE_ARCH = YES;
- SDKROOT = macosx10.7;
+ SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = "../../../src/mongoose ../../../src/md5/include";
};
name = Debug;
@@ -656,7 +942,7 @@
../../../src/zlib/src,
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
- SDKROOT = macosx10.7;
+ SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = "../../../src/mongoose ../../../src/md5/include";
};
name = Release;
diff --git a/build/mac/pcre/pcre.xcodeproj/project.pbxproj b/build/mac/pcre/pcre.xcodeproj/project.pbxproj
index f2dfb6a..7ff1d13 100644
--- a/build/mac/pcre/pcre.xcodeproj/project.pbxproj
+++ b/build/mac/pcre/pcre.xcodeproj/project.pbxproj
@@ -446,7 +446,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_WARN_CONSTANT_CONVERSION = YES;
@@ -479,7 +479,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_WARN_CONSTANT_CONVERSION = YES;
@@ -536,6 +536,7 @@
433666BF17C56BC000D45AD9 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/build/mac/png/png.xcodeproj/project.pbxproj b/build/mac/png/png.xcodeproj/project.pbxproj
index 58613b2..e5913bb 100644
--- a/build/mac/png/png.xcodeproj/project.pbxproj
+++ b/build/mac/png/png.xcodeproj/project.pbxproj
@@ -214,7 +214,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_WARN_CONSTANT_CONVERSION = YES;
@@ -250,7 +250,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_WARN_CONSTANT_CONVERSION = YES;
diff --git a/build/mac/zlib/zlib.xcodeproj/project.pbxproj b/build/mac/zlib/zlib.xcodeproj/project.pbxproj
index 296fe72..8ab4bb1 100644
--- a/build/mac/zlib/zlib.xcodeproj/project.pbxproj
+++ b/build/mac/zlib/zlib.xcodeproj/project.pbxproj
@@ -214,7 +214,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_WARN_CONSTANT_CONVERSION = YES;
@@ -247,7 +247,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_WARN_CONSTANT_CONVERSION = YES;
@@ -304,6 +304,7 @@
4336661C17C56A0800D45AD9 /* Release */,
);
defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
diff --git a/scripts/EmuLookup.py b/scripts/EmuLookup.py
index 3a91432..04eaa47 100644
--- a/scripts/EmuLookup.py
+++ b/scripts/EmuLookup.py
@@ -3,40 +3,67 @@
formulae = {
'wglGetProcAddress' : {
'entries' : [ '(wglGetProcAddress)()' ],
- 'impl' : [
- 'ret = _next->call(&_next->${m1}${m2})(${arg0});',
- 'if (!ret)',
- ' return NULL;',
- 'ret = Lookup::gl_Lookup<PROC>(${arg0});',
- 'if (ret)',
- ' return ret;',
- 'ret = Lookup::wgl_Lookup<PROC>(${arg0});',
- 'if (ret)',
- ' return ret;',
- ],
+ 'impl' : '''
+//
+// wglGetProcAddress returns NULL for unsupported
+// entry points. Here we need Regal to behave
+// similarly depending on what's emulated.
+//
+
+// Regal-only and ES 1.0 aliased functions are
+// always provided by Regal
+
+// ret = Lookup::regal_Lookup<PROC>(${arg0});
+// if (ret)
+// return ret;
+
+// Ask the back-end driver if the entry point
+// is available. If not, return NULL
+//
+// TODO - we need to query ContextInfo and
+// EmulationInfo here instead.
+
+ret = _next->call(&_next->${m1}${m2})(${arg0});
+if (!ret)
+ return NULL;
+
+// Return the Regal implementation of the entry
+// point, either GL or WGL
+
+ret = Lookup::gl_Lookup<PROC>(${arg0});
+if (ret)
+ return ret;
+
+ret = Lookup::wgl_Lookup<PROC>(${arg0});
+if (ret)
+ return ret;
+
+// As a last resort, dispatch the lookup to
+// the global dispatch stack...
+'''
},
'glXGetProcAddress' : {
'entries' : [ '(glXGetProcAddress)(|ARB)' ],
- 'impl' : [
- 'ret = Lookup::gl_Lookup<__GLXextFuncPtr>(reinterpret_cast<const char *>(${arg0}));',
- 'if (ret)',
- ' return ret;',
- 'ret = Lookup::glx_Lookup<__GLXextFuncPtr>(reinterpret_cast<const char *>(${arg0}));',
- 'if (ret)',
- ' return ret;',
- ]
+ 'impl' : '''
+ret = Lookup::gl_Lookup<__GLXextFuncPtr>(reinterpret_cast<const char *>(${arg0}));
+if (ret)
+ return ret;
+ret = Lookup::glx_Lookup<__GLXextFuncPtr>(reinterpret_cast<const char *>(${arg0}));
+if (ret)
+ return ret;
+'''
},
'eglGetProcAddress' : {
'entries' : [ '(eglGetProcAddress)(|ARB)' ],
- 'impl' : [
- 'ret = Lookup::gl_Lookup<__eglMustCastToProperFunctionPointerType>(reinterpret_cast<const char *>(${arg0}));',
- 'if (ret)',
- ' return ret;',
- 'ret = Lookup::egl_Lookup<__eglMustCastToProperFunctionPointerType>(reinterpret_cast<const char *>(${arg0}));',
- 'if (ret)',
- ' return ret;',
- ]
+ 'impl' : '''
+ret = Lookup::gl_Lookup<__eglMustCastToProperFunctionPointerType>(reinterpret_cast<const char *>(${arg0}));
+if (ret)
+ return ret;
+ret = Lookup::egl_Lookup<__eglMustCastToProperFunctionPointerType>(reinterpret_cast<const char *>(${arg0}));
+if (ret)
+ return ret;
+'''
}
}
diff --git a/scripts/regal/RegalContextInfo.py b/scripts/regal/RegalContextInfo.py
index a7affde..64e3fb8 100755
--- a/scripts/regal/RegalContextInfo.py
+++ b/scripts/regal/RegalContextInfo.py
@@ -2,7 +2,8 @@
from string import Template, upper, replace
-from ApiUtil import outputCode
+from ApiUtil import outputCode
+from ApiCodeGen import wrapIf
cond = { 'wgl' : 'REGAL_SYS_WGL', 'glx' : 'REGAL_SYS_GLX', 'cgl' : 'REGAL_SYS_OSX', 'egl' : 'REGAL_SYS_EGL' }
@@ -369,14 +370,10 @@
code += '\n'
for api in apis:
- name = api.name.lower()
- if name in cond:
- code += '#if %s\n'%cond[name]
+ tmp = ''
for c in sorted(api.categories):
- code += ' GLboolean %s : 1;\n' % (c.lower())
- if name in cond:
- code += '#endif\n'
- code += '\n'
+ tmp += ' GLboolean %s : 1;\n' % (c.lower())
+ code += wrapIf(cond.get(api.name.lower()),tmp) + '\n'
return code
@@ -408,13 +405,10 @@
code += ' glsl_version_minor(-1),\n'
for api in apis:
- name = api.name.lower()
- if name in cond:
- code += '#if %s\n'%cond[name]
+ tmp = ''
for c in sorted(api.categories):
- code += ' %s(false),\n' % (c.lower())
- if name in cond:
- code += '#endif\n'
+ tmp += ' %s(false),\n' % (c.lower())
+ code += wrapIf(cond.get(api.name.lower()),tmp)
return code
@@ -634,14 +628,13 @@
code = ''
for api in apis:
- name = api.name.lower()
- if name in cond:
- code += '#if %s\n'%cond[name]
+ tmp = ''
for c in sorted(api.categories):
- code += ' %s = stringSetFind(e,"%s");\n' % (c.lower(),c)
- if name in cond:
- code += '#endif\n'
- code += '\n'
+ tmp += ' %-50s = stringSetFind(e,"%s");\n' % (c.lower(),c)
+
+ tmp = wrapIf(cond.get(api.name.lower()),tmp)
+
+ code += tmp + '\n'
return code
@@ -656,16 +649,15 @@
for api in apis:
- name = api.name.lower()
- if name in cond:
- code += '#if %s\n'%cond[name]
+ tmp = ''
for c in sorted(api.categories):
- code += ' if (!strcmp(ext,"%s")) return %s;\n' % (c,c.lower())
- if name in cond:
- code += '#endif\n'
- code += '\n'
+ tmp += ' %-60s %s;\n'%('if (!strcmp(ext,"%s"))'%c,'return %s'%c.lower())
- code += 'return false;\n'
+ tmp = wrapIf(cond.get(api.name.lower()),tmp)
+
+ code += tmp + '\n'
+
+ code += ' return false;\n'
code += '}\n\n'
return code
diff --git a/scripts/regal/RegalEmuInfo.py b/scripts/regal/RegalEmuInfo.py
index 8305dd4..51838f9 100755
--- a/scripts/regal/RegalEmuInfo.py
+++ b/scripts/regal/RegalEmuInfo.py
@@ -277,15 +277,18 @@
def emuInfoGetExtensionCode(apis, args):
- code = ''
- code += 'bool\n'
- code += 'EmuInfo::getExtension(const ContextInfo &contextInfo, const char *ext) const\n'
- code += '{\n'
- code += ' Internal("EmuInfo::getExtension ",boost::print::quote(ext,\'"\'));\n'
- code += '\n'
- code += ' if (contextInfo.getExtension(ext))\n'
- code += ' return true;\n'
- code += '\n'
+ code = '''
+bool
+EmuInfo::getExtension(const ContextInfo &contextInfo, const char *ext) const
+{
+ Internal("EmuInfo::getExtension ",boost::print::quote(ext,\'"\'));
+
+ // If the context supports it, we're done.
+
+ if (contextInfo.getExtension(ext))
+ return true;
+
+'''
for api in apis:
@@ -303,20 +306,23 @@
code += '#endif\n'
code += '\n'
- code += 'return false;\n'
- code += '}\n\n'
+ code += '''
+ return false;
+}
+'''
- code += 'bool\n'
- code += 'EmuInfo::isSupported(const ContextInfo &contextInfo, const char *ext) const\n'
- code += '{\n'
- code += ' Internal("EmuInfo::isSupported ",boost::print::quote(ext,\'"\'));\n'
- code += '\n'
- code += ' string_list<string> e;\n'
- code += ' e.split(ext,\' \');\n'
- code += ' for (string_list<string>::const_iterator i=e.begin(); i!=e.end(); ++i)\n'
- code += ' if (i->length() && !getExtension(contextInfo, i->c_str())) return false;\n'
- code += ' return true;\n'
- code += '}\n'
+ code += '''
+bool
+EmuInfo::isSupported(const ContextInfo &contextInfo, const char *ext) const
+{
+ Internal("EmuInfo::isSupported ",boost::print::quote(ext,\'"\'));
+
+ string_list<string> e;
+ e.split(ext,\' \');
+ for (string_list<string>::const_iterator i=e.begin(); i!=e.end(); ++i)
+ if (i->length() && !getExtension(contextInfo, i->c_str())) return false;
+ return true;
+}'''
return code
diff --git a/scripts/regal/RegalLookup.py b/scripts/regal/RegalLookup.py
index 710f95f..701f1da 100755
--- a/scripts/regal/RegalLookup.py
+++ b/scripts/regal/RegalLookup.py
@@ -1,10 +1,8 @@
#!/usr/bin/python -B
-from string import Template, upper, replace
-
-from ApiUtil import outputCode
-from ApiCodeGen import *
-
+from string import Template, upper, replace
+from ApiUtil import outputCode
+from ApiCodeGen import *
from RegalContextInfo import cond
lookupSourceTemplate = Template( '''${AUTOGENERATED}
@@ -33,56 +31,64 @@
''')
+def pointerLookupSource(api = None, names = []):
+ return pointerLookupByNameCode([ (j,j) for j in names ],("%s_Name"%api,"%s_Value"%api),valueCast = '(void *)(%s)')
+
+def offsetLookupSource(api = None, names = [], table = None, exclude = set()):
+ names.sort()
+ ret = []
+ ret.append( 'const size_t %s_Offset[%d] = {' % (api, len(names)+1) ) # terminating NULL
+ for j in names:
+ if j in exclude:
+ ret.append(" 0,")
+ else:
+ ret.append(" offsetof(%s,%s)/sizeof(void *),"%(table,j))
+ ret.append( ' 0')
+ ret.append('};')
+ ret.append('')
+ return ret
+
def generateLookupSource(apis, args):
- code = []
+ ret = []
for i in apis:
- names = []
- for j in i.functions:
- names.append(j.name)
- regalOnly = set()
- for j in i.functions:
- if getattr(j,'regalOnly',False)==True:
- regalOnly.add(j.name);
+ code = []
+ regalOnly = set( [ j.name for j in i.functions if getattr(j,'regalOnly',False)==True ] )
+
+ # Special handling for Regal-only function lookup
+ if i.name=='gl':
+ names = [ j.name for j in i.functions if getattr(j,'regalOnly',False)==True or j.category=='GL_REGAL_ES1_0_compatibility']
+# code.extend(pointerLookupSource('regal',names))
+# code.extend(offsetLookupSource('regal',names,"Dispatch::GL",regalOnly))
+
+ names = [ j.name for j in i.functions ]
+ conditional = None
if i.name in cond:
- code.append( '#if %s'%cond[i.name] )
-
- code.extend(pointerLookupByNameCode([ (j,j) for j in names ],("%s_Name"%i.name,"%s_Value"%i.name),valueCast = '(void *)(%s)'))
-
- #
-
- code.append( 'const size_t %s_Offset[%d] = {' % (i.name, len(names)+1) ) # terminating NULL
-
- names.sort()
+ conditional = cond[i.name]
+ code.extend(pointerLookupSource(i.name,names))
# offset table
table = "Dispatch::Global"
- if( i.name == "gl" ):
- table = "Dispatch::GL"
+ if i.name == "gl":
+ table = "Dispatch::GL"
- for j in names:
- if j in regalOnly:
- code.append(" 0,")
- else:
- code.append(" offsetof(%s,%s)/sizeof(void *),"%(table,j))
-
- code.append( ' 0')
- code.append('};')
- code.append('')
+ code.extend(offsetLookupSource(i.name,names,table,regalOnly))
if i.name in cond:
- code.append( '#endif' )
- code.append( '' )
+ conditional = cond[i.name]
+ code = wrapIf(conditional,code)
+
+ ret.extend(code)
substitute = {}
substitute['LICENSE'] = args.license
substitute['AUTOGENERATED'] = args.generated
substitute['COPYRIGHT'] = args.copyright
- substitute['CODE'] = '\n'.join(code)
+ substitute['CODE'] = '\n'.join(ret)
outputCode( '%s/RegalLookup.cpp' % args.srcdir, lookupSourceTemplate.substitute(substitute))
@@ -121,54 +127,67 @@
#endif
''')
-def generateLookupHeader(apis, args):
-
- code = []
-
- for i in apis:
-
- if i.name in cond:
- code.append( '#if %s'%cond[i.name] )
-
- names = []
- for j in i.functions:
- names.append( j.name )
-
- lName = '%s_Name'%i.name
- lValue = '%s_Value'%i.name
- lOffset = '%s_Offset'%i.name
- lSize = len(names)+1
-
- code.append( '' )
- code.append( 'extern const char * const %s[%d];'%(lName,lSize) )
- code.append( 'extern const void *%s[%d];'%(lValue,lSize) )
- code.append( 'extern const size_t %s[%d];'%(lOffset,lSize) )
-
- code.append('''
+def pointerLookupHeader(api = None, names = []):
+ ret = []
+ ret.append( '' )
+ ret.append( 'extern const char * const %s_Name[%d];'%(api,len(names)+1) )
+ ret.append( 'extern const void *%s_Value[%d];'%(api,len(names)+1) )
+ ret.append('''
template<typename T>
T
%s(const char *name, T def = NULL)
{
- const char **res = (const char **) std::bsearch(&name, %s, %d, sizeof(const char *), NameCmp);
- return res ? reinterpret_cast<T>(const_cast<void *>(%s[(size_t) (res - %s)])) : def;
+ const char **res = (const char **) std::bsearch(&name, %s_Name, %d, sizeof(const char *), NameCmp);
+ return res ? reinterpret_cast<T>(const_cast<void *>(%s_Value[(size_t) (res - %s_Name)])) : def;
}
-'''%('%s_Lookup'%i.name,lName,lSize-1,lValue,lName))
+'''%('%s_Lookup'%api,api,len(names),api,api))
- code.append('''
+ return ret
+
+def offsetLookupHeader(api = None, names = [], table = None, exclude = set()):
+ ret = []
+ ret.append( '' )
+ ret.append( 'extern const size_t %s_Offset[%d];'%(api,len(names)+1) )
+ ret.append('''
inline size_t %s(const char *name)
{
- const char **res = (const char **) std::bsearch(&name, %s, %d, sizeof(const char *), NameCmp);
- return res ? %s[(size_t) (res - %s)] : 0;
+ const char **res = (const char **) std::bsearch(&name, %s_Name, %d, sizeof(const char *), NameCmp);
+ return res ? %s_Offset[(size_t) (res - %s_Name)] : 0;
}
-'''%('%s_LookupOffset'%i.name,lName,lSize-1,lOffset,lName))
+'''%('%s_LookupOffset'%api,api,len(names),api,api))
+
+ return ret
+
+def generateLookupHeader(apis, args, offsetLookup = True, ifFunction = lambda i : True):
+
+ ret = []
+
+ for i in apis:
+
+ code = []
+
+ # Special handling for Regal-only function lookup
+ if i.name=='gl':
+ names = [ j.name for j in i.functions if getattr(j,'regalOnly',False)==True or j.category=='GL_REGAL_ES1_0_compatibility']
+# code.extend(pointerLookupHeader('regal',names))
+# code.extend(offsetLookupHeader('regal',names))
+
+ names = [ j.name for j in i.functions ]
+ conditional = None
+ if i.name in cond:
+ conditional = cond[i.name]
+ code.extend(pointerLookupHeader(i.name,names))
+ code.extend(offsetLookupHeader(i.name,names))
if i.name in cond:
- code.append( '#endif' )
- code.append( '' )
+ conditional = cond[i.name]
+ code = wrapIf(conditional,code)
+
+ ret.extend(code)
substitute = {}
@@ -176,7 +195,7 @@
substitute['AUTOGENERATED'] = args.generated
substitute['COPYRIGHT'] = args.copyright
substitute['HEADER_NAME'] = "REGAL_LOOKUP"
- substitute['CODE'] = '\n'.join(code)
+ substitute['CODE'] = '\n'.join(ret)
outputCode( '%s/RegalLookup.h' % args.srcdir, lookupHeaderTemplate.substitute(substitute))
diff --git a/src/apitrace/specs/glapi.py b/src/apitrace/specs/glapi.py
index de1f8ec..6029231 100644
--- a/src/apitrace/specs/glapi.py
+++ b/src/apitrace/specs/glapi.py
@@ -1863,13 +1863,13 @@
GlFunction(GLuint, "glGenPathsNV", [(GLsizei, "range")]),
GlFunction(Void, "glDeletePathsNV", [(GLuint, "path"), (GLsizei, "range")]),
GlFunction(GLboolean, "glIsPathNV", [(GLuint, "path")]),
- GlFunction(Void, "glPathCommandsNV", [(GLuint, "path"), (GLsizei, "numCommands"), (Array(Const(GLubyte), "numCommands"), "commands"), (GLsizei, "numCoords"), (GLenum, "coordType"), (Blob(Const(GLvoid), "_glPath_coords_size(numCoords, coordType)"), "coord")]),
+ GlFunction(Void, "glPathCommandsNV", [(GLuint, "path"), (GLsizei, "numCommands"), (Array(Const(GLubyte), "numCommands"), "commands"), (GLsizei, "numCoords"), (GLenum, "coordType"), (Blob(Const(GLvoid), "_glPath_coords_size(numCoords, coordType)"), "coords")]),
GlFunction(Void, "glPathCoordsNV", [(GLuint, "path"), (GLsizei, "numCoords"), (GLenum, "coordType"), (Blob(Const(GLvoid), "_glPath_coords_size(numCoords, coordType)"), "coords")]),
GlFunction(Void, "glPathSubCommandsNV", [(GLuint, "path"), (GLsizei, "commandStart"), (GLsizei, "commandsToDelete"), (GLsizei, "numCommands"), (Array(Const(GLubyte), "numCommands"), "commands"), (GLsizei, "numCoords"), (GLenum, "coordType"), (Blob(Const(GLvoid), "_glPath_coords_size(numCoords, coordType)"), "coords")]),
GlFunction(Void, "glPathSubCoordsNV", [(GLuint, "path"), (GLsizei, "coordStart"), (GLsizei, "numCoords"), (GLenum, "coordType"), (Blob(Const(GLvoid), "_glPath_coords_size(numCoords, coordType)"), "coords")]),
GlFunction(Void, "glPathStringNV", [(GLuint, "path"), (GLenum, "format"), (GLsizei, "length"), (Blob(Const(GLvoid), "length"), "pathString")]),
- GlFunction(Void, "glPathGlyphsNV", [(GLuint, "firstPathName"), (GLenum, "fontTarget"), (Blob(Const(GLvoid), "_glPath_fontName_size(fontTarget, fontName)"), "fontName"), (GLbitfield, "fontStyle"), (GLsizei, "numGlyphs"), (GLenum, "type"), (Blob(Const(GLvoid), "_glPath_chardcodes_size(numGlyphs, type)"), "charcodes"), (GLenum, "handleMissingGlyphs"), (GLuint, "pathParameterTemplate"), (GLfloat, "emScale")]),
- GlFunction(Void, "glPathGlyphRangeNV", [(GLuint, "firstPathName"), (GLenum, "fontTarget"), (Blob(Const(GLvoid), "_glPath_fontName_size(fontTarget, fontName)"), "fontName"), (GLbitfield, "fontStyle"), (GLuint, "firstGlyph"), (GLsizei, "numGlyphs"), (GLenum, "handleMissingGlyphs"), (GLuint, "pathParameterTemplate"), (GLfloat, "emScale")]),
+ GlFunction(Void, "glPathGlyphsNV", [(GLuint, "firstPathName"), (GLenum, "fontTarget"), (Blob(Const(GLvoid), "_glPath_fontName_size(fontTarget, fontName)"), "fontName"), (GLbitfield_fontStyle, "fontStyle"), (GLsizei, "numGlyphs"), (GLenum, "type"), (Blob(Const(GLvoid), "_glPath_chardcodes_size(numGlyphs, type)"), "charcodes"), (GLenum, "handleMissingGlyphs"), (GLuint, "pathParameterTemplate"), (GLfloat, "emScale")]),
+ GlFunction(Void, "glPathGlyphRangeNV", [(GLuint, "firstPathName"), (GLenum, "fontTarget"), (Blob(Const(GLvoid), "_glPath_fontName_size(fontTarget, fontName)"), "fontName"), (GLbitfield_fontStyle, "fontStyle"), (GLuint, "firstGlyph"), (GLsizei, "numGlyphs"), (GLenum, "handleMissingGlyphs"), (GLuint, "pathParameterTemplate"), (GLfloat, "emScale")]),
GlFunction(Void, "glWeightPathsNV", [(GLuint, "resultPath"), (GLsizei, "numPaths"), (Array(Const(GLuint), "numPaths"), "paths"), (Array(Const(GLfloat), "numPaths"), "weights")]),
GlFunction(Void, "glCopyPathNV", [(GLuint, "resultPath"), (GLuint, "srcPath")]),
GlFunction(Void, "glInterpolatePathsNV", [(GLuint, "resultPath"), (GLuint, "pathA"), (GLuint, "pathB"), (GLfloat, "weight")]),
@@ -1885,7 +1885,7 @@
GlFunction(Void, "glStencilStrokePathNV", [(GLuint, "path"), (GLint, "reference"), (GLuint, "mask")]),
GlFunction(Void, "glStencilFillPathInstancedNV", [(GLsizei, "numPaths"), (GLenum, "pathNameType"), (Blob(Const(GLvoid), "_gl_Paths_size(numPaths, pathNameType, paths)"), "paths"), (GLuint, "pathBase"), (GLenum, "fillMode"), (GLuint, "mask"), (GLenum, "transformType"), (Array(Const(GLfloat), "_gl_transformType_size(numPaths, transformType)"), "transformValues")]),
GlFunction(Void, "glStencilStrokePathInstancedNV", [(GLsizei, "numPaths"), (GLenum, "pathNameType"), (Blob(Const(GLvoid), "_gl_Paths_size(numPaths, pathNameType, paths)"), "paths"), (GLuint, "pathBase"), (GLint, "reference"), (GLuint, "mask"), (GLenum, "transformType"), (Array(Const(GLfloat), "_gl_transformType_size(numPaths, transformType)"), "transformValues")]),
- GlFunction(Void, "glPathCoverDepthFuncNV", [(GLenum, "func")]),
+ GlFunction(Void, "glPathCoverDepthFuncNV", [(GLenum, "zfunc")]),
GlFunction(Void, "glPathColorGenNV", [(GLenum, "color"), (GLenum, "genMode"), (GLenum, "colorFormat"), (Array(Const(GLfloat), "_gl_PathColorGen_size(genMode, colorFormat)"), "coeffs")]),
GlFunction(Void, "glPathTexGenNV", [(GLenum, "texCoordSet"), (GLenum, "genMode"), (GLint, "components"), (Array(Const(GLfloat), "_gl_PathTexGen_size(genMode, components)"), "coeffs")]),
GlFunction(Void, "glPathFogGenNV", [(GLenum, "genMode")]),
@@ -1898,8 +1898,8 @@
GlFunction(Void, "glGetPathCommandsNV", [(GLuint, "path"), Out(Pointer(GLubyte), "commands")], sideeffects=False),
GlFunction(Void, "glGetPathCoordsNV", [(GLuint, "path"), Out(Pointer(GLfloat), "coords")], sideeffects=False),
GlFunction(Void, "glGetPathDashArrayNV", [(GLuint, "path"), Out(Pointer(GLfloat), "dashArray")], sideeffects=False),
- GlFunction(Void, "glGetPathMetricsNV", [(GLbitfield, "metricQueryMask"), (GLsizei, "numPaths"), (GLenum, "pathNameType"), (Blob(Const(GLvoid), "_gl_Paths_size(numPaths, pathNameType, paths)"), "paths"), (GLuint, "pathBase"), (GLsizei, "stride"), Out(Pointer(GLfloat), "metrics")], sideeffects=False),
- GlFunction(Void, "glGetPathMetricRangeNV", [(GLbitfield, "metricQueryMask"), (GLuint, "firstPathName"), (GLsizei, "numPaths"), (GLsizei, "stride"), Out(Pointer(GLfloat), "metrics")], sideeffects=False),
+ GlFunction(Void, "glGetPathMetricsNV", [(GLbitfield_metricQueryMask, "metricQueryMask"), (GLsizei, "numPaths"), (GLenum, "pathNameType"), (Blob(Const(GLvoid), "_gl_Paths_size(numPaths, pathNameType, paths)"), "paths"), (GLuint, "pathBase"), (GLsizei, "stride"), Out(Pointer(GLfloat), "metrics")], sideeffects=False),
+ GlFunction(Void, "glGetPathMetricRangeNV", [(GLbitfield_metricQueryMask, "metricQueryMask"), (GLuint, "firstPathName"), (GLsizei, "numPaths"), (GLsizei, "stride"), Out(Pointer(GLfloat), "metrics")], sideeffects=False),
GlFunction(Void, "glGetPathSpacingNV", [(GLenum, "pathListMode"), (GLsizei, "numPaths"), (GLenum, "pathNameType"), (Blob(Const(GLvoid), "_gl_Paths_size(numPaths, pathNameType, paths)"), "paths"), (GLuint, "pathBase"), (GLfloat, "advanceScale"), (GLfloat, "kerningScale"), (GLenum, "transformType"), Out(Array(GLfloat, "_gl_GetPathSpacing(numPaths,transformType)"), "returnedSpacing")]),
GlFunction(Void, "glGetPathColorGenivNV", [(GLenum, "color"), (GLenum, "pname"), Out(Pointer(GLint), "value")], sideeffects=False),
GlFunction(Void, "glGetPathColorGenfvNV", [(GLenum, "color"), (GLenum, "pname"), Out(Pointer(GLfloat), "value")], sideeffects=False),
diff --git a/src/apitrace/specs/glparams.py b/src/apitrace/specs/glparams.py
index b135319..9f0bbd8 100644
--- a/src/apitrace/specs/glparams.py
+++ b/src/apitrace/specs/glparams.py
@@ -1730,7 +1730,6 @@
# XXX: GL_DOT3_RGBA_EXT == GL_PROGRAM_BINARY_LENGTH, but you can't glGet GL_DOT3_RGBA_EXT
("glGetProgram", I, 1, "GL_PROGRAM_BINARY_LENGTH"), # 0x8741,
("", X, 1, "GL_MIRROR_CLAMP_ATI"), # 0x8742
- ("", X, 1, "GL_MIRROR_CLAMP_TO_EDGE_ATI"), # 0x8743
("", X, 1, "GL_MODULATE_ADD_ATI"), # 0x8744
("", X, 1, "GL_MODULATE_SIGNED_ADD_ATI"), # 0x8745
("", X, 1, "GL_MODULATE_SUBTRACT_ATI"), # 0x8746
@@ -2447,7 +2446,7 @@
("glGet", I, 1, "GL_TEXTURE_BINDING_BUFFER"), # 0x8C2C
("glGet", I, 1, "GL_TEXTURE_BUFFER_DATA_STORE_BINDING"), # 0x8C2D
("glGet", E, 1, "GL_TEXTURE_BUFFER_FORMAT"), # 0x8C2E
- ("", X, 1, "GL_ANY_SAMPLES_PASSED"), # 0x8C2F
+ ("", B, 1, "GL_ANY_SAMPLES_PASSED"), # 0x8C2F
("", X, 1, "GL_SAMPLE_SHADING"), # 0x8C36
("", X, 1, "GL_MIN_SAMPLE_SHADING_VALUE"), # 0x8C37
("", X, 1, "GL_R11F_G11F_B10F"), # 0x8C3A
@@ -2577,8 +2576,8 @@
("", X, 1, "GL_SAMPLER_EXTERNAL_OES"), # 0x8D66
("", X, 1, "GL_TEXTURE_BINDING_EXTERNAL_OES"), # 0x8D67
("", X, 1, "GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES"), # 0x8D68
- ("", B, 1, "GL_PRIMITIVE_RESTART_FIXED_INDEX"), # 0x8D69
- ("", X, 1, "GL_ANY_SAMPLES_PASSED_CONSERVATIVE"), # 0x8D6A
+ ("glGet", B, 1, "GL_PRIMITIVE_RESTART_FIXED_INDEX"), # 0x8D69
+ ("", B, 1, "GL_ANY_SAMPLES_PASSED_CONSERVATIVE"), # 0x8D6A
("glGet", I, 1, "GL_MAX_ELEMENT_INDEX"), # 0x8D6B
("", X, 1, "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT"), # 0x8D6C
("", X, 1, "GL_RGBA32UI"), # 0x8D70
@@ -3022,7 +3021,6 @@
("", X, 1, "GL_PATH_STROKE_COVER_MODE_NV"), # 0x9083
("", X, 1, "GL_PATH_STROKE_MASK_NV"), # 0x9084
("", X, 1, "GL_PATH_SAMPLE_QUALITY_NV"), # 0x9085
- ("", X, 1, "GL_PATH_STROKE_BOUND_NV"), # 0x9086
("", X, 1, "GL_PATH_STROKE_OVERSAMPLE_COUNT_NV"), # 0x9087
("", X, 1, "GL_COUNT_UP_NV"), # 0x9088
("", X, 1, "GL_COUNT_DOWN_NV"), # 0x9089
@@ -3182,9 +3180,6 @@
("", X, 1, "GL_VERTEX_ARRAY_OBJECT_EXT"), # 0x9154
("", X, 1, "GL_SAMPLER_OBJECT_AMD"), # 0x9155
("", X, 1, "GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD"), # 0x9160
- ("", X, 1, "GL_QUERY_BUFFER_AMD"), # 0x9192
- ("", X, 1, "GL_QUERY_BUFFER_BINDING_AMD"), # 0x9193
- ("", X, 1, "GL_QUERY_RESULT_NO_WAIT_AMD"), # 0x9194
("glGetTexLevelParameter", I, 1, "GL_TEXTURE_BUFFER_OFFSET"), # 0x919D
("glGetTexLevelParameter", I, 1, "GL_TEXTURE_BUFFER_SIZE"), # 0x919E
("glGet", I, 1, "GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"), # 0x919F
diff --git a/src/apitrace/specs/gltypes.py b/src/apitrace/specs/gltypes.py
index 806f25d..0ce55a2 100644
--- a/src/apitrace/specs/gltypes.py
+++ b/src/apitrace/specs/gltypes.py
@@ -246,6 +246,37 @@
"GL_QUERY_BUFFER_BARRIER_BIT", # 0x00008000
])
+GLbitfield_metricQueryMask = Flags(GLbitfield, [
+ "GL_GLYPH_WIDTH_BIT_NV", # 0x01
+ "GL_GLYPH_HEIGHT_BIT_NV", # 0x02
+ "GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV", # 0x04
+ "GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV", # 0x08
+ "GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV", # 0x10
+ "GL_GLYPH_VERTICAL_BEARING_X_BIT_NV", # 0x20
+ "GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV", # 0x40
+ "GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV", # 0x80
+ "GL_GLYPH_HAS_KERNING_BIT_NV", # 0x100
+ "GL_FONT_X_MIN_BOUNDS_BIT_NV", # 0x00010000
+ "GL_FONT_Y_MIN_BOUNDS_BIT_NV", # 0x00020000
+ "GL_FONT_X_MAX_BOUNDS_BIT_NV", # 0x00040000
+ "GL_FONT_Y_MAX_BOUNDS_BIT_NV", # 0x00080000
+ "GL_FONT_UNITS_PER_EM_BIT_NV", # 0x00100000
+ "GL_FONT_ASCENDER_BIT_NV", # 0x00200000
+ "GL_FONT_DESCENDER_BIT_NV", # 0x00400000
+ "GL_FONT_HEIGHT_BIT_NV", # 0x00800000
+ "GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV", # 0x01000000
+ "GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV", # 0x02000000
+ "GL_FONT_UNDERLINE_POSITION_BIT_NV", # 0x04000000
+ "GL_FONT_UNDERLINE_THICKNESS_BIT_NV", # 0x08000000
+ "GL_FONT_HAS_KERNING_BIT_NV", # 0x10000000
+])
+
+GLbitfield_fontStyle = Flags(GLbitfield, [
+ "GL_BOLD_BIT_NV", # 0x01
+ "GL_ITALIC_BIT_NV", # 0x02
+])
+
+
# GL_ARB_vertex_array_bgra
size_bgra = FakeEnum(GLint, [
"GL_BGRA",
diff --git a/src/apitrace/thirdparty/khronos/GL/glext.h b/src/apitrace/thirdparty/khronos/GL/glext.h
index 7b7b9b8..67551cf 100644
--- a/src/apitrace/thirdparty/khronos/GL/glext.h
+++ b/src/apitrace/thirdparty/khronos/GL/glext.h
@@ -6058,7 +6058,6 @@
#define GL_PATH_STROKE_COVER_MODE_NV 0x9083
#define GL_PATH_STROKE_MASK_NV 0x9084
#define GL_PATH_SAMPLE_QUALITY_NV 0x9085
-#define GL_PATH_STROKE_BOUND_NV 0x9086
#define GL_PATH_STROKE_OVERSAMPLE_COUNT_NV 0x9087
#define GL_COUNT_UP_NV 0x9088
#define GL_COUNT_DOWN_NV 0x9089
@@ -6157,20 +6156,20 @@
#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20
#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40
#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80
-#define GL_GLYPH_HAS_KERNING_NV 0x100
-#define GL_FONT_X_MIN_BOUNDS_NV 0x00010000
-#define GL_FONT_Y_MIN_BOUNDS_NV 0x00020000
-#define GL_FONT_X_MAX_BOUNDS_NV 0x00040000
-#define GL_FONT_Y_MAX_BOUNDS_NV 0x00080000
-#define GL_FONT_UNITS_PER_EM_NV 0x00100000
-#define GL_FONT_ASCENDER_NV 0x00200000
-#define GL_FONT_DESCENDER_NV 0x00400000
-#define GL_FONT_HEIGHT_NV 0x00800000
-#define GL_FONT_MAX_ADVANCE_WIDTH_NV 0x01000000
-#define GL_FONT_MAX_ADVANCE_HEIGHT_NV 0x02000000
-#define GL_FONT_UNDERLINE_POSITION_NV 0x04000000
-#define GL_FONT_UNDERLINE_THICKNESS_NV 0x08000000
-#define GL_FONT_HAS_KERNING_NV 0x10000000
+#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100
+#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000
+#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000
+#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000
+#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000
+#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000
+#define GL_FONT_ASCENDER_BIT_NV 0x00200000
+#define GL_FONT_DESCENDER_BIT_NV 0x00400000
+#define GL_FONT_HEIGHT_BIT_NV 0x00800000
+#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000
+#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000
+#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000
+#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000
+#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000
#endif
#ifndef GL_AMD_pinned_memory
diff --git a/src/apitrace/wrappers/regaltrace.cpp b/src/apitrace/wrappers/regaltrace.cpp
index 03f7d7b..b442173 100644
--- a/src/apitrace/wrappers/regaltrace.cpp
+++ b/src/apitrace/wrappers/regaltrace.cpp
@@ -1502,6 +1502,7 @@
case GL_TEXTURE_BINDING_BUFFER: return 1;
case GL_TEXTURE_BUFFER_DATA_STORE_BINDING: return 1;
case GL_TEXTURE_BUFFER_FORMAT: return 1;
+ case GL_ANY_SAMPLES_PASSED: return 1;
case GL_TRANSFORM_FEEDBACK_BUFFER_START: return 1;
case GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: return 1;
case GL_RASTERIZER_DISCARD: return 1;
@@ -1530,6 +1531,7 @@
case GL_RENDERBUFFER_STENCIL_SIZE: return 1;
case GL_MAX_SAMPLES: return 1;
case GL_PRIMITIVE_RESTART_FIXED_INDEX: return 1;
+ case GL_ANY_SAMPLES_PASSED_CONSERVATIVE: return 1;
case GL_MAX_ELEMENT_INDEX: return 1;
case GL_RGBA_INTEGER_MODE_EXT: return 1;
case GL_FRAMEBUFFER_ATTACHMENT_LAYERED: return 1;
@@ -3374,7 +3376,6 @@
{"GL_DOT3_RGB_EXT", GL_DOT3_RGB_EXT},
{"GL_PROGRAM_BINARY_LENGTH", GL_PROGRAM_BINARY_LENGTH},
{"GL_MIRROR_CLAMP_ATI", GL_MIRROR_CLAMP_ATI},
- {"GL_MIRROR_CLAMP_TO_EDGE_ATI", GL_MIRROR_CLAMP_TO_EDGE_ATI},
{"GL_MODULATE_ADD_ATI", GL_MODULATE_ADD_ATI},
{"GL_MODULATE_SIGNED_ADD_ATI", GL_MODULATE_SIGNED_ADD_ATI},
{"GL_MODULATE_SUBTRACT_ATI", GL_MODULATE_SUBTRACT_ATI},
@@ -4627,7 +4628,6 @@
{"GL_PATH_STROKE_COVER_MODE_NV", GL_PATH_STROKE_COVER_MODE_NV},
{"GL_PATH_STROKE_MASK_NV", GL_PATH_STROKE_MASK_NV},
{"GL_PATH_SAMPLE_QUALITY_NV", GL_PATH_SAMPLE_QUALITY_NV},
- {"GL_PATH_STROKE_BOUND_NV", GL_PATH_STROKE_BOUND_NV},
{"GL_PATH_STROKE_OVERSAMPLE_COUNT_NV", GL_PATH_STROKE_OVERSAMPLE_COUNT_NV},
{"GL_COUNT_UP_NV", GL_COUNT_UP_NV},
{"GL_COUNT_DOWN_NV", GL_COUNT_DOWN_NV},
@@ -4787,9 +4787,6 @@
{"GL_VERTEX_ARRAY_OBJECT_EXT", GL_VERTEX_ARRAY_OBJECT_EXT},
{"GL_SAMPLER_OBJECT_AMD", GL_SAMPLER_OBJECT_AMD},
{"GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD", GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD},
- {"GL_QUERY_BUFFER_AMD", GL_QUERY_BUFFER_AMD},
- {"GL_QUERY_BUFFER_BINDING_AMD", GL_QUERY_BUFFER_BINDING_AMD},
- {"GL_QUERY_RESULT_NO_WAIT_AMD", GL_QUERY_RESULT_NO_WAIT_AMD},
{"GL_TEXTURE_BUFFER_OFFSET", GL_TEXTURE_BUFFER_OFFSET},
{"GL_TEXTURE_BUFFER_SIZE", GL_TEXTURE_BUFFER_SIZE},
{"GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT", GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT},
@@ -4951,7 +4948,7 @@
};
static const trace::EnumSig _enumGLenum_sig = {
- 1, 3236, _enumGLenum_values
+ 1, 3231, _enumGLenum_values
};
static const trace::BitmaskFlag _bitmaskGLbitfield1_flags[] = {
@@ -5243,6 +5240,44 @@
4, 6, _bitmaskGLbitfield5_flags
};
+static const trace::BitmaskFlag _bitmaskGLbitfield9_flags[] = {
+ {"GL_BOLD_BIT_NV", GL_BOLD_BIT_NV},
+ {"GL_ITALIC_BIT_NV", GL_ITALIC_BIT_NV},
+};
+
+static const trace::BitmaskSig _bitmaskGLbitfield9_sig = {
+ 8, 2, _bitmaskGLbitfield9_flags
+};
+
+static const trace::BitmaskFlag _bitmaskGLbitfield8_flags[] = {
+ {"GL_GLYPH_WIDTH_BIT_NV", GL_GLYPH_WIDTH_BIT_NV},
+ {"GL_GLYPH_HEIGHT_BIT_NV", GL_GLYPH_HEIGHT_BIT_NV},
+ {"GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV", GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV},
+ {"GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV", GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV},
+ {"GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV", GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV},
+ {"GL_GLYPH_VERTICAL_BEARING_X_BIT_NV", GL_GLYPH_VERTICAL_BEARING_X_BIT_NV},
+ {"GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV", GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV},
+ {"GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV", GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV},
+ {"GL_GLYPH_HAS_KERNING_BIT_NV", GL_GLYPH_HAS_KERNING_BIT_NV},
+ {"GL_FONT_X_MIN_BOUNDS_BIT_NV", GL_FONT_X_MIN_BOUNDS_BIT_NV},
+ {"GL_FONT_Y_MIN_BOUNDS_BIT_NV", GL_FONT_Y_MIN_BOUNDS_BIT_NV},
+ {"GL_FONT_X_MAX_BOUNDS_BIT_NV", GL_FONT_X_MAX_BOUNDS_BIT_NV},
+ {"GL_FONT_Y_MAX_BOUNDS_BIT_NV", GL_FONT_Y_MAX_BOUNDS_BIT_NV},
+ {"GL_FONT_UNITS_PER_EM_BIT_NV", GL_FONT_UNITS_PER_EM_BIT_NV},
+ {"GL_FONT_ASCENDER_BIT_NV", GL_FONT_ASCENDER_BIT_NV},
+ {"GL_FONT_DESCENDER_BIT_NV", GL_FONT_DESCENDER_BIT_NV},
+ {"GL_FONT_HEIGHT_BIT_NV", GL_FONT_HEIGHT_BIT_NV},
+ {"GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV", GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV},
+ {"GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV", GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV},
+ {"GL_FONT_UNDERLINE_POSITION_BIT_NV", GL_FONT_UNDERLINE_POSITION_BIT_NV},
+ {"GL_FONT_UNDERLINE_THICKNESS_BIT_NV", GL_FONT_UNDERLINE_THICKNESS_BIT_NV},
+ {"GL_FONT_HAS_KERNING_BIT_NV", GL_FONT_HAS_KERNING_BIT_NV},
+};
+
+static const trace::BitmaskSig _bitmaskGLbitfield8_sig = {
+ 7, 22, _bitmaskGLbitfield8_flags
+};
+
static void _write__GLvoid3(int selector, GLvoid * const & value) {
switch (selector) {
default:
@@ -5827,7 +5862,7 @@
};
static const trace::BitmaskSig _bitmaskint29_sig = {
- 15, 4, _bitmaskint29_flags
+ 17, 4, _bitmaskint29_flags
};
static const trace::EnumValue _enumint36_values[] = {
@@ -5851,7 +5886,7 @@
};
static const trace::BitmaskSig _bitmaskint28_sig = {
- 14, 7, _bitmaskint28_flags
+ 16, 7, _bitmaskint28_flags
};
static const trace::EnumValue _enumint37_values[] = {
@@ -5915,7 +5950,7 @@
};
static const trace::BitmaskSig _bitmaskint41_sig = {
- 17, 2, _bitmaskint41_flags
+ 19, 2, _bitmaskint41_flags
};
static const trace::BitmaskFlag _bitmaskint42_flags[] = {
@@ -5924,7 +5959,7 @@
};
static const trace::BitmaskSig _bitmaskint42_sig = {
- 18, 2, _bitmaskint42_flags
+ 20, 2, _bitmaskint42_flags
};
static const char * _structstructEGLClientPixmapHI_members[4] = {
@@ -5951,7 +5986,7 @@
};
static const trace::BitmaskSig _bitmaskint40_sig = {
- 16, 2, _bitmaskint40_flags
+ 18, 2, _bitmaskint40_flags
};
#endif // REGAL_SYS_EGL
@@ -6113,7 +6148,7 @@
};
static const trace::BitmaskSig _bitmaskint8_sig = {
- 9, 2, _bitmaskint8_flags
+ 11, 2, _bitmaskint8_flags
};
static const trace::BitmaskFlag _bitmaskint9_flags[] = {
@@ -6123,7 +6158,7 @@
};
static const trace::BitmaskSig _bitmaskint9_sig = {
- 10, 3, _bitmaskint9_flags
+ 12, 3, _bitmaskint9_flags
};
static const trace::EnumValue _enumint10_values[] = {
@@ -6163,7 +6198,7 @@
};
static const trace::BitmaskSig _bitmaskint14_sig = {
- 11, 2, _bitmaskint14_flags
+ 13, 2, _bitmaskint14_flags
};
static const trace::BitmaskFlag _bitmaskint15_flags[] = {
@@ -6173,7 +6208,7 @@
};
static const trace::BitmaskSig _bitmaskint15_sig = {
- 12, 3, _bitmaskint15_flags
+ 14, 3, _bitmaskint15_flags
};
static const trace::BitmaskFlag _bitmaskint16_flags[] = {
@@ -6182,7 +6217,7 @@
};
static const trace::BitmaskSig _bitmaskint16_sig = {
- 13, 2, _bitmaskint16_flags
+ 15, 2, _bitmaskint16_flags
};
#endif // REGAL_SYS_GLX
@@ -6219,7 +6254,7 @@
};
static const trace::BitmaskSig _bitmaskDWORD1_sig = {
- 19, 18, _bitmaskDWORD1_flags
+ 21, 18, _bitmaskDWORD1_flags
};
static const char * _structPIXELFORMATDESCRIPTOR_members[26] = {
@@ -6533,7 +6568,7 @@
};
static const trace::BitmaskSig _bitmaskint44_sig = {
- 20, 2, _bitmaskint44_flags
+ 22, 2, _bitmaskint44_flags
};
static const trace::BitmaskFlag _bitmaskint45_flags[] = {
@@ -6542,7 +6577,7 @@
};
static const trace::BitmaskSig _bitmaskint45_sig = {
- 21, 2, _bitmaskint45_flags
+ 23, 2, _bitmaskint45_flags
};
static const char * _structRECT_members[4] = {
@@ -11083,7 +11118,7 @@
static const char * _glIsPathNV_args[1] = {"path"};
static const trace::FunctionSig _glIsPathNV_sig = {1508, "glIsPathNV", 1, _glIsPathNV_args};
-static const char * _glPathCommandsNV_args[6] = {"path", "numCommands", "commands", "numCoords", "coordType", "coord"};
+static const char * _glPathCommandsNV_args[6] = {"path", "numCommands", "commands", "numCoords", "coordType", "coords"};
static const trace::FunctionSig _glPathCommandsNV_sig = {1509, "glPathCommandsNV", 6, _glPathCommandsNV_args};
static const char * _glPathCoordsNV_args[4] = {"path", "numCoords", "coordType", "coords"};
@@ -11149,7 +11184,7 @@
static const char * _glStencilStrokePathInstancedNV_args[8] = {"numPaths", "pathNameType", "paths", "pathBase", "reference", "mask", "transformType", "transformValues"};
static const trace::FunctionSig _glStencilStrokePathInstancedNV_sig = {1530, "glStencilStrokePathInstancedNV", 8, _glStencilStrokePathInstancedNV_args};
-static const char * _glPathCoverDepthFuncNV_args[1] = {"func"};
+static const char * _glPathCoverDepthFuncNV_args[1] = {"zfunc"};
static const trace::FunctionSig _glPathCoverDepthFuncNV_sig = {1531, "glPathCoverDepthFuncNV", 1, _glPathCoverDepthFuncNV_args};
static const char * _glPathColorGenNV_args[4] = {"color", "genMode", "colorFormat", "coeffs"};
@@ -53508,7 +53543,7 @@
return _result;
}
-void glPathCommandsNV( GLuint path, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const GLvoid * coord ) {
+void glPathCommandsNV( GLuint path, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const GLvoid * coords ) {
unsigned _call = trace::localWriter.beginEnter(&_glPathCommandsNV_sig);
trace::localWriter.beginArg(0);
trace::localWriter.writeUInt(path);
@@ -53537,10 +53572,10 @@
trace::localWriter.writeEnum(&_enumGLenum_sig, coordType);
trace::localWriter.endArg();
trace::localWriter.beginArg(5);
- trace::localWriter.writeBlob(coord, _glPath_coords_size(numCoords, coordType));
+ trace::localWriter.writeBlob(coords, _glPath_coords_size(numCoords, coordType));
trace::localWriter.endArg();
trace::localWriter.endEnter();
- _glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coord);
+ _glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coords);
trace::localWriter.beginLeave(_call);
if (true) {
}
@@ -53673,7 +53708,7 @@
trace::localWriter.writeBlob(fontName, _glPath_fontName_size(fontTarget, fontName));
trace::localWriter.endArg();
trace::localWriter.beginArg(3);
- trace::localWriter.writeUInt(fontStyle);
+ trace::localWriter.writeBitmask(&_bitmaskGLbitfield9_sig, fontStyle);
trace::localWriter.endArg();
trace::localWriter.beginArg(4);
trace::localWriter.writeSInt(numGlyphs);
@@ -53713,7 +53748,7 @@
trace::localWriter.writeBlob(fontName, _glPath_fontName_size(fontTarget, fontName));
trace::localWriter.endArg();
trace::localWriter.beginArg(3);
- trace::localWriter.writeUInt(fontStyle);
+ trace::localWriter.writeBitmask(&_bitmaskGLbitfield9_sig, fontStyle);
trace::localWriter.endArg();
trace::localWriter.beginArg(4);
trace::localWriter.writeUInt(firstGlyph);
@@ -54144,13 +54179,13 @@
trace::localWriter.endLeave();
}
-void glPathCoverDepthFuncNV( GLenum func ) {
+void glPathCoverDepthFuncNV( GLenum zfunc ) {
unsigned _call = trace::localWriter.beginEnter(&_glPathCoverDepthFuncNV_sig);
trace::localWriter.beginArg(0);
- trace::localWriter.writeEnum(&_enumGLenum_sig, func);
+ trace::localWriter.writeEnum(&_enumGLenum_sig, zfunc);
trace::localWriter.endArg();
trace::localWriter.endEnter();
- _glPathCoverDepthFuncNV(func);
+ _glPathCoverDepthFuncNV(zfunc);
trace::localWriter.beginLeave(_call);
if (true) {
}
@@ -54487,7 +54522,7 @@
void glGetPathMetricsNV( GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const GLvoid * paths, GLuint pathBase, GLsizei stride, GLfloat * metrics ) {
unsigned _call = trace::localWriter.beginEnter(&_glGetPathMetricsNV_sig);
trace::localWriter.beginArg(0);
- trace::localWriter.writeUInt(metricQueryMask);
+ trace::localWriter.writeBitmask(&_bitmaskGLbitfield8_sig, metricQueryMask);
trace::localWriter.endArg();
trace::localWriter.beginArg(1);
trace::localWriter.writeSInt(numPaths);
@@ -54526,7 +54561,7 @@
void glGetPathMetricRangeNV( GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat * metrics ) {
unsigned _call = trace::localWriter.beginEnter(&_glGetPathMetricRangeNV_sig);
trace::localWriter.beginArg(0);
- trace::localWriter.writeUInt(metricQueryMask);
+ trace::localWriter.writeBitmask(&_bitmaskGLbitfield8_sig, metricQueryMask);
trace::localWriter.endArg();
trace::localWriter.beginArg(1);
trace::localWriter.writeUInt(firstPathName);
diff --git a/src/regal/Regal.cpp b/src/regal/Regal.cpp
index 6e40051..a6efc86 100644
--- a/src/regal/Regal.cpp
+++ b/src/regal/Regal.cpp
@@ -32611,15 +32611,42 @@
DispatchTableGlobal *_next = &dispatcherGlobal.front();
RegalAssert(_next);
PROC ret = NULL;
+ //
+ // wglGetProcAddress returns NULL for unsupported
+ // entry points. Here we need Regal to behave
+ // similarly depending on what's emulated.
+ //
+
+ // Regal-only and ES 1.0 aliased functions are
+ // always provided by Regal
+
+ // ret = Lookup::regal_Lookup<PROC>(lpszProc);
+ // if (ret)
+ // return ret;
+
+ // Ask the back-end driver if the entry point
+ // is available. If not, return NULL
+ //
+ // TODO - we need to query ContextInfo and
+ // EmulationInfo here instead.
+
ret = _next->call(&_next->wglGetProcAddress)(lpszProc);
if (!ret)
return NULL;
+
+ // Return the Regal implementation of the entry
+ // point, either GL or WGL
+
ret = Lookup::gl_Lookup<PROC>(lpszProc);
if (ret)
return ret;
+
ret = Lookup::wgl_Lookup<PROC>(lpszProc);
if (ret)
return ret;
+
+ // As a last resort, dispatch the lookup to
+ // the global dispatch stack...
ret = _next->call(&_next->wglGetProcAddress)(lpszProc);
return ret;
}
diff --git a/src/regal/RegalConfig.cpp b/src/regal/RegalConfig.cpp
index 904a5e6..dc1d1f2 100644
--- a/src/regal/RegalConfig.cpp
+++ b/src/regal/RegalConfig.cpp
@@ -53,6 +53,12 @@
::std::string configFile(""); // Don't read/write configuration by default
+ ::std::string loadGL (""); // Default to auto-detect
+ ::std::string loadES2 (""); // Default to auto-detect
+//::std::string loadGLX (""); // Default to auto-detect
+//::std::string loadWGL (""); // Default to auto-detect
+ ::std::string loadEGL (""); // Default to auto-detect
+
bool forceES1Profile = REGAL_FORCE_ES1_PROFILE;
bool forceES2Profile = REGAL_FORCE_ES2_PROFILE;
bool forceCoreProfile = REGAL_FORCE_CORE_PROFILE;
@@ -154,6 +160,12 @@
Internal("Config::Init","()");
#ifndef REGAL_NO_GETENV
+ getEnv( "REGAL_LOAD_GL", loadGL);
+ getEnv( "REGAL_LOAD_ES2", loadES2);
+// getEnv( "REGAL_LOAD_GLX", loadGLX);
+// getEnv( "REGAL_LOAD_WGL", loadWGL);
+ getEnv( "REGAL_LOAD_EGL", loadEGL);
+
getEnv( "REGAL_SYS_ES2", sysES2, REGAL_SYS_ES2);
getEnv( "REGAL_SYS_GL", sysGL, REGAL_SYS_GL);
@@ -441,6 +453,14 @@
jo.member("configFile", configFile);
+ jo.object("load");
+ jo.member("GL", loadGL);
+ jo.member("ES2", loadES2);
+// jo.member("GLX", loadGLX);
+// jo.member("WGL", loadWGL);
+ jo.member("EGL", loadEGL);
+ jo.end();
+
jo.object("system");
jo.member("ES1", sysES1);
jo.member("ES2", sysES2);
diff --git a/src/regal/RegalConfig.h b/src/regal/RegalConfig.h
index 4173a40..24239d1 100644
--- a/src/regal/RegalConfig.h
+++ b/src/regal/RegalConfig.h
@@ -54,6 +54,12 @@
extern ::std::string configFile;
+ extern ::std::string loadGL; // REGAL_LOAD_GL
+ extern ::std::string loadES2; // REGAL_LOAD_ES2
+//extern ::std::string loadGLX; // REGAL_LOAD_GLX
+//extern ::std::string loadWGL; // REGAL_LOAD_WGL
+ extern ::std::string loadEGL; // REGAL_LOAD_EGL
+
//
extern bool forceES1Profile;
diff --git a/src/regal/RegalContextInfo.cpp b/src/regal/RegalContextInfo.cpp
index cd92617..a9f9732 100644
--- a/src/regal/RegalContextInfo.cpp
+++ b/src/regal/RegalContextInfo.cpp
@@ -687,7 +687,7 @@
wgl_nv_video_capture(false),
wgl_nv_video_output(false),
wgl_oml_sync_control(false),
-#endif
+#endif /* REGAL_SYS_WGL */
#if REGAL_SYS_GLX
glx_3dfx_multisample(false),
glx_amd_gpu_association(false),
@@ -746,7 +746,7 @@
glx_sgi_video_sync(false),
glx_sun_get_transparent_index(false),
glx_sun_video_resize(false),
-#endif
+#endif /* REGAL_SYS_GLX */
#if REGAL_SYS_EGL
egl_angle_query_surface_pointer(false),
egl_angle_surface_d3d_texture_2d_share_handle(false),
@@ -776,7 +776,7 @@
egl_nv_post_sub_buffer(false),
egl_nv_sync(false),
egl_nv_system_time(false),
-#endif
+#endif /* REGAL_SYS_EGL */
gl_max_attrib_stack_depth(0),
gl_max_client_attrib_stack_depth(0),
@@ -1006,679 +1006,679 @@
set<string> e;
e.insert(driverExtensions.begin(),driverExtensions.end());
- gl_3dfx_multisample = stringSetFind(e,"GL_3DFX_multisample");
- gl_3dfx_tbuffer = stringSetFind(e,"GL_3DFX_tbuffer");
- gl_3dfx_texture_compression_fxt1 = stringSetFind(e,"GL_3DFX_texture_compression_FXT1");
- gl_amd_blend_minmax_factor = stringSetFind(e,"GL_AMD_blend_minmax_factor");
- gl_amd_compressed_3dc_texture = stringSetFind(e,"GL_AMD_compressed_3DC_texture");
- gl_amd_compressed_atc_texture = stringSetFind(e,"GL_AMD_compressed_ATC_texture");
- gl_amd_debug_output = stringSetFind(e,"GL_AMD_debug_output");
- gl_amd_depth_clamp_separate = stringSetFind(e,"GL_AMD_depth_clamp_separate");
- gl_amd_draw_buffers_blend = stringSetFind(e,"GL_AMD_draw_buffers_blend");
- gl_amd_interleaved_elements = stringSetFind(e,"GL_AMD_interleaved_elements");
- gl_amd_multi_draw_indirect = stringSetFind(e,"GL_AMD_multi_draw_indirect");
- gl_amd_name_gen_delete = stringSetFind(e,"GL_AMD_name_gen_delete");
- gl_amd_performance_monitor = stringSetFind(e,"GL_AMD_performance_monitor");
- gl_amd_pinned_memory = stringSetFind(e,"GL_AMD_pinned_memory");
- gl_amd_program_binary_z400 = stringSetFind(e,"GL_AMD_program_binary_Z400");
- gl_amd_query_buffer_object = stringSetFind(e,"GL_AMD_query_buffer_object");
- gl_amd_sample_positions = stringSetFind(e,"GL_AMD_sample_positions");
- gl_amd_seamless_cubemap_per_texture = stringSetFind(e,"GL_AMD_seamless_cubemap_per_texture");
- gl_amd_sparse_texture = stringSetFind(e,"GL_AMD_sparse_texture");
- gl_amd_stencil_operation_extended = stringSetFind(e,"GL_AMD_stencil_operation_extended");
- gl_amd_vertex_shader_tessellator = stringSetFind(e,"GL_AMD_vertex_shader_tessellator");
- gl_angle_framebuffer_blit = stringSetFind(e,"GL_ANGLE_framebuffer_blit");
- gl_angle_framebuffer_multisample = stringSetFind(e,"GL_ANGLE_framebuffer_multisample");
- gl_angle_instanced_arrays = stringSetFind(e,"GL_ANGLE_instanced_arrays");
- gl_angle_pack_reverse_row_order = stringSetFind(e,"GL_ANGLE_pack_reverse_row_order");
- gl_angle_program_binary = stringSetFind(e,"GL_ANGLE_program_binary");
- gl_angle_texture_compression_dxt1 = stringSetFind(e,"GL_ANGLE_texture_compression_dxt1");
- gl_angle_texture_compression_dxt3 = stringSetFind(e,"GL_ANGLE_texture_compression_dxt3");
- gl_angle_texture_compression_dxt5 = stringSetFind(e,"GL_ANGLE_texture_compression_dxt5");
- gl_angle_texture_usage = stringSetFind(e,"GL_ANGLE_texture_usage");
- gl_angle_timer_query = stringSetFind(e,"GL_ANGLE_timer_query");
- gl_angle_translated_shader_source = stringSetFind(e,"GL_ANGLE_translated_shader_source");
- gl_apple_aux_depth_stencil = stringSetFind(e,"GL_APPLE_aux_depth_stencil");
- gl_apple_client_storage = stringSetFind(e,"GL_APPLE_client_storage");
- gl_apple_copy_texture_levels = stringSetFind(e,"GL_APPLE_copy_texture_levels");
- gl_apple_element_array = stringSetFind(e,"GL_APPLE_element_array");
- gl_apple_fence = stringSetFind(e,"GL_APPLE_fence");
- gl_apple_float_pixels = stringSetFind(e,"GL_APPLE_float_pixels");
- gl_apple_flush_buffer_range = stringSetFind(e,"GL_APPLE_flush_buffer_range");
- gl_apple_flush_render = stringSetFind(e,"GL_APPLE_flush_render");
- gl_apple_framebuffer_multisample = stringSetFind(e,"GL_APPLE_framebuffer_multisample");
- gl_apple_object_purgeable = stringSetFind(e,"GL_APPLE_object_purgeable");
- gl_apple_pixel_buffer = stringSetFind(e,"GL_APPLE_pixel_buffer");
- gl_apple_rgb_422 = stringSetFind(e,"GL_APPLE_rgb_422");
- gl_apple_row_bytes = stringSetFind(e,"GL_APPLE_row_bytes");
- gl_apple_specular_vector = stringSetFind(e,"GL_APPLE_specular_vector");
- gl_apple_sync = stringSetFind(e,"GL_APPLE_sync");
- gl_apple_texture_max_level = stringSetFind(e,"GL_APPLE_texture_max_level");
- gl_apple_texture_range = stringSetFind(e,"GL_APPLE_texture_range");
- gl_apple_transform_hint = stringSetFind(e,"GL_APPLE_transform_hint");
- gl_apple_vertex_array_object = stringSetFind(e,"GL_APPLE_vertex_array_object");
- gl_apple_vertex_array_range = stringSetFind(e,"GL_APPLE_vertex_array_range");
- 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_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");
- gl_arb_blend_func_extended = stringSetFind(e,"GL_ARB_blend_func_extended");
- gl_arb_buffer_storage = stringSetFind(e,"GL_ARB_buffer_storage");
- 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_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_copy_buffer = stringSetFind(e,"GL_ARB_copy_buffer");
- gl_arb_copy_image = stringSetFind(e,"GL_ARB_copy_image");
- 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_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");
- gl_arb_draw_indirect = stringSetFind(e,"GL_ARB_draw_indirect");
- gl_arb_draw_instanced = stringSetFind(e,"GL_ARB_draw_instanced");
- gl_arb_enhanced_layouts = stringSetFind(e,"GL_ARB_enhanced_layouts");
- gl_arb_explicit_uniform_location = stringSetFind(e,"GL_ARB_explicit_uniform_location");
- gl_arb_fragment_program = stringSetFind(e,"GL_ARB_fragment_program");
- gl_arb_fragment_shader = stringSetFind(e,"GL_ARB_fragment_shader");
- gl_arb_framebuffer_no_attachments = stringSetFind(e,"GL_ARB_framebuffer_no_attachments");
- gl_arb_framebuffer_object = stringSetFind(e,"GL_ARB_framebuffer_object");
- 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_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");
- gl_arb_half_float_vertex = stringSetFind(e,"GL_ARB_half_float_vertex");
- gl_arb_imaging = stringSetFind(e,"GL_ARB_imaging");
- gl_arb_indirect_parameters = stringSetFind(e,"GL_ARB_indirect_parameters");
- gl_arb_instanced_arrays = stringSetFind(e,"GL_ARB_instanced_arrays");
- gl_arb_internalformat_query = stringSetFind(e,"GL_ARB_internalformat_query");
- gl_arb_internalformat_query2 = stringSetFind(e,"GL_ARB_internalformat_query2");
- gl_arb_invalidate_subdata = stringSetFind(e,"GL_ARB_invalidate_subdata");
- gl_arb_map_buffer_alignment = stringSetFind(e,"GL_ARB_map_buffer_alignment");
- gl_arb_map_buffer_range = stringSetFind(e,"GL_ARB_map_buffer_range");
- gl_arb_matrix_palette = stringSetFind(e,"GL_ARB_matrix_palette");
- gl_arb_multi_bind = stringSetFind(e,"GL_ARB_multi_bind");
- gl_arb_multi_draw_indirect = stringSetFind(e,"GL_ARB_multi_draw_indirect");
- gl_arb_multisample = stringSetFind(e,"GL_ARB_multisample");
- 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_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");
- gl_arb_program_interface_query = stringSetFind(e,"GL_ARB_program_interface_query");
- gl_arb_provoking_vertex = stringSetFind(e,"GL_ARB_provoking_vertex");
- gl_arb_query_buffer_object = stringSetFind(e,"GL_ARB_query_buffer_object");
- gl_arb_robustness = stringSetFind(e,"GL_ARB_robustness");
- gl_arb_sample_shading = stringSetFind(e,"GL_ARB_sample_shading");
- gl_arb_sampler_objects = stringSetFind(e,"GL_ARB_sampler_objects");
- gl_arb_seamless_cube_map = stringSetFind(e,"GL_ARB_seamless_cube_map");
- gl_arb_separate_shader_objects = stringSetFind(e,"GL_ARB_separate_shader_objects");
- gl_arb_shader_atomic_counters = stringSetFind(e,"GL_ARB_shader_atomic_counters");
- gl_arb_shader_image_load_store = stringSetFind(e,"GL_ARB_shader_image_load_store");
- gl_arb_shader_objects = stringSetFind(e,"GL_ARB_shader_objects");
- gl_arb_shader_storage_buffer_object = stringSetFind(e,"GL_ARB_shader_storage_buffer_object");
- gl_arb_shader_subroutine = stringSetFind(e,"GL_ARB_shader_subroutine");
- gl_arb_shading_language_100 = stringSetFind(e,"GL_ARB_shading_language_100");
- 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_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_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");
- gl_arb_texture_compression = stringSetFind(e,"GL_ARB_texture_compression");
- gl_arb_texture_compression_bptc = stringSetFind(e,"GL_ARB_texture_compression_bptc");
- gl_arb_texture_compression_rgtc = stringSetFind(e,"GL_ARB_texture_compression_rgtc");
- gl_arb_texture_cube_map = stringSetFind(e,"GL_ARB_texture_cube_map");
- gl_arb_texture_cube_map_array = stringSetFind(e,"GL_ARB_texture_cube_map_array");
- gl_arb_texture_env_combine = stringSetFind(e,"GL_ARB_texture_env_combine");
- gl_arb_texture_env_dot3 = stringSetFind(e,"GL_ARB_texture_env_dot3");
- gl_arb_texture_float = stringSetFind(e,"GL_ARB_texture_float");
- gl_arb_texture_gather = stringSetFind(e,"GL_ARB_texture_gather");
- gl_arb_texture_mirror_clamp_to_edge = stringSetFind(e,"GL_ARB_texture_mirror_clamp_to_edge");
- gl_arb_texture_mirrored_repeat = stringSetFind(e,"GL_ARB_texture_mirrored_repeat");
- gl_arb_texture_multisample = stringSetFind(e,"GL_ARB_texture_multisample");
- gl_arb_texture_rectangle = stringSetFind(e,"GL_ARB_texture_rectangle");
- gl_arb_texture_rg = stringSetFind(e,"GL_ARB_texture_rg");
- gl_arb_texture_rgb10_a2ui = stringSetFind(e,"GL_ARB_texture_rgb10_a2ui");
- gl_arb_texture_storage = stringSetFind(e,"GL_ARB_texture_storage");
- gl_arb_texture_storage_multisample = stringSetFind(e,"GL_ARB_texture_storage_multisample");
- gl_arb_texture_swizzle = stringSetFind(e,"GL_ARB_texture_swizzle");
- gl_arb_texture_view = stringSetFind(e,"GL_ARB_texture_view");
- gl_arb_timer_query = stringSetFind(e,"GL_ARB_timer_query");
- 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_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");
- gl_arb_vertex_attrib_64bit = stringSetFind(e,"GL_ARB_vertex_attrib_64bit");
- gl_arb_vertex_attrib_binding = stringSetFind(e,"GL_ARB_vertex_attrib_binding");
- gl_arb_vertex_blend = stringSetFind(e,"GL_ARB_vertex_blend");
- gl_arb_vertex_buffer_object = stringSetFind(e,"GL_ARB_vertex_buffer_object");
- gl_arb_vertex_program = stringSetFind(e,"GL_ARB_vertex_program");
- gl_arb_vertex_shader = stringSetFind(e,"GL_ARB_vertex_shader");
- gl_arb_vertex_type_2_10_10_10_rev = stringSetFind(e,"GL_ARB_vertex_type_2_10_10_10_rev");
- gl_arb_viewport_array = stringSetFind(e,"GL_ARB_viewport_array");
- gl_arb_window_pos = stringSetFind(e,"GL_ARB_window_pos");
- gl_arm_mali_program_binary = stringSetFind(e,"GL_ARM_mali_program_binary");
- gl_arm_mali_shader_binary = stringSetFind(e,"GL_ARM_mali_shader_binary");
- gl_ati_draw_buffers = stringSetFind(e,"GL_ATI_draw_buffers");
- gl_ati_element_array = stringSetFind(e,"GL_ATI_element_array");
- gl_ati_envmap_bumpmap = stringSetFind(e,"GL_ATI_envmap_bumpmap");
- gl_ati_fragment_shader = stringSetFind(e,"GL_ATI_fragment_shader");
- gl_ati_map_object_buffer = stringSetFind(e,"GL_ATI_map_object_buffer");
- gl_ati_meminfo = stringSetFind(e,"GL_ATI_meminfo");
- gl_ati_pn_triangles = stringSetFind(e,"GL_ATI_pn_triangles");
- gl_ati_separate_stencil = stringSetFind(e,"GL_ATI_separate_stencil");
- gl_ati_text_fragment_shader = stringSetFind(e,"GL_ATI_text_fragment_shader");
- gl_ati_texture_compression_3dc = stringSetFind(e,"GL_ATI_texture_compression_3dc");
- gl_ati_texture_env_combine3 = stringSetFind(e,"GL_ATI_texture_env_combine3");
- gl_ati_texture_float = stringSetFind(e,"GL_ATI_texture_float");
- gl_ati_texture_mirror_once = stringSetFind(e,"GL_ATI_texture_mirror_once");
- gl_ati_vertex_array_object = stringSetFind(e,"GL_ATI_vertex_array_object");
- gl_ati_vertex_attrib_array_object = stringSetFind(e,"GL_ATI_vertex_attrib_array_object");
- gl_ati_vertex_streams = stringSetFind(e,"GL_ATI_vertex_streams");
- gl_dmp_shader_binary = stringSetFind(e,"GL_DMP_shader_binary");
- gl_ext_422_pixels = stringSetFind(e,"GL_EXT_422_pixels");
- gl_ext_cg_shader = stringSetFind(e,"GL_EXT_Cg_shader");
- gl_ext_abgr = stringSetFind(e,"GL_EXT_abgr");
- gl_ext_bgra = stringSetFind(e,"GL_EXT_bgra");
- gl_ext_bindable_uniform = stringSetFind(e,"GL_EXT_bindable_uniform");
- gl_ext_blend_color = stringSetFind(e,"GL_EXT_blend_color");
- gl_ext_blend_equation_separate = stringSetFind(e,"GL_EXT_blend_equation_separate");
- gl_ext_blend_func_separate = stringSetFind(e,"GL_EXT_blend_func_separate");
- gl_ext_blend_minmax = stringSetFind(e,"GL_EXT_blend_minmax");
- gl_ext_blend_subtract = stringSetFind(e,"GL_EXT_blend_subtract");
- gl_ext_clip_volume_hint = stringSetFind(e,"GL_EXT_clip_volume_hint");
- gl_ext_cmyka = stringSetFind(e,"GL_EXT_cmyka");
- gl_ext_color_buffer_half_float = stringSetFind(e,"GL_EXT_color_buffer_half_float");
- gl_ext_color_subtable = stringSetFind(e,"GL_EXT_color_subtable");
- gl_ext_compiled_vertex_array = stringSetFind(e,"GL_EXT_compiled_vertex_array");
- gl_ext_convolution = stringSetFind(e,"GL_EXT_convolution");
- gl_ext_coordinate_frame = stringSetFind(e,"GL_EXT_coordinate_frame");
- gl_ext_copy_texture = stringSetFind(e,"GL_EXT_copy_texture");
- gl_ext_cull_vertex = stringSetFind(e,"GL_EXT_cull_vertex");
- gl_ext_debug_label = stringSetFind(e,"GL_EXT_debug_label");
- gl_ext_debug_marker = stringSetFind(e,"GL_EXT_debug_marker");
- gl_ext_depth_bounds_test = stringSetFind(e,"GL_EXT_depth_bounds_test");
- gl_ext_direct_state_access = stringSetFind(e,"GL_EXT_direct_state_access");
- gl_ext_discard_framebuffer = stringSetFind(e,"GL_EXT_discard_framebuffer");
- gl_ext_disjoint_timer_query = stringSetFind(e,"GL_EXT_disjoint_timer_query");
- gl_ext_draw_buffers2 = stringSetFind(e,"GL_EXT_draw_buffers2");
- gl_ext_draw_instanced = stringSetFind(e,"GL_EXT_draw_instanced");
- gl_ext_draw_range_elements = stringSetFind(e,"GL_EXT_draw_range_elements");
- gl_ext_fog_coord = stringSetFind(e,"GL_EXT_fog_coord");
- gl_ext_fragment_lighting = stringSetFind(e,"GL_EXT_fragment_lighting");
- gl_ext_framebuffer_blit = stringSetFind(e,"GL_EXT_framebuffer_blit");
- gl_ext_framebuffer_multisample = stringSetFind(e,"GL_EXT_framebuffer_multisample");
- gl_ext_framebuffer_multisample_blit_scaled = stringSetFind(e,"GL_EXT_framebuffer_multisample_blit_scaled");
- gl_ext_framebuffer_object = stringSetFind(e,"GL_EXT_framebuffer_object");
- gl_ext_framebuffer_srgb = stringSetFind(e,"GL_EXT_framebuffer_sRGB");
- gl_ext_geometry_shader4 = stringSetFind(e,"GL_EXT_geometry_shader4");
- gl_ext_gpu_program_parameters = stringSetFind(e,"GL_EXT_gpu_program_parameters");
- gl_ext_gpu_shader4 = stringSetFind(e,"GL_EXT_gpu_shader4");
- gl_ext_histogram = stringSetFind(e,"GL_EXT_histogram");
- gl_ext_index_func = stringSetFind(e,"GL_EXT_index_func");
- gl_ext_index_material = stringSetFind(e,"GL_EXT_index_material");
- gl_ext_light_texture = stringSetFind(e,"GL_EXT_light_texture");
- gl_ext_map_buffer_range = stringSetFind(e,"GL_EXT_map_buffer_range");
- gl_ext_multi_draw_arrays = stringSetFind(e,"GL_EXT_multi_draw_arrays");
- gl_ext_multisample = stringSetFind(e,"GL_EXT_multisample");
- gl_ext_multisampled_render_to_texture = stringSetFind(e,"GL_EXT_multisampled_render_to_texture");
- gl_ext_multiview_draw_buffers = stringSetFind(e,"GL_EXT_multiview_draw_buffers");
- gl_ext_occlusion_query_boolean = stringSetFind(e,"GL_EXT_occlusion_query_boolean");
- gl_ext_packed_depth_stencil = stringSetFind(e,"GL_EXT_packed_depth_stencil");
- gl_ext_packed_float = stringSetFind(e,"GL_EXT_packed_float");
- gl_ext_packed_pixels = stringSetFind(e,"GL_EXT_packed_pixels");
- gl_ext_paletted_texture = stringSetFind(e,"GL_EXT_paletted_texture");
- gl_ext_pixel_buffer_object = stringSetFind(e,"GL_EXT_pixel_buffer_object");
- gl_ext_pixel_transform = stringSetFind(e,"GL_EXT_pixel_transform");
- gl_ext_point_parameters = stringSetFind(e,"GL_EXT_point_parameters");
- gl_ext_polygon_offset = stringSetFind(e,"GL_EXT_polygon_offset");
- gl_ext_provoking_vertex = stringSetFind(e,"GL_EXT_provoking_vertex");
- gl_ext_read_format_bgra = stringSetFind(e,"GL_EXT_read_format_bgra");
- gl_ext_rescale_normal = stringSetFind(e,"GL_EXT_rescale_normal");
- gl_ext_robustness = stringSetFind(e,"GL_EXT_robustness");
- gl_ext_srgb = stringSetFind(e,"GL_EXT_sRGB");
- gl_ext_scene_marker = stringSetFind(e,"GL_EXT_scene_marker");
- gl_ext_secondary_color = stringSetFind(e,"GL_EXT_secondary_color");
- gl_ext_separate_shader_objects = stringSetFind(e,"GL_EXT_separate_shader_objects");
- gl_ext_separate_specular_color = stringSetFind(e,"GL_EXT_separate_specular_color");
- gl_ext_shader_framebuffer_fetch = stringSetFind(e,"GL_EXT_shader_framebuffer_fetch");
- gl_ext_shader_image_load_store = stringSetFind(e,"GL_EXT_shader_image_load_store");
- gl_ext_shadow_samplers = stringSetFind(e,"GL_EXT_shadow_samplers");
- gl_ext_shared_texture_palette = stringSetFind(e,"GL_EXT_shared_texture_palette");
- gl_ext_stencil_clear_tag = stringSetFind(e,"GL_EXT_stencil_clear_tag");
- gl_ext_stencil_two_side = stringSetFind(e,"GL_EXT_stencil_two_side");
- gl_ext_stencil_wrap = stringSetFind(e,"GL_EXT_stencil_wrap");
- gl_ext_subtexture = stringSetFind(e,"GL_EXT_subtexture");
- gl_ext_texture = stringSetFind(e,"GL_EXT_texture");
- gl_ext_texture3d = stringSetFind(e,"GL_EXT_texture3D");
- gl_ext_texture_array = stringSetFind(e,"GL_EXT_texture_array");
- gl_ext_texture_buffer_object = stringSetFind(e,"GL_EXT_texture_buffer_object");
- gl_ext_texture_compression_latc = stringSetFind(e,"GL_EXT_texture_compression_latc");
- gl_ext_texture_compression_rgtc = stringSetFind(e,"GL_EXT_texture_compression_rgtc");
- gl_ext_texture_compression_s3tc = stringSetFind(e,"GL_EXT_texture_compression_s3tc");
- gl_ext_texture_cube_map = stringSetFind(e,"GL_EXT_texture_cube_map");
- gl_ext_texture_edge_clamp = stringSetFind(e,"GL_EXT_texture_edge_clamp");
- gl_ext_texture_env_combine = stringSetFind(e,"GL_EXT_texture_env_combine");
- gl_ext_texture_env_dot3 = stringSetFind(e,"GL_EXT_texture_env_dot3");
- gl_ext_texture_filter_anisotropic = stringSetFind(e,"GL_EXT_texture_filter_anisotropic");
- gl_ext_texture_format_bgra8888 = stringSetFind(e,"GL_EXT_texture_format_BGRA8888");
- gl_ext_texture_integer = stringSetFind(e,"GL_EXT_texture_integer");
- gl_ext_texture_lod_bias = stringSetFind(e,"GL_EXT_texture_lod_bias");
- gl_ext_texture_mirror_clamp = stringSetFind(e,"GL_EXT_texture_mirror_clamp");
- gl_ext_texture_object = stringSetFind(e,"GL_EXT_texture_object");
- gl_ext_texture_perturb_normal = stringSetFind(e,"GL_EXT_texture_perturb_normal");
- gl_ext_texture_rectangle = stringSetFind(e,"GL_EXT_texture_rectangle");
- gl_ext_texture_rg = stringSetFind(e,"GL_EXT_texture_rg");
- gl_ext_texture_srgb = stringSetFind(e,"GL_EXT_texture_sRGB");
- gl_ext_texture_srgb_decode = stringSetFind(e,"GL_EXT_texture_sRGB_decode");
- gl_ext_texture_shared_exponent = stringSetFind(e,"GL_EXT_texture_shared_exponent");
- gl_ext_texture_snorm = stringSetFind(e,"GL_EXT_texture_snorm");
- gl_ext_texture_storage = stringSetFind(e,"GL_EXT_texture_storage");
- gl_ext_texture_swizzle = stringSetFind(e,"GL_EXT_texture_swizzle");
- gl_ext_texture_type_2_10_10_10_rev = stringSetFind(e,"GL_EXT_texture_type_2_10_10_10_REV");
- gl_ext_timer_query = stringSetFind(e,"GL_EXT_timer_query");
- gl_ext_transform_feedback = stringSetFind(e,"GL_EXT_transform_feedback");
- gl_ext_unpack_subimage = stringSetFind(e,"GL_EXT_unpack_subimage");
- gl_ext_vertex_array = stringSetFind(e,"GL_EXT_vertex_array");
- gl_ext_vertex_attrib_64bit = stringSetFind(e,"GL_EXT_vertex_attrib_64bit");
- gl_ext_vertex_shader = stringSetFind(e,"GL_EXT_vertex_shader");
- gl_ext_vertex_weighting = stringSetFind(e,"GL_EXT_vertex_weighting");
- gl_ext_x11_sync_object = stringSetFind(e,"GL_EXT_x11_sync_object");
- gl_fj_shader_binary_gccso = stringSetFind(e,"GL_FJ_shader_binary_GCCSO");
- gl_gremedy_frame_terminator = stringSetFind(e,"GL_GREMEDY_frame_terminator");
- gl_gremedy_string_marker = stringSetFind(e,"GL_GREMEDY_string_marker");
- gl_hp_image_transform = stringSetFind(e,"GL_HP_image_transform");
- gl_hp_occlusion_test = stringSetFind(e,"GL_HP_occlusion_test");
- gl_ibm_cull_vertex = stringSetFind(e,"GL_IBM_cull_vertex");
- gl_ibm_multimode_draw_arrays = stringSetFind(e,"GL_IBM_multimode_draw_arrays");
- gl_ibm_rasterpos_clip = stringSetFind(e,"GL_IBM_rasterpos_clip");
- gl_ibm_static_data = stringSetFind(e,"GL_IBM_static_data");
- gl_ibm_texture_mirrored_repeat = stringSetFind(e,"GL_IBM_texture_mirrored_repeat");
- gl_ibm_vertex_array_lists = stringSetFind(e,"GL_IBM_vertex_array_lists");
- gl_img_multisampled_render_to_texture = stringSetFind(e,"GL_IMG_multisampled_render_to_texture");
- gl_img_program_binary = stringSetFind(e,"GL_IMG_program_binary");
- gl_img_read_format = stringSetFind(e,"GL_IMG_read_format");
- gl_img_shader_binary = stringSetFind(e,"GL_IMG_shader_binary");
- gl_img_texture_compression_pvrtc = stringSetFind(e,"GL_IMG_texture_compression_pvrtc");
- gl_img_texture_compression_pvrtc2 = stringSetFind(e,"GL_IMG_texture_compression_pvrtc2");
- gl_img_texture_env_enhanced_fixed_function = stringSetFind(e,"GL_IMG_texture_env_enhanced_fixed_function");
- gl_img_user_clip_plane = stringSetFind(e,"GL_IMG_user_clip_plane");
- gl_ingr_blend_func_separate = stringSetFind(e,"GL_INGR_blend_func_separate");
- gl_ingr_color_clamp = stringSetFind(e,"GL_INGR_color_clamp");
- gl_ingr_interlace_read = stringSetFind(e,"GL_INGR_interlace_read");
- 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_debug = stringSetFind(e,"GL_KHR_debug");
- 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");
- gl_mesa_pack_invert = stringSetFind(e,"GL_MESA_pack_invert");
- gl_mesa_resize_buffers = stringSetFind(e,"GL_MESA_resize_buffers");
- gl_mesa_window_pos = stringSetFind(e,"GL_MESA_window_pos");
- gl_mesa_ycbcr_texture = stringSetFind(e,"GL_MESA_ycbcr_texture");
- gl_nvx_conditional_render = stringSetFind(e,"GL_NVX_conditional_render");
- gl_nvx_gpu_memory_info = stringSetFind(e,"GL_NVX_gpu_memory_info");
- gl_nv_3dvision_settings = stringSetFind(e,"GL_NV_3dvision_settings");
- gl_nv_bgr = stringSetFind(e,"GL_NV_bgr");
- gl_nv_bindless_texture = stringSetFind(e,"GL_NV_bindless_texture");
- gl_nv_blend_equation_advanced = stringSetFind(e,"GL_NV_blend_equation_advanced");
- gl_nv_blend_square = stringSetFind(e,"GL_NV_blend_square");
- gl_nv_compute_program5 = stringSetFind(e,"GL_NV_compute_program5");
- gl_nv_conditional_render = stringSetFind(e,"GL_NV_conditional_render");
- gl_nv_copy_buffer = stringSetFind(e,"GL_NV_copy_buffer");
- gl_nv_copy_depth_to_color = stringSetFind(e,"GL_NV_copy_depth_to_color");
- gl_nv_copy_image = stringSetFind(e,"GL_NV_copy_image");
- gl_nv_coverage_sample = stringSetFind(e,"GL_NV_coverage_sample");
- gl_nv_deep_texture3d = stringSetFind(e,"GL_NV_deep_texture3D");
- gl_nv_depth_buffer_float = stringSetFind(e,"GL_NV_depth_buffer_float");
- gl_nv_depth_clamp = stringSetFind(e,"GL_NV_depth_clamp");
- gl_nv_depth_nonlinear = stringSetFind(e,"GL_NV_depth_nonlinear");
- gl_nv_depth_range_unclamped = stringSetFind(e,"GL_NV_depth_range_unclamped");
- gl_nv_draw_buffers = stringSetFind(e,"GL_NV_draw_buffers");
- gl_nv_draw_texture = stringSetFind(e,"GL_NV_draw_texture");
- gl_nv_evaluators = stringSetFind(e,"GL_NV_evaluators");
- gl_nv_explicit_multisample = stringSetFind(e,"GL_NV_explicit_multisample");
- gl_nv_fbo_color_attachments = stringSetFind(e,"GL_NV_fbo_color_attachments");
- gl_nv_fence = stringSetFind(e,"GL_NV_fence");
- gl_nv_float_buffer = stringSetFind(e,"GL_NV_float_buffer");
- gl_nv_fog_distance = stringSetFind(e,"GL_NV_fog_distance");
- gl_nv_fragment_program = stringSetFind(e,"GL_NV_fragment_program");
- gl_nv_fragment_program2 = stringSetFind(e,"GL_NV_fragment_program2");
- gl_nv_framebuffer_blit = stringSetFind(e,"GL_NV_framebuffer_blit");
- gl_nv_framebuffer_multisample = stringSetFind(e,"GL_NV_framebuffer_multisample");
- gl_nv_framebuffer_multisample_coverage = stringSetFind(e,"GL_NV_framebuffer_multisample_coverage");
- gl_nv_geometry_program4 = stringSetFind(e,"GL_NV_geometry_program4");
- gl_nv_gpu_program4 = stringSetFind(e,"GL_NV_gpu_program4");
- gl_nv_gpu_program5 = stringSetFind(e,"GL_NV_gpu_program5");
- gl_nv_gpu_shader5 = stringSetFind(e,"GL_NV_gpu_shader5");
- gl_nv_half_float = stringSetFind(e,"GL_NV_half_float");
- gl_nv_instanced_arrays = stringSetFind(e,"GL_NV_instanced_arrays");
- gl_nv_light_max_exponent = stringSetFind(e,"GL_NV_light_max_exponent");
- gl_nv_multisample_coverage = stringSetFind(e,"GL_NV_multisample_coverage");
- gl_nv_multisample_filter_hint = stringSetFind(e,"GL_NV_multisample_filter_hint");
- gl_nv_non_square_matrices = stringSetFind(e,"GL_NV_non_square_matrices");
- gl_nv_occlusion_query = stringSetFind(e,"GL_NV_occlusion_query");
- gl_nv_pack_subimage = stringSetFind(e,"GL_NV_pack_subimage");
- gl_nv_packed_depth_stencil = stringSetFind(e,"GL_NV_packed_depth_stencil");
- gl_nv_packed_float_linear = stringSetFind(e,"GL_NV_packed_float_linear");
- gl_nv_parameter_buffer_object = stringSetFind(e,"GL_NV_parameter_buffer_object");
- gl_nv_path_rendering = stringSetFind(e,"GL_NV_path_rendering");
- gl_nv_pixel_buffer_object = stringSetFind(e,"GL_NV_pixel_buffer_object");
- gl_nv_pixel_data_range = stringSetFind(e,"GL_NV_pixel_data_range");
- gl_nv_platform_binary = stringSetFind(e,"GL_NV_platform_binary");
- gl_nv_point_sprite = stringSetFind(e,"GL_NV_point_sprite");
- gl_nv_present_video = stringSetFind(e,"GL_NV_present_video");
- gl_nv_primitive_restart = stringSetFind(e,"GL_NV_primitive_restart");
- gl_nv_read_buffer = stringSetFind(e,"GL_NV_read_buffer");
- gl_nv_read_buffer_front = stringSetFind(e,"GL_NV_read_buffer_front");
- gl_nv_register_combiners = stringSetFind(e,"GL_NV_register_combiners");
- gl_nv_register_combiners2 = stringSetFind(e,"GL_NV_register_combiners2");
- gl_nv_srgb_formats = stringSetFind(e,"GL_NV_sRGB_formats");
- gl_nv_shader_buffer_load = stringSetFind(e,"GL_NV_shader_buffer_load");
- gl_nv_shadow_samplers_array = stringSetFind(e,"GL_NV_shadow_samplers_array");
- gl_nv_shadow_samplers_cube = stringSetFind(e,"GL_NV_shadow_samplers_cube");
- gl_nv_tessellation_program5 = stringSetFind(e,"GL_NV_tessellation_program5");
- gl_nv_texgen_emboss = stringSetFind(e,"GL_NV_texgen_emboss");
- gl_nv_texgen_reflection = stringSetFind(e,"GL_NV_texgen_reflection");
- gl_nv_texture_array = stringSetFind(e,"GL_NV_texture_array");
- gl_nv_texture_barrier = stringSetFind(e,"GL_NV_texture_barrier");
- gl_nv_texture_border_clamp = stringSetFind(e,"GL_NV_texture_border_clamp");
- gl_nv_texture_compression_latc = stringSetFind(e,"GL_NV_texture_compression_latc");
- gl_nv_texture_compression_s3tc = stringSetFind(e,"GL_NV_texture_compression_s3tc");
- gl_nv_texture_env_combine4 = stringSetFind(e,"GL_NV_texture_env_combine4");
- gl_nv_texture_expand_normal = stringSetFind(e,"GL_NV_texture_expand_normal");
- gl_nv_texture_multisample = stringSetFind(e,"GL_NV_texture_multisample");
- gl_nv_texture_rectangle = stringSetFind(e,"GL_NV_texture_rectangle");
- gl_nv_texture_shader = stringSetFind(e,"GL_NV_texture_shader");
- gl_nv_texture_shader2 = stringSetFind(e,"GL_NV_texture_shader2");
- gl_nv_texture_shader3 = stringSetFind(e,"GL_NV_texture_shader3");
- gl_nv_transform_feedback = stringSetFind(e,"GL_NV_transform_feedback");
- gl_nv_transform_feedback2 = stringSetFind(e,"GL_NV_transform_feedback2");
- gl_nv_vdpau_interop = stringSetFind(e,"GL_NV_vdpau_interop");
- gl_nv_vertex_array_range = stringSetFind(e,"GL_NV_vertex_array_range");
- gl_nv_vertex_array_range2 = stringSetFind(e,"GL_NV_vertex_array_range2");
- gl_nv_vertex_attrib_integer_64bit = stringSetFind(e,"GL_NV_vertex_attrib_integer_64bit");
- gl_nv_vertex_buffer_unified_memory = stringSetFind(e,"GL_NV_vertex_buffer_unified_memory");
- gl_nv_vertex_program = stringSetFind(e,"GL_NV_vertex_program");
- gl_nv_vertex_program2_option = stringSetFind(e,"GL_NV_vertex_program2_option");
- gl_nv_vertex_program3 = stringSetFind(e,"GL_NV_vertex_program3");
- gl_nv_vertex_program4 = stringSetFind(e,"GL_NV_vertex_program4");
- gl_nv_video_capture = stringSetFind(e,"GL_NV_video_capture");
- gl_oes_egl_image_external = stringSetFind(e,"GL_OES_EGL_image_external");
- gl_oes_blend_equation_separate = stringSetFind(e,"GL_OES_blend_equation_separate");
- gl_oes_blend_func_separate = stringSetFind(e,"GL_OES_blend_func_separate");
- gl_oes_blend_subtract = stringSetFind(e,"GL_OES_blend_subtract");
- gl_oes_compressed_etc1_rgb8_texture = stringSetFind(e,"GL_OES_compressed_ETC1_RGB8_texture");
- gl_oes_compressed_paletted_texture = stringSetFind(e,"GL_OES_compressed_paletted_texture");
- gl_oes_depth_texture = stringSetFind(e,"GL_OES_depth_texture");
- gl_oes_draw_texture = stringSetFind(e,"GL_OES_draw_texture");
- gl_oes_element_index_uint = stringSetFind(e,"GL_OES_element_index_uint");
- gl_oes_fbo_render_mipmap = stringSetFind(e,"GL_OES_fbo_render_mipmap");
- gl_oes_framebuffer_object = stringSetFind(e,"GL_OES_framebuffer_object");
- gl_oes_get_program_binary = stringSetFind(e,"GL_OES_get_program_binary");
- gl_oes_mapbuffer = stringSetFind(e,"GL_OES_mapbuffer");
- gl_oes_matrix_get = stringSetFind(e,"GL_OES_matrix_get");
- gl_oes_matrix_palette = stringSetFind(e,"GL_OES_matrix_palette");
- gl_oes_packed_depth_stencil = stringSetFind(e,"GL_OES_packed_depth_stencil");
- gl_oes_point_size_array = stringSetFind(e,"GL_OES_point_size_array");
- gl_oes_point_sprite = stringSetFind(e,"GL_OES_point_sprite");
- gl_oes_read_format = stringSetFind(e,"GL_OES_read_format");
- gl_oes_required_internalformat = stringSetFind(e,"GL_OES_required_internalformat");
- gl_oes_rgb8_rgba8 = stringSetFind(e,"GL_OES_rgb8_rgba8");
- gl_oes_single_precision = stringSetFind(e,"GL_OES_single_precision");
- gl_oes_standard_derivatives = stringSetFind(e,"GL_OES_standard_derivatives");
- gl_oes_stencil1 = stringSetFind(e,"GL_OES_stencil1");
- gl_oes_stencil4 = stringSetFind(e,"GL_OES_stencil4");
- gl_oes_stencil8 = stringSetFind(e,"GL_OES_stencil8");
- gl_oes_surfaceless_context = stringSetFind(e,"GL_OES_surfaceless_context");
- gl_oes_texture_3d = stringSetFind(e,"GL_OES_texture_3D");
- gl_oes_texture_cube_map = stringSetFind(e,"GL_OES_texture_cube_map");
- gl_oes_texture_mirrored_repeat = stringSetFind(e,"GL_OES_texture_mirrored_repeat");
- gl_oes_vertex_array_object = stringSetFind(e,"GL_OES_vertex_array_object");
- gl_oes_vertex_half_float = stringSetFind(e,"GL_OES_vertex_half_float");
- gl_oes_vertex_type_10_10_10_2 = stringSetFind(e,"GL_OES_vertex_type_10_10_10_2");
- gl_oml_interlace = stringSetFind(e,"GL_OML_interlace");
- gl_oml_resample = stringSetFind(e,"GL_OML_resample");
- gl_oml_subsample = stringSetFind(e,"GL_OML_subsample");
- gl_pgi_misc_hints = stringSetFind(e,"GL_PGI_misc_hints");
- gl_pgi_vertex_hints = stringSetFind(e,"GL_PGI_vertex_hints");
- gl_qcom_alpha_test = stringSetFind(e,"GL_QCOM_alpha_test");
- gl_qcom_binning_control = stringSetFind(e,"GL_QCOM_binning_control");
- gl_qcom_driver_control = stringSetFind(e,"GL_QCOM_driver_control");
- gl_qcom_extended_get = stringSetFind(e,"GL_QCOM_extended_get");
- gl_qcom_extended_get2 = stringSetFind(e,"GL_QCOM_extended_get2");
- gl_qcom_perfmon_global_mode = stringSetFind(e,"GL_QCOM_perfmon_global_mode");
- gl_qcom_tiled_rendering = stringSetFind(e,"GL_QCOM_tiled_rendering");
- gl_qcom_writeonly_rendering = stringSetFind(e,"GL_QCOM_writeonly_rendering");
- gl_regal_es1_0_compatibility = stringSetFind(e,"GL_REGAL_ES1_0_compatibility");
- gl_regal_es1_1_compatibility = stringSetFind(e,"GL_REGAL_ES1_1_compatibility");
- gl_regal_enable = stringSetFind(e,"GL_REGAL_enable");
- gl_regal_error_string = stringSetFind(e,"GL_REGAL_error_string");
- gl_regal_extension_query = stringSetFind(e,"GL_REGAL_extension_query");
- gl_regal_log = stringSetFind(e,"GL_REGAL_log");
- gl_rend_screen_coordinates = stringSetFind(e,"GL_REND_screen_coordinates");
- gl_s3_s3tc = stringSetFind(e,"GL_S3_s3tc");
- gl_sgis_color_range = stringSetFind(e,"GL_SGIS_color_range");
- gl_sgis_detail_texture = stringSetFind(e,"GL_SGIS_detail_texture");
- gl_sgis_fog_function = stringSetFind(e,"GL_SGIS_fog_function");
- gl_sgis_generate_mipmap = stringSetFind(e,"GL_SGIS_generate_mipmap");
- gl_sgis_multisample = stringSetFind(e,"GL_SGIS_multisample");
- gl_sgis_pixel_texture = stringSetFind(e,"GL_SGIS_pixel_texture");
- gl_sgis_point_line_texgen = stringSetFind(e,"GL_SGIS_point_line_texgen");
- gl_sgis_point_parameters = stringSetFind(e,"GL_SGIS_point_parameters");
- gl_sgis_sharpen_texture = stringSetFind(e,"GL_SGIS_sharpen_texture");
- gl_sgis_texture4d = stringSetFind(e,"GL_SGIS_texture4D");
- gl_sgis_texture_border_clamp = stringSetFind(e,"GL_SGIS_texture_border_clamp");
- gl_sgis_texture_color_mask = stringSetFind(e,"GL_SGIS_texture_color_mask");
- gl_sgis_texture_edge_clamp = stringSetFind(e,"GL_SGIS_texture_edge_clamp");
- gl_sgis_texture_filter4 = stringSetFind(e,"GL_SGIS_texture_filter4");
- gl_sgis_texture_lod = stringSetFind(e,"GL_SGIS_texture_lod");
- gl_sgix_async = stringSetFind(e,"GL_SGIX_async");
- gl_sgix_async_histogram = stringSetFind(e,"GL_SGIX_async_histogram");
- gl_sgix_async_pixel = stringSetFind(e,"GL_SGIX_async_pixel");
- gl_sgix_blend_alpha_minmax = stringSetFind(e,"GL_SGIX_blend_alpha_minmax");
- gl_sgix_convolution_accuracy = stringSetFind(e,"GL_SGIX_convolution_accuracy");
- gl_sgix_depth_texture = stringSetFind(e,"GL_SGIX_depth_texture");
- gl_sgix_flush_raster = stringSetFind(e,"GL_SGIX_flush_raster");
- gl_sgix_fog_offset = stringSetFind(e,"GL_SGIX_fog_offset");
- gl_sgix_fog_texture = stringSetFind(e,"GL_SGIX_fog_texture");
- gl_sgix_fragment_lighting = stringSetFind(e,"GL_SGIX_fragment_lighting");
- gl_sgix_fragment_specular_lighting = stringSetFind(e,"GL_SGIX_fragment_specular_lighting");
- gl_sgix_framezoom = stringSetFind(e,"GL_SGIX_framezoom");
- gl_sgix_igloo_interface = stringSetFind(e,"GL_SGIX_igloo_interface");
- gl_sgix_instruments = stringSetFind(e,"GL_SGIX_instruments");
- gl_sgix_interlace = stringSetFind(e,"GL_SGIX_interlace");
- gl_sgix_list_priority = stringSetFind(e,"GL_SGIX_list_priority");
- gl_sgix_pixel_texture = stringSetFind(e,"GL_SGIX_pixel_texture");
- gl_sgix_polynomial_ffd = stringSetFind(e,"GL_SGIX_polynomial_ffd");
- gl_sgix_reference_plane = stringSetFind(e,"GL_SGIX_reference_plane");
- gl_sgix_resample = stringSetFind(e,"GL_SGIX_resample");
- gl_sgix_shadow = stringSetFind(e,"GL_SGIX_shadow");
- gl_sgix_shadow_ambient = stringSetFind(e,"GL_SGIX_shadow_ambient");
- gl_sgix_sprite = stringSetFind(e,"GL_SGIX_sprite");
- gl_sgix_tag_sample_buffer = stringSetFind(e,"GL_SGIX_tag_sample_buffer");
- gl_sgix_texture_coordinate_clamp = stringSetFind(e,"GL_SGIX_texture_coordinate_clamp");
- gl_sgix_texture_multi_buffer = stringSetFind(e,"GL_SGIX_texture_multi_buffer");
- gl_sgix_texture_range = stringSetFind(e,"GL_SGIX_texture_range");
- gl_sgix_texture_scale_bias = stringSetFind(e,"GL_SGIX_texture_scale_bias");
- gl_sgix_vertex_preclip_hint = stringSetFind(e,"GL_SGIX_vertex_preclip_hint");
- gl_sgix_ycrcb = stringSetFind(e,"GL_SGIX_ycrcb");
- gl_sgi_color_matrix = stringSetFind(e,"GL_SGI_color_matrix");
- gl_sgi_color_table = stringSetFind(e,"GL_SGI_color_table");
- gl_sgi_texture_color_table = stringSetFind(e,"GL_SGI_texture_color_table");
- gl_sunx_constant_data = stringSetFind(e,"GL_SUNX_constant_data");
- gl_sun_convolution_border_modes = stringSetFind(e,"GL_SUN_convolution_border_modes");
- gl_sun_global_alpha = stringSetFind(e,"GL_SUN_global_alpha");
- gl_sun_mesh_array = stringSetFind(e,"GL_SUN_mesh_array");
- gl_sun_read_video_pixels = stringSetFind(e,"GL_SUN_read_video_pixels");
- gl_sun_slice_accum = stringSetFind(e,"GL_SUN_slice_accum");
- gl_sun_triangle_list = stringSetFind(e,"GL_SUN_triangle_list");
- gl_sun_vertex = stringSetFind(e,"GL_SUN_vertex");
- gl_viv_shader_binary = stringSetFind(e,"GL_VIV_shader_binary");
- gl_win_phong_shading = stringSetFind(e,"GL_WIN_phong_shading");
- gl_win_specular_fog = stringSetFind(e,"GL_WIN_specular_fog");
- gl_win_swap_hint = stringSetFind(e,"GL_WIN_swap_hint");
+ gl_3dfx_multisample = stringSetFind(e,"GL_3DFX_multisample");
+ gl_3dfx_tbuffer = stringSetFind(e,"GL_3DFX_tbuffer");
+ gl_3dfx_texture_compression_fxt1 = stringSetFind(e,"GL_3DFX_texture_compression_FXT1");
+ gl_amd_blend_minmax_factor = stringSetFind(e,"GL_AMD_blend_minmax_factor");
+ gl_amd_compressed_3dc_texture = stringSetFind(e,"GL_AMD_compressed_3DC_texture");
+ gl_amd_compressed_atc_texture = stringSetFind(e,"GL_AMD_compressed_ATC_texture");
+ gl_amd_debug_output = stringSetFind(e,"GL_AMD_debug_output");
+ gl_amd_depth_clamp_separate = stringSetFind(e,"GL_AMD_depth_clamp_separate");
+ gl_amd_draw_buffers_blend = stringSetFind(e,"GL_AMD_draw_buffers_blend");
+ gl_amd_interleaved_elements = stringSetFind(e,"GL_AMD_interleaved_elements");
+ gl_amd_multi_draw_indirect = stringSetFind(e,"GL_AMD_multi_draw_indirect");
+ gl_amd_name_gen_delete = stringSetFind(e,"GL_AMD_name_gen_delete");
+ gl_amd_performance_monitor = stringSetFind(e,"GL_AMD_performance_monitor");
+ gl_amd_pinned_memory = stringSetFind(e,"GL_AMD_pinned_memory");
+ gl_amd_program_binary_z400 = stringSetFind(e,"GL_AMD_program_binary_Z400");
+ gl_amd_query_buffer_object = stringSetFind(e,"GL_AMD_query_buffer_object");
+ gl_amd_sample_positions = stringSetFind(e,"GL_AMD_sample_positions");
+ gl_amd_seamless_cubemap_per_texture = stringSetFind(e,"GL_AMD_seamless_cubemap_per_texture");
+ gl_amd_sparse_texture = stringSetFind(e,"GL_AMD_sparse_texture");
+ gl_amd_stencil_operation_extended = stringSetFind(e,"GL_AMD_stencil_operation_extended");
+ gl_amd_vertex_shader_tessellator = stringSetFind(e,"GL_AMD_vertex_shader_tessellator");
+ gl_angle_framebuffer_blit = stringSetFind(e,"GL_ANGLE_framebuffer_blit");
+ gl_angle_framebuffer_multisample = stringSetFind(e,"GL_ANGLE_framebuffer_multisample");
+ gl_angle_instanced_arrays = stringSetFind(e,"GL_ANGLE_instanced_arrays");
+ gl_angle_pack_reverse_row_order = stringSetFind(e,"GL_ANGLE_pack_reverse_row_order");
+ gl_angle_program_binary = stringSetFind(e,"GL_ANGLE_program_binary");
+ gl_angle_texture_compression_dxt1 = stringSetFind(e,"GL_ANGLE_texture_compression_dxt1");
+ gl_angle_texture_compression_dxt3 = stringSetFind(e,"GL_ANGLE_texture_compression_dxt3");
+ gl_angle_texture_compression_dxt5 = stringSetFind(e,"GL_ANGLE_texture_compression_dxt5");
+ gl_angle_texture_usage = stringSetFind(e,"GL_ANGLE_texture_usage");
+ gl_angle_timer_query = stringSetFind(e,"GL_ANGLE_timer_query");
+ gl_angle_translated_shader_source = stringSetFind(e,"GL_ANGLE_translated_shader_source");
+ gl_apple_aux_depth_stencil = stringSetFind(e,"GL_APPLE_aux_depth_stencil");
+ gl_apple_client_storage = stringSetFind(e,"GL_APPLE_client_storage");
+ gl_apple_copy_texture_levels = stringSetFind(e,"GL_APPLE_copy_texture_levels");
+ gl_apple_element_array = stringSetFind(e,"GL_APPLE_element_array");
+ gl_apple_fence = stringSetFind(e,"GL_APPLE_fence");
+ gl_apple_float_pixels = stringSetFind(e,"GL_APPLE_float_pixels");
+ gl_apple_flush_buffer_range = stringSetFind(e,"GL_APPLE_flush_buffer_range");
+ gl_apple_flush_render = stringSetFind(e,"GL_APPLE_flush_render");
+ gl_apple_framebuffer_multisample = stringSetFind(e,"GL_APPLE_framebuffer_multisample");
+ gl_apple_object_purgeable = stringSetFind(e,"GL_APPLE_object_purgeable");
+ gl_apple_pixel_buffer = stringSetFind(e,"GL_APPLE_pixel_buffer");
+ gl_apple_rgb_422 = stringSetFind(e,"GL_APPLE_rgb_422");
+ gl_apple_row_bytes = stringSetFind(e,"GL_APPLE_row_bytes");
+ gl_apple_specular_vector = stringSetFind(e,"GL_APPLE_specular_vector");
+ gl_apple_sync = stringSetFind(e,"GL_APPLE_sync");
+ gl_apple_texture_max_level = stringSetFind(e,"GL_APPLE_texture_max_level");
+ gl_apple_texture_range = stringSetFind(e,"GL_APPLE_texture_range");
+ gl_apple_transform_hint = stringSetFind(e,"GL_APPLE_transform_hint");
+ gl_apple_vertex_array_object = stringSetFind(e,"GL_APPLE_vertex_array_object");
+ gl_apple_vertex_array_range = stringSetFind(e,"GL_APPLE_vertex_array_range");
+ 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_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");
+ gl_arb_blend_func_extended = stringSetFind(e,"GL_ARB_blend_func_extended");
+ gl_arb_buffer_storage = stringSetFind(e,"GL_ARB_buffer_storage");
+ 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_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_copy_buffer = stringSetFind(e,"GL_ARB_copy_buffer");
+ gl_arb_copy_image = stringSetFind(e,"GL_ARB_copy_image");
+ 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_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");
+ gl_arb_draw_indirect = stringSetFind(e,"GL_ARB_draw_indirect");
+ gl_arb_draw_instanced = stringSetFind(e,"GL_ARB_draw_instanced");
+ gl_arb_enhanced_layouts = stringSetFind(e,"GL_ARB_enhanced_layouts");
+ gl_arb_explicit_uniform_location = stringSetFind(e,"GL_ARB_explicit_uniform_location");
+ gl_arb_fragment_program = stringSetFind(e,"GL_ARB_fragment_program");
+ gl_arb_fragment_shader = stringSetFind(e,"GL_ARB_fragment_shader");
+ gl_arb_framebuffer_no_attachments = stringSetFind(e,"GL_ARB_framebuffer_no_attachments");
+ gl_arb_framebuffer_object = stringSetFind(e,"GL_ARB_framebuffer_object");
+ 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_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");
+ gl_arb_half_float_vertex = stringSetFind(e,"GL_ARB_half_float_vertex");
+ gl_arb_imaging = stringSetFind(e,"GL_ARB_imaging");
+ gl_arb_indirect_parameters = stringSetFind(e,"GL_ARB_indirect_parameters");
+ gl_arb_instanced_arrays = stringSetFind(e,"GL_ARB_instanced_arrays");
+ gl_arb_internalformat_query = stringSetFind(e,"GL_ARB_internalformat_query");
+ gl_arb_internalformat_query2 = stringSetFind(e,"GL_ARB_internalformat_query2");
+ gl_arb_invalidate_subdata = stringSetFind(e,"GL_ARB_invalidate_subdata");
+ gl_arb_map_buffer_alignment = stringSetFind(e,"GL_ARB_map_buffer_alignment");
+ gl_arb_map_buffer_range = stringSetFind(e,"GL_ARB_map_buffer_range");
+ gl_arb_matrix_palette = stringSetFind(e,"GL_ARB_matrix_palette");
+ gl_arb_multi_bind = stringSetFind(e,"GL_ARB_multi_bind");
+ gl_arb_multi_draw_indirect = stringSetFind(e,"GL_ARB_multi_draw_indirect");
+ gl_arb_multisample = stringSetFind(e,"GL_ARB_multisample");
+ 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_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");
+ gl_arb_program_interface_query = stringSetFind(e,"GL_ARB_program_interface_query");
+ gl_arb_provoking_vertex = stringSetFind(e,"GL_ARB_provoking_vertex");
+ gl_arb_query_buffer_object = stringSetFind(e,"GL_ARB_query_buffer_object");
+ gl_arb_robustness = stringSetFind(e,"GL_ARB_robustness");
+ gl_arb_sample_shading = stringSetFind(e,"GL_ARB_sample_shading");
+ gl_arb_sampler_objects = stringSetFind(e,"GL_ARB_sampler_objects");
+ gl_arb_seamless_cube_map = stringSetFind(e,"GL_ARB_seamless_cube_map");
+ gl_arb_separate_shader_objects = stringSetFind(e,"GL_ARB_separate_shader_objects");
+ gl_arb_shader_atomic_counters = stringSetFind(e,"GL_ARB_shader_atomic_counters");
+ gl_arb_shader_image_load_store = stringSetFind(e,"GL_ARB_shader_image_load_store");
+ gl_arb_shader_objects = stringSetFind(e,"GL_ARB_shader_objects");
+ gl_arb_shader_storage_buffer_object = stringSetFind(e,"GL_ARB_shader_storage_buffer_object");
+ gl_arb_shader_subroutine = stringSetFind(e,"GL_ARB_shader_subroutine");
+ gl_arb_shading_language_100 = stringSetFind(e,"GL_ARB_shading_language_100");
+ 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_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_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");
+ gl_arb_texture_compression = stringSetFind(e,"GL_ARB_texture_compression");
+ gl_arb_texture_compression_bptc = stringSetFind(e,"GL_ARB_texture_compression_bptc");
+ gl_arb_texture_compression_rgtc = stringSetFind(e,"GL_ARB_texture_compression_rgtc");
+ gl_arb_texture_cube_map = stringSetFind(e,"GL_ARB_texture_cube_map");
+ gl_arb_texture_cube_map_array = stringSetFind(e,"GL_ARB_texture_cube_map_array");
+ gl_arb_texture_env_combine = stringSetFind(e,"GL_ARB_texture_env_combine");
+ gl_arb_texture_env_dot3 = stringSetFind(e,"GL_ARB_texture_env_dot3");
+ gl_arb_texture_float = stringSetFind(e,"GL_ARB_texture_float");
+ gl_arb_texture_gather = stringSetFind(e,"GL_ARB_texture_gather");
+ gl_arb_texture_mirror_clamp_to_edge = stringSetFind(e,"GL_ARB_texture_mirror_clamp_to_edge");
+ gl_arb_texture_mirrored_repeat = stringSetFind(e,"GL_ARB_texture_mirrored_repeat");
+ gl_arb_texture_multisample = stringSetFind(e,"GL_ARB_texture_multisample");
+ gl_arb_texture_rectangle = stringSetFind(e,"GL_ARB_texture_rectangle");
+ gl_arb_texture_rg = stringSetFind(e,"GL_ARB_texture_rg");
+ gl_arb_texture_rgb10_a2ui = stringSetFind(e,"GL_ARB_texture_rgb10_a2ui");
+ gl_arb_texture_storage = stringSetFind(e,"GL_ARB_texture_storage");
+ gl_arb_texture_storage_multisample = stringSetFind(e,"GL_ARB_texture_storage_multisample");
+ gl_arb_texture_swizzle = stringSetFind(e,"GL_ARB_texture_swizzle");
+ gl_arb_texture_view = stringSetFind(e,"GL_ARB_texture_view");
+ gl_arb_timer_query = stringSetFind(e,"GL_ARB_timer_query");
+ 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_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");
+ gl_arb_vertex_attrib_64bit = stringSetFind(e,"GL_ARB_vertex_attrib_64bit");
+ gl_arb_vertex_attrib_binding = stringSetFind(e,"GL_ARB_vertex_attrib_binding");
+ gl_arb_vertex_blend = stringSetFind(e,"GL_ARB_vertex_blend");
+ gl_arb_vertex_buffer_object = stringSetFind(e,"GL_ARB_vertex_buffer_object");
+ gl_arb_vertex_program = stringSetFind(e,"GL_ARB_vertex_program");
+ gl_arb_vertex_shader = stringSetFind(e,"GL_ARB_vertex_shader");
+ gl_arb_vertex_type_2_10_10_10_rev = stringSetFind(e,"GL_ARB_vertex_type_2_10_10_10_rev");
+ gl_arb_viewport_array = stringSetFind(e,"GL_ARB_viewport_array");
+ gl_arb_window_pos = stringSetFind(e,"GL_ARB_window_pos");
+ gl_arm_mali_program_binary = stringSetFind(e,"GL_ARM_mali_program_binary");
+ gl_arm_mali_shader_binary = stringSetFind(e,"GL_ARM_mali_shader_binary");
+ gl_ati_draw_buffers = stringSetFind(e,"GL_ATI_draw_buffers");
+ gl_ati_element_array = stringSetFind(e,"GL_ATI_element_array");
+ gl_ati_envmap_bumpmap = stringSetFind(e,"GL_ATI_envmap_bumpmap");
+ gl_ati_fragment_shader = stringSetFind(e,"GL_ATI_fragment_shader");
+ gl_ati_map_object_buffer = stringSetFind(e,"GL_ATI_map_object_buffer");
+ gl_ati_meminfo = stringSetFind(e,"GL_ATI_meminfo");
+ gl_ati_pn_triangles = stringSetFind(e,"GL_ATI_pn_triangles");
+ gl_ati_separate_stencil = stringSetFind(e,"GL_ATI_separate_stencil");
+ gl_ati_text_fragment_shader = stringSetFind(e,"GL_ATI_text_fragment_shader");
+ gl_ati_texture_compression_3dc = stringSetFind(e,"GL_ATI_texture_compression_3dc");
+ gl_ati_texture_env_combine3 = stringSetFind(e,"GL_ATI_texture_env_combine3");
+ gl_ati_texture_float = stringSetFind(e,"GL_ATI_texture_float");
+ gl_ati_texture_mirror_once = stringSetFind(e,"GL_ATI_texture_mirror_once");
+ gl_ati_vertex_array_object = stringSetFind(e,"GL_ATI_vertex_array_object");
+ gl_ati_vertex_attrib_array_object = stringSetFind(e,"GL_ATI_vertex_attrib_array_object");
+ gl_ati_vertex_streams = stringSetFind(e,"GL_ATI_vertex_streams");
+ gl_dmp_shader_binary = stringSetFind(e,"GL_DMP_shader_binary");
+ gl_ext_422_pixels = stringSetFind(e,"GL_EXT_422_pixels");
+ gl_ext_cg_shader = stringSetFind(e,"GL_EXT_Cg_shader");
+ gl_ext_abgr = stringSetFind(e,"GL_EXT_abgr");
+ gl_ext_bgra = stringSetFind(e,"GL_EXT_bgra");
+ gl_ext_bindable_uniform = stringSetFind(e,"GL_EXT_bindable_uniform");
+ gl_ext_blend_color = stringSetFind(e,"GL_EXT_blend_color");
+ gl_ext_blend_equation_separate = stringSetFind(e,"GL_EXT_blend_equation_separate");
+ gl_ext_blend_func_separate = stringSetFind(e,"GL_EXT_blend_func_separate");
+ gl_ext_blend_minmax = stringSetFind(e,"GL_EXT_blend_minmax");
+ gl_ext_blend_subtract = stringSetFind(e,"GL_EXT_blend_subtract");
+ gl_ext_clip_volume_hint = stringSetFind(e,"GL_EXT_clip_volume_hint");
+ gl_ext_cmyka = stringSetFind(e,"GL_EXT_cmyka");
+ gl_ext_color_buffer_half_float = stringSetFind(e,"GL_EXT_color_buffer_half_float");
+ gl_ext_color_subtable = stringSetFind(e,"GL_EXT_color_subtable");
+ gl_ext_compiled_vertex_array = stringSetFind(e,"GL_EXT_compiled_vertex_array");
+ gl_ext_convolution = stringSetFind(e,"GL_EXT_convolution");
+ gl_ext_coordinate_frame = stringSetFind(e,"GL_EXT_coordinate_frame");
+ gl_ext_copy_texture = stringSetFind(e,"GL_EXT_copy_texture");
+ gl_ext_cull_vertex = stringSetFind(e,"GL_EXT_cull_vertex");
+ gl_ext_debug_label = stringSetFind(e,"GL_EXT_debug_label");
+ gl_ext_debug_marker = stringSetFind(e,"GL_EXT_debug_marker");
+ gl_ext_depth_bounds_test = stringSetFind(e,"GL_EXT_depth_bounds_test");
+ gl_ext_direct_state_access = stringSetFind(e,"GL_EXT_direct_state_access");
+ gl_ext_discard_framebuffer = stringSetFind(e,"GL_EXT_discard_framebuffer");
+ gl_ext_disjoint_timer_query = stringSetFind(e,"GL_EXT_disjoint_timer_query");
+ gl_ext_draw_buffers2 = stringSetFind(e,"GL_EXT_draw_buffers2");
+ gl_ext_draw_instanced = stringSetFind(e,"GL_EXT_draw_instanced");
+ gl_ext_draw_range_elements = stringSetFind(e,"GL_EXT_draw_range_elements");
+ gl_ext_fog_coord = stringSetFind(e,"GL_EXT_fog_coord");
+ gl_ext_fragment_lighting = stringSetFind(e,"GL_EXT_fragment_lighting");
+ gl_ext_framebuffer_blit = stringSetFind(e,"GL_EXT_framebuffer_blit");
+ gl_ext_framebuffer_multisample = stringSetFind(e,"GL_EXT_framebuffer_multisample");
+ gl_ext_framebuffer_multisample_blit_scaled = stringSetFind(e,"GL_EXT_framebuffer_multisample_blit_scaled");
+ gl_ext_framebuffer_object = stringSetFind(e,"GL_EXT_framebuffer_object");
+ gl_ext_framebuffer_srgb = stringSetFind(e,"GL_EXT_framebuffer_sRGB");
+ gl_ext_geometry_shader4 = stringSetFind(e,"GL_EXT_geometry_shader4");
+ gl_ext_gpu_program_parameters = stringSetFind(e,"GL_EXT_gpu_program_parameters");
+ gl_ext_gpu_shader4 = stringSetFind(e,"GL_EXT_gpu_shader4");
+ gl_ext_histogram = stringSetFind(e,"GL_EXT_histogram");
+ gl_ext_index_func = stringSetFind(e,"GL_EXT_index_func");
+ gl_ext_index_material = stringSetFind(e,"GL_EXT_index_material");
+ gl_ext_light_texture = stringSetFind(e,"GL_EXT_light_texture");
+ gl_ext_map_buffer_range = stringSetFind(e,"GL_EXT_map_buffer_range");
+ gl_ext_multi_draw_arrays = stringSetFind(e,"GL_EXT_multi_draw_arrays");
+ gl_ext_multisample = stringSetFind(e,"GL_EXT_multisample");
+ gl_ext_multisampled_render_to_texture = stringSetFind(e,"GL_EXT_multisampled_render_to_texture");
+ gl_ext_multiview_draw_buffers = stringSetFind(e,"GL_EXT_multiview_draw_buffers");
+ gl_ext_occlusion_query_boolean = stringSetFind(e,"GL_EXT_occlusion_query_boolean");
+ gl_ext_packed_depth_stencil = stringSetFind(e,"GL_EXT_packed_depth_stencil");
+ gl_ext_packed_float = stringSetFind(e,"GL_EXT_packed_float");
+ gl_ext_packed_pixels = stringSetFind(e,"GL_EXT_packed_pixels");
+ gl_ext_paletted_texture = stringSetFind(e,"GL_EXT_paletted_texture");
+ gl_ext_pixel_buffer_object = stringSetFind(e,"GL_EXT_pixel_buffer_object");
+ gl_ext_pixel_transform = stringSetFind(e,"GL_EXT_pixel_transform");
+ gl_ext_point_parameters = stringSetFind(e,"GL_EXT_point_parameters");
+ gl_ext_polygon_offset = stringSetFind(e,"GL_EXT_polygon_offset");
+ gl_ext_provoking_vertex = stringSetFind(e,"GL_EXT_provoking_vertex");
+ gl_ext_read_format_bgra = stringSetFind(e,"GL_EXT_read_format_bgra");
+ gl_ext_rescale_normal = stringSetFind(e,"GL_EXT_rescale_normal");
+ gl_ext_robustness = stringSetFind(e,"GL_EXT_robustness");
+ gl_ext_srgb = stringSetFind(e,"GL_EXT_sRGB");
+ gl_ext_scene_marker = stringSetFind(e,"GL_EXT_scene_marker");
+ gl_ext_secondary_color = stringSetFind(e,"GL_EXT_secondary_color");
+ gl_ext_separate_shader_objects = stringSetFind(e,"GL_EXT_separate_shader_objects");
+ gl_ext_separate_specular_color = stringSetFind(e,"GL_EXT_separate_specular_color");
+ gl_ext_shader_framebuffer_fetch = stringSetFind(e,"GL_EXT_shader_framebuffer_fetch");
+ gl_ext_shader_image_load_store = stringSetFind(e,"GL_EXT_shader_image_load_store");
+ gl_ext_shadow_samplers = stringSetFind(e,"GL_EXT_shadow_samplers");
+ gl_ext_shared_texture_palette = stringSetFind(e,"GL_EXT_shared_texture_palette");
+ gl_ext_stencil_clear_tag = stringSetFind(e,"GL_EXT_stencil_clear_tag");
+ gl_ext_stencil_two_side = stringSetFind(e,"GL_EXT_stencil_two_side");
+ gl_ext_stencil_wrap = stringSetFind(e,"GL_EXT_stencil_wrap");
+ gl_ext_subtexture = stringSetFind(e,"GL_EXT_subtexture");
+ gl_ext_texture = stringSetFind(e,"GL_EXT_texture");
+ gl_ext_texture3d = stringSetFind(e,"GL_EXT_texture3D");
+ gl_ext_texture_array = stringSetFind(e,"GL_EXT_texture_array");
+ gl_ext_texture_buffer_object = stringSetFind(e,"GL_EXT_texture_buffer_object");
+ gl_ext_texture_compression_latc = stringSetFind(e,"GL_EXT_texture_compression_latc");
+ gl_ext_texture_compression_rgtc = stringSetFind(e,"GL_EXT_texture_compression_rgtc");
+ gl_ext_texture_compression_s3tc = stringSetFind(e,"GL_EXT_texture_compression_s3tc");
+ gl_ext_texture_cube_map = stringSetFind(e,"GL_EXT_texture_cube_map");
+ gl_ext_texture_edge_clamp = stringSetFind(e,"GL_EXT_texture_edge_clamp");
+ gl_ext_texture_env_combine = stringSetFind(e,"GL_EXT_texture_env_combine");
+ gl_ext_texture_env_dot3 = stringSetFind(e,"GL_EXT_texture_env_dot3");
+ gl_ext_texture_filter_anisotropic = stringSetFind(e,"GL_EXT_texture_filter_anisotropic");
+ gl_ext_texture_format_bgra8888 = stringSetFind(e,"GL_EXT_texture_format_BGRA8888");
+ gl_ext_texture_integer = stringSetFind(e,"GL_EXT_texture_integer");
+ gl_ext_texture_lod_bias = stringSetFind(e,"GL_EXT_texture_lod_bias");
+ gl_ext_texture_mirror_clamp = stringSetFind(e,"GL_EXT_texture_mirror_clamp");
+ gl_ext_texture_object = stringSetFind(e,"GL_EXT_texture_object");
+ gl_ext_texture_perturb_normal = stringSetFind(e,"GL_EXT_texture_perturb_normal");
+ gl_ext_texture_rectangle = stringSetFind(e,"GL_EXT_texture_rectangle");
+ gl_ext_texture_rg = stringSetFind(e,"GL_EXT_texture_rg");
+ gl_ext_texture_srgb = stringSetFind(e,"GL_EXT_texture_sRGB");
+ gl_ext_texture_srgb_decode = stringSetFind(e,"GL_EXT_texture_sRGB_decode");
+ gl_ext_texture_shared_exponent = stringSetFind(e,"GL_EXT_texture_shared_exponent");
+ gl_ext_texture_snorm = stringSetFind(e,"GL_EXT_texture_snorm");
+ gl_ext_texture_storage = stringSetFind(e,"GL_EXT_texture_storage");
+ gl_ext_texture_swizzle = stringSetFind(e,"GL_EXT_texture_swizzle");
+ gl_ext_texture_type_2_10_10_10_rev = stringSetFind(e,"GL_EXT_texture_type_2_10_10_10_REV");
+ gl_ext_timer_query = stringSetFind(e,"GL_EXT_timer_query");
+ gl_ext_transform_feedback = stringSetFind(e,"GL_EXT_transform_feedback");
+ gl_ext_unpack_subimage = stringSetFind(e,"GL_EXT_unpack_subimage");
+ gl_ext_vertex_array = stringSetFind(e,"GL_EXT_vertex_array");
+ gl_ext_vertex_attrib_64bit = stringSetFind(e,"GL_EXT_vertex_attrib_64bit");
+ gl_ext_vertex_shader = stringSetFind(e,"GL_EXT_vertex_shader");
+ gl_ext_vertex_weighting = stringSetFind(e,"GL_EXT_vertex_weighting");
+ gl_ext_x11_sync_object = stringSetFind(e,"GL_EXT_x11_sync_object");
+ gl_fj_shader_binary_gccso = stringSetFind(e,"GL_FJ_shader_binary_GCCSO");
+ gl_gremedy_frame_terminator = stringSetFind(e,"GL_GREMEDY_frame_terminator");
+ gl_gremedy_string_marker = stringSetFind(e,"GL_GREMEDY_string_marker");
+ gl_hp_image_transform = stringSetFind(e,"GL_HP_image_transform");
+ gl_hp_occlusion_test = stringSetFind(e,"GL_HP_occlusion_test");
+ gl_ibm_cull_vertex = stringSetFind(e,"GL_IBM_cull_vertex");
+ gl_ibm_multimode_draw_arrays = stringSetFind(e,"GL_IBM_multimode_draw_arrays");
+ gl_ibm_rasterpos_clip = stringSetFind(e,"GL_IBM_rasterpos_clip");
+ gl_ibm_static_data = stringSetFind(e,"GL_IBM_static_data");
+ gl_ibm_texture_mirrored_repeat = stringSetFind(e,"GL_IBM_texture_mirrored_repeat");
+ gl_ibm_vertex_array_lists = stringSetFind(e,"GL_IBM_vertex_array_lists");
+ gl_img_multisampled_render_to_texture = stringSetFind(e,"GL_IMG_multisampled_render_to_texture");
+ gl_img_program_binary = stringSetFind(e,"GL_IMG_program_binary");
+ gl_img_read_format = stringSetFind(e,"GL_IMG_read_format");
+ gl_img_shader_binary = stringSetFind(e,"GL_IMG_shader_binary");
+ gl_img_texture_compression_pvrtc = stringSetFind(e,"GL_IMG_texture_compression_pvrtc");
+ gl_img_texture_compression_pvrtc2 = stringSetFind(e,"GL_IMG_texture_compression_pvrtc2");
+ gl_img_texture_env_enhanced_fixed_function = stringSetFind(e,"GL_IMG_texture_env_enhanced_fixed_function");
+ gl_img_user_clip_plane = stringSetFind(e,"GL_IMG_user_clip_plane");
+ gl_ingr_blend_func_separate = stringSetFind(e,"GL_INGR_blend_func_separate");
+ gl_ingr_color_clamp = stringSetFind(e,"GL_INGR_color_clamp");
+ gl_ingr_interlace_read = stringSetFind(e,"GL_INGR_interlace_read");
+ 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_debug = stringSetFind(e,"GL_KHR_debug");
+ 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");
+ gl_mesa_pack_invert = stringSetFind(e,"GL_MESA_pack_invert");
+ gl_mesa_resize_buffers = stringSetFind(e,"GL_MESA_resize_buffers");
+ gl_mesa_window_pos = stringSetFind(e,"GL_MESA_window_pos");
+ gl_mesa_ycbcr_texture = stringSetFind(e,"GL_MESA_ycbcr_texture");
+ gl_nvx_conditional_render = stringSetFind(e,"GL_NVX_conditional_render");
+ gl_nvx_gpu_memory_info = stringSetFind(e,"GL_NVX_gpu_memory_info");
+ gl_nv_3dvision_settings = stringSetFind(e,"GL_NV_3dvision_settings");
+ gl_nv_bgr = stringSetFind(e,"GL_NV_bgr");
+ gl_nv_bindless_texture = stringSetFind(e,"GL_NV_bindless_texture");
+ gl_nv_blend_equation_advanced = stringSetFind(e,"GL_NV_blend_equation_advanced");
+ gl_nv_blend_square = stringSetFind(e,"GL_NV_blend_square");
+ gl_nv_compute_program5 = stringSetFind(e,"GL_NV_compute_program5");
+ gl_nv_conditional_render = stringSetFind(e,"GL_NV_conditional_render");
+ gl_nv_copy_buffer = stringSetFind(e,"GL_NV_copy_buffer");
+ gl_nv_copy_depth_to_color = stringSetFind(e,"GL_NV_copy_depth_to_color");
+ gl_nv_copy_image = stringSetFind(e,"GL_NV_copy_image");
+ gl_nv_coverage_sample = stringSetFind(e,"GL_NV_coverage_sample");
+ gl_nv_deep_texture3d = stringSetFind(e,"GL_NV_deep_texture3D");
+ gl_nv_depth_buffer_float = stringSetFind(e,"GL_NV_depth_buffer_float");
+ gl_nv_depth_clamp = stringSetFind(e,"GL_NV_depth_clamp");
+ gl_nv_depth_nonlinear = stringSetFind(e,"GL_NV_depth_nonlinear");
+ gl_nv_depth_range_unclamped = stringSetFind(e,"GL_NV_depth_range_unclamped");
+ gl_nv_draw_buffers = stringSetFind(e,"GL_NV_draw_buffers");
+ gl_nv_draw_texture = stringSetFind(e,"GL_NV_draw_texture");
+ gl_nv_evaluators = stringSetFind(e,"GL_NV_evaluators");
+ gl_nv_explicit_multisample = stringSetFind(e,"GL_NV_explicit_multisample");
+ gl_nv_fbo_color_attachments = stringSetFind(e,"GL_NV_fbo_color_attachments");
+ gl_nv_fence = stringSetFind(e,"GL_NV_fence");
+ gl_nv_float_buffer = stringSetFind(e,"GL_NV_float_buffer");
+ gl_nv_fog_distance = stringSetFind(e,"GL_NV_fog_distance");
+ gl_nv_fragment_program = stringSetFind(e,"GL_NV_fragment_program");
+ gl_nv_fragment_program2 = stringSetFind(e,"GL_NV_fragment_program2");
+ gl_nv_framebuffer_blit = stringSetFind(e,"GL_NV_framebuffer_blit");
+ gl_nv_framebuffer_multisample = stringSetFind(e,"GL_NV_framebuffer_multisample");
+ gl_nv_framebuffer_multisample_coverage = stringSetFind(e,"GL_NV_framebuffer_multisample_coverage");
+ gl_nv_geometry_program4 = stringSetFind(e,"GL_NV_geometry_program4");
+ gl_nv_gpu_program4 = stringSetFind(e,"GL_NV_gpu_program4");
+ gl_nv_gpu_program5 = stringSetFind(e,"GL_NV_gpu_program5");
+ gl_nv_gpu_shader5 = stringSetFind(e,"GL_NV_gpu_shader5");
+ gl_nv_half_float = stringSetFind(e,"GL_NV_half_float");
+ gl_nv_instanced_arrays = stringSetFind(e,"GL_NV_instanced_arrays");
+ gl_nv_light_max_exponent = stringSetFind(e,"GL_NV_light_max_exponent");
+ gl_nv_multisample_coverage = stringSetFind(e,"GL_NV_multisample_coverage");
+ gl_nv_multisample_filter_hint = stringSetFind(e,"GL_NV_multisample_filter_hint");
+ gl_nv_non_square_matrices = stringSetFind(e,"GL_NV_non_square_matrices");
+ gl_nv_occlusion_query = stringSetFind(e,"GL_NV_occlusion_query");
+ gl_nv_pack_subimage = stringSetFind(e,"GL_NV_pack_subimage");
+ gl_nv_packed_depth_stencil = stringSetFind(e,"GL_NV_packed_depth_stencil");
+ gl_nv_packed_float_linear = stringSetFind(e,"GL_NV_packed_float_linear");
+ gl_nv_parameter_buffer_object = stringSetFind(e,"GL_NV_parameter_buffer_object");
+ gl_nv_path_rendering = stringSetFind(e,"GL_NV_path_rendering");
+ gl_nv_pixel_buffer_object = stringSetFind(e,"GL_NV_pixel_buffer_object");
+ gl_nv_pixel_data_range = stringSetFind(e,"GL_NV_pixel_data_range");
+ gl_nv_platform_binary = stringSetFind(e,"GL_NV_platform_binary");
+ gl_nv_point_sprite = stringSetFind(e,"GL_NV_point_sprite");
+ gl_nv_present_video = stringSetFind(e,"GL_NV_present_video");
+ gl_nv_primitive_restart = stringSetFind(e,"GL_NV_primitive_restart");
+ gl_nv_read_buffer = stringSetFind(e,"GL_NV_read_buffer");
+ gl_nv_read_buffer_front = stringSetFind(e,"GL_NV_read_buffer_front");
+ gl_nv_register_combiners = stringSetFind(e,"GL_NV_register_combiners");
+ gl_nv_register_combiners2 = stringSetFind(e,"GL_NV_register_combiners2");
+ gl_nv_srgb_formats = stringSetFind(e,"GL_NV_sRGB_formats");
+ gl_nv_shader_buffer_load = stringSetFind(e,"GL_NV_shader_buffer_load");
+ gl_nv_shadow_samplers_array = stringSetFind(e,"GL_NV_shadow_samplers_array");
+ gl_nv_shadow_samplers_cube = stringSetFind(e,"GL_NV_shadow_samplers_cube");
+ gl_nv_tessellation_program5 = stringSetFind(e,"GL_NV_tessellation_program5");
+ gl_nv_texgen_emboss = stringSetFind(e,"GL_NV_texgen_emboss");
+ gl_nv_texgen_reflection = stringSetFind(e,"GL_NV_texgen_reflection");
+ gl_nv_texture_array = stringSetFind(e,"GL_NV_texture_array");
+ gl_nv_texture_barrier = stringSetFind(e,"GL_NV_texture_barrier");
+ gl_nv_texture_border_clamp = stringSetFind(e,"GL_NV_texture_border_clamp");
+ gl_nv_texture_compression_latc = stringSetFind(e,"GL_NV_texture_compression_latc");
+ gl_nv_texture_compression_s3tc = stringSetFind(e,"GL_NV_texture_compression_s3tc");
+ gl_nv_texture_env_combine4 = stringSetFind(e,"GL_NV_texture_env_combine4");
+ gl_nv_texture_expand_normal = stringSetFind(e,"GL_NV_texture_expand_normal");
+ gl_nv_texture_multisample = stringSetFind(e,"GL_NV_texture_multisample");
+ gl_nv_texture_rectangle = stringSetFind(e,"GL_NV_texture_rectangle");
+ gl_nv_texture_shader = stringSetFind(e,"GL_NV_texture_shader");
+ gl_nv_texture_shader2 = stringSetFind(e,"GL_NV_texture_shader2");
+ gl_nv_texture_shader3 = stringSetFind(e,"GL_NV_texture_shader3");
+ gl_nv_transform_feedback = stringSetFind(e,"GL_NV_transform_feedback");
+ gl_nv_transform_feedback2 = stringSetFind(e,"GL_NV_transform_feedback2");
+ gl_nv_vdpau_interop = stringSetFind(e,"GL_NV_vdpau_interop");
+ gl_nv_vertex_array_range = stringSetFind(e,"GL_NV_vertex_array_range");
+ gl_nv_vertex_array_range2 = stringSetFind(e,"GL_NV_vertex_array_range2");
+ gl_nv_vertex_attrib_integer_64bit = stringSetFind(e,"GL_NV_vertex_attrib_integer_64bit");
+ gl_nv_vertex_buffer_unified_memory = stringSetFind(e,"GL_NV_vertex_buffer_unified_memory");
+ gl_nv_vertex_program = stringSetFind(e,"GL_NV_vertex_program");
+ gl_nv_vertex_program2_option = stringSetFind(e,"GL_NV_vertex_program2_option");
+ gl_nv_vertex_program3 = stringSetFind(e,"GL_NV_vertex_program3");
+ gl_nv_vertex_program4 = stringSetFind(e,"GL_NV_vertex_program4");
+ gl_nv_video_capture = stringSetFind(e,"GL_NV_video_capture");
+ gl_oes_egl_image_external = stringSetFind(e,"GL_OES_EGL_image_external");
+ gl_oes_blend_equation_separate = stringSetFind(e,"GL_OES_blend_equation_separate");
+ gl_oes_blend_func_separate = stringSetFind(e,"GL_OES_blend_func_separate");
+ gl_oes_blend_subtract = stringSetFind(e,"GL_OES_blend_subtract");
+ gl_oes_compressed_etc1_rgb8_texture = stringSetFind(e,"GL_OES_compressed_ETC1_RGB8_texture");
+ gl_oes_compressed_paletted_texture = stringSetFind(e,"GL_OES_compressed_paletted_texture");
+ gl_oes_depth_texture = stringSetFind(e,"GL_OES_depth_texture");
+ gl_oes_draw_texture = stringSetFind(e,"GL_OES_draw_texture");
+ gl_oes_element_index_uint = stringSetFind(e,"GL_OES_element_index_uint");
+ gl_oes_fbo_render_mipmap = stringSetFind(e,"GL_OES_fbo_render_mipmap");
+ gl_oes_framebuffer_object = stringSetFind(e,"GL_OES_framebuffer_object");
+ gl_oes_get_program_binary = stringSetFind(e,"GL_OES_get_program_binary");
+ gl_oes_mapbuffer = stringSetFind(e,"GL_OES_mapbuffer");
+ gl_oes_matrix_get = stringSetFind(e,"GL_OES_matrix_get");
+ gl_oes_matrix_palette = stringSetFind(e,"GL_OES_matrix_palette");
+ gl_oes_packed_depth_stencil = stringSetFind(e,"GL_OES_packed_depth_stencil");
+ gl_oes_point_size_array = stringSetFind(e,"GL_OES_point_size_array");
+ gl_oes_point_sprite = stringSetFind(e,"GL_OES_point_sprite");
+ gl_oes_read_format = stringSetFind(e,"GL_OES_read_format");
+ gl_oes_required_internalformat = stringSetFind(e,"GL_OES_required_internalformat");
+ gl_oes_rgb8_rgba8 = stringSetFind(e,"GL_OES_rgb8_rgba8");
+ gl_oes_single_precision = stringSetFind(e,"GL_OES_single_precision");
+ gl_oes_standard_derivatives = stringSetFind(e,"GL_OES_standard_derivatives");
+ gl_oes_stencil1 = stringSetFind(e,"GL_OES_stencil1");
+ gl_oes_stencil4 = stringSetFind(e,"GL_OES_stencil4");
+ gl_oes_stencil8 = stringSetFind(e,"GL_OES_stencil8");
+ gl_oes_surfaceless_context = stringSetFind(e,"GL_OES_surfaceless_context");
+ gl_oes_texture_3d = stringSetFind(e,"GL_OES_texture_3D");
+ gl_oes_texture_cube_map = stringSetFind(e,"GL_OES_texture_cube_map");
+ gl_oes_texture_mirrored_repeat = stringSetFind(e,"GL_OES_texture_mirrored_repeat");
+ gl_oes_vertex_array_object = stringSetFind(e,"GL_OES_vertex_array_object");
+ gl_oes_vertex_half_float = stringSetFind(e,"GL_OES_vertex_half_float");
+ gl_oes_vertex_type_10_10_10_2 = stringSetFind(e,"GL_OES_vertex_type_10_10_10_2");
+ gl_oml_interlace = stringSetFind(e,"GL_OML_interlace");
+ gl_oml_resample = stringSetFind(e,"GL_OML_resample");
+ gl_oml_subsample = stringSetFind(e,"GL_OML_subsample");
+ gl_pgi_misc_hints = stringSetFind(e,"GL_PGI_misc_hints");
+ gl_pgi_vertex_hints = stringSetFind(e,"GL_PGI_vertex_hints");
+ gl_qcom_alpha_test = stringSetFind(e,"GL_QCOM_alpha_test");
+ gl_qcom_binning_control = stringSetFind(e,"GL_QCOM_binning_control");
+ gl_qcom_driver_control = stringSetFind(e,"GL_QCOM_driver_control");
+ gl_qcom_extended_get = stringSetFind(e,"GL_QCOM_extended_get");
+ gl_qcom_extended_get2 = stringSetFind(e,"GL_QCOM_extended_get2");
+ gl_qcom_perfmon_global_mode = stringSetFind(e,"GL_QCOM_perfmon_global_mode");
+ gl_qcom_tiled_rendering = stringSetFind(e,"GL_QCOM_tiled_rendering");
+ gl_qcom_writeonly_rendering = stringSetFind(e,"GL_QCOM_writeonly_rendering");
+ gl_regal_es1_0_compatibility = stringSetFind(e,"GL_REGAL_ES1_0_compatibility");
+ gl_regal_es1_1_compatibility = stringSetFind(e,"GL_REGAL_ES1_1_compatibility");
+ gl_regal_enable = stringSetFind(e,"GL_REGAL_enable");
+ gl_regal_error_string = stringSetFind(e,"GL_REGAL_error_string");
+ gl_regal_extension_query = stringSetFind(e,"GL_REGAL_extension_query");
+ gl_regal_log = stringSetFind(e,"GL_REGAL_log");
+ gl_rend_screen_coordinates = stringSetFind(e,"GL_REND_screen_coordinates");
+ gl_s3_s3tc = stringSetFind(e,"GL_S3_s3tc");
+ gl_sgis_color_range = stringSetFind(e,"GL_SGIS_color_range");
+ gl_sgis_detail_texture = stringSetFind(e,"GL_SGIS_detail_texture");
+ gl_sgis_fog_function = stringSetFind(e,"GL_SGIS_fog_function");
+ gl_sgis_generate_mipmap = stringSetFind(e,"GL_SGIS_generate_mipmap");
+ gl_sgis_multisample = stringSetFind(e,"GL_SGIS_multisample");
+ gl_sgis_pixel_texture = stringSetFind(e,"GL_SGIS_pixel_texture");
+ gl_sgis_point_line_texgen = stringSetFind(e,"GL_SGIS_point_line_texgen");
+ gl_sgis_point_parameters = stringSetFind(e,"GL_SGIS_point_parameters");
+ gl_sgis_sharpen_texture = stringSetFind(e,"GL_SGIS_sharpen_texture");
+ gl_sgis_texture4d = stringSetFind(e,"GL_SGIS_texture4D");
+ gl_sgis_texture_border_clamp = stringSetFind(e,"GL_SGIS_texture_border_clamp");
+ gl_sgis_texture_color_mask = stringSetFind(e,"GL_SGIS_texture_color_mask");
+ gl_sgis_texture_edge_clamp = stringSetFind(e,"GL_SGIS_texture_edge_clamp");
+ gl_sgis_texture_filter4 = stringSetFind(e,"GL_SGIS_texture_filter4");
+ gl_sgis_texture_lod = stringSetFind(e,"GL_SGIS_texture_lod");
+ gl_sgix_async = stringSetFind(e,"GL_SGIX_async");
+ gl_sgix_async_histogram = stringSetFind(e,"GL_SGIX_async_histogram");
+ gl_sgix_async_pixel = stringSetFind(e,"GL_SGIX_async_pixel");
+ gl_sgix_blend_alpha_minmax = stringSetFind(e,"GL_SGIX_blend_alpha_minmax");
+ gl_sgix_convolution_accuracy = stringSetFind(e,"GL_SGIX_convolution_accuracy");
+ gl_sgix_depth_texture = stringSetFind(e,"GL_SGIX_depth_texture");
+ gl_sgix_flush_raster = stringSetFind(e,"GL_SGIX_flush_raster");
+ gl_sgix_fog_offset = stringSetFind(e,"GL_SGIX_fog_offset");
+ gl_sgix_fog_texture = stringSetFind(e,"GL_SGIX_fog_texture");
+ gl_sgix_fragment_lighting = stringSetFind(e,"GL_SGIX_fragment_lighting");
+ gl_sgix_fragment_specular_lighting = stringSetFind(e,"GL_SGIX_fragment_specular_lighting");
+ gl_sgix_framezoom = stringSetFind(e,"GL_SGIX_framezoom");
+ gl_sgix_igloo_interface = stringSetFind(e,"GL_SGIX_igloo_interface");
+ gl_sgix_instruments = stringSetFind(e,"GL_SGIX_instruments");
+ gl_sgix_interlace = stringSetFind(e,"GL_SGIX_interlace");
+ gl_sgix_list_priority = stringSetFind(e,"GL_SGIX_list_priority");
+ gl_sgix_pixel_texture = stringSetFind(e,"GL_SGIX_pixel_texture");
+ gl_sgix_polynomial_ffd = stringSetFind(e,"GL_SGIX_polynomial_ffd");
+ gl_sgix_reference_plane = stringSetFind(e,"GL_SGIX_reference_plane");
+ gl_sgix_resample = stringSetFind(e,"GL_SGIX_resample");
+ gl_sgix_shadow = stringSetFind(e,"GL_SGIX_shadow");
+ gl_sgix_shadow_ambient = stringSetFind(e,"GL_SGIX_shadow_ambient");
+ gl_sgix_sprite = stringSetFind(e,"GL_SGIX_sprite");
+ gl_sgix_tag_sample_buffer = stringSetFind(e,"GL_SGIX_tag_sample_buffer");
+ gl_sgix_texture_coordinate_clamp = stringSetFind(e,"GL_SGIX_texture_coordinate_clamp");
+ gl_sgix_texture_multi_buffer = stringSetFind(e,"GL_SGIX_texture_multi_buffer");
+ gl_sgix_texture_range = stringSetFind(e,"GL_SGIX_texture_range");
+ gl_sgix_texture_scale_bias = stringSetFind(e,"GL_SGIX_texture_scale_bias");
+ gl_sgix_vertex_preclip_hint = stringSetFind(e,"GL_SGIX_vertex_preclip_hint");
+ gl_sgix_ycrcb = stringSetFind(e,"GL_SGIX_ycrcb");
+ gl_sgi_color_matrix = stringSetFind(e,"GL_SGI_color_matrix");
+ gl_sgi_color_table = stringSetFind(e,"GL_SGI_color_table");
+ gl_sgi_texture_color_table = stringSetFind(e,"GL_SGI_texture_color_table");
+ gl_sunx_constant_data = stringSetFind(e,"GL_SUNX_constant_data");
+ gl_sun_convolution_border_modes = stringSetFind(e,"GL_SUN_convolution_border_modes");
+ gl_sun_global_alpha = stringSetFind(e,"GL_SUN_global_alpha");
+ gl_sun_mesh_array = stringSetFind(e,"GL_SUN_mesh_array");
+ gl_sun_read_video_pixels = stringSetFind(e,"GL_SUN_read_video_pixels");
+ gl_sun_slice_accum = stringSetFind(e,"GL_SUN_slice_accum");
+ gl_sun_triangle_list = stringSetFind(e,"GL_SUN_triangle_list");
+ gl_sun_vertex = stringSetFind(e,"GL_SUN_vertex");
+ gl_viv_shader_binary = stringSetFind(e,"GL_VIV_shader_binary");
+ gl_win_phong_shading = stringSetFind(e,"GL_WIN_phong_shading");
+ gl_win_specular_fog = stringSetFind(e,"GL_WIN_specular_fog");
+ gl_win_swap_hint = stringSetFind(e,"GL_WIN_swap_hint");
#if REGAL_SYS_WGL
- wgl_3dl_stereo_control = stringSetFind(e,"WGL_3DL_stereo_control");
- wgl_amd_gpu_association = stringSetFind(e,"WGL_AMD_gpu_association");
- wgl_arb_buffer_region = stringSetFind(e,"WGL_ARB_buffer_region");
- wgl_arb_create_context = stringSetFind(e,"WGL_ARB_create_context");
- wgl_arb_create_context_profile = stringSetFind(e,"WGL_ARB_create_context_profile");
- wgl_arb_create_context_robustness = stringSetFind(e,"WGL_ARB_create_context_robustness");
- wgl_arb_extensions_string = stringSetFind(e,"WGL_ARB_extensions_string");
- wgl_arb_framebuffer_srgb = stringSetFind(e,"WGL_ARB_framebuffer_sRGB");
- wgl_arb_make_current_read = stringSetFind(e,"WGL_ARB_make_current_read");
- wgl_arb_multisample = stringSetFind(e,"WGL_ARB_multisample");
- wgl_arb_pbuffer = stringSetFind(e,"WGL_ARB_pbuffer");
- 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_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");
- wgl_ext_create_context_es2_profile = stringSetFind(e,"WGL_EXT_create_context_es2_profile");
- wgl_ext_create_context_es_profile = stringSetFind(e,"WGL_EXT_create_context_es_profile");
- wgl_ext_depth_float = stringSetFind(e,"WGL_EXT_depth_float");
- wgl_ext_display_color_table = stringSetFind(e,"WGL_EXT_display_color_table");
- wgl_ext_extensions_string = stringSetFind(e,"WGL_EXT_extensions_string");
- wgl_ext_framebuffer_srgb = stringSetFind(e,"WGL_EXT_framebuffer_sRGB");
- wgl_ext_make_current_read = stringSetFind(e,"WGL_EXT_make_current_read");
- wgl_ext_multisample = stringSetFind(e,"WGL_EXT_multisample");
- wgl_ext_pbuffer = stringSetFind(e,"WGL_EXT_pbuffer");
- wgl_ext_pixel_format = stringSetFind(e,"WGL_EXT_pixel_format");
- wgl_ext_pixel_format_packed_float = stringSetFind(e,"WGL_EXT_pixel_format_packed_float");
- wgl_ext_swap_control = stringSetFind(e,"WGL_EXT_swap_control");
- wgl_gdi = stringSetFind(e,"WGL_GDI");
- wgl_i3d_digital_video_control = stringSetFind(e,"WGL_I3D_digital_video_control");
- wgl_i3d_gamma = stringSetFind(e,"WGL_I3D_gamma");
- wgl_i3d_genlock = stringSetFind(e,"WGL_I3D_genlock");
- wgl_i3d_image_buffer = stringSetFind(e,"WGL_I3D_image_buffer");
- wgl_i3d_swap_frame_lock = stringSetFind(e,"WGL_I3D_swap_frame_lock");
- 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_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");
- wgl_nv_present_video = stringSetFind(e,"WGL_NV_present_video");
- wgl_nv_render_depth_texture = stringSetFind(e,"WGL_NV_render_depth_texture");
- wgl_nv_render_texture_rectangle = stringSetFind(e,"WGL_NV_render_texture_rectangle");
- wgl_nv_swap_group = stringSetFind(e,"WGL_NV_swap_group");
- wgl_nv_vertex_array_range = stringSetFind(e,"WGL_NV_vertex_array_range");
- wgl_nv_video_capture = stringSetFind(e,"WGL_NV_video_capture");
- wgl_nv_video_output = stringSetFind(e,"WGL_NV_video_output");
- wgl_oml_sync_control = stringSetFind(e,"WGL_OML_sync_control");
-#endif
+ wgl_3dl_stereo_control = stringSetFind(e,"WGL_3DL_stereo_control");
+ wgl_amd_gpu_association = stringSetFind(e,"WGL_AMD_gpu_association");
+ wgl_arb_buffer_region = stringSetFind(e,"WGL_ARB_buffer_region");
+ wgl_arb_create_context = stringSetFind(e,"WGL_ARB_create_context");
+ wgl_arb_create_context_profile = stringSetFind(e,"WGL_ARB_create_context_profile");
+ wgl_arb_create_context_robustness = stringSetFind(e,"WGL_ARB_create_context_robustness");
+ wgl_arb_extensions_string = stringSetFind(e,"WGL_ARB_extensions_string");
+ wgl_arb_framebuffer_srgb = stringSetFind(e,"WGL_ARB_framebuffer_sRGB");
+ wgl_arb_make_current_read = stringSetFind(e,"WGL_ARB_make_current_read");
+ wgl_arb_multisample = stringSetFind(e,"WGL_ARB_multisample");
+ wgl_arb_pbuffer = stringSetFind(e,"WGL_ARB_pbuffer");
+ 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_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");
+ wgl_ext_create_context_es2_profile = stringSetFind(e,"WGL_EXT_create_context_es2_profile");
+ wgl_ext_create_context_es_profile = stringSetFind(e,"WGL_EXT_create_context_es_profile");
+ wgl_ext_depth_float = stringSetFind(e,"WGL_EXT_depth_float");
+ wgl_ext_display_color_table = stringSetFind(e,"WGL_EXT_display_color_table");
+ wgl_ext_extensions_string = stringSetFind(e,"WGL_EXT_extensions_string");
+ wgl_ext_framebuffer_srgb = stringSetFind(e,"WGL_EXT_framebuffer_sRGB");
+ wgl_ext_make_current_read = stringSetFind(e,"WGL_EXT_make_current_read");
+ wgl_ext_multisample = stringSetFind(e,"WGL_EXT_multisample");
+ wgl_ext_pbuffer = stringSetFind(e,"WGL_EXT_pbuffer");
+ wgl_ext_pixel_format = stringSetFind(e,"WGL_EXT_pixel_format");
+ wgl_ext_pixel_format_packed_float = stringSetFind(e,"WGL_EXT_pixel_format_packed_float");
+ wgl_ext_swap_control = stringSetFind(e,"WGL_EXT_swap_control");
+ wgl_gdi = stringSetFind(e,"WGL_GDI");
+ wgl_i3d_digital_video_control = stringSetFind(e,"WGL_I3D_digital_video_control");
+ wgl_i3d_gamma = stringSetFind(e,"WGL_I3D_gamma");
+ wgl_i3d_genlock = stringSetFind(e,"WGL_I3D_genlock");
+ wgl_i3d_image_buffer = stringSetFind(e,"WGL_I3D_image_buffer");
+ wgl_i3d_swap_frame_lock = stringSetFind(e,"WGL_I3D_swap_frame_lock");
+ 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_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");
+ wgl_nv_present_video = stringSetFind(e,"WGL_NV_present_video");
+ wgl_nv_render_depth_texture = stringSetFind(e,"WGL_NV_render_depth_texture");
+ wgl_nv_render_texture_rectangle = stringSetFind(e,"WGL_NV_render_texture_rectangle");
+ wgl_nv_swap_group = stringSetFind(e,"WGL_NV_swap_group");
+ wgl_nv_vertex_array_range = stringSetFind(e,"WGL_NV_vertex_array_range");
+ wgl_nv_video_capture = stringSetFind(e,"WGL_NV_video_capture");
+ wgl_nv_video_output = stringSetFind(e,"WGL_NV_video_output");
+ wgl_oml_sync_control = stringSetFind(e,"WGL_OML_sync_control");
+#endif /* REGAL_SYS_WGL */
#if REGAL_SYS_GLX
- glx_3dfx_multisample = stringSetFind(e,"GLX_3DFX_multisample");
- glx_amd_gpu_association = stringSetFind(e,"GLX_AMD_gpu_association");
- glx_arb_create_context = stringSetFind(e,"GLX_ARB_create_context");
- glx_arb_create_context_profile = stringSetFind(e,"GLX_ARB_create_context_profile");
- glx_arb_create_context_robustness = stringSetFind(e,"GLX_ARB_create_context_robustness");
- glx_arb_fbconfig_float = stringSetFind(e,"GLX_ARB_fbconfig_float");
- 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_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_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_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");
- glx_ext_visual_info = stringSetFind(e,"GLX_EXT_visual_info");
- glx_ext_visual_rating = stringSetFind(e,"GLX_EXT_visual_rating");
- glx_intel_swap_event = stringSetFind(e,"GLX_INTEL_swap_event");
- 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_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_image = stringSetFind(e,"GLX_NV_copy_image");
- 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");
- glx_nv_swap_group = stringSetFind(e,"GLX_NV_swap_group");
- glx_nv_vertex_array_range = stringSetFind(e,"GLX_NV_vertex_array_range");
- glx_nv_video_capture = stringSetFind(e,"GLX_NV_video_capture");
- glx_nv_video_output = stringSetFind(e,"GLX_NV_video_output");
- glx_oml_swap_method = stringSetFind(e,"GLX_OML_swap_method");
- glx_oml_sync_control = stringSetFind(e,"GLX_OML_sync_control");
- glx_sgis_blended_overlay = stringSetFind(e,"GLX_SGIS_blended_overlay");
- glx_sgis_color_range = stringSetFind(e,"GLX_SGIS_color_range");
- glx_sgis_multisample = stringSetFind(e,"GLX_SGIS_multisample");
- glx_sgis_shared_multisample = stringSetFind(e,"GLX_SGIS_shared_multisample");
- glx_sgix_fbconfig = stringSetFind(e,"GLX_SGIX_fbconfig");
- glx_sgix_hyperpipe = stringSetFind(e,"GLX_SGIX_hyperpipe");
- glx_sgix_pbuffer = stringSetFind(e,"GLX_SGIX_pbuffer");
- glx_sgix_swap_barrier = stringSetFind(e,"GLX_SGIX_swap_barrier");
- glx_sgix_swap_group = stringSetFind(e,"GLX_SGIX_swap_group");
- glx_sgix_video_resize = stringSetFind(e,"GLX_SGIX_video_resize");
- glx_sgix_visual_select_group = stringSetFind(e,"GLX_SGIX_visual_select_group");
- glx_sgi_cushion = stringSetFind(e,"GLX_SGI_cushion");
- glx_sgi_make_current_read = stringSetFind(e,"GLX_SGI_make_current_read");
- glx_sgi_swap_control = stringSetFind(e,"GLX_SGI_swap_control");
- glx_sgi_video_sync = stringSetFind(e,"GLX_SGI_video_sync");
- glx_sun_get_transparent_index = stringSetFind(e,"GLX_SUN_get_transparent_index");
- glx_sun_video_resize = stringSetFind(e,"GLX_SUN_video_resize");
-#endif
+ glx_3dfx_multisample = stringSetFind(e,"GLX_3DFX_multisample");
+ glx_amd_gpu_association = stringSetFind(e,"GLX_AMD_gpu_association");
+ glx_arb_create_context = stringSetFind(e,"GLX_ARB_create_context");
+ glx_arb_create_context_profile = stringSetFind(e,"GLX_ARB_create_context_profile");
+ glx_arb_create_context_robustness = stringSetFind(e,"GLX_ARB_create_context_robustness");
+ glx_arb_fbconfig_float = stringSetFind(e,"GLX_ARB_fbconfig_float");
+ 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_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_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_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");
+ glx_ext_visual_info = stringSetFind(e,"GLX_EXT_visual_info");
+ glx_ext_visual_rating = stringSetFind(e,"GLX_EXT_visual_rating");
+ glx_intel_swap_event = stringSetFind(e,"GLX_INTEL_swap_event");
+ 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_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_image = stringSetFind(e,"GLX_NV_copy_image");
+ 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");
+ glx_nv_swap_group = stringSetFind(e,"GLX_NV_swap_group");
+ glx_nv_vertex_array_range = stringSetFind(e,"GLX_NV_vertex_array_range");
+ glx_nv_video_capture = stringSetFind(e,"GLX_NV_video_capture");
+ glx_nv_video_output = stringSetFind(e,"GLX_NV_video_output");
+ glx_oml_swap_method = stringSetFind(e,"GLX_OML_swap_method");
+ glx_oml_sync_control = stringSetFind(e,"GLX_OML_sync_control");
+ glx_sgis_blended_overlay = stringSetFind(e,"GLX_SGIS_blended_overlay");
+ glx_sgis_color_range = stringSetFind(e,"GLX_SGIS_color_range");
+ glx_sgis_multisample = stringSetFind(e,"GLX_SGIS_multisample");
+ glx_sgis_shared_multisample = stringSetFind(e,"GLX_SGIS_shared_multisample");
+ glx_sgix_fbconfig = stringSetFind(e,"GLX_SGIX_fbconfig");
+ glx_sgix_hyperpipe = stringSetFind(e,"GLX_SGIX_hyperpipe");
+ glx_sgix_pbuffer = stringSetFind(e,"GLX_SGIX_pbuffer");
+ glx_sgix_swap_barrier = stringSetFind(e,"GLX_SGIX_swap_barrier");
+ glx_sgix_swap_group = stringSetFind(e,"GLX_SGIX_swap_group");
+ glx_sgix_video_resize = stringSetFind(e,"GLX_SGIX_video_resize");
+ glx_sgix_visual_select_group = stringSetFind(e,"GLX_SGIX_visual_select_group");
+ glx_sgi_cushion = stringSetFind(e,"GLX_SGI_cushion");
+ glx_sgi_make_current_read = stringSetFind(e,"GLX_SGI_make_current_read");
+ glx_sgi_swap_control = stringSetFind(e,"GLX_SGI_swap_control");
+ glx_sgi_video_sync = stringSetFind(e,"GLX_SGI_video_sync");
+ glx_sun_get_transparent_index = stringSetFind(e,"GLX_SUN_get_transparent_index");
+ glx_sun_video_resize = stringSetFind(e,"GLX_SUN_video_resize");
+#endif /* REGAL_SYS_GLX */
#if REGAL_SYS_EGL
- egl_angle_query_surface_pointer = stringSetFind(e,"EGL_ANGLE_query_surface_pointer");
- egl_angle_surface_d3d_texture_2d_share_handle = stringSetFind(e,"EGL_ANGLE_surface_d3d_texture_2d_share_handle");
- egl_ext_create_context_robustness = stringSetFind(e,"EGL_EXT_create_context_robustness");
- egl_ext_multiview_window = stringSetFind(e,"EGL_EXT_multiview_window");
- egl_hi_colorformats = stringSetFind(e,"EGL_HI_colorformats");
- egl_img_context_priority = stringSetFind(e,"EGL_IMG_context_priority");
- egl_khr_config_attribs = stringSetFind(e,"EGL_KHR_config_attribs");
- egl_khr_create_context = stringSetFind(e,"EGL_KHR_create_context");
- egl_khr_fence_sync = stringSetFind(e,"EGL_KHR_fence_sync");
- egl_khr_gl_texture_cubemap_image = stringSetFind(e,"EGL_KHR_gl_texture_cubemap_image");
- egl_khr_image_base = stringSetFind(e,"EGL_KHR_image_base");
- egl_khr_image_pixmap = stringSetFind(e,"EGL_KHR_image_pixmap");
- egl_khr_lock_surface = stringSetFind(e,"EGL_KHR_lock_surface");
- egl_khr_lock_surface2 = stringSetFind(e,"EGL_KHR_lock_surface2");
- egl_khr_reusable_sync = stringSetFind(e,"EGL_KHR_reusable_sync");
- egl_khr_stream = stringSetFind(e,"EGL_KHR_stream");
- egl_khr_stream_consumer_gltexture = stringSetFind(e,"EGL_KHR_stream_consumer_gltexture");
- egl_khr_stream_cross_process_fd = stringSetFind(e,"EGL_KHR_stream_cross_process_fd");
- egl_khr_stream_fifo = stringSetFind(e,"EGL_KHR_stream_fifo");
- egl_khr_stream_producer_eglsurface = stringSetFind(e,"EGL_KHR_stream_producer_eglsurface");
- egl_khr_vg_parent_image = stringSetFind(e,"EGL_KHR_vg_parent_image");
- egl_khr_wait_sync = stringSetFind(e,"EGL_KHR_wait_sync");
- egl_mesa_drm_image = stringSetFind(e,"EGL_MESA_drm_image");
- egl_nv_coverage_sample = stringSetFind(e,"EGL_NV_coverage_sample");
- egl_nv_coverage_sample_resolve = stringSetFind(e,"EGL_NV_coverage_sample_resolve");
- egl_nv_post_sub_buffer = stringSetFind(e,"EGL_NV_post_sub_buffer");
- egl_nv_sync = stringSetFind(e,"EGL_NV_sync");
- egl_nv_system_time = stringSetFind(e,"EGL_NV_system_time");
-#endif
+ egl_angle_query_surface_pointer = stringSetFind(e,"EGL_ANGLE_query_surface_pointer");
+ egl_angle_surface_d3d_texture_2d_share_handle = stringSetFind(e,"EGL_ANGLE_surface_d3d_texture_2d_share_handle");
+ egl_ext_create_context_robustness = stringSetFind(e,"EGL_EXT_create_context_robustness");
+ egl_ext_multiview_window = stringSetFind(e,"EGL_EXT_multiview_window");
+ egl_hi_colorformats = stringSetFind(e,"EGL_HI_colorformats");
+ egl_img_context_priority = stringSetFind(e,"EGL_IMG_context_priority");
+ egl_khr_config_attribs = stringSetFind(e,"EGL_KHR_config_attribs");
+ egl_khr_create_context = stringSetFind(e,"EGL_KHR_create_context");
+ egl_khr_fence_sync = stringSetFind(e,"EGL_KHR_fence_sync");
+ egl_khr_gl_texture_cubemap_image = stringSetFind(e,"EGL_KHR_gl_texture_cubemap_image");
+ egl_khr_image_base = stringSetFind(e,"EGL_KHR_image_base");
+ egl_khr_image_pixmap = stringSetFind(e,"EGL_KHR_image_pixmap");
+ egl_khr_lock_surface = stringSetFind(e,"EGL_KHR_lock_surface");
+ egl_khr_lock_surface2 = stringSetFind(e,"EGL_KHR_lock_surface2");
+ egl_khr_reusable_sync = stringSetFind(e,"EGL_KHR_reusable_sync");
+ egl_khr_stream = stringSetFind(e,"EGL_KHR_stream");
+ egl_khr_stream_consumer_gltexture = stringSetFind(e,"EGL_KHR_stream_consumer_gltexture");
+ egl_khr_stream_cross_process_fd = stringSetFind(e,"EGL_KHR_stream_cross_process_fd");
+ egl_khr_stream_fifo = stringSetFind(e,"EGL_KHR_stream_fifo");
+ egl_khr_stream_producer_eglsurface = stringSetFind(e,"EGL_KHR_stream_producer_eglsurface");
+ egl_khr_vg_parent_image = stringSetFind(e,"EGL_KHR_vg_parent_image");
+ egl_khr_wait_sync = stringSetFind(e,"EGL_KHR_wait_sync");
+ egl_mesa_drm_image = stringSetFind(e,"EGL_MESA_drm_image");
+ egl_nv_coverage_sample = stringSetFind(e,"EGL_NV_coverage_sample");
+ egl_nv_coverage_sample_resolve = stringSetFind(e,"EGL_NV_coverage_sample_resolve");
+ egl_nv_post_sub_buffer = stringSetFind(e,"EGL_NV_post_sub_buffer");
+ egl_nv_sync = stringSetFind(e,"EGL_NV_sync");
+ egl_nv_system_time = stringSetFind(e,"EGL_NV_system_time");
+#endif /* REGAL_SYS_EGL */
RegalAssert(context.dispatcher.driver.glGetIntegerv);
RegalAssert(context.dispatcher.driver.glGetBooleanv);
@@ -1771,681 +1771,681 @@
{
Internal("ContextInfo::getExtension ",boost::print::quote(ext,'"'));
- if (!strcmp(ext,"GL_3DFX_multisample")) return gl_3dfx_multisample;
- if (!strcmp(ext,"GL_3DFX_tbuffer")) return gl_3dfx_tbuffer;
- if (!strcmp(ext,"GL_3DFX_texture_compression_FXT1")) return gl_3dfx_texture_compression_fxt1;
- if (!strcmp(ext,"GL_AMD_blend_minmax_factor")) return gl_amd_blend_minmax_factor;
- if (!strcmp(ext,"GL_AMD_compressed_3DC_texture")) return gl_amd_compressed_3dc_texture;
- if (!strcmp(ext,"GL_AMD_compressed_ATC_texture")) return gl_amd_compressed_atc_texture;
- if (!strcmp(ext,"GL_AMD_debug_output")) return gl_amd_debug_output;
- if (!strcmp(ext,"GL_AMD_depth_clamp_separate")) return gl_amd_depth_clamp_separate;
- if (!strcmp(ext,"GL_AMD_draw_buffers_blend")) return gl_amd_draw_buffers_blend;
- if (!strcmp(ext,"GL_AMD_interleaved_elements")) return gl_amd_interleaved_elements;
- if (!strcmp(ext,"GL_AMD_multi_draw_indirect")) return gl_amd_multi_draw_indirect;
- if (!strcmp(ext,"GL_AMD_name_gen_delete")) return gl_amd_name_gen_delete;
- if (!strcmp(ext,"GL_AMD_performance_monitor")) return gl_amd_performance_monitor;
- if (!strcmp(ext,"GL_AMD_pinned_memory")) return gl_amd_pinned_memory;
- if (!strcmp(ext,"GL_AMD_program_binary_Z400")) return gl_amd_program_binary_z400;
- if (!strcmp(ext,"GL_AMD_query_buffer_object")) return gl_amd_query_buffer_object;
- if (!strcmp(ext,"GL_AMD_sample_positions")) return gl_amd_sample_positions;
- if (!strcmp(ext,"GL_AMD_seamless_cubemap_per_texture")) return gl_amd_seamless_cubemap_per_texture;
- if (!strcmp(ext,"GL_AMD_sparse_texture")) return gl_amd_sparse_texture;
- if (!strcmp(ext,"GL_AMD_stencil_operation_extended")) return gl_amd_stencil_operation_extended;
- if (!strcmp(ext,"GL_AMD_vertex_shader_tessellator")) return gl_amd_vertex_shader_tessellator;
- if (!strcmp(ext,"GL_ANGLE_framebuffer_blit")) return gl_angle_framebuffer_blit;
- if (!strcmp(ext,"GL_ANGLE_framebuffer_multisample")) return gl_angle_framebuffer_multisample;
- if (!strcmp(ext,"GL_ANGLE_instanced_arrays")) return gl_angle_instanced_arrays;
- if (!strcmp(ext,"GL_ANGLE_pack_reverse_row_order")) return gl_angle_pack_reverse_row_order;
- if (!strcmp(ext,"GL_ANGLE_program_binary")) return gl_angle_program_binary;
- if (!strcmp(ext,"GL_ANGLE_texture_compression_dxt1")) return gl_angle_texture_compression_dxt1;
- if (!strcmp(ext,"GL_ANGLE_texture_compression_dxt3")) return gl_angle_texture_compression_dxt3;
- if (!strcmp(ext,"GL_ANGLE_texture_compression_dxt5")) return gl_angle_texture_compression_dxt5;
- if (!strcmp(ext,"GL_ANGLE_texture_usage")) return gl_angle_texture_usage;
- if (!strcmp(ext,"GL_ANGLE_timer_query")) return gl_angle_timer_query;
- if (!strcmp(ext,"GL_ANGLE_translated_shader_source")) return gl_angle_translated_shader_source;
- if (!strcmp(ext,"GL_APPLE_aux_depth_stencil")) return gl_apple_aux_depth_stencil;
- if (!strcmp(ext,"GL_APPLE_client_storage")) return gl_apple_client_storage;
- if (!strcmp(ext,"GL_APPLE_copy_texture_levels")) return gl_apple_copy_texture_levels;
- if (!strcmp(ext,"GL_APPLE_element_array")) return gl_apple_element_array;
- if (!strcmp(ext,"GL_APPLE_fence")) return gl_apple_fence;
- if (!strcmp(ext,"GL_APPLE_float_pixels")) return gl_apple_float_pixels;
- if (!strcmp(ext,"GL_APPLE_flush_buffer_range")) return gl_apple_flush_buffer_range;
- if (!strcmp(ext,"GL_APPLE_flush_render")) return gl_apple_flush_render;
- if (!strcmp(ext,"GL_APPLE_framebuffer_multisample")) return gl_apple_framebuffer_multisample;
- if (!strcmp(ext,"GL_APPLE_object_purgeable")) return gl_apple_object_purgeable;
- if (!strcmp(ext,"GL_APPLE_pixel_buffer")) return gl_apple_pixel_buffer;
- if (!strcmp(ext,"GL_APPLE_rgb_422")) return gl_apple_rgb_422;
- if (!strcmp(ext,"GL_APPLE_row_bytes")) return gl_apple_row_bytes;
- if (!strcmp(ext,"GL_APPLE_specular_vector")) return gl_apple_specular_vector;
- if (!strcmp(ext,"GL_APPLE_sync")) return gl_apple_sync;
- if (!strcmp(ext,"GL_APPLE_texture_max_level")) return gl_apple_texture_max_level;
- if (!strcmp(ext,"GL_APPLE_texture_range")) return gl_apple_texture_range;
- if (!strcmp(ext,"GL_APPLE_transform_hint")) return gl_apple_transform_hint;
- if (!strcmp(ext,"GL_APPLE_vertex_array_object")) return gl_apple_vertex_array_object;
- if (!strcmp(ext,"GL_APPLE_vertex_array_range")) return gl_apple_vertex_array_range;
- 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_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;
- if (!strcmp(ext,"GL_ARB_blend_func_extended")) return gl_arb_blend_func_extended;
- if (!strcmp(ext,"GL_ARB_buffer_storage")) return gl_arb_buffer_storage;
- 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_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_copy_buffer")) return gl_arb_copy_buffer;
- if (!strcmp(ext,"GL_ARB_copy_image")) return gl_arb_copy_image;
- 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_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;
- if (!strcmp(ext,"GL_ARB_draw_indirect")) return gl_arb_draw_indirect;
- if (!strcmp(ext,"GL_ARB_draw_instanced")) return gl_arb_draw_instanced;
- if (!strcmp(ext,"GL_ARB_enhanced_layouts")) return gl_arb_enhanced_layouts;
- if (!strcmp(ext,"GL_ARB_explicit_uniform_location")) return gl_arb_explicit_uniform_location;
- if (!strcmp(ext,"GL_ARB_fragment_program")) return gl_arb_fragment_program;
- if (!strcmp(ext,"GL_ARB_fragment_shader")) return gl_arb_fragment_shader;
- if (!strcmp(ext,"GL_ARB_framebuffer_no_attachments")) return gl_arb_framebuffer_no_attachments;
- if (!strcmp(ext,"GL_ARB_framebuffer_object")) return gl_arb_framebuffer_object;
- 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_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;
- if (!strcmp(ext,"GL_ARB_half_float_vertex")) return gl_arb_half_float_vertex;
- if (!strcmp(ext,"GL_ARB_imaging")) return gl_arb_imaging;
- if (!strcmp(ext,"GL_ARB_indirect_parameters")) return gl_arb_indirect_parameters;
- if (!strcmp(ext,"GL_ARB_instanced_arrays")) return gl_arb_instanced_arrays;
- if (!strcmp(ext,"GL_ARB_internalformat_query")) return gl_arb_internalformat_query;
- if (!strcmp(ext,"GL_ARB_internalformat_query2")) return gl_arb_internalformat_query2;
- if (!strcmp(ext,"GL_ARB_invalidate_subdata")) return gl_arb_invalidate_subdata;
- if (!strcmp(ext,"GL_ARB_map_buffer_alignment")) return gl_arb_map_buffer_alignment;
- if (!strcmp(ext,"GL_ARB_map_buffer_range")) return gl_arb_map_buffer_range;
- if (!strcmp(ext,"GL_ARB_matrix_palette")) return gl_arb_matrix_palette;
- if (!strcmp(ext,"GL_ARB_multi_bind")) return gl_arb_multi_bind;
- if (!strcmp(ext,"GL_ARB_multi_draw_indirect")) return gl_arb_multi_draw_indirect;
- if (!strcmp(ext,"GL_ARB_multisample")) return gl_arb_multisample;
- 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_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;
- if (!strcmp(ext,"GL_ARB_program_interface_query")) return gl_arb_program_interface_query;
- if (!strcmp(ext,"GL_ARB_provoking_vertex")) return gl_arb_provoking_vertex;
- if (!strcmp(ext,"GL_ARB_query_buffer_object")) return gl_arb_query_buffer_object;
- if (!strcmp(ext,"GL_ARB_robustness")) return gl_arb_robustness;
- if (!strcmp(ext,"GL_ARB_sample_shading")) return gl_arb_sample_shading;
- if (!strcmp(ext,"GL_ARB_sampler_objects")) return gl_arb_sampler_objects;
- if (!strcmp(ext,"GL_ARB_seamless_cube_map")) return gl_arb_seamless_cube_map;
- if (!strcmp(ext,"GL_ARB_separate_shader_objects")) return gl_arb_separate_shader_objects;
- if (!strcmp(ext,"GL_ARB_shader_atomic_counters")) return gl_arb_shader_atomic_counters;
- if (!strcmp(ext,"GL_ARB_shader_image_load_store")) return gl_arb_shader_image_load_store;
- if (!strcmp(ext,"GL_ARB_shader_objects")) return gl_arb_shader_objects;
- if (!strcmp(ext,"GL_ARB_shader_storage_buffer_object")) return gl_arb_shader_storage_buffer_object;
- if (!strcmp(ext,"GL_ARB_shader_subroutine")) return gl_arb_shader_subroutine;
- if (!strcmp(ext,"GL_ARB_shading_language_100")) return gl_arb_shading_language_100;
- 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_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_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;
- if (!strcmp(ext,"GL_ARB_texture_compression")) return gl_arb_texture_compression;
- if (!strcmp(ext,"GL_ARB_texture_compression_bptc")) return gl_arb_texture_compression_bptc;
- if (!strcmp(ext,"GL_ARB_texture_compression_rgtc")) return gl_arb_texture_compression_rgtc;
- if (!strcmp(ext,"GL_ARB_texture_cube_map")) return gl_arb_texture_cube_map;
- if (!strcmp(ext,"GL_ARB_texture_cube_map_array")) return gl_arb_texture_cube_map_array;
- if (!strcmp(ext,"GL_ARB_texture_env_combine")) return gl_arb_texture_env_combine;
- if (!strcmp(ext,"GL_ARB_texture_env_dot3")) return gl_arb_texture_env_dot3;
- if (!strcmp(ext,"GL_ARB_texture_float")) return gl_arb_texture_float;
- if (!strcmp(ext,"GL_ARB_texture_gather")) return gl_arb_texture_gather;
- if (!strcmp(ext,"GL_ARB_texture_mirror_clamp_to_edge")) return gl_arb_texture_mirror_clamp_to_edge;
- if (!strcmp(ext,"GL_ARB_texture_mirrored_repeat")) return gl_arb_texture_mirrored_repeat;
- if (!strcmp(ext,"GL_ARB_texture_multisample")) return gl_arb_texture_multisample;
- if (!strcmp(ext,"GL_ARB_texture_rectangle")) return gl_arb_texture_rectangle;
- if (!strcmp(ext,"GL_ARB_texture_rg")) return gl_arb_texture_rg;
- if (!strcmp(ext,"GL_ARB_texture_rgb10_a2ui")) return gl_arb_texture_rgb10_a2ui;
- if (!strcmp(ext,"GL_ARB_texture_storage")) return gl_arb_texture_storage;
- if (!strcmp(ext,"GL_ARB_texture_storage_multisample")) return gl_arb_texture_storage_multisample;
- if (!strcmp(ext,"GL_ARB_texture_swizzle")) return gl_arb_texture_swizzle;
- if (!strcmp(ext,"GL_ARB_texture_view")) return gl_arb_texture_view;
- if (!strcmp(ext,"GL_ARB_timer_query")) return gl_arb_timer_query;
- 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_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;
- if (!strcmp(ext,"GL_ARB_vertex_attrib_64bit")) return gl_arb_vertex_attrib_64bit;
- if (!strcmp(ext,"GL_ARB_vertex_attrib_binding")) return gl_arb_vertex_attrib_binding;
- if (!strcmp(ext,"GL_ARB_vertex_blend")) return gl_arb_vertex_blend;
- if (!strcmp(ext,"GL_ARB_vertex_buffer_object")) return gl_arb_vertex_buffer_object;
- if (!strcmp(ext,"GL_ARB_vertex_program")) return gl_arb_vertex_program;
- if (!strcmp(ext,"GL_ARB_vertex_shader")) return gl_arb_vertex_shader;
- if (!strcmp(ext,"GL_ARB_vertex_type_2_10_10_10_rev")) return gl_arb_vertex_type_2_10_10_10_rev;
- if (!strcmp(ext,"GL_ARB_viewport_array")) return gl_arb_viewport_array;
- if (!strcmp(ext,"GL_ARB_window_pos")) return gl_arb_window_pos;
- if (!strcmp(ext,"GL_ARM_mali_program_binary")) return gl_arm_mali_program_binary;
- if (!strcmp(ext,"GL_ARM_mali_shader_binary")) return gl_arm_mali_shader_binary;
- if (!strcmp(ext,"GL_ATI_draw_buffers")) return gl_ati_draw_buffers;
- if (!strcmp(ext,"GL_ATI_element_array")) return gl_ati_element_array;
- if (!strcmp(ext,"GL_ATI_envmap_bumpmap")) return gl_ati_envmap_bumpmap;
- if (!strcmp(ext,"GL_ATI_fragment_shader")) return gl_ati_fragment_shader;
- if (!strcmp(ext,"GL_ATI_map_object_buffer")) return gl_ati_map_object_buffer;
- if (!strcmp(ext,"GL_ATI_meminfo")) return gl_ati_meminfo;
- if (!strcmp(ext,"GL_ATI_pn_triangles")) return gl_ati_pn_triangles;
- if (!strcmp(ext,"GL_ATI_separate_stencil")) return gl_ati_separate_stencil;
- if (!strcmp(ext,"GL_ATI_text_fragment_shader")) return gl_ati_text_fragment_shader;
- if (!strcmp(ext,"GL_ATI_texture_compression_3dc")) return gl_ati_texture_compression_3dc;
- if (!strcmp(ext,"GL_ATI_texture_env_combine3")) return gl_ati_texture_env_combine3;
- if (!strcmp(ext,"GL_ATI_texture_float")) return gl_ati_texture_float;
- if (!strcmp(ext,"GL_ATI_texture_mirror_once")) return gl_ati_texture_mirror_once;
- if (!strcmp(ext,"GL_ATI_vertex_array_object")) return gl_ati_vertex_array_object;
- if (!strcmp(ext,"GL_ATI_vertex_attrib_array_object")) return gl_ati_vertex_attrib_array_object;
- if (!strcmp(ext,"GL_ATI_vertex_streams")) return gl_ati_vertex_streams;
- if (!strcmp(ext,"GL_DMP_shader_binary")) return gl_dmp_shader_binary;
- if (!strcmp(ext,"GL_EXT_422_pixels")) return gl_ext_422_pixels;
- if (!strcmp(ext,"GL_EXT_Cg_shader")) return gl_ext_cg_shader;
- if (!strcmp(ext,"GL_EXT_abgr")) return gl_ext_abgr;
- if (!strcmp(ext,"GL_EXT_bgra")) return gl_ext_bgra;
- if (!strcmp(ext,"GL_EXT_bindable_uniform")) return gl_ext_bindable_uniform;
- if (!strcmp(ext,"GL_EXT_blend_color")) return gl_ext_blend_color;
- if (!strcmp(ext,"GL_EXT_blend_equation_separate")) return gl_ext_blend_equation_separate;
- if (!strcmp(ext,"GL_EXT_blend_func_separate")) return gl_ext_blend_func_separate;
- if (!strcmp(ext,"GL_EXT_blend_minmax")) return gl_ext_blend_minmax;
- if (!strcmp(ext,"GL_EXT_blend_subtract")) return gl_ext_blend_subtract;
- if (!strcmp(ext,"GL_EXT_clip_volume_hint")) return gl_ext_clip_volume_hint;
- if (!strcmp(ext,"GL_EXT_cmyka")) return gl_ext_cmyka;
- if (!strcmp(ext,"GL_EXT_color_buffer_half_float")) return gl_ext_color_buffer_half_float;
- if (!strcmp(ext,"GL_EXT_color_subtable")) return gl_ext_color_subtable;
- if (!strcmp(ext,"GL_EXT_compiled_vertex_array")) return gl_ext_compiled_vertex_array;
- if (!strcmp(ext,"GL_EXT_convolution")) return gl_ext_convolution;
- if (!strcmp(ext,"GL_EXT_coordinate_frame")) return gl_ext_coordinate_frame;
- if (!strcmp(ext,"GL_EXT_copy_texture")) return gl_ext_copy_texture;
- if (!strcmp(ext,"GL_EXT_cull_vertex")) return gl_ext_cull_vertex;
- if (!strcmp(ext,"GL_EXT_debug_label")) return gl_ext_debug_label;
- if (!strcmp(ext,"GL_EXT_debug_marker")) return gl_ext_debug_marker;
- if (!strcmp(ext,"GL_EXT_depth_bounds_test")) return gl_ext_depth_bounds_test;
- if (!strcmp(ext,"GL_EXT_direct_state_access")) return gl_ext_direct_state_access;
- if (!strcmp(ext,"GL_EXT_discard_framebuffer")) return gl_ext_discard_framebuffer;
- if (!strcmp(ext,"GL_EXT_disjoint_timer_query")) return gl_ext_disjoint_timer_query;
- if (!strcmp(ext,"GL_EXT_draw_buffers2")) return gl_ext_draw_buffers2;
- if (!strcmp(ext,"GL_EXT_draw_instanced")) return gl_ext_draw_instanced;
- if (!strcmp(ext,"GL_EXT_draw_range_elements")) return gl_ext_draw_range_elements;
- if (!strcmp(ext,"GL_EXT_fog_coord")) return gl_ext_fog_coord;
- if (!strcmp(ext,"GL_EXT_fragment_lighting")) return gl_ext_fragment_lighting;
- if (!strcmp(ext,"GL_EXT_framebuffer_blit")) return gl_ext_framebuffer_blit;
- if (!strcmp(ext,"GL_EXT_framebuffer_multisample")) return gl_ext_framebuffer_multisample;
+ if (!strcmp(ext,"GL_3DFX_multisample")) return gl_3dfx_multisample;
+ if (!strcmp(ext,"GL_3DFX_tbuffer")) return gl_3dfx_tbuffer;
+ if (!strcmp(ext,"GL_3DFX_texture_compression_FXT1")) return gl_3dfx_texture_compression_fxt1;
+ if (!strcmp(ext,"GL_AMD_blend_minmax_factor")) return gl_amd_blend_minmax_factor;
+ if (!strcmp(ext,"GL_AMD_compressed_3DC_texture")) return gl_amd_compressed_3dc_texture;
+ if (!strcmp(ext,"GL_AMD_compressed_ATC_texture")) return gl_amd_compressed_atc_texture;
+ if (!strcmp(ext,"GL_AMD_debug_output")) return gl_amd_debug_output;
+ if (!strcmp(ext,"GL_AMD_depth_clamp_separate")) return gl_amd_depth_clamp_separate;
+ if (!strcmp(ext,"GL_AMD_draw_buffers_blend")) return gl_amd_draw_buffers_blend;
+ if (!strcmp(ext,"GL_AMD_interleaved_elements")) return gl_amd_interleaved_elements;
+ if (!strcmp(ext,"GL_AMD_multi_draw_indirect")) return gl_amd_multi_draw_indirect;
+ if (!strcmp(ext,"GL_AMD_name_gen_delete")) return gl_amd_name_gen_delete;
+ if (!strcmp(ext,"GL_AMD_performance_monitor")) return gl_amd_performance_monitor;
+ if (!strcmp(ext,"GL_AMD_pinned_memory")) return gl_amd_pinned_memory;
+ if (!strcmp(ext,"GL_AMD_program_binary_Z400")) return gl_amd_program_binary_z400;
+ if (!strcmp(ext,"GL_AMD_query_buffer_object")) return gl_amd_query_buffer_object;
+ if (!strcmp(ext,"GL_AMD_sample_positions")) return gl_amd_sample_positions;
+ if (!strcmp(ext,"GL_AMD_seamless_cubemap_per_texture")) return gl_amd_seamless_cubemap_per_texture;
+ if (!strcmp(ext,"GL_AMD_sparse_texture")) return gl_amd_sparse_texture;
+ if (!strcmp(ext,"GL_AMD_stencil_operation_extended")) return gl_amd_stencil_operation_extended;
+ if (!strcmp(ext,"GL_AMD_vertex_shader_tessellator")) return gl_amd_vertex_shader_tessellator;
+ if (!strcmp(ext,"GL_ANGLE_framebuffer_blit")) return gl_angle_framebuffer_blit;
+ if (!strcmp(ext,"GL_ANGLE_framebuffer_multisample")) return gl_angle_framebuffer_multisample;
+ if (!strcmp(ext,"GL_ANGLE_instanced_arrays")) return gl_angle_instanced_arrays;
+ if (!strcmp(ext,"GL_ANGLE_pack_reverse_row_order")) return gl_angle_pack_reverse_row_order;
+ if (!strcmp(ext,"GL_ANGLE_program_binary")) return gl_angle_program_binary;
+ if (!strcmp(ext,"GL_ANGLE_texture_compression_dxt1")) return gl_angle_texture_compression_dxt1;
+ if (!strcmp(ext,"GL_ANGLE_texture_compression_dxt3")) return gl_angle_texture_compression_dxt3;
+ if (!strcmp(ext,"GL_ANGLE_texture_compression_dxt5")) return gl_angle_texture_compression_dxt5;
+ if (!strcmp(ext,"GL_ANGLE_texture_usage")) return gl_angle_texture_usage;
+ if (!strcmp(ext,"GL_ANGLE_timer_query")) return gl_angle_timer_query;
+ if (!strcmp(ext,"GL_ANGLE_translated_shader_source")) return gl_angle_translated_shader_source;
+ if (!strcmp(ext,"GL_APPLE_aux_depth_stencil")) return gl_apple_aux_depth_stencil;
+ if (!strcmp(ext,"GL_APPLE_client_storage")) return gl_apple_client_storage;
+ if (!strcmp(ext,"GL_APPLE_copy_texture_levels")) return gl_apple_copy_texture_levels;
+ if (!strcmp(ext,"GL_APPLE_element_array")) return gl_apple_element_array;
+ if (!strcmp(ext,"GL_APPLE_fence")) return gl_apple_fence;
+ if (!strcmp(ext,"GL_APPLE_float_pixels")) return gl_apple_float_pixels;
+ if (!strcmp(ext,"GL_APPLE_flush_buffer_range")) return gl_apple_flush_buffer_range;
+ if (!strcmp(ext,"GL_APPLE_flush_render")) return gl_apple_flush_render;
+ if (!strcmp(ext,"GL_APPLE_framebuffer_multisample")) return gl_apple_framebuffer_multisample;
+ if (!strcmp(ext,"GL_APPLE_object_purgeable")) return gl_apple_object_purgeable;
+ if (!strcmp(ext,"GL_APPLE_pixel_buffer")) return gl_apple_pixel_buffer;
+ if (!strcmp(ext,"GL_APPLE_rgb_422")) return gl_apple_rgb_422;
+ if (!strcmp(ext,"GL_APPLE_row_bytes")) return gl_apple_row_bytes;
+ if (!strcmp(ext,"GL_APPLE_specular_vector")) return gl_apple_specular_vector;
+ if (!strcmp(ext,"GL_APPLE_sync")) return gl_apple_sync;
+ if (!strcmp(ext,"GL_APPLE_texture_max_level")) return gl_apple_texture_max_level;
+ if (!strcmp(ext,"GL_APPLE_texture_range")) return gl_apple_texture_range;
+ if (!strcmp(ext,"GL_APPLE_transform_hint")) return gl_apple_transform_hint;
+ if (!strcmp(ext,"GL_APPLE_vertex_array_object")) return gl_apple_vertex_array_object;
+ if (!strcmp(ext,"GL_APPLE_vertex_array_range")) return gl_apple_vertex_array_range;
+ 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_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;
+ if (!strcmp(ext,"GL_ARB_blend_func_extended")) return gl_arb_blend_func_extended;
+ if (!strcmp(ext,"GL_ARB_buffer_storage")) return gl_arb_buffer_storage;
+ 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_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_copy_buffer")) return gl_arb_copy_buffer;
+ if (!strcmp(ext,"GL_ARB_copy_image")) return gl_arb_copy_image;
+ 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_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;
+ if (!strcmp(ext,"GL_ARB_draw_indirect")) return gl_arb_draw_indirect;
+ if (!strcmp(ext,"GL_ARB_draw_instanced")) return gl_arb_draw_instanced;
+ if (!strcmp(ext,"GL_ARB_enhanced_layouts")) return gl_arb_enhanced_layouts;
+ if (!strcmp(ext,"GL_ARB_explicit_uniform_location")) return gl_arb_explicit_uniform_location;
+ if (!strcmp(ext,"GL_ARB_fragment_program")) return gl_arb_fragment_program;
+ if (!strcmp(ext,"GL_ARB_fragment_shader")) return gl_arb_fragment_shader;
+ if (!strcmp(ext,"GL_ARB_framebuffer_no_attachments")) return gl_arb_framebuffer_no_attachments;
+ if (!strcmp(ext,"GL_ARB_framebuffer_object")) return gl_arb_framebuffer_object;
+ 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_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;
+ if (!strcmp(ext,"GL_ARB_half_float_vertex")) return gl_arb_half_float_vertex;
+ if (!strcmp(ext,"GL_ARB_imaging")) return gl_arb_imaging;
+ if (!strcmp(ext,"GL_ARB_indirect_parameters")) return gl_arb_indirect_parameters;
+ if (!strcmp(ext,"GL_ARB_instanced_arrays")) return gl_arb_instanced_arrays;
+ if (!strcmp(ext,"GL_ARB_internalformat_query")) return gl_arb_internalformat_query;
+ if (!strcmp(ext,"GL_ARB_internalformat_query2")) return gl_arb_internalformat_query2;
+ if (!strcmp(ext,"GL_ARB_invalidate_subdata")) return gl_arb_invalidate_subdata;
+ if (!strcmp(ext,"GL_ARB_map_buffer_alignment")) return gl_arb_map_buffer_alignment;
+ if (!strcmp(ext,"GL_ARB_map_buffer_range")) return gl_arb_map_buffer_range;
+ if (!strcmp(ext,"GL_ARB_matrix_palette")) return gl_arb_matrix_palette;
+ if (!strcmp(ext,"GL_ARB_multi_bind")) return gl_arb_multi_bind;
+ if (!strcmp(ext,"GL_ARB_multi_draw_indirect")) return gl_arb_multi_draw_indirect;
+ if (!strcmp(ext,"GL_ARB_multisample")) return gl_arb_multisample;
+ 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_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;
+ if (!strcmp(ext,"GL_ARB_program_interface_query")) return gl_arb_program_interface_query;
+ if (!strcmp(ext,"GL_ARB_provoking_vertex")) return gl_arb_provoking_vertex;
+ if (!strcmp(ext,"GL_ARB_query_buffer_object")) return gl_arb_query_buffer_object;
+ if (!strcmp(ext,"GL_ARB_robustness")) return gl_arb_robustness;
+ if (!strcmp(ext,"GL_ARB_sample_shading")) return gl_arb_sample_shading;
+ if (!strcmp(ext,"GL_ARB_sampler_objects")) return gl_arb_sampler_objects;
+ if (!strcmp(ext,"GL_ARB_seamless_cube_map")) return gl_arb_seamless_cube_map;
+ if (!strcmp(ext,"GL_ARB_separate_shader_objects")) return gl_arb_separate_shader_objects;
+ if (!strcmp(ext,"GL_ARB_shader_atomic_counters")) return gl_arb_shader_atomic_counters;
+ if (!strcmp(ext,"GL_ARB_shader_image_load_store")) return gl_arb_shader_image_load_store;
+ if (!strcmp(ext,"GL_ARB_shader_objects")) return gl_arb_shader_objects;
+ if (!strcmp(ext,"GL_ARB_shader_storage_buffer_object")) return gl_arb_shader_storage_buffer_object;
+ if (!strcmp(ext,"GL_ARB_shader_subroutine")) return gl_arb_shader_subroutine;
+ if (!strcmp(ext,"GL_ARB_shading_language_100")) return gl_arb_shading_language_100;
+ 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_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_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;
+ if (!strcmp(ext,"GL_ARB_texture_compression")) return gl_arb_texture_compression;
+ if (!strcmp(ext,"GL_ARB_texture_compression_bptc")) return gl_arb_texture_compression_bptc;
+ if (!strcmp(ext,"GL_ARB_texture_compression_rgtc")) return gl_arb_texture_compression_rgtc;
+ if (!strcmp(ext,"GL_ARB_texture_cube_map")) return gl_arb_texture_cube_map;
+ if (!strcmp(ext,"GL_ARB_texture_cube_map_array")) return gl_arb_texture_cube_map_array;
+ if (!strcmp(ext,"GL_ARB_texture_env_combine")) return gl_arb_texture_env_combine;
+ if (!strcmp(ext,"GL_ARB_texture_env_dot3")) return gl_arb_texture_env_dot3;
+ if (!strcmp(ext,"GL_ARB_texture_float")) return gl_arb_texture_float;
+ if (!strcmp(ext,"GL_ARB_texture_gather")) return gl_arb_texture_gather;
+ if (!strcmp(ext,"GL_ARB_texture_mirror_clamp_to_edge")) return gl_arb_texture_mirror_clamp_to_edge;
+ if (!strcmp(ext,"GL_ARB_texture_mirrored_repeat")) return gl_arb_texture_mirrored_repeat;
+ if (!strcmp(ext,"GL_ARB_texture_multisample")) return gl_arb_texture_multisample;
+ if (!strcmp(ext,"GL_ARB_texture_rectangle")) return gl_arb_texture_rectangle;
+ if (!strcmp(ext,"GL_ARB_texture_rg")) return gl_arb_texture_rg;
+ if (!strcmp(ext,"GL_ARB_texture_rgb10_a2ui")) return gl_arb_texture_rgb10_a2ui;
+ if (!strcmp(ext,"GL_ARB_texture_storage")) return gl_arb_texture_storage;
+ if (!strcmp(ext,"GL_ARB_texture_storage_multisample")) return gl_arb_texture_storage_multisample;
+ if (!strcmp(ext,"GL_ARB_texture_swizzle")) return gl_arb_texture_swizzle;
+ if (!strcmp(ext,"GL_ARB_texture_view")) return gl_arb_texture_view;
+ if (!strcmp(ext,"GL_ARB_timer_query")) return gl_arb_timer_query;
+ 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_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;
+ if (!strcmp(ext,"GL_ARB_vertex_attrib_64bit")) return gl_arb_vertex_attrib_64bit;
+ if (!strcmp(ext,"GL_ARB_vertex_attrib_binding")) return gl_arb_vertex_attrib_binding;
+ if (!strcmp(ext,"GL_ARB_vertex_blend")) return gl_arb_vertex_blend;
+ if (!strcmp(ext,"GL_ARB_vertex_buffer_object")) return gl_arb_vertex_buffer_object;
+ if (!strcmp(ext,"GL_ARB_vertex_program")) return gl_arb_vertex_program;
+ if (!strcmp(ext,"GL_ARB_vertex_shader")) return gl_arb_vertex_shader;
+ if (!strcmp(ext,"GL_ARB_vertex_type_2_10_10_10_rev")) return gl_arb_vertex_type_2_10_10_10_rev;
+ if (!strcmp(ext,"GL_ARB_viewport_array")) return gl_arb_viewport_array;
+ if (!strcmp(ext,"GL_ARB_window_pos")) return gl_arb_window_pos;
+ if (!strcmp(ext,"GL_ARM_mali_program_binary")) return gl_arm_mali_program_binary;
+ if (!strcmp(ext,"GL_ARM_mali_shader_binary")) return gl_arm_mali_shader_binary;
+ if (!strcmp(ext,"GL_ATI_draw_buffers")) return gl_ati_draw_buffers;
+ if (!strcmp(ext,"GL_ATI_element_array")) return gl_ati_element_array;
+ if (!strcmp(ext,"GL_ATI_envmap_bumpmap")) return gl_ati_envmap_bumpmap;
+ if (!strcmp(ext,"GL_ATI_fragment_shader")) return gl_ati_fragment_shader;
+ if (!strcmp(ext,"GL_ATI_map_object_buffer")) return gl_ati_map_object_buffer;
+ if (!strcmp(ext,"GL_ATI_meminfo")) return gl_ati_meminfo;
+ if (!strcmp(ext,"GL_ATI_pn_triangles")) return gl_ati_pn_triangles;
+ if (!strcmp(ext,"GL_ATI_separate_stencil")) return gl_ati_separate_stencil;
+ if (!strcmp(ext,"GL_ATI_text_fragment_shader")) return gl_ati_text_fragment_shader;
+ if (!strcmp(ext,"GL_ATI_texture_compression_3dc")) return gl_ati_texture_compression_3dc;
+ if (!strcmp(ext,"GL_ATI_texture_env_combine3")) return gl_ati_texture_env_combine3;
+ if (!strcmp(ext,"GL_ATI_texture_float")) return gl_ati_texture_float;
+ if (!strcmp(ext,"GL_ATI_texture_mirror_once")) return gl_ati_texture_mirror_once;
+ if (!strcmp(ext,"GL_ATI_vertex_array_object")) return gl_ati_vertex_array_object;
+ if (!strcmp(ext,"GL_ATI_vertex_attrib_array_object")) return gl_ati_vertex_attrib_array_object;
+ if (!strcmp(ext,"GL_ATI_vertex_streams")) return gl_ati_vertex_streams;
+ if (!strcmp(ext,"GL_DMP_shader_binary")) return gl_dmp_shader_binary;
+ if (!strcmp(ext,"GL_EXT_422_pixels")) return gl_ext_422_pixels;
+ if (!strcmp(ext,"GL_EXT_Cg_shader")) return gl_ext_cg_shader;
+ if (!strcmp(ext,"GL_EXT_abgr")) return gl_ext_abgr;
+ if (!strcmp(ext,"GL_EXT_bgra")) return gl_ext_bgra;
+ if (!strcmp(ext,"GL_EXT_bindable_uniform")) return gl_ext_bindable_uniform;
+ if (!strcmp(ext,"GL_EXT_blend_color")) return gl_ext_blend_color;
+ if (!strcmp(ext,"GL_EXT_blend_equation_separate")) return gl_ext_blend_equation_separate;
+ if (!strcmp(ext,"GL_EXT_blend_func_separate")) return gl_ext_blend_func_separate;
+ if (!strcmp(ext,"GL_EXT_blend_minmax")) return gl_ext_blend_minmax;
+ if (!strcmp(ext,"GL_EXT_blend_subtract")) return gl_ext_blend_subtract;
+ if (!strcmp(ext,"GL_EXT_clip_volume_hint")) return gl_ext_clip_volume_hint;
+ if (!strcmp(ext,"GL_EXT_cmyka")) return gl_ext_cmyka;
+ if (!strcmp(ext,"GL_EXT_color_buffer_half_float")) return gl_ext_color_buffer_half_float;
+ if (!strcmp(ext,"GL_EXT_color_subtable")) return gl_ext_color_subtable;
+ if (!strcmp(ext,"GL_EXT_compiled_vertex_array")) return gl_ext_compiled_vertex_array;
+ if (!strcmp(ext,"GL_EXT_convolution")) return gl_ext_convolution;
+ if (!strcmp(ext,"GL_EXT_coordinate_frame")) return gl_ext_coordinate_frame;
+ if (!strcmp(ext,"GL_EXT_copy_texture")) return gl_ext_copy_texture;
+ if (!strcmp(ext,"GL_EXT_cull_vertex")) return gl_ext_cull_vertex;
+ if (!strcmp(ext,"GL_EXT_debug_label")) return gl_ext_debug_label;
+ if (!strcmp(ext,"GL_EXT_debug_marker")) return gl_ext_debug_marker;
+ if (!strcmp(ext,"GL_EXT_depth_bounds_test")) return gl_ext_depth_bounds_test;
+ if (!strcmp(ext,"GL_EXT_direct_state_access")) return gl_ext_direct_state_access;
+ if (!strcmp(ext,"GL_EXT_discard_framebuffer")) return gl_ext_discard_framebuffer;
+ if (!strcmp(ext,"GL_EXT_disjoint_timer_query")) return gl_ext_disjoint_timer_query;
+ if (!strcmp(ext,"GL_EXT_draw_buffers2")) return gl_ext_draw_buffers2;
+ if (!strcmp(ext,"GL_EXT_draw_instanced")) return gl_ext_draw_instanced;
+ if (!strcmp(ext,"GL_EXT_draw_range_elements")) return gl_ext_draw_range_elements;
+ if (!strcmp(ext,"GL_EXT_fog_coord")) return gl_ext_fog_coord;
+ if (!strcmp(ext,"GL_EXT_fragment_lighting")) return gl_ext_fragment_lighting;
+ if (!strcmp(ext,"GL_EXT_framebuffer_blit")) return gl_ext_framebuffer_blit;
+ if (!strcmp(ext,"GL_EXT_framebuffer_multisample")) return gl_ext_framebuffer_multisample;
if (!strcmp(ext,"GL_EXT_framebuffer_multisample_blit_scaled")) return gl_ext_framebuffer_multisample_blit_scaled;
- if (!strcmp(ext,"GL_EXT_framebuffer_object")) return gl_ext_framebuffer_object;
- if (!strcmp(ext,"GL_EXT_framebuffer_sRGB")) return gl_ext_framebuffer_srgb;
- if (!strcmp(ext,"GL_EXT_geometry_shader4")) return gl_ext_geometry_shader4;
- if (!strcmp(ext,"GL_EXT_gpu_program_parameters")) return gl_ext_gpu_program_parameters;
- if (!strcmp(ext,"GL_EXT_gpu_shader4")) return gl_ext_gpu_shader4;
- if (!strcmp(ext,"GL_EXT_histogram")) return gl_ext_histogram;
- if (!strcmp(ext,"GL_EXT_index_func")) return gl_ext_index_func;
- if (!strcmp(ext,"GL_EXT_index_material")) return gl_ext_index_material;
- if (!strcmp(ext,"GL_EXT_light_texture")) return gl_ext_light_texture;
- if (!strcmp(ext,"GL_EXT_map_buffer_range")) return gl_ext_map_buffer_range;
- if (!strcmp(ext,"GL_EXT_multi_draw_arrays")) return gl_ext_multi_draw_arrays;
- if (!strcmp(ext,"GL_EXT_multisample")) return gl_ext_multisample;
- if (!strcmp(ext,"GL_EXT_multisampled_render_to_texture")) return gl_ext_multisampled_render_to_texture;
- if (!strcmp(ext,"GL_EXT_multiview_draw_buffers")) return gl_ext_multiview_draw_buffers;
- if (!strcmp(ext,"GL_EXT_occlusion_query_boolean")) return gl_ext_occlusion_query_boolean;
- if (!strcmp(ext,"GL_EXT_packed_depth_stencil")) return gl_ext_packed_depth_stencil;
- if (!strcmp(ext,"GL_EXT_packed_float")) return gl_ext_packed_float;
- if (!strcmp(ext,"GL_EXT_packed_pixels")) return gl_ext_packed_pixels;
- if (!strcmp(ext,"GL_EXT_paletted_texture")) return gl_ext_paletted_texture;
- if (!strcmp(ext,"GL_EXT_pixel_buffer_object")) return gl_ext_pixel_buffer_object;
- if (!strcmp(ext,"GL_EXT_pixel_transform")) return gl_ext_pixel_transform;
- if (!strcmp(ext,"GL_EXT_point_parameters")) return gl_ext_point_parameters;
- if (!strcmp(ext,"GL_EXT_polygon_offset")) return gl_ext_polygon_offset;
- if (!strcmp(ext,"GL_EXT_provoking_vertex")) return gl_ext_provoking_vertex;
- if (!strcmp(ext,"GL_EXT_read_format_bgra")) return gl_ext_read_format_bgra;
- if (!strcmp(ext,"GL_EXT_rescale_normal")) return gl_ext_rescale_normal;
- if (!strcmp(ext,"GL_EXT_robustness")) return gl_ext_robustness;
- if (!strcmp(ext,"GL_EXT_sRGB")) return gl_ext_srgb;
- if (!strcmp(ext,"GL_EXT_scene_marker")) return gl_ext_scene_marker;
- if (!strcmp(ext,"GL_EXT_secondary_color")) return gl_ext_secondary_color;
- if (!strcmp(ext,"GL_EXT_separate_shader_objects")) return gl_ext_separate_shader_objects;
- if (!strcmp(ext,"GL_EXT_separate_specular_color")) return gl_ext_separate_specular_color;
- if (!strcmp(ext,"GL_EXT_shader_framebuffer_fetch")) return gl_ext_shader_framebuffer_fetch;
- if (!strcmp(ext,"GL_EXT_shader_image_load_store")) return gl_ext_shader_image_load_store;
- if (!strcmp(ext,"GL_EXT_shadow_samplers")) return gl_ext_shadow_samplers;
- if (!strcmp(ext,"GL_EXT_shared_texture_palette")) return gl_ext_shared_texture_palette;
- if (!strcmp(ext,"GL_EXT_stencil_clear_tag")) return gl_ext_stencil_clear_tag;
- if (!strcmp(ext,"GL_EXT_stencil_two_side")) return gl_ext_stencil_two_side;
- if (!strcmp(ext,"GL_EXT_stencil_wrap")) return gl_ext_stencil_wrap;
- if (!strcmp(ext,"GL_EXT_subtexture")) return gl_ext_subtexture;
- if (!strcmp(ext,"GL_EXT_texture")) return gl_ext_texture;
- if (!strcmp(ext,"GL_EXT_texture3D")) return gl_ext_texture3d;
- if (!strcmp(ext,"GL_EXT_texture_array")) return gl_ext_texture_array;
- if (!strcmp(ext,"GL_EXT_texture_buffer_object")) return gl_ext_texture_buffer_object;
- if (!strcmp(ext,"GL_EXT_texture_compression_latc")) return gl_ext_texture_compression_latc;
- if (!strcmp(ext,"GL_EXT_texture_compression_rgtc")) return gl_ext_texture_compression_rgtc;
- if (!strcmp(ext,"GL_EXT_texture_compression_s3tc")) return gl_ext_texture_compression_s3tc;
- if (!strcmp(ext,"GL_EXT_texture_cube_map")) return gl_ext_texture_cube_map;
- if (!strcmp(ext,"GL_EXT_texture_edge_clamp")) return gl_ext_texture_edge_clamp;
- if (!strcmp(ext,"GL_EXT_texture_env_combine")) return gl_ext_texture_env_combine;
- if (!strcmp(ext,"GL_EXT_texture_env_dot3")) return gl_ext_texture_env_dot3;
- if (!strcmp(ext,"GL_EXT_texture_filter_anisotropic")) return gl_ext_texture_filter_anisotropic;
- if (!strcmp(ext,"GL_EXT_texture_format_BGRA8888")) return gl_ext_texture_format_bgra8888;
- if (!strcmp(ext,"GL_EXT_texture_integer")) return gl_ext_texture_integer;
- if (!strcmp(ext,"GL_EXT_texture_lod_bias")) return gl_ext_texture_lod_bias;
- if (!strcmp(ext,"GL_EXT_texture_mirror_clamp")) return gl_ext_texture_mirror_clamp;
- if (!strcmp(ext,"GL_EXT_texture_object")) return gl_ext_texture_object;
- if (!strcmp(ext,"GL_EXT_texture_perturb_normal")) return gl_ext_texture_perturb_normal;
- if (!strcmp(ext,"GL_EXT_texture_rectangle")) return gl_ext_texture_rectangle;
- if (!strcmp(ext,"GL_EXT_texture_rg")) return gl_ext_texture_rg;
- if (!strcmp(ext,"GL_EXT_texture_sRGB")) return gl_ext_texture_srgb;
- if (!strcmp(ext,"GL_EXT_texture_sRGB_decode")) return gl_ext_texture_srgb_decode;
- if (!strcmp(ext,"GL_EXT_texture_shared_exponent")) return gl_ext_texture_shared_exponent;
- if (!strcmp(ext,"GL_EXT_texture_snorm")) return gl_ext_texture_snorm;
- if (!strcmp(ext,"GL_EXT_texture_storage")) return gl_ext_texture_storage;
- if (!strcmp(ext,"GL_EXT_texture_swizzle")) return gl_ext_texture_swizzle;
- if (!strcmp(ext,"GL_EXT_texture_type_2_10_10_10_REV")) return gl_ext_texture_type_2_10_10_10_rev;
- if (!strcmp(ext,"GL_EXT_timer_query")) return gl_ext_timer_query;
- if (!strcmp(ext,"GL_EXT_transform_feedback")) return gl_ext_transform_feedback;
- if (!strcmp(ext,"GL_EXT_unpack_subimage")) return gl_ext_unpack_subimage;
- if (!strcmp(ext,"GL_EXT_vertex_array")) return gl_ext_vertex_array;
- if (!strcmp(ext,"GL_EXT_vertex_attrib_64bit")) return gl_ext_vertex_attrib_64bit;
- if (!strcmp(ext,"GL_EXT_vertex_shader")) return gl_ext_vertex_shader;
- if (!strcmp(ext,"GL_EXT_vertex_weighting")) return gl_ext_vertex_weighting;
- if (!strcmp(ext,"GL_EXT_x11_sync_object")) return gl_ext_x11_sync_object;
- if (!strcmp(ext,"GL_FJ_shader_binary_GCCSO")) return gl_fj_shader_binary_gccso;
- if (!strcmp(ext,"GL_GREMEDY_frame_terminator")) return gl_gremedy_frame_terminator;
- if (!strcmp(ext,"GL_GREMEDY_string_marker")) return gl_gremedy_string_marker;
- if (!strcmp(ext,"GL_HP_image_transform")) return gl_hp_image_transform;
- if (!strcmp(ext,"GL_HP_occlusion_test")) return gl_hp_occlusion_test;
- if (!strcmp(ext,"GL_IBM_cull_vertex")) return gl_ibm_cull_vertex;
- if (!strcmp(ext,"GL_IBM_multimode_draw_arrays")) return gl_ibm_multimode_draw_arrays;
- if (!strcmp(ext,"GL_IBM_rasterpos_clip")) return gl_ibm_rasterpos_clip;
- if (!strcmp(ext,"GL_IBM_static_data")) return gl_ibm_static_data;
- if (!strcmp(ext,"GL_IBM_texture_mirrored_repeat")) return gl_ibm_texture_mirrored_repeat;
- if (!strcmp(ext,"GL_IBM_vertex_array_lists")) return gl_ibm_vertex_array_lists;
- if (!strcmp(ext,"GL_IMG_multisampled_render_to_texture")) return gl_img_multisampled_render_to_texture;
- if (!strcmp(ext,"GL_IMG_program_binary")) return gl_img_program_binary;
- if (!strcmp(ext,"GL_IMG_read_format")) return gl_img_read_format;
- if (!strcmp(ext,"GL_IMG_shader_binary")) return gl_img_shader_binary;
- if (!strcmp(ext,"GL_IMG_texture_compression_pvrtc")) return gl_img_texture_compression_pvrtc;
- if (!strcmp(ext,"GL_IMG_texture_compression_pvrtc2")) return gl_img_texture_compression_pvrtc2;
+ if (!strcmp(ext,"GL_EXT_framebuffer_object")) return gl_ext_framebuffer_object;
+ if (!strcmp(ext,"GL_EXT_framebuffer_sRGB")) return gl_ext_framebuffer_srgb;
+ if (!strcmp(ext,"GL_EXT_geometry_shader4")) return gl_ext_geometry_shader4;
+ if (!strcmp(ext,"GL_EXT_gpu_program_parameters")) return gl_ext_gpu_program_parameters;
+ if (!strcmp(ext,"GL_EXT_gpu_shader4")) return gl_ext_gpu_shader4;
+ if (!strcmp(ext,"GL_EXT_histogram")) return gl_ext_histogram;
+ if (!strcmp(ext,"GL_EXT_index_func")) return gl_ext_index_func;
+ if (!strcmp(ext,"GL_EXT_index_material")) return gl_ext_index_material;
+ if (!strcmp(ext,"GL_EXT_light_texture")) return gl_ext_light_texture;
+ if (!strcmp(ext,"GL_EXT_map_buffer_range")) return gl_ext_map_buffer_range;
+ if (!strcmp(ext,"GL_EXT_multi_draw_arrays")) return gl_ext_multi_draw_arrays;
+ if (!strcmp(ext,"GL_EXT_multisample")) return gl_ext_multisample;
+ if (!strcmp(ext,"GL_EXT_multisampled_render_to_texture")) return gl_ext_multisampled_render_to_texture;
+ if (!strcmp(ext,"GL_EXT_multiview_draw_buffers")) return gl_ext_multiview_draw_buffers;
+ if (!strcmp(ext,"GL_EXT_occlusion_query_boolean")) return gl_ext_occlusion_query_boolean;
+ if (!strcmp(ext,"GL_EXT_packed_depth_stencil")) return gl_ext_packed_depth_stencil;
+ if (!strcmp(ext,"GL_EXT_packed_float")) return gl_ext_packed_float;
+ if (!strcmp(ext,"GL_EXT_packed_pixels")) return gl_ext_packed_pixels;
+ if (!strcmp(ext,"GL_EXT_paletted_texture")) return gl_ext_paletted_texture;
+ if (!strcmp(ext,"GL_EXT_pixel_buffer_object")) return gl_ext_pixel_buffer_object;
+ if (!strcmp(ext,"GL_EXT_pixel_transform")) return gl_ext_pixel_transform;
+ if (!strcmp(ext,"GL_EXT_point_parameters")) return gl_ext_point_parameters;
+ if (!strcmp(ext,"GL_EXT_polygon_offset")) return gl_ext_polygon_offset;
+ if (!strcmp(ext,"GL_EXT_provoking_vertex")) return gl_ext_provoking_vertex;
+ if (!strcmp(ext,"GL_EXT_read_format_bgra")) return gl_ext_read_format_bgra;
+ if (!strcmp(ext,"GL_EXT_rescale_normal")) return gl_ext_rescale_normal;
+ if (!strcmp(ext,"GL_EXT_robustness")) return gl_ext_robustness;
+ if (!strcmp(ext,"GL_EXT_sRGB")) return gl_ext_srgb;
+ if (!strcmp(ext,"GL_EXT_scene_marker")) return gl_ext_scene_marker;
+ if (!strcmp(ext,"GL_EXT_secondary_color")) return gl_ext_secondary_color;
+ if (!strcmp(ext,"GL_EXT_separate_shader_objects")) return gl_ext_separate_shader_objects;
+ if (!strcmp(ext,"GL_EXT_separate_specular_color")) return gl_ext_separate_specular_color;
+ if (!strcmp(ext,"GL_EXT_shader_framebuffer_fetch")) return gl_ext_shader_framebuffer_fetch;
+ if (!strcmp(ext,"GL_EXT_shader_image_load_store")) return gl_ext_shader_image_load_store;
+ if (!strcmp(ext,"GL_EXT_shadow_samplers")) return gl_ext_shadow_samplers;
+ if (!strcmp(ext,"GL_EXT_shared_texture_palette")) return gl_ext_shared_texture_palette;
+ if (!strcmp(ext,"GL_EXT_stencil_clear_tag")) return gl_ext_stencil_clear_tag;
+ if (!strcmp(ext,"GL_EXT_stencil_two_side")) return gl_ext_stencil_two_side;
+ if (!strcmp(ext,"GL_EXT_stencil_wrap")) return gl_ext_stencil_wrap;
+ if (!strcmp(ext,"GL_EXT_subtexture")) return gl_ext_subtexture;
+ if (!strcmp(ext,"GL_EXT_texture")) return gl_ext_texture;
+ if (!strcmp(ext,"GL_EXT_texture3D")) return gl_ext_texture3d;
+ if (!strcmp(ext,"GL_EXT_texture_array")) return gl_ext_texture_array;
+ if (!strcmp(ext,"GL_EXT_texture_buffer_object")) return gl_ext_texture_buffer_object;
+ if (!strcmp(ext,"GL_EXT_texture_compression_latc")) return gl_ext_texture_compression_latc;
+ if (!strcmp(ext,"GL_EXT_texture_compression_rgtc")) return gl_ext_texture_compression_rgtc;
+ if (!strcmp(ext,"GL_EXT_texture_compression_s3tc")) return gl_ext_texture_compression_s3tc;
+ if (!strcmp(ext,"GL_EXT_texture_cube_map")) return gl_ext_texture_cube_map;
+ if (!strcmp(ext,"GL_EXT_texture_edge_clamp")) return gl_ext_texture_edge_clamp;
+ if (!strcmp(ext,"GL_EXT_texture_env_combine")) return gl_ext_texture_env_combine;
+ if (!strcmp(ext,"GL_EXT_texture_env_dot3")) return gl_ext_texture_env_dot3;
+ if (!strcmp(ext,"GL_EXT_texture_filter_anisotropic")) return gl_ext_texture_filter_anisotropic;
+ if (!strcmp(ext,"GL_EXT_texture_format_BGRA8888")) return gl_ext_texture_format_bgra8888;
+ if (!strcmp(ext,"GL_EXT_texture_integer")) return gl_ext_texture_integer;
+ if (!strcmp(ext,"GL_EXT_texture_lod_bias")) return gl_ext_texture_lod_bias;
+ if (!strcmp(ext,"GL_EXT_texture_mirror_clamp")) return gl_ext_texture_mirror_clamp;
+ if (!strcmp(ext,"GL_EXT_texture_object")) return gl_ext_texture_object;
+ if (!strcmp(ext,"GL_EXT_texture_perturb_normal")) return gl_ext_texture_perturb_normal;
+ if (!strcmp(ext,"GL_EXT_texture_rectangle")) return gl_ext_texture_rectangle;
+ if (!strcmp(ext,"GL_EXT_texture_rg")) return gl_ext_texture_rg;
+ if (!strcmp(ext,"GL_EXT_texture_sRGB")) return gl_ext_texture_srgb;
+ if (!strcmp(ext,"GL_EXT_texture_sRGB_decode")) return gl_ext_texture_srgb_decode;
+ if (!strcmp(ext,"GL_EXT_texture_shared_exponent")) return gl_ext_texture_shared_exponent;
+ if (!strcmp(ext,"GL_EXT_texture_snorm")) return gl_ext_texture_snorm;
+ if (!strcmp(ext,"GL_EXT_texture_storage")) return gl_ext_texture_storage;
+ if (!strcmp(ext,"GL_EXT_texture_swizzle")) return gl_ext_texture_swizzle;
+ if (!strcmp(ext,"GL_EXT_texture_type_2_10_10_10_REV")) return gl_ext_texture_type_2_10_10_10_rev;
+ if (!strcmp(ext,"GL_EXT_timer_query")) return gl_ext_timer_query;
+ if (!strcmp(ext,"GL_EXT_transform_feedback")) return gl_ext_transform_feedback;
+ if (!strcmp(ext,"GL_EXT_unpack_subimage")) return gl_ext_unpack_subimage;
+ if (!strcmp(ext,"GL_EXT_vertex_array")) return gl_ext_vertex_array;
+ if (!strcmp(ext,"GL_EXT_vertex_attrib_64bit")) return gl_ext_vertex_attrib_64bit;
+ if (!strcmp(ext,"GL_EXT_vertex_shader")) return gl_ext_vertex_shader;
+ if (!strcmp(ext,"GL_EXT_vertex_weighting")) return gl_ext_vertex_weighting;
+ if (!strcmp(ext,"GL_EXT_x11_sync_object")) return gl_ext_x11_sync_object;
+ if (!strcmp(ext,"GL_FJ_shader_binary_GCCSO")) return gl_fj_shader_binary_gccso;
+ if (!strcmp(ext,"GL_GREMEDY_frame_terminator")) return gl_gremedy_frame_terminator;
+ if (!strcmp(ext,"GL_GREMEDY_string_marker")) return gl_gremedy_string_marker;
+ if (!strcmp(ext,"GL_HP_image_transform")) return gl_hp_image_transform;
+ if (!strcmp(ext,"GL_HP_occlusion_test")) return gl_hp_occlusion_test;
+ if (!strcmp(ext,"GL_IBM_cull_vertex")) return gl_ibm_cull_vertex;
+ if (!strcmp(ext,"GL_IBM_multimode_draw_arrays")) return gl_ibm_multimode_draw_arrays;
+ if (!strcmp(ext,"GL_IBM_rasterpos_clip")) return gl_ibm_rasterpos_clip;
+ if (!strcmp(ext,"GL_IBM_static_data")) return gl_ibm_static_data;
+ if (!strcmp(ext,"GL_IBM_texture_mirrored_repeat")) return gl_ibm_texture_mirrored_repeat;
+ if (!strcmp(ext,"GL_IBM_vertex_array_lists")) return gl_ibm_vertex_array_lists;
+ if (!strcmp(ext,"GL_IMG_multisampled_render_to_texture")) return gl_img_multisampled_render_to_texture;
+ if (!strcmp(ext,"GL_IMG_program_binary")) return gl_img_program_binary;
+ if (!strcmp(ext,"GL_IMG_read_format")) return gl_img_read_format;
+ if (!strcmp(ext,"GL_IMG_shader_binary")) return gl_img_shader_binary;
+ if (!strcmp(ext,"GL_IMG_texture_compression_pvrtc")) return gl_img_texture_compression_pvrtc;
+ if (!strcmp(ext,"GL_IMG_texture_compression_pvrtc2")) return gl_img_texture_compression_pvrtc2;
if (!strcmp(ext,"GL_IMG_texture_env_enhanced_fixed_function")) return gl_img_texture_env_enhanced_fixed_function;
- if (!strcmp(ext,"GL_IMG_user_clip_plane")) return gl_img_user_clip_plane;
- if (!strcmp(ext,"GL_INGR_blend_func_separate")) return gl_ingr_blend_func_separate;
- if (!strcmp(ext,"GL_INGR_color_clamp")) return gl_ingr_color_clamp;
- if (!strcmp(ext,"GL_INGR_interlace_read")) return gl_ingr_interlace_read;
- 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_debug")) return gl_khr_debug;
- 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;
- if (!strcmp(ext,"GL_MESA_pack_invert")) return gl_mesa_pack_invert;
- if (!strcmp(ext,"GL_MESA_resize_buffers")) return gl_mesa_resize_buffers;
- if (!strcmp(ext,"GL_MESA_window_pos")) return gl_mesa_window_pos;
- if (!strcmp(ext,"GL_MESA_ycbcr_texture")) return gl_mesa_ycbcr_texture;
- if (!strcmp(ext,"GL_NVX_conditional_render")) return gl_nvx_conditional_render;
- if (!strcmp(ext,"GL_NVX_gpu_memory_info")) return gl_nvx_gpu_memory_info;
- if (!strcmp(ext,"GL_NV_3dvision_settings")) return gl_nv_3dvision_settings;
- if (!strcmp(ext,"GL_NV_bgr")) return gl_nv_bgr;
- if (!strcmp(ext,"GL_NV_bindless_texture")) return gl_nv_bindless_texture;
- if (!strcmp(ext,"GL_NV_blend_equation_advanced")) return gl_nv_blend_equation_advanced;
- if (!strcmp(ext,"GL_NV_blend_square")) return gl_nv_blend_square;
- if (!strcmp(ext,"GL_NV_compute_program5")) return gl_nv_compute_program5;
- if (!strcmp(ext,"GL_NV_conditional_render")) return gl_nv_conditional_render;
- if (!strcmp(ext,"GL_NV_copy_buffer")) return gl_nv_copy_buffer;
- if (!strcmp(ext,"GL_NV_copy_depth_to_color")) return gl_nv_copy_depth_to_color;
- if (!strcmp(ext,"GL_NV_copy_image")) return gl_nv_copy_image;
- if (!strcmp(ext,"GL_NV_coverage_sample")) return gl_nv_coverage_sample;
- if (!strcmp(ext,"GL_NV_deep_texture3D")) return gl_nv_deep_texture3d;
- if (!strcmp(ext,"GL_NV_depth_buffer_float")) return gl_nv_depth_buffer_float;
- if (!strcmp(ext,"GL_NV_depth_clamp")) return gl_nv_depth_clamp;
- if (!strcmp(ext,"GL_NV_depth_nonlinear")) return gl_nv_depth_nonlinear;
- if (!strcmp(ext,"GL_NV_depth_range_unclamped")) return gl_nv_depth_range_unclamped;
- if (!strcmp(ext,"GL_NV_draw_buffers")) return gl_nv_draw_buffers;
- if (!strcmp(ext,"GL_NV_draw_texture")) return gl_nv_draw_texture;
- if (!strcmp(ext,"GL_NV_evaluators")) return gl_nv_evaluators;
- if (!strcmp(ext,"GL_NV_explicit_multisample")) return gl_nv_explicit_multisample;
- if (!strcmp(ext,"GL_NV_fbo_color_attachments")) return gl_nv_fbo_color_attachments;
- if (!strcmp(ext,"GL_NV_fence")) return gl_nv_fence;
- if (!strcmp(ext,"GL_NV_float_buffer")) return gl_nv_float_buffer;
- if (!strcmp(ext,"GL_NV_fog_distance")) return gl_nv_fog_distance;
- if (!strcmp(ext,"GL_NV_fragment_program")) return gl_nv_fragment_program;
- if (!strcmp(ext,"GL_NV_fragment_program2")) return gl_nv_fragment_program2;
- if (!strcmp(ext,"GL_NV_framebuffer_blit")) return gl_nv_framebuffer_blit;
- if (!strcmp(ext,"GL_NV_framebuffer_multisample")) return gl_nv_framebuffer_multisample;
- if (!strcmp(ext,"GL_NV_framebuffer_multisample_coverage")) return gl_nv_framebuffer_multisample_coverage;
- if (!strcmp(ext,"GL_NV_geometry_program4")) return gl_nv_geometry_program4;
- if (!strcmp(ext,"GL_NV_gpu_program4")) return gl_nv_gpu_program4;
- if (!strcmp(ext,"GL_NV_gpu_program5")) return gl_nv_gpu_program5;
- if (!strcmp(ext,"GL_NV_gpu_shader5")) return gl_nv_gpu_shader5;
- if (!strcmp(ext,"GL_NV_half_float")) return gl_nv_half_float;
- if (!strcmp(ext,"GL_NV_instanced_arrays")) return gl_nv_instanced_arrays;
- if (!strcmp(ext,"GL_NV_light_max_exponent")) return gl_nv_light_max_exponent;
- if (!strcmp(ext,"GL_NV_multisample_coverage")) return gl_nv_multisample_coverage;
- if (!strcmp(ext,"GL_NV_multisample_filter_hint")) return gl_nv_multisample_filter_hint;
- if (!strcmp(ext,"GL_NV_non_square_matrices")) return gl_nv_non_square_matrices;
- if (!strcmp(ext,"GL_NV_occlusion_query")) return gl_nv_occlusion_query;
- if (!strcmp(ext,"GL_NV_pack_subimage")) return gl_nv_pack_subimage;
- if (!strcmp(ext,"GL_NV_packed_depth_stencil")) return gl_nv_packed_depth_stencil;
- if (!strcmp(ext,"GL_NV_packed_float_linear")) return gl_nv_packed_float_linear;
- if (!strcmp(ext,"GL_NV_parameter_buffer_object")) return gl_nv_parameter_buffer_object;
- if (!strcmp(ext,"GL_NV_path_rendering")) return gl_nv_path_rendering;
- if (!strcmp(ext,"GL_NV_pixel_buffer_object")) return gl_nv_pixel_buffer_object;
- if (!strcmp(ext,"GL_NV_pixel_data_range")) return gl_nv_pixel_data_range;
- if (!strcmp(ext,"GL_NV_platform_binary")) return gl_nv_platform_binary;
- if (!strcmp(ext,"GL_NV_point_sprite")) return gl_nv_point_sprite;
- if (!strcmp(ext,"GL_NV_present_video")) return gl_nv_present_video;
- if (!strcmp(ext,"GL_NV_primitive_restart")) return gl_nv_primitive_restart;
- if (!strcmp(ext,"GL_NV_read_buffer")) return gl_nv_read_buffer;
- if (!strcmp(ext,"GL_NV_read_buffer_front")) return gl_nv_read_buffer_front;
- if (!strcmp(ext,"GL_NV_register_combiners")) return gl_nv_register_combiners;
- if (!strcmp(ext,"GL_NV_register_combiners2")) return gl_nv_register_combiners2;
- if (!strcmp(ext,"GL_NV_sRGB_formats")) return gl_nv_srgb_formats;
- if (!strcmp(ext,"GL_NV_shader_buffer_load")) return gl_nv_shader_buffer_load;
- if (!strcmp(ext,"GL_NV_shadow_samplers_array")) return gl_nv_shadow_samplers_array;
- if (!strcmp(ext,"GL_NV_shadow_samplers_cube")) return gl_nv_shadow_samplers_cube;
- if (!strcmp(ext,"GL_NV_tessellation_program5")) return gl_nv_tessellation_program5;
- if (!strcmp(ext,"GL_NV_texgen_emboss")) return gl_nv_texgen_emboss;
- if (!strcmp(ext,"GL_NV_texgen_reflection")) return gl_nv_texgen_reflection;
- if (!strcmp(ext,"GL_NV_texture_array")) return gl_nv_texture_array;
- if (!strcmp(ext,"GL_NV_texture_barrier")) return gl_nv_texture_barrier;
- if (!strcmp(ext,"GL_NV_texture_border_clamp")) return gl_nv_texture_border_clamp;
- if (!strcmp(ext,"GL_NV_texture_compression_latc")) return gl_nv_texture_compression_latc;
- if (!strcmp(ext,"GL_NV_texture_compression_s3tc")) return gl_nv_texture_compression_s3tc;
- if (!strcmp(ext,"GL_NV_texture_env_combine4")) return gl_nv_texture_env_combine4;
- if (!strcmp(ext,"GL_NV_texture_expand_normal")) return gl_nv_texture_expand_normal;
- if (!strcmp(ext,"GL_NV_texture_multisample")) return gl_nv_texture_multisample;
- if (!strcmp(ext,"GL_NV_texture_rectangle")) return gl_nv_texture_rectangle;
- if (!strcmp(ext,"GL_NV_texture_shader")) return gl_nv_texture_shader;
- if (!strcmp(ext,"GL_NV_texture_shader2")) return gl_nv_texture_shader2;
- if (!strcmp(ext,"GL_NV_texture_shader3")) return gl_nv_texture_shader3;
- if (!strcmp(ext,"GL_NV_transform_feedback")) return gl_nv_transform_feedback;
- if (!strcmp(ext,"GL_NV_transform_feedback2")) return gl_nv_transform_feedback2;
- if (!strcmp(ext,"GL_NV_vdpau_interop")) return gl_nv_vdpau_interop;
- if (!strcmp(ext,"GL_NV_vertex_array_range")) return gl_nv_vertex_array_range;
- if (!strcmp(ext,"GL_NV_vertex_array_range2")) return gl_nv_vertex_array_range2;
- if (!strcmp(ext,"GL_NV_vertex_attrib_integer_64bit")) return gl_nv_vertex_attrib_integer_64bit;
- if (!strcmp(ext,"GL_NV_vertex_buffer_unified_memory")) return gl_nv_vertex_buffer_unified_memory;
- if (!strcmp(ext,"GL_NV_vertex_program")) return gl_nv_vertex_program;
- if (!strcmp(ext,"GL_NV_vertex_program2_option")) return gl_nv_vertex_program2_option;
- if (!strcmp(ext,"GL_NV_vertex_program3")) return gl_nv_vertex_program3;
- if (!strcmp(ext,"GL_NV_vertex_program4")) return gl_nv_vertex_program4;
- if (!strcmp(ext,"GL_NV_video_capture")) return gl_nv_video_capture;
- if (!strcmp(ext,"GL_OES_EGL_image_external")) return gl_oes_egl_image_external;
- if (!strcmp(ext,"GL_OES_blend_equation_separate")) return gl_oes_blend_equation_separate;
- if (!strcmp(ext,"GL_OES_blend_func_separate")) return gl_oes_blend_func_separate;
- if (!strcmp(ext,"GL_OES_blend_subtract")) return gl_oes_blend_subtract;
- if (!strcmp(ext,"GL_OES_compressed_ETC1_RGB8_texture")) return gl_oes_compressed_etc1_rgb8_texture;
- if (!strcmp(ext,"GL_OES_compressed_paletted_texture")) return gl_oes_compressed_paletted_texture;
- if (!strcmp(ext,"GL_OES_depth_texture")) return gl_oes_depth_texture;
- if (!strcmp(ext,"GL_OES_draw_texture")) return gl_oes_draw_texture;
- if (!strcmp(ext,"GL_OES_element_index_uint")) return gl_oes_element_index_uint;
- if (!strcmp(ext,"GL_OES_fbo_render_mipmap")) return gl_oes_fbo_render_mipmap;
- if (!strcmp(ext,"GL_OES_framebuffer_object")) return gl_oes_framebuffer_object;
- if (!strcmp(ext,"GL_OES_get_program_binary")) return gl_oes_get_program_binary;
- if (!strcmp(ext,"GL_OES_mapbuffer")) return gl_oes_mapbuffer;
- if (!strcmp(ext,"GL_OES_matrix_get")) return gl_oes_matrix_get;
- if (!strcmp(ext,"GL_OES_matrix_palette")) return gl_oes_matrix_palette;
- if (!strcmp(ext,"GL_OES_packed_depth_stencil")) return gl_oes_packed_depth_stencil;
- if (!strcmp(ext,"GL_OES_point_size_array")) return gl_oes_point_size_array;
- if (!strcmp(ext,"GL_OES_point_sprite")) return gl_oes_point_sprite;
- if (!strcmp(ext,"GL_OES_read_format")) return gl_oes_read_format;
- if (!strcmp(ext,"GL_OES_required_internalformat")) return gl_oes_required_internalformat;
- if (!strcmp(ext,"GL_OES_rgb8_rgba8")) return gl_oes_rgb8_rgba8;
- if (!strcmp(ext,"GL_OES_single_precision")) return gl_oes_single_precision;
- if (!strcmp(ext,"GL_OES_standard_derivatives")) return gl_oes_standard_derivatives;
- if (!strcmp(ext,"GL_OES_stencil1")) return gl_oes_stencil1;
- if (!strcmp(ext,"GL_OES_stencil4")) return gl_oes_stencil4;
- if (!strcmp(ext,"GL_OES_stencil8")) return gl_oes_stencil8;
- if (!strcmp(ext,"GL_OES_surfaceless_context")) return gl_oes_surfaceless_context;
- if (!strcmp(ext,"GL_OES_texture_3D")) return gl_oes_texture_3d;
- if (!strcmp(ext,"GL_OES_texture_cube_map")) return gl_oes_texture_cube_map;
- if (!strcmp(ext,"GL_OES_texture_mirrored_repeat")) return gl_oes_texture_mirrored_repeat;
- if (!strcmp(ext,"GL_OES_vertex_array_object")) return gl_oes_vertex_array_object;
- if (!strcmp(ext,"GL_OES_vertex_half_float")) return gl_oes_vertex_half_float;
- if (!strcmp(ext,"GL_OES_vertex_type_10_10_10_2")) return gl_oes_vertex_type_10_10_10_2;
- if (!strcmp(ext,"GL_OML_interlace")) return gl_oml_interlace;
- if (!strcmp(ext,"GL_OML_resample")) return gl_oml_resample;
- if (!strcmp(ext,"GL_OML_subsample")) return gl_oml_subsample;
- if (!strcmp(ext,"GL_PGI_misc_hints")) return gl_pgi_misc_hints;
- if (!strcmp(ext,"GL_PGI_vertex_hints")) return gl_pgi_vertex_hints;
- if (!strcmp(ext,"GL_QCOM_alpha_test")) return gl_qcom_alpha_test;
- if (!strcmp(ext,"GL_QCOM_binning_control")) return gl_qcom_binning_control;
- if (!strcmp(ext,"GL_QCOM_driver_control")) return gl_qcom_driver_control;
- if (!strcmp(ext,"GL_QCOM_extended_get")) return gl_qcom_extended_get;
- if (!strcmp(ext,"GL_QCOM_extended_get2")) return gl_qcom_extended_get2;
- if (!strcmp(ext,"GL_QCOM_perfmon_global_mode")) return gl_qcom_perfmon_global_mode;
- if (!strcmp(ext,"GL_QCOM_tiled_rendering")) return gl_qcom_tiled_rendering;
- if (!strcmp(ext,"GL_QCOM_writeonly_rendering")) return gl_qcom_writeonly_rendering;
- if (!strcmp(ext,"GL_REGAL_ES1_0_compatibility")) return gl_regal_es1_0_compatibility;
- if (!strcmp(ext,"GL_REGAL_ES1_1_compatibility")) return gl_regal_es1_1_compatibility;
- if (!strcmp(ext,"GL_REGAL_enable")) return gl_regal_enable;
- if (!strcmp(ext,"GL_REGAL_error_string")) return gl_regal_error_string;
- if (!strcmp(ext,"GL_REGAL_extension_query")) return gl_regal_extension_query;
- if (!strcmp(ext,"GL_REGAL_log")) return gl_regal_log;
- if (!strcmp(ext,"GL_REND_screen_coordinates")) return gl_rend_screen_coordinates;
- if (!strcmp(ext,"GL_S3_s3tc")) return gl_s3_s3tc;
- if (!strcmp(ext,"GL_SGIS_color_range")) return gl_sgis_color_range;
- if (!strcmp(ext,"GL_SGIS_detail_texture")) return gl_sgis_detail_texture;
- if (!strcmp(ext,"GL_SGIS_fog_function")) return gl_sgis_fog_function;
- if (!strcmp(ext,"GL_SGIS_generate_mipmap")) return gl_sgis_generate_mipmap;
- if (!strcmp(ext,"GL_SGIS_multisample")) return gl_sgis_multisample;
- if (!strcmp(ext,"GL_SGIS_pixel_texture")) return gl_sgis_pixel_texture;
- if (!strcmp(ext,"GL_SGIS_point_line_texgen")) return gl_sgis_point_line_texgen;
- if (!strcmp(ext,"GL_SGIS_point_parameters")) return gl_sgis_point_parameters;
- if (!strcmp(ext,"GL_SGIS_sharpen_texture")) return gl_sgis_sharpen_texture;
- if (!strcmp(ext,"GL_SGIS_texture4D")) return gl_sgis_texture4d;
- if (!strcmp(ext,"GL_SGIS_texture_border_clamp")) return gl_sgis_texture_border_clamp;
- if (!strcmp(ext,"GL_SGIS_texture_color_mask")) return gl_sgis_texture_color_mask;
- if (!strcmp(ext,"GL_SGIS_texture_edge_clamp")) return gl_sgis_texture_edge_clamp;
- if (!strcmp(ext,"GL_SGIS_texture_filter4")) return gl_sgis_texture_filter4;
- if (!strcmp(ext,"GL_SGIS_texture_lod")) return gl_sgis_texture_lod;
- if (!strcmp(ext,"GL_SGIX_async")) return gl_sgix_async;
- if (!strcmp(ext,"GL_SGIX_async_histogram")) return gl_sgix_async_histogram;
- if (!strcmp(ext,"GL_SGIX_async_pixel")) return gl_sgix_async_pixel;
- if (!strcmp(ext,"GL_SGIX_blend_alpha_minmax")) return gl_sgix_blend_alpha_minmax;
- if (!strcmp(ext,"GL_SGIX_convolution_accuracy")) return gl_sgix_convolution_accuracy;
- if (!strcmp(ext,"GL_SGIX_depth_texture")) return gl_sgix_depth_texture;
- if (!strcmp(ext,"GL_SGIX_flush_raster")) return gl_sgix_flush_raster;
- if (!strcmp(ext,"GL_SGIX_fog_offset")) return gl_sgix_fog_offset;
- if (!strcmp(ext,"GL_SGIX_fog_texture")) return gl_sgix_fog_texture;
- if (!strcmp(ext,"GL_SGIX_fragment_lighting")) return gl_sgix_fragment_lighting;
- if (!strcmp(ext,"GL_SGIX_fragment_specular_lighting")) return gl_sgix_fragment_specular_lighting;
- if (!strcmp(ext,"GL_SGIX_framezoom")) return gl_sgix_framezoom;
- if (!strcmp(ext,"GL_SGIX_igloo_interface")) return gl_sgix_igloo_interface;
- if (!strcmp(ext,"GL_SGIX_instruments")) return gl_sgix_instruments;
- if (!strcmp(ext,"GL_SGIX_interlace")) return gl_sgix_interlace;
- if (!strcmp(ext,"GL_SGIX_list_priority")) return gl_sgix_list_priority;
- if (!strcmp(ext,"GL_SGIX_pixel_texture")) return gl_sgix_pixel_texture;
- if (!strcmp(ext,"GL_SGIX_polynomial_ffd")) return gl_sgix_polynomial_ffd;
- if (!strcmp(ext,"GL_SGIX_reference_plane")) return gl_sgix_reference_plane;
- if (!strcmp(ext,"GL_SGIX_resample")) return gl_sgix_resample;
- if (!strcmp(ext,"GL_SGIX_shadow")) return gl_sgix_shadow;
- if (!strcmp(ext,"GL_SGIX_shadow_ambient")) return gl_sgix_shadow_ambient;
- if (!strcmp(ext,"GL_SGIX_sprite")) return gl_sgix_sprite;
- if (!strcmp(ext,"GL_SGIX_tag_sample_buffer")) return gl_sgix_tag_sample_buffer;
- if (!strcmp(ext,"GL_SGIX_texture_coordinate_clamp")) return gl_sgix_texture_coordinate_clamp;
- if (!strcmp(ext,"GL_SGIX_texture_multi_buffer")) return gl_sgix_texture_multi_buffer;
- if (!strcmp(ext,"GL_SGIX_texture_range")) return gl_sgix_texture_range;
- if (!strcmp(ext,"GL_SGIX_texture_scale_bias")) return gl_sgix_texture_scale_bias;
- if (!strcmp(ext,"GL_SGIX_vertex_preclip_hint")) return gl_sgix_vertex_preclip_hint;
- if (!strcmp(ext,"GL_SGIX_ycrcb")) return gl_sgix_ycrcb;
- if (!strcmp(ext,"GL_SGI_color_matrix")) return gl_sgi_color_matrix;
- if (!strcmp(ext,"GL_SGI_color_table")) return gl_sgi_color_table;
- if (!strcmp(ext,"GL_SGI_texture_color_table")) return gl_sgi_texture_color_table;
- if (!strcmp(ext,"GL_SUNX_constant_data")) return gl_sunx_constant_data;
- if (!strcmp(ext,"GL_SUN_convolution_border_modes")) return gl_sun_convolution_border_modes;
- if (!strcmp(ext,"GL_SUN_global_alpha")) return gl_sun_global_alpha;
- if (!strcmp(ext,"GL_SUN_mesh_array")) return gl_sun_mesh_array;
- if (!strcmp(ext,"GL_SUN_read_video_pixels")) return gl_sun_read_video_pixels;
- if (!strcmp(ext,"GL_SUN_slice_accum")) return gl_sun_slice_accum;
- if (!strcmp(ext,"GL_SUN_triangle_list")) return gl_sun_triangle_list;
- if (!strcmp(ext,"GL_SUN_vertex")) return gl_sun_vertex;
- if (!strcmp(ext,"GL_VIV_shader_binary")) return gl_viv_shader_binary;
- if (!strcmp(ext,"GL_WIN_phong_shading")) return gl_win_phong_shading;
- if (!strcmp(ext,"GL_WIN_specular_fog")) return gl_win_specular_fog;
- if (!strcmp(ext,"GL_WIN_swap_hint")) return gl_win_swap_hint;
+ if (!strcmp(ext,"GL_IMG_user_clip_plane")) return gl_img_user_clip_plane;
+ if (!strcmp(ext,"GL_INGR_blend_func_separate")) return gl_ingr_blend_func_separate;
+ if (!strcmp(ext,"GL_INGR_color_clamp")) return gl_ingr_color_clamp;
+ if (!strcmp(ext,"GL_INGR_interlace_read")) return gl_ingr_interlace_read;
+ 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_debug")) return gl_khr_debug;
+ 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;
+ if (!strcmp(ext,"GL_MESA_pack_invert")) return gl_mesa_pack_invert;
+ if (!strcmp(ext,"GL_MESA_resize_buffers")) return gl_mesa_resize_buffers;
+ if (!strcmp(ext,"GL_MESA_window_pos")) return gl_mesa_window_pos;
+ if (!strcmp(ext,"GL_MESA_ycbcr_texture")) return gl_mesa_ycbcr_texture;
+ if (!strcmp(ext,"GL_NVX_conditional_render")) return gl_nvx_conditional_render;
+ if (!strcmp(ext,"GL_NVX_gpu_memory_info")) return gl_nvx_gpu_memory_info;
+ if (!strcmp(ext,"GL_NV_3dvision_settings")) return gl_nv_3dvision_settings;
+ if (!strcmp(ext,"GL_NV_bgr")) return gl_nv_bgr;
+ if (!strcmp(ext,"GL_NV_bindless_texture")) return gl_nv_bindless_texture;
+ if (!strcmp(ext,"GL_NV_blend_equation_advanced")) return gl_nv_blend_equation_advanced;
+ if (!strcmp(ext,"GL_NV_blend_square")) return gl_nv_blend_square;
+ if (!strcmp(ext,"GL_NV_compute_program5")) return gl_nv_compute_program5;
+ if (!strcmp(ext,"GL_NV_conditional_render")) return gl_nv_conditional_render;
+ if (!strcmp(ext,"GL_NV_copy_buffer")) return gl_nv_copy_buffer;
+ if (!strcmp(ext,"GL_NV_copy_depth_to_color")) return gl_nv_copy_depth_to_color;
+ if (!strcmp(ext,"GL_NV_copy_image")) return gl_nv_copy_image;
+ if (!strcmp(ext,"GL_NV_coverage_sample")) return gl_nv_coverage_sample;
+ if (!strcmp(ext,"GL_NV_deep_texture3D")) return gl_nv_deep_texture3d;
+ if (!strcmp(ext,"GL_NV_depth_buffer_float")) return gl_nv_depth_buffer_float;
+ if (!strcmp(ext,"GL_NV_depth_clamp")) return gl_nv_depth_clamp;
+ if (!strcmp(ext,"GL_NV_depth_nonlinear")) return gl_nv_depth_nonlinear;
+ if (!strcmp(ext,"GL_NV_depth_range_unclamped")) return gl_nv_depth_range_unclamped;
+ if (!strcmp(ext,"GL_NV_draw_buffers")) return gl_nv_draw_buffers;
+ if (!strcmp(ext,"GL_NV_draw_texture")) return gl_nv_draw_texture;
+ if (!strcmp(ext,"GL_NV_evaluators")) return gl_nv_evaluators;
+ if (!strcmp(ext,"GL_NV_explicit_multisample")) return gl_nv_explicit_multisample;
+ if (!strcmp(ext,"GL_NV_fbo_color_attachments")) return gl_nv_fbo_color_attachments;
+ if (!strcmp(ext,"GL_NV_fence")) return gl_nv_fence;
+ if (!strcmp(ext,"GL_NV_float_buffer")) return gl_nv_float_buffer;
+ if (!strcmp(ext,"GL_NV_fog_distance")) return gl_nv_fog_distance;
+ if (!strcmp(ext,"GL_NV_fragment_program")) return gl_nv_fragment_program;
+ if (!strcmp(ext,"GL_NV_fragment_program2")) return gl_nv_fragment_program2;
+ if (!strcmp(ext,"GL_NV_framebuffer_blit")) return gl_nv_framebuffer_blit;
+ if (!strcmp(ext,"GL_NV_framebuffer_multisample")) return gl_nv_framebuffer_multisample;
+ if (!strcmp(ext,"GL_NV_framebuffer_multisample_coverage")) return gl_nv_framebuffer_multisample_coverage;
+ if (!strcmp(ext,"GL_NV_geometry_program4")) return gl_nv_geometry_program4;
+ if (!strcmp(ext,"GL_NV_gpu_program4")) return gl_nv_gpu_program4;
+ if (!strcmp(ext,"GL_NV_gpu_program5")) return gl_nv_gpu_program5;
+ if (!strcmp(ext,"GL_NV_gpu_shader5")) return gl_nv_gpu_shader5;
+ if (!strcmp(ext,"GL_NV_half_float")) return gl_nv_half_float;
+ if (!strcmp(ext,"GL_NV_instanced_arrays")) return gl_nv_instanced_arrays;
+ if (!strcmp(ext,"GL_NV_light_max_exponent")) return gl_nv_light_max_exponent;
+ if (!strcmp(ext,"GL_NV_multisample_coverage")) return gl_nv_multisample_coverage;
+ if (!strcmp(ext,"GL_NV_multisample_filter_hint")) return gl_nv_multisample_filter_hint;
+ if (!strcmp(ext,"GL_NV_non_square_matrices")) return gl_nv_non_square_matrices;
+ if (!strcmp(ext,"GL_NV_occlusion_query")) return gl_nv_occlusion_query;
+ if (!strcmp(ext,"GL_NV_pack_subimage")) return gl_nv_pack_subimage;
+ if (!strcmp(ext,"GL_NV_packed_depth_stencil")) return gl_nv_packed_depth_stencil;
+ if (!strcmp(ext,"GL_NV_packed_float_linear")) return gl_nv_packed_float_linear;
+ if (!strcmp(ext,"GL_NV_parameter_buffer_object")) return gl_nv_parameter_buffer_object;
+ if (!strcmp(ext,"GL_NV_path_rendering")) return gl_nv_path_rendering;
+ if (!strcmp(ext,"GL_NV_pixel_buffer_object")) return gl_nv_pixel_buffer_object;
+ if (!strcmp(ext,"GL_NV_pixel_data_range")) return gl_nv_pixel_data_range;
+ if (!strcmp(ext,"GL_NV_platform_binary")) return gl_nv_platform_binary;
+ if (!strcmp(ext,"GL_NV_point_sprite")) return gl_nv_point_sprite;
+ if (!strcmp(ext,"GL_NV_present_video")) return gl_nv_present_video;
+ if (!strcmp(ext,"GL_NV_primitive_restart")) return gl_nv_primitive_restart;
+ if (!strcmp(ext,"GL_NV_read_buffer")) return gl_nv_read_buffer;
+ if (!strcmp(ext,"GL_NV_read_buffer_front")) return gl_nv_read_buffer_front;
+ if (!strcmp(ext,"GL_NV_register_combiners")) return gl_nv_register_combiners;
+ if (!strcmp(ext,"GL_NV_register_combiners2")) return gl_nv_register_combiners2;
+ if (!strcmp(ext,"GL_NV_sRGB_formats")) return gl_nv_srgb_formats;
+ if (!strcmp(ext,"GL_NV_shader_buffer_load")) return gl_nv_shader_buffer_load;
+ if (!strcmp(ext,"GL_NV_shadow_samplers_array")) return gl_nv_shadow_samplers_array;
+ if (!strcmp(ext,"GL_NV_shadow_samplers_cube")) return gl_nv_shadow_samplers_cube;
+ if (!strcmp(ext,"GL_NV_tessellation_program5")) return gl_nv_tessellation_program5;
+ if (!strcmp(ext,"GL_NV_texgen_emboss")) return gl_nv_texgen_emboss;
+ if (!strcmp(ext,"GL_NV_texgen_reflection")) return gl_nv_texgen_reflection;
+ if (!strcmp(ext,"GL_NV_texture_array")) return gl_nv_texture_array;
+ if (!strcmp(ext,"GL_NV_texture_barrier")) return gl_nv_texture_barrier;
+ if (!strcmp(ext,"GL_NV_texture_border_clamp")) return gl_nv_texture_border_clamp;
+ if (!strcmp(ext,"GL_NV_texture_compression_latc")) return gl_nv_texture_compression_latc;
+ if (!strcmp(ext,"GL_NV_texture_compression_s3tc")) return gl_nv_texture_compression_s3tc;
+ if (!strcmp(ext,"GL_NV_texture_env_combine4")) return gl_nv_texture_env_combine4;
+ if (!strcmp(ext,"GL_NV_texture_expand_normal")) return gl_nv_texture_expand_normal;
+ if (!strcmp(ext,"GL_NV_texture_multisample")) return gl_nv_texture_multisample;
+ if (!strcmp(ext,"GL_NV_texture_rectangle")) return gl_nv_texture_rectangle;
+ if (!strcmp(ext,"GL_NV_texture_shader")) return gl_nv_texture_shader;
+ if (!strcmp(ext,"GL_NV_texture_shader2")) return gl_nv_texture_shader2;
+ if (!strcmp(ext,"GL_NV_texture_shader3")) return gl_nv_texture_shader3;
+ if (!strcmp(ext,"GL_NV_transform_feedback")) return gl_nv_transform_feedback;
+ if (!strcmp(ext,"GL_NV_transform_feedback2")) return gl_nv_transform_feedback2;
+ if (!strcmp(ext,"GL_NV_vdpau_interop")) return gl_nv_vdpau_interop;
+ if (!strcmp(ext,"GL_NV_vertex_array_range")) return gl_nv_vertex_array_range;
+ if (!strcmp(ext,"GL_NV_vertex_array_range2")) return gl_nv_vertex_array_range2;
+ if (!strcmp(ext,"GL_NV_vertex_attrib_integer_64bit")) return gl_nv_vertex_attrib_integer_64bit;
+ if (!strcmp(ext,"GL_NV_vertex_buffer_unified_memory")) return gl_nv_vertex_buffer_unified_memory;
+ if (!strcmp(ext,"GL_NV_vertex_program")) return gl_nv_vertex_program;
+ if (!strcmp(ext,"GL_NV_vertex_program2_option")) return gl_nv_vertex_program2_option;
+ if (!strcmp(ext,"GL_NV_vertex_program3")) return gl_nv_vertex_program3;
+ if (!strcmp(ext,"GL_NV_vertex_program4")) return gl_nv_vertex_program4;
+ if (!strcmp(ext,"GL_NV_video_capture")) return gl_nv_video_capture;
+ if (!strcmp(ext,"GL_OES_EGL_image_external")) return gl_oes_egl_image_external;
+ if (!strcmp(ext,"GL_OES_blend_equation_separate")) return gl_oes_blend_equation_separate;
+ if (!strcmp(ext,"GL_OES_blend_func_separate")) return gl_oes_blend_func_separate;
+ if (!strcmp(ext,"GL_OES_blend_subtract")) return gl_oes_blend_subtract;
+ if (!strcmp(ext,"GL_OES_compressed_ETC1_RGB8_texture")) return gl_oes_compressed_etc1_rgb8_texture;
+ if (!strcmp(ext,"GL_OES_compressed_paletted_texture")) return gl_oes_compressed_paletted_texture;
+ if (!strcmp(ext,"GL_OES_depth_texture")) return gl_oes_depth_texture;
+ if (!strcmp(ext,"GL_OES_draw_texture")) return gl_oes_draw_texture;
+ if (!strcmp(ext,"GL_OES_element_index_uint")) return gl_oes_element_index_uint;
+ if (!strcmp(ext,"GL_OES_fbo_render_mipmap")) return gl_oes_fbo_render_mipmap;
+ if (!strcmp(ext,"GL_OES_framebuffer_object")) return gl_oes_framebuffer_object;
+ if (!strcmp(ext,"GL_OES_get_program_binary")) return gl_oes_get_program_binary;
+ if (!strcmp(ext,"GL_OES_mapbuffer")) return gl_oes_mapbuffer;
+ if (!strcmp(ext,"GL_OES_matrix_get")) return gl_oes_matrix_get;
+ if (!strcmp(ext,"GL_OES_matrix_palette")) return gl_oes_matrix_palette;
+ if (!strcmp(ext,"GL_OES_packed_depth_stencil")) return gl_oes_packed_depth_stencil;
+ if (!strcmp(ext,"GL_OES_point_size_array")) return gl_oes_point_size_array;
+ if (!strcmp(ext,"GL_OES_point_sprite")) return gl_oes_point_sprite;
+ if (!strcmp(ext,"GL_OES_read_format")) return gl_oes_read_format;
+ if (!strcmp(ext,"GL_OES_required_internalformat")) return gl_oes_required_internalformat;
+ if (!strcmp(ext,"GL_OES_rgb8_rgba8")) return gl_oes_rgb8_rgba8;
+ if (!strcmp(ext,"GL_OES_single_precision")) return gl_oes_single_precision;
+ if (!strcmp(ext,"GL_OES_standard_derivatives")) return gl_oes_standard_derivatives;
+ if (!strcmp(ext,"GL_OES_stencil1")) return gl_oes_stencil1;
+ if (!strcmp(ext,"GL_OES_stencil4")) return gl_oes_stencil4;
+ if (!strcmp(ext,"GL_OES_stencil8")) return gl_oes_stencil8;
+ if (!strcmp(ext,"GL_OES_surfaceless_context")) return gl_oes_surfaceless_context;
+ if (!strcmp(ext,"GL_OES_texture_3D")) return gl_oes_texture_3d;
+ if (!strcmp(ext,"GL_OES_texture_cube_map")) return gl_oes_texture_cube_map;
+ if (!strcmp(ext,"GL_OES_texture_mirrored_repeat")) return gl_oes_texture_mirrored_repeat;
+ if (!strcmp(ext,"GL_OES_vertex_array_object")) return gl_oes_vertex_array_object;
+ if (!strcmp(ext,"GL_OES_vertex_half_float")) return gl_oes_vertex_half_float;
+ if (!strcmp(ext,"GL_OES_vertex_type_10_10_10_2")) return gl_oes_vertex_type_10_10_10_2;
+ if (!strcmp(ext,"GL_OML_interlace")) return gl_oml_interlace;
+ if (!strcmp(ext,"GL_OML_resample")) return gl_oml_resample;
+ if (!strcmp(ext,"GL_OML_subsample")) return gl_oml_subsample;
+ if (!strcmp(ext,"GL_PGI_misc_hints")) return gl_pgi_misc_hints;
+ if (!strcmp(ext,"GL_PGI_vertex_hints")) return gl_pgi_vertex_hints;
+ if (!strcmp(ext,"GL_QCOM_alpha_test")) return gl_qcom_alpha_test;
+ if (!strcmp(ext,"GL_QCOM_binning_control")) return gl_qcom_binning_control;
+ if (!strcmp(ext,"GL_QCOM_driver_control")) return gl_qcom_driver_control;
+ if (!strcmp(ext,"GL_QCOM_extended_get")) return gl_qcom_extended_get;
+ if (!strcmp(ext,"GL_QCOM_extended_get2")) return gl_qcom_extended_get2;
+ if (!strcmp(ext,"GL_QCOM_perfmon_global_mode")) return gl_qcom_perfmon_global_mode;
+ if (!strcmp(ext,"GL_QCOM_tiled_rendering")) return gl_qcom_tiled_rendering;
+ if (!strcmp(ext,"GL_QCOM_writeonly_rendering")) return gl_qcom_writeonly_rendering;
+ if (!strcmp(ext,"GL_REGAL_ES1_0_compatibility")) return gl_regal_es1_0_compatibility;
+ if (!strcmp(ext,"GL_REGAL_ES1_1_compatibility")) return gl_regal_es1_1_compatibility;
+ if (!strcmp(ext,"GL_REGAL_enable")) return gl_regal_enable;
+ if (!strcmp(ext,"GL_REGAL_error_string")) return gl_regal_error_string;
+ if (!strcmp(ext,"GL_REGAL_extension_query")) return gl_regal_extension_query;
+ if (!strcmp(ext,"GL_REGAL_log")) return gl_regal_log;
+ if (!strcmp(ext,"GL_REND_screen_coordinates")) return gl_rend_screen_coordinates;
+ if (!strcmp(ext,"GL_S3_s3tc")) return gl_s3_s3tc;
+ if (!strcmp(ext,"GL_SGIS_color_range")) return gl_sgis_color_range;
+ if (!strcmp(ext,"GL_SGIS_detail_texture")) return gl_sgis_detail_texture;
+ if (!strcmp(ext,"GL_SGIS_fog_function")) return gl_sgis_fog_function;
+ if (!strcmp(ext,"GL_SGIS_generate_mipmap")) return gl_sgis_generate_mipmap;
+ if (!strcmp(ext,"GL_SGIS_multisample")) return gl_sgis_multisample;
+ if (!strcmp(ext,"GL_SGIS_pixel_texture")) return gl_sgis_pixel_texture;
+ if (!strcmp(ext,"GL_SGIS_point_line_texgen")) return gl_sgis_point_line_texgen;
+ if (!strcmp(ext,"GL_SGIS_point_parameters")) return gl_sgis_point_parameters;
+ if (!strcmp(ext,"GL_SGIS_sharpen_texture")) return gl_sgis_sharpen_texture;
+ if (!strcmp(ext,"GL_SGIS_texture4D")) return gl_sgis_texture4d;
+ if (!strcmp(ext,"GL_SGIS_texture_border_clamp")) return gl_sgis_texture_border_clamp;
+ if (!strcmp(ext,"GL_SGIS_texture_color_mask")) return gl_sgis_texture_color_mask;
+ if (!strcmp(ext,"GL_SGIS_texture_edge_clamp")) return gl_sgis_texture_edge_clamp;
+ if (!strcmp(ext,"GL_SGIS_texture_filter4")) return gl_sgis_texture_filter4;
+ if (!strcmp(ext,"GL_SGIS_texture_lod")) return gl_sgis_texture_lod;
+ if (!strcmp(ext,"GL_SGIX_async")) return gl_sgix_async;
+ if (!strcmp(ext,"GL_SGIX_async_histogram")) return gl_sgix_async_histogram;
+ if (!strcmp(ext,"GL_SGIX_async_pixel")) return gl_sgix_async_pixel;
+ if (!strcmp(ext,"GL_SGIX_blend_alpha_minmax")) return gl_sgix_blend_alpha_minmax;
+ if (!strcmp(ext,"GL_SGIX_convolution_accuracy")) return gl_sgix_convolution_accuracy;
+ if (!strcmp(ext,"GL_SGIX_depth_texture")) return gl_sgix_depth_texture;
+ if (!strcmp(ext,"GL_SGIX_flush_raster")) return gl_sgix_flush_raster;
+ if (!strcmp(ext,"GL_SGIX_fog_offset")) return gl_sgix_fog_offset;
+ if (!strcmp(ext,"GL_SGIX_fog_texture")) return gl_sgix_fog_texture;
+ if (!strcmp(ext,"GL_SGIX_fragment_lighting")) return gl_sgix_fragment_lighting;
+ if (!strcmp(ext,"GL_SGIX_fragment_specular_lighting")) return gl_sgix_fragment_specular_lighting;
+ if (!strcmp(ext,"GL_SGIX_framezoom")) return gl_sgix_framezoom;
+ if (!strcmp(ext,"GL_SGIX_igloo_interface")) return gl_sgix_igloo_interface;
+ if (!strcmp(ext,"GL_SGIX_instruments")) return gl_sgix_instruments;
+ if (!strcmp(ext,"GL_SGIX_interlace")) return gl_sgix_interlace;
+ if (!strcmp(ext,"GL_SGIX_list_priority")) return gl_sgix_list_priority;
+ if (!strcmp(ext,"GL_SGIX_pixel_texture")) return gl_sgix_pixel_texture;
+ if (!strcmp(ext,"GL_SGIX_polynomial_ffd")) return gl_sgix_polynomial_ffd;
+ if (!strcmp(ext,"GL_SGIX_reference_plane")) return gl_sgix_reference_plane;
+ if (!strcmp(ext,"GL_SGIX_resample")) return gl_sgix_resample;
+ if (!strcmp(ext,"GL_SGIX_shadow")) return gl_sgix_shadow;
+ if (!strcmp(ext,"GL_SGIX_shadow_ambient")) return gl_sgix_shadow_ambient;
+ if (!strcmp(ext,"GL_SGIX_sprite")) return gl_sgix_sprite;
+ if (!strcmp(ext,"GL_SGIX_tag_sample_buffer")) return gl_sgix_tag_sample_buffer;
+ if (!strcmp(ext,"GL_SGIX_texture_coordinate_clamp")) return gl_sgix_texture_coordinate_clamp;
+ if (!strcmp(ext,"GL_SGIX_texture_multi_buffer")) return gl_sgix_texture_multi_buffer;
+ if (!strcmp(ext,"GL_SGIX_texture_range")) return gl_sgix_texture_range;
+ if (!strcmp(ext,"GL_SGIX_texture_scale_bias")) return gl_sgix_texture_scale_bias;
+ if (!strcmp(ext,"GL_SGIX_vertex_preclip_hint")) return gl_sgix_vertex_preclip_hint;
+ if (!strcmp(ext,"GL_SGIX_ycrcb")) return gl_sgix_ycrcb;
+ if (!strcmp(ext,"GL_SGI_color_matrix")) return gl_sgi_color_matrix;
+ if (!strcmp(ext,"GL_SGI_color_table")) return gl_sgi_color_table;
+ if (!strcmp(ext,"GL_SGI_texture_color_table")) return gl_sgi_texture_color_table;
+ if (!strcmp(ext,"GL_SUNX_constant_data")) return gl_sunx_constant_data;
+ if (!strcmp(ext,"GL_SUN_convolution_border_modes")) return gl_sun_convolution_border_modes;
+ if (!strcmp(ext,"GL_SUN_global_alpha")) return gl_sun_global_alpha;
+ if (!strcmp(ext,"GL_SUN_mesh_array")) return gl_sun_mesh_array;
+ if (!strcmp(ext,"GL_SUN_read_video_pixels")) return gl_sun_read_video_pixels;
+ if (!strcmp(ext,"GL_SUN_slice_accum")) return gl_sun_slice_accum;
+ if (!strcmp(ext,"GL_SUN_triangle_list")) return gl_sun_triangle_list;
+ if (!strcmp(ext,"GL_SUN_vertex")) return gl_sun_vertex;
+ if (!strcmp(ext,"GL_VIV_shader_binary")) return gl_viv_shader_binary;
+ if (!strcmp(ext,"GL_WIN_phong_shading")) return gl_win_phong_shading;
+ if (!strcmp(ext,"GL_WIN_specular_fog")) return gl_win_specular_fog;
+ if (!strcmp(ext,"GL_WIN_swap_hint")) return gl_win_swap_hint;
#if REGAL_SYS_WGL
- if (!strcmp(ext,"WGL_3DL_stereo_control")) return wgl_3dl_stereo_control;
- if (!strcmp(ext,"WGL_AMD_gpu_association")) return wgl_amd_gpu_association;
- if (!strcmp(ext,"WGL_ARB_buffer_region")) return wgl_arb_buffer_region;
- if (!strcmp(ext,"WGL_ARB_create_context")) return wgl_arb_create_context;
- if (!strcmp(ext,"WGL_ARB_create_context_profile")) return wgl_arb_create_context_profile;
- if (!strcmp(ext,"WGL_ARB_create_context_robustness")) return wgl_arb_create_context_robustness;
- if (!strcmp(ext,"WGL_ARB_extensions_string")) return wgl_arb_extensions_string;
- if (!strcmp(ext,"WGL_ARB_framebuffer_sRGB")) return wgl_arb_framebuffer_srgb;
- if (!strcmp(ext,"WGL_ARB_make_current_read")) return wgl_arb_make_current_read;
- if (!strcmp(ext,"WGL_ARB_multisample")) return wgl_arb_multisample;
- if (!strcmp(ext,"WGL_ARB_pbuffer")) return wgl_arb_pbuffer;
- 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_3DL_stereo_control")) return wgl_3dl_stereo_control;
+ if (!strcmp(ext,"WGL_AMD_gpu_association")) return wgl_amd_gpu_association;
+ if (!strcmp(ext,"WGL_ARB_buffer_region")) return wgl_arb_buffer_region;
+ if (!strcmp(ext,"WGL_ARB_create_context")) return wgl_arb_create_context;
+ if (!strcmp(ext,"WGL_ARB_create_context_profile")) return wgl_arb_create_context_profile;
+ if (!strcmp(ext,"WGL_ARB_create_context_robustness")) return wgl_arb_create_context_robustness;
+ if (!strcmp(ext,"WGL_ARB_extensions_string")) return wgl_arb_extensions_string;
+ if (!strcmp(ext,"WGL_ARB_framebuffer_sRGB")) return wgl_arb_framebuffer_srgb;
+ if (!strcmp(ext,"WGL_ARB_make_current_read")) return wgl_arb_make_current_read;
+ if (!strcmp(ext,"WGL_ARB_multisample")) return wgl_arb_multisample;
+ if (!strcmp(ext,"WGL_ARB_pbuffer")) return wgl_arb_pbuffer;
+ 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_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;
- if (!strcmp(ext,"WGL_EXT_create_context_es2_profile")) return wgl_ext_create_context_es2_profile;
- if (!strcmp(ext,"WGL_EXT_create_context_es_profile")) return wgl_ext_create_context_es_profile;
- if (!strcmp(ext,"WGL_EXT_depth_float")) return wgl_ext_depth_float;
- if (!strcmp(ext,"WGL_EXT_display_color_table")) return wgl_ext_display_color_table;
- if (!strcmp(ext,"WGL_EXT_extensions_string")) return wgl_ext_extensions_string;
- if (!strcmp(ext,"WGL_EXT_framebuffer_sRGB")) return wgl_ext_framebuffer_srgb;
- if (!strcmp(ext,"WGL_EXT_make_current_read")) return wgl_ext_make_current_read;
- if (!strcmp(ext,"WGL_EXT_multisample")) return wgl_ext_multisample;
- if (!strcmp(ext,"WGL_EXT_pbuffer")) return wgl_ext_pbuffer;
- if (!strcmp(ext,"WGL_EXT_pixel_format")) return wgl_ext_pixel_format;
- if (!strcmp(ext,"WGL_EXT_pixel_format_packed_float")) return wgl_ext_pixel_format_packed_float;
- if (!strcmp(ext,"WGL_EXT_swap_control")) return wgl_ext_swap_control;
- if (!strcmp(ext,"WGL_GDI")) return wgl_gdi;
- if (!strcmp(ext,"WGL_I3D_digital_video_control")) return wgl_i3d_digital_video_control;
- if (!strcmp(ext,"WGL_I3D_gamma")) return wgl_i3d_gamma;
- if (!strcmp(ext,"WGL_I3D_genlock")) return wgl_i3d_genlock;
- if (!strcmp(ext,"WGL_I3D_image_buffer")) return wgl_i3d_image_buffer;
- if (!strcmp(ext,"WGL_I3D_swap_frame_lock")) return wgl_i3d_swap_frame_lock;
- 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_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;
- if (!strcmp(ext,"WGL_NV_present_video")) return wgl_nv_present_video;
- if (!strcmp(ext,"WGL_NV_render_depth_texture")) return wgl_nv_render_depth_texture;
- if (!strcmp(ext,"WGL_NV_render_texture_rectangle")) return wgl_nv_render_texture_rectangle;
- if (!strcmp(ext,"WGL_NV_swap_group")) return wgl_nv_swap_group;
- if (!strcmp(ext,"WGL_NV_vertex_array_range")) return wgl_nv_vertex_array_range;
- if (!strcmp(ext,"WGL_NV_video_capture")) return wgl_nv_video_capture;
- if (!strcmp(ext,"WGL_NV_video_output")) return wgl_nv_video_output;
- if (!strcmp(ext,"WGL_OML_sync_control")) return wgl_oml_sync_control;
-#endif
+ 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;
+ if (!strcmp(ext,"WGL_EXT_create_context_es2_profile")) return wgl_ext_create_context_es2_profile;
+ if (!strcmp(ext,"WGL_EXT_create_context_es_profile")) return wgl_ext_create_context_es_profile;
+ if (!strcmp(ext,"WGL_EXT_depth_float")) return wgl_ext_depth_float;
+ if (!strcmp(ext,"WGL_EXT_display_color_table")) return wgl_ext_display_color_table;
+ if (!strcmp(ext,"WGL_EXT_extensions_string")) return wgl_ext_extensions_string;
+ if (!strcmp(ext,"WGL_EXT_framebuffer_sRGB")) return wgl_ext_framebuffer_srgb;
+ if (!strcmp(ext,"WGL_EXT_make_current_read")) return wgl_ext_make_current_read;
+ if (!strcmp(ext,"WGL_EXT_multisample")) return wgl_ext_multisample;
+ if (!strcmp(ext,"WGL_EXT_pbuffer")) return wgl_ext_pbuffer;
+ if (!strcmp(ext,"WGL_EXT_pixel_format")) return wgl_ext_pixel_format;
+ if (!strcmp(ext,"WGL_EXT_pixel_format_packed_float")) return wgl_ext_pixel_format_packed_float;
+ if (!strcmp(ext,"WGL_EXT_swap_control")) return wgl_ext_swap_control;
+ if (!strcmp(ext,"WGL_GDI")) return wgl_gdi;
+ if (!strcmp(ext,"WGL_I3D_digital_video_control")) return wgl_i3d_digital_video_control;
+ if (!strcmp(ext,"WGL_I3D_gamma")) return wgl_i3d_gamma;
+ if (!strcmp(ext,"WGL_I3D_genlock")) return wgl_i3d_genlock;
+ if (!strcmp(ext,"WGL_I3D_image_buffer")) return wgl_i3d_image_buffer;
+ if (!strcmp(ext,"WGL_I3D_swap_frame_lock")) return wgl_i3d_swap_frame_lock;
+ 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_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;
+ if (!strcmp(ext,"WGL_NV_present_video")) return wgl_nv_present_video;
+ if (!strcmp(ext,"WGL_NV_render_depth_texture")) return wgl_nv_render_depth_texture;
+ if (!strcmp(ext,"WGL_NV_render_texture_rectangle")) return wgl_nv_render_texture_rectangle;
+ if (!strcmp(ext,"WGL_NV_swap_group")) return wgl_nv_swap_group;
+ if (!strcmp(ext,"WGL_NV_vertex_array_range")) return wgl_nv_vertex_array_range;
+ if (!strcmp(ext,"WGL_NV_video_capture")) return wgl_nv_video_capture;
+ if (!strcmp(ext,"WGL_NV_video_output")) return wgl_nv_video_output;
+ if (!strcmp(ext,"WGL_OML_sync_control")) return wgl_oml_sync_control;
+#endif /* REGAL_SYS_WGL */
#if REGAL_SYS_GLX
- if (!strcmp(ext,"GLX_3DFX_multisample")) return glx_3dfx_multisample;
- if (!strcmp(ext,"GLX_AMD_gpu_association")) return glx_amd_gpu_association;
- if (!strcmp(ext,"GLX_ARB_create_context")) return glx_arb_create_context;
- if (!strcmp(ext,"GLX_ARB_create_context_profile")) return glx_arb_create_context_profile;
- if (!strcmp(ext,"GLX_ARB_create_context_robustness")) return glx_arb_create_context_robustness;
- if (!strcmp(ext,"GLX_ARB_fbconfig_float")) return glx_arb_fbconfig_float;
- 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_3DFX_multisample")) return glx_3dfx_multisample;
+ if (!strcmp(ext,"GLX_AMD_gpu_association")) return glx_amd_gpu_association;
+ if (!strcmp(ext,"GLX_ARB_create_context")) return glx_arb_create_context;
+ if (!strcmp(ext,"GLX_ARB_create_context_profile")) return glx_arb_create_context_profile;
+ if (!strcmp(ext,"GLX_ARB_create_context_robustness")) return glx_arb_create_context_robustness;
+ if (!strcmp(ext,"GLX_ARB_fbconfig_float")) return glx_arb_fbconfig_float;
+ 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_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_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_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;
- if (!strcmp(ext,"GLX_EXT_visual_info")) return glx_ext_visual_info;
- if (!strcmp(ext,"GLX_EXT_visual_rating")) return glx_ext_visual_rating;
- if (!strcmp(ext,"GLX_INTEL_swap_event")) return glx_intel_swap_event;
- 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_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_image")) return glx_nv_copy_image;
- 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;
- if (!strcmp(ext,"GLX_NV_swap_group")) return glx_nv_swap_group;
- if (!strcmp(ext,"GLX_NV_vertex_array_range")) return glx_nv_vertex_array_range;
- if (!strcmp(ext,"GLX_NV_video_capture")) return glx_nv_video_capture;
- if (!strcmp(ext,"GLX_NV_video_output")) return glx_nv_video_output;
- if (!strcmp(ext,"GLX_OML_swap_method")) return glx_oml_swap_method;
- if (!strcmp(ext,"GLX_OML_sync_control")) return glx_oml_sync_control;
- if (!strcmp(ext,"GLX_SGIS_blended_overlay")) return glx_sgis_blended_overlay;
- if (!strcmp(ext,"GLX_SGIS_color_range")) return glx_sgis_color_range;
- if (!strcmp(ext,"GLX_SGIS_multisample")) return glx_sgis_multisample;
- if (!strcmp(ext,"GLX_SGIS_shared_multisample")) return glx_sgis_shared_multisample;
- if (!strcmp(ext,"GLX_SGIX_fbconfig")) return glx_sgix_fbconfig;
- if (!strcmp(ext,"GLX_SGIX_hyperpipe")) return glx_sgix_hyperpipe;
- if (!strcmp(ext,"GLX_SGIX_pbuffer")) return glx_sgix_pbuffer;
- if (!strcmp(ext,"GLX_SGIX_swap_barrier")) return glx_sgix_swap_barrier;
- if (!strcmp(ext,"GLX_SGIX_swap_group")) return glx_sgix_swap_group;
- if (!strcmp(ext,"GLX_SGIX_video_resize")) return glx_sgix_video_resize;
- if (!strcmp(ext,"GLX_SGIX_visual_select_group")) return glx_sgix_visual_select_group;
- if (!strcmp(ext,"GLX_SGI_cushion")) return glx_sgi_cushion;
- if (!strcmp(ext,"GLX_SGI_make_current_read")) return glx_sgi_make_current_read;
- if (!strcmp(ext,"GLX_SGI_swap_control")) return glx_sgi_swap_control;
- if (!strcmp(ext,"GLX_SGI_video_sync")) return glx_sgi_video_sync;
- if (!strcmp(ext,"GLX_SUN_get_transparent_index")) return glx_sun_get_transparent_index;
- if (!strcmp(ext,"GLX_SUN_video_resize")) return glx_sun_video_resize;
-#endif
+ 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_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_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;
+ if (!strcmp(ext,"GLX_EXT_visual_info")) return glx_ext_visual_info;
+ if (!strcmp(ext,"GLX_EXT_visual_rating")) return glx_ext_visual_rating;
+ if (!strcmp(ext,"GLX_INTEL_swap_event")) return glx_intel_swap_event;
+ 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_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_image")) return glx_nv_copy_image;
+ 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;
+ if (!strcmp(ext,"GLX_NV_swap_group")) return glx_nv_swap_group;
+ if (!strcmp(ext,"GLX_NV_vertex_array_range")) return glx_nv_vertex_array_range;
+ if (!strcmp(ext,"GLX_NV_video_capture")) return glx_nv_video_capture;
+ if (!strcmp(ext,"GLX_NV_video_output")) return glx_nv_video_output;
+ if (!strcmp(ext,"GLX_OML_swap_method")) return glx_oml_swap_method;
+ if (!strcmp(ext,"GLX_OML_sync_control")) return glx_oml_sync_control;
+ if (!strcmp(ext,"GLX_SGIS_blended_overlay")) return glx_sgis_blended_overlay;
+ if (!strcmp(ext,"GLX_SGIS_color_range")) return glx_sgis_color_range;
+ if (!strcmp(ext,"GLX_SGIS_multisample")) return glx_sgis_multisample;
+ if (!strcmp(ext,"GLX_SGIS_shared_multisample")) return glx_sgis_shared_multisample;
+ if (!strcmp(ext,"GLX_SGIX_fbconfig")) return glx_sgix_fbconfig;
+ if (!strcmp(ext,"GLX_SGIX_hyperpipe")) return glx_sgix_hyperpipe;
+ if (!strcmp(ext,"GLX_SGIX_pbuffer")) return glx_sgix_pbuffer;
+ if (!strcmp(ext,"GLX_SGIX_swap_barrier")) return glx_sgix_swap_barrier;
+ if (!strcmp(ext,"GLX_SGIX_swap_group")) return glx_sgix_swap_group;
+ if (!strcmp(ext,"GLX_SGIX_video_resize")) return glx_sgix_video_resize;
+ if (!strcmp(ext,"GLX_SGIX_visual_select_group")) return glx_sgix_visual_select_group;
+ if (!strcmp(ext,"GLX_SGI_cushion")) return glx_sgi_cushion;
+ if (!strcmp(ext,"GLX_SGI_make_current_read")) return glx_sgi_make_current_read;
+ if (!strcmp(ext,"GLX_SGI_swap_control")) return glx_sgi_swap_control;
+ if (!strcmp(ext,"GLX_SGI_video_sync")) return glx_sgi_video_sync;
+ if (!strcmp(ext,"GLX_SUN_get_transparent_index")) return glx_sun_get_transparent_index;
+ if (!strcmp(ext,"GLX_SUN_video_resize")) return glx_sun_video_resize;
+#endif /* REGAL_SYS_GLX */
#if REGAL_SYS_EGL
- if (!strcmp(ext,"EGL_ANGLE_query_surface_pointer")) return egl_angle_query_surface_pointer;
+ if (!strcmp(ext,"EGL_ANGLE_query_surface_pointer")) return egl_angle_query_surface_pointer;
if (!strcmp(ext,"EGL_ANGLE_surface_d3d_texture_2d_share_handle")) return egl_angle_surface_d3d_texture_2d_share_handle;
- if (!strcmp(ext,"EGL_EXT_create_context_robustness")) return egl_ext_create_context_robustness;
- if (!strcmp(ext,"EGL_EXT_multiview_window")) return egl_ext_multiview_window;
- if (!strcmp(ext,"EGL_HI_colorformats")) return egl_hi_colorformats;
- if (!strcmp(ext,"EGL_IMG_context_priority")) return egl_img_context_priority;
- if (!strcmp(ext,"EGL_KHR_config_attribs")) return egl_khr_config_attribs;
- if (!strcmp(ext,"EGL_KHR_create_context")) return egl_khr_create_context;
- if (!strcmp(ext,"EGL_KHR_fence_sync")) return egl_khr_fence_sync;
- if (!strcmp(ext,"EGL_KHR_gl_texture_cubemap_image")) return egl_khr_gl_texture_cubemap_image;
- if (!strcmp(ext,"EGL_KHR_image_base")) return egl_khr_image_base;
- if (!strcmp(ext,"EGL_KHR_image_pixmap")) return egl_khr_image_pixmap;
- if (!strcmp(ext,"EGL_KHR_lock_surface")) return egl_khr_lock_surface;
- if (!strcmp(ext,"EGL_KHR_lock_surface2")) return egl_khr_lock_surface2;
- if (!strcmp(ext,"EGL_KHR_reusable_sync")) return egl_khr_reusable_sync;
- if (!strcmp(ext,"EGL_KHR_stream")) return egl_khr_stream;
- if (!strcmp(ext,"EGL_KHR_stream_consumer_gltexture")) return egl_khr_stream_consumer_gltexture;
- if (!strcmp(ext,"EGL_KHR_stream_cross_process_fd")) return egl_khr_stream_cross_process_fd;
- if (!strcmp(ext,"EGL_KHR_stream_fifo")) return egl_khr_stream_fifo;
- if (!strcmp(ext,"EGL_KHR_stream_producer_eglsurface")) return egl_khr_stream_producer_eglsurface;
- if (!strcmp(ext,"EGL_KHR_vg_parent_image")) return egl_khr_vg_parent_image;
- if (!strcmp(ext,"EGL_KHR_wait_sync")) return egl_khr_wait_sync;
- if (!strcmp(ext,"EGL_MESA_drm_image")) return egl_mesa_drm_image;
- if (!strcmp(ext,"EGL_NV_coverage_sample")) return egl_nv_coverage_sample;
- if (!strcmp(ext,"EGL_NV_coverage_sample_resolve")) return egl_nv_coverage_sample_resolve;
- if (!strcmp(ext,"EGL_NV_post_sub_buffer")) return egl_nv_post_sub_buffer;
- if (!strcmp(ext,"EGL_NV_sync")) return egl_nv_sync;
- if (!strcmp(ext,"EGL_NV_system_time")) return egl_nv_system_time;
-#endif
+ if (!strcmp(ext,"EGL_EXT_create_context_robustness")) return egl_ext_create_context_robustness;
+ if (!strcmp(ext,"EGL_EXT_multiview_window")) return egl_ext_multiview_window;
+ if (!strcmp(ext,"EGL_HI_colorformats")) return egl_hi_colorformats;
+ if (!strcmp(ext,"EGL_IMG_context_priority")) return egl_img_context_priority;
+ if (!strcmp(ext,"EGL_KHR_config_attribs")) return egl_khr_config_attribs;
+ if (!strcmp(ext,"EGL_KHR_create_context")) return egl_khr_create_context;
+ if (!strcmp(ext,"EGL_KHR_fence_sync")) return egl_khr_fence_sync;
+ if (!strcmp(ext,"EGL_KHR_gl_texture_cubemap_image")) return egl_khr_gl_texture_cubemap_image;
+ if (!strcmp(ext,"EGL_KHR_image_base")) return egl_khr_image_base;
+ if (!strcmp(ext,"EGL_KHR_image_pixmap")) return egl_khr_image_pixmap;
+ if (!strcmp(ext,"EGL_KHR_lock_surface")) return egl_khr_lock_surface;
+ if (!strcmp(ext,"EGL_KHR_lock_surface2")) return egl_khr_lock_surface2;
+ if (!strcmp(ext,"EGL_KHR_reusable_sync")) return egl_khr_reusable_sync;
+ if (!strcmp(ext,"EGL_KHR_stream")) return egl_khr_stream;
+ if (!strcmp(ext,"EGL_KHR_stream_consumer_gltexture")) return egl_khr_stream_consumer_gltexture;
+ if (!strcmp(ext,"EGL_KHR_stream_cross_process_fd")) return egl_khr_stream_cross_process_fd;
+ if (!strcmp(ext,"EGL_KHR_stream_fifo")) return egl_khr_stream_fifo;
+ if (!strcmp(ext,"EGL_KHR_stream_producer_eglsurface")) return egl_khr_stream_producer_eglsurface;
+ if (!strcmp(ext,"EGL_KHR_vg_parent_image")) return egl_khr_vg_parent_image;
+ if (!strcmp(ext,"EGL_KHR_wait_sync")) return egl_khr_wait_sync;
+ if (!strcmp(ext,"EGL_MESA_drm_image")) return egl_mesa_drm_image;
+ if (!strcmp(ext,"EGL_NV_coverage_sample")) return egl_nv_coverage_sample;
+ if (!strcmp(ext,"EGL_NV_coverage_sample_resolve")) return egl_nv_coverage_sample_resolve;
+ if (!strcmp(ext,"EGL_NV_post_sub_buffer")) return egl_nv_post_sub_buffer;
+ if (!strcmp(ext,"EGL_NV_sync")) return egl_nv_sync;
+ if (!strcmp(ext,"EGL_NV_system_time")) return egl_nv_system_time;
+#endif /* REGAL_SYS_EGL */
-return false;
+ return false;
}
REGAL_NAMESPACE_END
diff --git a/src/regal/RegalContextInfo.h b/src/regal/RegalContextInfo.h
index a5e3afa..e45f180 100644
--- a/src/regal/RegalContextInfo.h
+++ b/src/regal/RegalContextInfo.h
@@ -710,7 +710,7 @@
GLboolean wgl_nv_video_capture : 1;
GLboolean wgl_nv_video_output : 1;
GLboolean wgl_oml_sync_control : 1;
-#endif
+#endif /* REGAL_SYS_WGL */
#if REGAL_SYS_GLX
GLboolean glx_3dfx_multisample : 1;
@@ -770,7 +770,7 @@
GLboolean glx_sgi_video_sync : 1;
GLboolean glx_sun_get_transparent_index : 1;
GLboolean glx_sun_video_resize : 1;
-#endif
+#endif /* REGAL_SYS_GLX */
#if REGAL_SYS_EGL
GLboolean egl_angle_query_surface_pointer : 1;
@@ -801,7 +801,7 @@
GLboolean egl_nv_post_sub_buffer : 1;
GLboolean egl_nv_sync : 1;
GLboolean egl_nv_system_time : 1;
-#endif
+#endif /* REGAL_SYS_EGL */
// Driver context limits
diff --git a/src/regal/RegalEmuInfo.cpp b/src/regal/RegalEmuInfo.cpp
index 86018c7..870ea6e 100644
--- a/src/regal/RegalEmuInfo.cpp
+++ b/src/regal/RegalEmuInfo.cpp
@@ -243,6 +243,8 @@
{
Internal("EmuInfo::getExtension ",boost::print::quote(ext,'"'));
+ // If the context supports it, we're done.
+
if (contextInfo.getExtension(ext))
return true;
@@ -276,7 +278,7 @@
if (!strcmp(ext,"GL_REGAL_extension_query")) return true;
if (!strcmp(ext,"GL_REGAL_log")) return true;
-return false;
+ return false;
}
bool
diff --git a/src/regal/RegalJson.cpp b/src/regal/RegalJson.cpp
index 8aa5c47..18c1316 100644
--- a/src/regal/RegalJson.cpp
+++ b/src/regal/RegalJson.cpp
@@ -136,6 +136,10 @@
JSON_REGAL_CONFIG_FRAME_SAVE_PREFIX,
JSON_REGAL_CONFIG_FRAME_SAVE_PREFIX,
JSON_REGAL_CONFIG,
+ JSON_REGAL_CONFIG_LOAD,
+ JSON_REGAL_CONFIG_LOAD,
+ JSON_REGAL_CONFIG_LOAD,
+ JSON_REGAL_CONFIG,
JSON_REGAL_CONFIG_SYSTEM,
JSON_REGAL_CONFIG_SYSTEM,
JSON_REGAL_CONFIG_SYSTEM,
@@ -202,6 +206,7 @@
if (name=="dispatch" ) { current = JSON_REGAL_CONFIG_DISPATCH; return; }
if (name=="force" ) { current = JSON_REGAL_CONFIG_FORCE; return; }
if (name=="frame" ) { current = JSON_REGAL_CONFIG_FRAME; return; }
+ if (name=="load" ) { current = JSON_REGAL_CONFIG_LOAD; return; }
if (name=="system" ) { current = JSON_REGAL_CONFIG_SYSTEM; return; }
if (name=="trace" ) { current = JSON_REGAL_CONFIG_TRACE; return; }
break;
@@ -326,6 +331,12 @@
if (name=="stencil" ) { current = JSON_REGAL_CONFIG_FRAME_SAVE_PREFIX_STENCIL; return; }
break;
+ case JSON_REGAL_CONFIG_LOAD:
+ if (name=="EGL" ) { current = JSON_REGAL_CONFIG_LOAD_EGL; return; }
+ if (name=="ES2" ) { current = JSON_REGAL_CONFIG_LOAD_ES2; return; }
+ if (name=="GL" ) { current = JSON_REGAL_CONFIG_LOAD_GL; return; }
+ break;
+
case JSON_REGAL_CONFIG_SYSTEM:
if (name=="EGL" ) { current = JSON_REGAL_CONFIG_SYSTEM_EGL; return; }
if (name=="ES1" ) { current = JSON_REGAL_CONFIG_SYSTEM_ES1; return; }
@@ -522,6 +533,9 @@
case JSON_REGAL_CONFIG_FRAME_SAVE_PREFIX_COLOR : { set_json_regal_config_frame_save_prefix_color(value); return; }
case JSON_REGAL_CONFIG_FRAME_SAVE_PREFIX_DEPTH : { set_json_regal_config_frame_save_prefix_depth(value); return; }
case JSON_REGAL_CONFIG_FRAME_SAVE_PREFIX_STENCIL : { set_json_regal_config_frame_save_prefix_stencil(value); return; }
+ case JSON_REGAL_CONFIG_LOAD_EGL : { set_json_regal_config_load_egl(value); return; }
+ case JSON_REGAL_CONFIG_LOAD_ES2 : { set_json_regal_config_load_es2(value); return; }
+ case JSON_REGAL_CONFIG_LOAD_GL : { set_json_regal_config_load_gl(value); return; }
case JSON_REGAL_CONFIG_TRACE_FILE : { set_json_regal_config_trace_file(value); return; }
case JSON_REGAL_LOGGING_FILENAME : { set_json_regal_logging_filename(value); return; }
case JSON_REGAL_LOGGING_JSONFILE : { set_json_regal_logging_jsonfile(value); return; }
diff --git a/src/regal/RegalJson.h b/src/regal/RegalJson.h
index 2ef5c2e..2563e6f 100644
--- a/src/regal/RegalJson.h
+++ b/src/regal/RegalJson.h
@@ -131,6 +131,10 @@
JSON_REGAL_CONFIG_FRAME_SAVE_PREFIX_COLOR,
JSON_REGAL_CONFIG_FRAME_SAVE_PREFIX_DEPTH,
JSON_REGAL_CONFIG_FRAME_SAVE_PREFIX_STENCIL,
+ JSON_REGAL_CONFIG_LOAD,
+ JSON_REGAL_CONFIG_LOAD_EGL,
+ JSON_REGAL_CONFIG_LOAD_ES2,
+ JSON_REGAL_CONFIG_LOAD_GL,
JSON_REGAL_CONFIG_SYSTEM,
JSON_REGAL_CONFIG_SYSTEM_EGL,
JSON_REGAL_CONFIG_SYSTEM_ES1,
diff --git a/src/regal/RegalJson.inl b/src/regal/RegalJson.inl
index 1eb0361..40bade9 100644
--- a/src/regal/RegalJson.inl
+++ b/src/regal/RegalJson.inl
@@ -67,6 +67,9 @@
#define set_json_regal_config_frame_save_prefix_color(value) Config::frameSaveColorPrefix = value
#define set_json_regal_config_frame_save_prefix_depth(value) Config::frameSaveDepthPrefix = value
#define set_json_regal_config_frame_save_prefix_stencil(value) Config::frameSaveStencilPrefix = value
+#define set_json_regal_config_load_egl(value) Config::loadEGL = value
+#define set_json_regal_config_load_es2(value) Config::loadES2 = value
+#define set_json_regal_config_load_gl(value) Config::loadGL = value
#define set_json_regal_config_system_egl(value) Config::sysEGL = value
#define set_json_regal_config_system_es1(value) Config::sysES1 = value
#define set_json_regal_config_system_es2(value) Config::sysES2 = value
diff --git a/src/regal/RegalLookup.cpp b/src/regal/RegalLookup.cpp
index fd971dc..8147196 100644
--- a/src/regal/RegalLookup.cpp
+++ b/src/regal/RegalLookup.cpp
@@ -8607,8 +8607,7 @@
0
};
-#endif
-
+#endif /* REGAL_SYS_WGL */
#if REGAL_SYS_GLX
const char * const glx_Name[123] = {
"glXAllocateMemoryNV",
@@ -8988,8 +8987,7 @@
0
};
-#endif
-
+#endif /* REGAL_SYS_GLX */
#if REGAL_SYS_OSX
const char * const cgl_Name[53] = {
"CGLChoosePixelFormat",
@@ -9159,8 +9157,7 @@
0
};
-#endif
-
+#endif /* REGAL_SYS_OSX */
#if REGAL_SYS_EGL
const char * const egl_Name[64] = {
"eglBindAPI",
@@ -9363,7 +9360,7 @@
0
};
-#endif
+#endif /* REGAL_SYS_EGL */
}
diff --git a/src/regal/RegalLookup.h b/src/regal/RegalLookup.h
index 2f49b56..1d9ad20 100644
--- a/src/regal/RegalLookup.h
+++ b/src/regal/RegalLookup.h
@@ -61,7 +61,6 @@
extern const char * const gl_Name[2701];
extern const void *gl_Value[2701];
-extern const size_t gl_Offset[2701];
template<typename T>
T
@@ -71,6 +70,8 @@
return res ? reinterpret_cast<T>(const_cast<void *>(gl_Value[(size_t) (res - gl_Name)])) : def;
}
+extern const size_t gl_Offset[2701];
+
inline size_t gl_LookupOffset(const char *name)
{
const char **res = (const char **) std::bsearch(&name, gl_Name, 2700, sizeof(const char *), NameCmp);
@@ -81,7 +82,6 @@
extern const char * const wgl_Name[144];
extern const void *wgl_Value[144];
-extern const size_t wgl_Offset[144];
template<typename T>
T
@@ -91,19 +91,19 @@
return res ? reinterpret_cast<T>(const_cast<void *>(wgl_Value[(size_t) (res - wgl_Name)])) : def;
}
+extern const size_t wgl_Offset[144];
+
inline size_t wgl_LookupOffset(const char *name)
{
const char **res = (const char **) std::bsearch(&name, wgl_Name, 143, sizeof(const char *), NameCmp);
return res ? wgl_Offset[(size_t) (res - wgl_Name)] : 0;
}
-#endif
-
+#endif /* REGAL_SYS_WGL */
#if REGAL_SYS_GLX
extern const char * const glx_Name[123];
extern const void *glx_Value[123];
-extern const size_t glx_Offset[123];
template<typename T>
T
@@ -113,19 +113,19 @@
return res ? reinterpret_cast<T>(const_cast<void *>(glx_Value[(size_t) (res - glx_Name)])) : def;
}
+extern const size_t glx_Offset[123];
+
inline size_t glx_LookupOffset(const char *name)
{
const char **res = (const char **) std::bsearch(&name, glx_Name, 122, sizeof(const char *), NameCmp);
return res ? glx_Offset[(size_t) (res - glx_Name)] : 0;
}
-#endif
-
+#endif /* REGAL_SYS_GLX */
#if REGAL_SYS_OSX
extern const char * const cgl_Name[53];
extern const void *cgl_Value[53];
-extern const size_t cgl_Offset[53];
template<typename T>
T
@@ -135,19 +135,19 @@
return res ? reinterpret_cast<T>(const_cast<void *>(cgl_Value[(size_t) (res - cgl_Name)])) : def;
}
+extern const size_t cgl_Offset[53];
+
inline size_t cgl_LookupOffset(const char *name)
{
const char **res = (const char **) std::bsearch(&name, cgl_Name, 52, sizeof(const char *), NameCmp);
return res ? cgl_Offset[(size_t) (res - cgl_Name)] : 0;
}
-#endif
-
+#endif /* REGAL_SYS_OSX */
#if REGAL_SYS_EGL
extern const char * const egl_Name[64];
extern const void *egl_Value[64];
-extern const size_t egl_Offset[64];
template<typename T>
T
@@ -157,13 +157,15 @@
return res ? reinterpret_cast<T>(const_cast<void *>(egl_Value[(size_t) (res - egl_Name)])) : def;
}
+extern const size_t egl_Offset[64];
+
inline size_t egl_LookupOffset(const char *name)
{
const char **res = (const char **) std::bsearch(&name, egl_Name, 63, sizeof(const char *), NameCmp);
return res ? egl_Offset[(size_t) (res - egl_Name)] : 0;
}
-#endif
+#endif /* REGAL_SYS_EGL */
}
diff --git a/src/regal/RegalUtil.cpp b/src/regal/RegalUtil.cpp
index a8d672b..1015525 100644
--- a/src/regal/RegalUtil.cpp
+++ b/src/regal/RegalUtil.cpp
@@ -143,7 +143,9 @@
if (library==LIBRARY_GL || library==LIBRARY_WGL || library==LIBRARY_GLX)
{
- // First, try ... variable
+ // First, try configured variable
+
+ ret = Config::loadGL.length() ? Config::loadGL.c_str() : NULL;
// Second, try default installation location
@@ -251,7 +253,9 @@
if (library==LIBRARY_ES2)
{
- // First, try ... variable
+ // First, try configured variable
+
+ ret = Config::loadES2.length() ? Config::loadES2.c_str() : NULL;
// Second, try default installation location
@@ -273,7 +277,9 @@
if (library==LIBRARY_EGL)
{
- // First, try ... variable
+ // First, try configured variable
+
+ ret = Config::loadEGL.length() ? Config::loadEGL.c_str() : NULL;
// Second, try default installation location