mirror of
https://github.com/Perlmint/glew-cmake.git
synced 2024-11-27 00:51:55 +00:00
Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Feb 6 17:44:15 GMT 2016
This commit is contained in:
commit
64d8e37d50
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1,5 +1,6 @@
|
||||
* text eol=lf
|
||||
*.png binary
|
||||
*.pdf binary
|
||||
build/*/* text eol=crlf
|
||||
CMakeLists.txt text eol=lf
|
||||
build/cmake/* text eol=lf
|
||||
|
13
.travis.yml
13
.travis.yml
@ -5,10 +5,14 @@ script:
|
||||
- make -C auto clobber
|
||||
- make extensions
|
||||
- make dist-src
|
||||
- make clean; SYSTEM=linux make
|
||||
- make clean; SYSTEM=linux-osmesa make
|
||||
- pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' . ; make; popd
|
||||
- pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' -DGLEW_OSMESA=1 .; make; popd
|
||||
- make clean; SYSTEM=linux make
|
||||
- make clean; SYSTEM=linux-osmesa make
|
||||
- make clean; SYSTEM=linux-egl make
|
||||
- make clean; SYSTEM=linux-clang make
|
||||
- make clean; SYSTEM=linux-clang-egl make
|
||||
- pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' . ; make; popd
|
||||
- pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' -DGLEW_OSMESA=1 . ; make; popd
|
||||
- pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' -DGLEW_EGL=1 . ; make; popd
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@ -16,6 +20,7 @@ addons:
|
||||
- cmake
|
||||
- dos2unix
|
||||
- libosmesa6-dev
|
||||
- libegl1-mesa-dev
|
||||
artifacts:
|
||||
bucket: glew
|
||||
s3_region: "us-east-1"
|
||||
|
7
Makefile
7
Makefile
@ -45,6 +45,7 @@ GLEW_DEST ?= /usr
|
||||
BINDIR ?= $(GLEW_DEST)/bin
|
||||
LIBDIR ?= $(GLEW_DEST)/lib
|
||||
INCDIR ?= $(GLEW_DEST)/include/GL
|
||||
PKGDIR ?= $(GLEW_DEST)/lib/pkgconfig
|
||||
|
||||
ifneq ($(GLEW_NO_GLU), -DGLEW_NO_GLU)
|
||||
LIBGLU = glu
|
||||
@ -229,9 +230,9 @@ install.include:
|
||||
$(INSTALL) -m 0644 include/GL/glxew.h "$(DESTDIR)$(INCDIR)/"
|
||||
|
||||
install.pkgconfig: glew.pc
|
||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)"
|
||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)/pkgconfig"
|
||||
$(INSTALL) -m 0644 glew.pc "$(DESTDIR)$(LIBDIR)/pkgconfig/"
|
||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(PKGDIR)"
|
||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(PKGDIR)"
|
||||
$(INSTALL) -m 0644 glew.pc "$(DESTDIR)$(PKGDIR)/"
|
||||
|
||||
uninstall:
|
||||
$(RM) "$(DESTDIR)$(INCDIR)/wglew.h"
|
||||
|
29
README.md
29
README.md
@ -73,8 +73,37 @@ RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel g
|
||||
|
||||
### Windows
|
||||
|
||||
#### Visual Studio
|
||||
|
||||
Use the provided Visual Studio project file in build/vc12/
|
||||
|
||||
Projects for vc6 and vc10 are also provided
|
||||
|
||||
#### MSYS/Mingw
|
||||
|
||||
Available from [Mingw](http://www.mingw.org/)
|
||||
|
||||
Requirements: bash, make, gcc
|
||||
|
||||
$ mingw32-make
|
||||
$ mingw32-make install
|
||||
$ mingw32-make install.all
|
||||
|
||||
Alternative toolchain: `SYSTEM=mingw-win32`
|
||||
|
||||
#### MSYS2/Mingw-w64
|
||||
|
||||
Available from [Msys2](http://msys2.github.io/) and/or [Mingw-w64](http://mingw-w64.org/)
|
||||
|
||||
Requirements: bash, make, gcc
|
||||
|
||||
$ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
|
||||
$ make
|
||||
$ make install
|
||||
$ make install.all
|
||||
|
||||
Alternative toolchain: `SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64`
|
||||
|
||||
## glewinfo
|
||||
|
||||
`glewinfo` is a command-line tool useful for inspecting the capabilities of an
|
||||
|
@ -10,6 +10,7 @@ include ../config/version
|
||||
#GLEW_SPLIT_SOURCE = yes
|
||||
|
||||
SHELL = bash
|
||||
PYTHON ?= python
|
||||
|
||||
### Use git repository for GL extension specifications
|
||||
|
||||
@ -41,16 +42,19 @@ BLACKLIST = blacklist
|
||||
|
||||
GL_CORE_SPEC := $(CORE)/GL_VERSION*
|
||||
GLX_CORE_SPEC := $(CORE)/GLX_VERSION*
|
||||
EGL_CORE_SPEC := $(CORE)/EGL_VERSION*
|
||||
ifeq (custom,$(MAKECMDGOALS))
|
||||
#GL_CORE_SPEC := $(shell grep GL_VERSION custom.txt | perl -pi -e "s=^=$(CORE)/=g;")
|
||||
GL_EXT_SPEC := $(shell grep "^[ \t]*GL_" custom.txt | grep -v GL_VERSION | perl -pi -e "s=^=$(EXT)/=g;")
|
||||
WGL_EXT_SPEC := $(shell grep "^[ \t]*WGL_" custom.txt | perl -pi -e "s=^=$(EXT)/=g;")
|
||||
#GLX_CORE_SPEC := $(shell grep GLX_VERSION custom.txt | perl -pi -e "s=^=$(CORE)/=g;")
|
||||
GLX_EXT_SPEC := $(shell grep "^[ \t]*GLX_" custom.txt | grep -v GLX_VERSION | perl -pi -e "s=^=$(EXT)/=g;")
|
||||
EGL_EXT_SPEC := $(shell grep "^[ \t]*EGL_" custom.txt | grep -v EGL_VERSION | perl -pi -e "s=^=$(EXT)/=g;")
|
||||
else
|
||||
GL_EXT_SPEC := $(EXT)/GL_*
|
||||
WGL_EXT_SPEC := $(EXT)/WGL_*
|
||||
GLX_EXT_SPEC := $(EXT)/GLX_*
|
||||
EGL_EXT_SPEC := $(EXT)/EGL_*
|
||||
endif
|
||||
|
||||
PARSE_SPEC = parse_spec.pl
|
||||
@ -65,7 +69,8 @@ B.DEST = $(TOP)/build
|
||||
I.TARGETS = \
|
||||
$(I.DEST)/glew.h \
|
||||
$(I.DEST)/wglew.h \
|
||||
$(I.DEST)/glxew.h
|
||||
$(I.DEST)/glxew.h \
|
||||
$(I.DEST)/eglew.h
|
||||
|
||||
ifeq (yes,$(GLEW_SPLIT_SOURCE))
|
||||
S.TARGETS = \
|
||||
@ -114,6 +119,7 @@ $(EXT)/.dummy: $(REGISTRY)/.dummy
|
||||
@echo "--------------------------------------------------------------------"
|
||||
rm -rf $(EXT)
|
||||
$(BIN)/update_ext.sh $(EXT) $(REGISTRY) $(BLACKLIST)
|
||||
$(PYTHON) $(BIN)/parse_xml.py registry/xml/egl.xml --core core/gl --extensions extensions/gl
|
||||
$(BIN)/$(FILTER) $(EXT)
|
||||
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
|
||||
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
||||
@ -135,13 +141,9 @@ $(I.DEST)/glew.h: $(EXT)/.dummy
|
||||
cat $(SRC)/glew_head.h >> $@
|
||||
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_EXT_SPEC) >> $@
|
||||
echo -e "/* ------------------------------------------------------------------------- */\n\n#if defined(GLEW_MX) && defined(_WIN32)\n#define GLEW_FUN_EXPORT\n#else\n#define GLEW_FUN_EXPORT GLEWAPI\n#endif /* GLEW_MX */\n" >> $@
|
||||
echo -e "#if defined(GLEW_MX)\n#define GLEW_VAR_EXPORT\n#else\n#define GLEW_VAR_EXPORT GLEWAPI\n#endif /* GLEW_MX */\n" >> $@
|
||||
echo -e "#if defined(GLEW_MX) && defined(_WIN32)\nstruct GLEWContextStruct\n{\n#endif /* GLEW_MX */" >> $@
|
||||
echo -e "/* ------------------------------------------------------------------------- */\n\n" >> $@
|
||||
$(BIN)/make_struct_fun.pl GLEW_FUN_EXPORT $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||
echo -e "\n#if defined(GLEW_MX) && !defined(_WIN32)\nstruct GLEWContextStruct\n{\n#endif /* GLEW_MX */\n" >> $@
|
||||
$(BIN)/make_struct_var.pl GLEW_VAR_EXPORT $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||
echo -e "\n#ifdef GLEW_MX\n}; /* GLEWContextStruct */\n#endif /* GLEW_MX */\n" >> $@
|
||||
perl -e "s/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1;\nGLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/" -pi $@
|
||||
cat $(SRC)/glew_tail.h >> $@
|
||||
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
||||
@ -159,10 +161,8 @@ $(I.DEST)/wglew.h: $(EXT)/.dummy
|
||||
cat $(SRC)/wglew_head.h >> $@
|
||||
$(BIN)/make_header.pl WINAPI WGL $(WGL_EXT_SPEC) >> $@
|
||||
cat $(SRC)/wglew_mid.h >> $@
|
||||
echo -e "\n#ifdef GLEW_MX\nstruct WGLEWContextStruct\n{\n#endif /* GLEW_MX */" >> $@
|
||||
$(BIN)/make_struct_fun.pl WGLEW_FUN_EXPORT $(WGL_EXT_SPEC) >> $@
|
||||
$(BIN)/make_struct_var.pl WGLEW_VAR_EXPORT $(WGL_EXT_SPEC) >> $@
|
||||
echo -e "\n#ifdef GLEW_MX\n}; /* WGLEWContextStruct */\n#endif /* GLEW_MX */\n" >> $@
|
||||
cat $(SRC)/wglew_tail.h >> $@
|
||||
|
||||
$(I.DEST)/glxew.h: $(EXT)/.dummy
|
||||
@ -177,33 +177,40 @@ $(I.DEST)/glxew.h: $(EXT)/.dummy
|
||||
$(BIN)/make_header.pl "" GLX $(GLX_EXT_SPEC) >> $@
|
||||
cat $(SRC)/glxew_mid.h >> $@
|
||||
$(BIN)/make_struct_fun.pl GLXEW_FUN_EXPORT $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
||||
echo -e "\n#if defined(GLEW_MX)\nstruct GLXEWContextStruct\n{\n#endif /* GLEW_MX */\n" >> $@
|
||||
$(BIN)/make_struct_var.pl GLXEW_VAR_EXPORT $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
||||
echo -e "\n#ifdef GLEW_MX\n}; /* GLXEWContextStruct */\n#endif /* GLEW_MX */\n" >> $@
|
||||
perl -e "s/GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;/GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_0;\nGLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_1;\nGLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;/" -pi $@
|
||||
cat $(SRC)/glxew_tail.h >> $@
|
||||
|
||||
$(I.DEST)/eglew.h: $(EXT)/.dummy
|
||||
@echo "--------------------------------------------------------------------"
|
||||
@echo "Creating eglew.h"
|
||||
@echo "--------------------------------------------------------------------"
|
||||
cp -f $(SRC)/glew_license.h $@
|
||||
cat $(SRC)/mesa_license.h >> $@
|
||||
cat $(SRC)/khronos_license.h >> $@
|
||||
cat $(SRC)/eglew_head.h >> $@
|
||||
$(BIN)/make_header.pl "" EGL $(EGL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_header.pl "" EGL $(EGL_EXT_SPEC) >> $@
|
||||
cat $(SRC)/eglew_mid.h >> $@
|
||||
$(BIN)/make_struct_fun.pl EGLEW_FUN_EXPORT $(EGL_CORE_SPEC) $(EGL_EXT_SPEC) >> $@
|
||||
$(BIN)/make_struct_var.pl EGLEW_VAR_EXPORT $(EGL_CORE_SPEC) $(EGL_EXT_SPEC) >> $@
|
||||
cat $(SRC)/eglew_tail.h >> $@
|
||||
|
||||
$(S.DEST)/glew.c: $(EXT)/.dummy
|
||||
@echo "--------------------------------------------------------------------"
|
||||
@echo "Creating glew.c"
|
||||
@echo "--------------------------------------------------------------------"
|
||||
cp -f $(SRC)/glew_license.h $@
|
||||
cat $(SRC)/glew_head.c >> $@
|
||||
echo -e "\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@
|
||||
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_def_fun.pl GL $(GL_EXT_SPEC) >> $@
|
||||
echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@
|
||||
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
||||
echo -e "\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
|
||||
$(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@
|
||||
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
||||
echo -e "\nstatic const char * _glewExtensionLookup[] = {" >> $@;
|
||||
$(BIN)/make_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||
echo -e " NULL\n};\n" >> $@;
|
||||
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
||||
$(BIN)/make_enable_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
||||
$(BIN)/make_initd.pl GL $(GL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_initd.pl GL $(GL_EXT_SPEC) >> $@
|
||||
echo -e "" >> $@;
|
||||
@ -214,24 +221,32 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
|
||||
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
|
||||
$(BIN)/make_list2.pl $(GL_EXT_SPEC) >> $@
|
||||
echo -e "\n return GLEW_OK;\n}\n" >> $@
|
||||
echo -e "\n#if defined(_WIN32) && ! defined(GLEW_OSMESA)" >> $@
|
||||
echo -e "\n#if !defined(GLEW_MX)" >> $@
|
||||
echo -e "\n#if defined(GLEW_OSMESA)" >> $@
|
||||
echo -e "\n#elif defined(GLEW_EGL)" >> $@
|
||||
$(BIN)/make_def_fun.pl EGL $(EGL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_def_fun.pl EGL $(EGL_EXT_SPEC) >> $@
|
||||
$(BIN)/make_def_var.pl EGL $(EGL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_def_var.pl EGL $(EGL_EXT_SPEC) >> $@
|
||||
$(BIN)/make_init.pl EGL $(EGL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_init.pl EGL $(EGL_EXT_SPEC) >> $@
|
||||
cat $(SRC)/glew_init_egl.c >> $@
|
||||
$(BIN)/make_list.pl $(EGL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_list.pl $(EGL_EXT_SPEC) >> $@
|
||||
echo -e "\n return GLEW_OK;\n}" >> $@
|
||||
echo -e "\n#elif defined(_WIN32)" >> $@
|
||||
$(BIN)/make_def_fun.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||
$(BIN)/make_def_var.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
||||
$(BIN)/make_init.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||
cat $(SRC)/glew_init_wgl.c >> $@
|
||||
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
|
||||
echo -e "\n return GLEW_OK;\n}" >> $@;
|
||||
echo -e "\n#elif !defined(GLEW_OSMESA) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))" >> $@
|
||||
echo -e "\n#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))" >> $@
|
||||
$(BIN)/make_def_fun.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||
$(BIN)/make_def_fun.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
||||
echo -e "\nGLboolean __GLXEW_VERSION_1_0 = GL_FALSE;" >> $@
|
||||
echo -e "GLboolean __GLXEW_VERSION_1_1 = GL_FALSE;" >> $@
|
||||
$(BIN)/make_def_var.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||
$(BIN)/make_def_var.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
||||
$(BIN)/make_init.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||
$(BIN)/make_init.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||
cat $(SRC)/glew_init_glx.c >> $@
|
||||
@ -246,6 +261,8 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
|
||||
$(BIN)/make_str.pl $(WGL_EXT_SPEC) >> $@
|
||||
cat $(SRC)/glew_str_glx.c >> $@
|
||||
$(BIN)/make_str.pl $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
||||
cat $(SRC)/glew_str_egl.c >> $@
|
||||
$(BIN)/make_str.pl $(EGL_CORE_SPEC) $(EGL_EXT_SPEC) >> $@
|
||||
cat $(SRC)/glew_str_tail.c >> $@
|
||||
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
||||
perl -e "s/GLEW_VERSION_MAJOR_STRING/$(GLEW_MAJOR)/g" -pi $@
|
||||
@ -263,7 +280,10 @@ $(S.DEST)/glewinfo.c: $(EXT)/.dummy
|
||||
cat $(SRC)/glewinfo_head.c >> $@
|
||||
$(BIN)/make_info.pl $(GL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_info.pl $(GL_EXT_SPEC) >> $@
|
||||
echo -e "#ifdef _WIN32\n" >> $@
|
||||
echo -e "#if defined(GLEW_EGL)\n" >> $@
|
||||
$(BIN)/make_info.pl $(EGL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_info.pl $(EGL_EXT_SPEC) >> $@
|
||||
echo -e "#elif _WIN32\n" >> $@
|
||||
$(BIN)/make_info.pl $(WGL_EXT_SPEC) >> $@
|
||||
echo -e "#else /* _UNIX */\n" >> $@
|
||||
$(BIN)/make_info.pl $(GLX_CORE_SPEC) >> $@
|
||||
@ -278,6 +298,9 @@ $(S.DEST)/glewinfo.c: $(EXT)/.dummy
|
||||
cat $(SRC)/glewinfo_glx.c >> $@
|
||||
$(BIN)/make_info_list.pl $(GLX_CORE_SPEC) >> $@
|
||||
$(BIN)/make_info_list.pl $(GLX_EXT_SPEC) >> $@
|
||||
cat $(SRC)/glewinfo_egl.c >> $@
|
||||
$(BIN)/make_info_list.pl $(EGL_CORE_SPEC) >> $@
|
||||
$(BIN)/make_info_list.pl $(EGL_EXT_SPEC) >> $@
|
||||
cat $(SRC)/glewinfo_tail.c >> $@
|
||||
perl -e 's/"glColorSubTable"/"glBlendEquation", glBlendEquation == NULL);\n glewInfoFunc("glColorSubTable"/g' -pi $@
|
||||
rm -f $@.bak
|
||||
|
@ -38,7 +38,7 @@ if (@ARGV)
|
||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||
|
||||
my $extpre = $extname;
|
||||
$extpre =~ s/^(W?)GL(X?).*$/\l$1gl\l$2ew/;
|
||||
$extpre =~ s/^(W?E?)GL(X?).*$/\l$1gl\l$2ew/;
|
||||
|
||||
#my $pextvar = prefix_varname($extvar);
|
||||
|
||||
|
@ -24,11 +24,11 @@ if (@ARGV)
|
||||
{
|
||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||
my $exttype = $extname;
|
||||
$exttype =~ s/(W*?)GL(X*?)_(.*?_)(.*)/$3/;
|
||||
$exttype =~ s/(W?E?)GL(X?)_(.*?_)(.*)/$3/;
|
||||
my $extrem = $extname;
|
||||
$extrem =~ s/(W*?)GL(X*?)_(.*?_)(.*)/$4/;
|
||||
$extrem =~ s/(W?E?)GL(X?)_(.*?_)(.*)/$4/;
|
||||
my $extvar = $extname;
|
||||
$extvar =~ s/(W*)GL(X*)_/$1GL$2EW_/;
|
||||
$extvar =~ s/(W?E?)GL(X?)_/$1GL$2EW_/;
|
||||
if(!($exttype =~ $curexttype))
|
||||
{
|
||||
if(length($curexttype) > 0)
|
||||
|
131
auto/bin/parse_xml.py
Executable file
131
auto/bin/parse_xml.py
Executable file
@ -0,0 +1,131 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import re
|
||||
import sys
|
||||
from xml.dom.minidom import parse, Node
|
||||
|
||||
def findChildren(node, path):
|
||||
result = []
|
||||
if len(path)==1:
|
||||
for i in node.childNodes:
|
||||
if i.nodeType==Node.ELEMENT_NODE:
|
||||
if i.tagName==path[0]:
|
||||
result.append(i)
|
||||
else:
|
||||
for i in node.childNodes:
|
||||
if i.nodeType==Node.ELEMENT_NODE:
|
||||
if i.tagName==path[0]:
|
||||
result.extend(findChildren(i, path[1:]))
|
||||
return result
|
||||
|
||||
def findData(node, path):
|
||||
return [ i.firstChild.data for i in findChildren(node, path) ]
|
||||
|
||||
def findParams(node):
|
||||
n = findData(node, ['name'])[0]
|
||||
t = ''
|
||||
for i in node.childNodes:
|
||||
if i.nodeType==Node.TEXT_NODE:
|
||||
t += i.data
|
||||
if i.nodeType==Node.ELEMENT_NODE and i.tagName=='ptype':
|
||||
t += i.firstChild.data
|
||||
return ( t, n)
|
||||
|
||||
def findEnums(dom):
|
||||
ret = {}
|
||||
for i in findChildren(dom, [ 'registry', 'enums', 'enum' ]):
|
||||
n = i.getAttribute('name')
|
||||
v = i.getAttribute('value')
|
||||
ret[n] = v
|
||||
return ret
|
||||
|
||||
def findCommands(dom):
|
||||
ret = {}
|
||||
for i in findChildren(dom, [ 'registry', 'commands', 'command' ]):
|
||||
r,n = findParams(findChildren(i, ['proto'])[0])
|
||||
p = [ findParams(j) for j in findChildren(i, ['param'])]
|
||||
ret[n] = (r, p)
|
||||
return ret
|
||||
|
||||
def findFeatures(dom):
|
||||
ret = {}
|
||||
for i in findChildren(dom, [ 'registry', 'feature' ]):
|
||||
n = i.getAttribute('name')
|
||||
e = []
|
||||
c = []
|
||||
for j in findChildren(i, [ 'require', 'enum' ]):
|
||||
e.append(j.getAttribute("name"))
|
||||
for j in findChildren(i, [ 'require', 'command' ]):
|
||||
c.append(j.getAttribute("name"))
|
||||
ret[n] = (e,c)
|
||||
return ret
|
||||
|
||||
def findExtensions(dom):
|
||||
ret = {}
|
||||
for i in findChildren(dom, [ 'registry', 'extensions', 'extension' ]):
|
||||
n = i.getAttribute('name')
|
||||
e = []
|
||||
c = []
|
||||
for j in findChildren(i, [ 'require', 'enum' ]):
|
||||
e.append(j.getAttribute("name"))
|
||||
for j in findChildren(i, [ 'require', 'command' ]):
|
||||
c.append(j.getAttribute("name"))
|
||||
ret[n] = (e,c)
|
||||
return ret
|
||||
|
||||
def findApi(dom, name):
|
||||
enums = findEnums(dom)
|
||||
commands = findCommands(dom)
|
||||
features = findFeatures(dom)
|
||||
extensions = findExtensions(dom)
|
||||
return (enums, commands, features, extensions)
|
||||
|
||||
def writeExtension(f, name, extension, enums, commands):
|
||||
f.write('%s\n'%name)
|
||||
f.write('%s\n'%'https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf')
|
||||
if name.find('_VERSION_')==-1:
|
||||
f.write('%s\n'%name)
|
||||
else:
|
||||
f.write('\n')
|
||||
f.write('\n')
|
||||
enums = [ (j, enums[j]) for j in extension[0] ]
|
||||
for e in sorted(enums, key=lambda i: i[1]):
|
||||
f.write('\t%s %s\n'%(e[0], e[1]))
|
||||
commands = [ (j, commands[j]) for j in extension[1] ]
|
||||
for c in sorted(commands):
|
||||
params = ', '.join( [ '%s %s'%(j[0], j[1]) for j in c[1][1] ] )
|
||||
if len(params)==0:
|
||||
params = ' void '
|
||||
f.write('\t%s %s (%s)\n'%(c[1][0], c[0], params))
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
from optparse import OptionParser
|
||||
import os
|
||||
|
||||
parser = OptionParser('usage: %prog [options] [XML specs...]')
|
||||
parser.add_option("--core", dest="core", help="location for core outputs", default='')
|
||||
parser.add_option("--extensions", dest="extensions", help="location for extensions outputs", default='')
|
||||
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
for i in args:
|
||||
|
||||
dom = parse(i)
|
||||
api = findApi(dom, 'egl')
|
||||
|
||||
print 'Found {} enums, {} commands, {} features and {} extensions.'.format(
|
||||
len(api[0]), len(api[1]), len(api[2]), len(api[3]))
|
||||
|
||||
if len(options.core):
|
||||
for i in api[2].keys():
|
||||
f = open('%s/%s'%(options.core, i), 'w')
|
||||
writeExtension(f, i, api[2][i], api[0], api[1])
|
||||
f.close()
|
||||
|
||||
if len(options.extensions):
|
||||
for i in api[3].keys():
|
||||
f = open('%s/%s'%(options.extensions, i), 'w')
|
||||
writeExtension(f, i, api[3][i], api[0], api[1])
|
||||
f.close()
|
||||
|
BIN
auto/khronos/readme.pdf
Normal file
BIN
auto/khronos/readme.pdf
Normal file
Binary file not shown.
87
auto/src/eglew_head.h
Normal file
87
auto/src/eglew_head.h
Normal file
@ -0,0 +1,87 @@
|
||||
#ifndef __eglew_h__
|
||||
#define __eglew_h__
|
||||
#define __EGLEW_H__
|
||||
|
||||
#ifdef __eglext_h_
|
||||
#error eglext.h included before eglew.h
|
||||
#endif
|
||||
|
||||
#if defined(__egl_h_)
|
||||
#error egl.h included before eglew.h
|
||||
#endif
|
||||
|
||||
#define __eglext_h_
|
||||
|
||||
#define __egl_h_
|
||||
|
||||
#ifndef EGLAPIENTRY
|
||||
#define EGLAPIENTRY
|
||||
#endif
|
||||
#ifndef EGLAPI
|
||||
#define EGLAPI extern
|
||||
#endif
|
||||
|
||||
/* EGL Types */
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <KHR/khrplatform.h>
|
||||
#include <EGL/eglplatform.h>
|
||||
|
||||
#include <GL/glew.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef int32_t EGLint;
|
||||
|
||||
typedef unsigned int EGLBoolean;
|
||||
typedef void *EGLDisplay;
|
||||
typedef void *EGLConfig;
|
||||
typedef void *EGLSurface;
|
||||
typedef void *EGLContext;
|
||||
typedef void (*__eglMustCastToProperFunctionPointerType)(void);
|
||||
|
||||
typedef unsigned int EGLenum;
|
||||
typedef void *EGLClientBuffer;
|
||||
|
||||
typedef void *EGLSync;
|
||||
typedef intptr_t EGLAttrib;
|
||||
typedef khronos_utime_nanoseconds_t EGLTime;
|
||||
typedef void *EGLImage;
|
||||
|
||||
typedef void *EGLSyncKHR;
|
||||
typedef intptr_t EGLAttribKHR;
|
||||
typedef void *EGLLabelKHR;
|
||||
typedef void *EGLObjectKHR;
|
||||
typedef void (EGLAPIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
|
||||
typedef khronos_utime_nanoseconds_t EGLTimeKHR;
|
||||
typedef void *EGLImageKHR;
|
||||
typedef void *EGLStreamKHR;
|
||||
typedef khronos_uint64_t EGLuint64KHR;
|
||||
typedef int EGLNativeFileDescriptorKHR;
|
||||
typedef khronos_ssize_t EGLsizeiANDROID;
|
||||
typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
|
||||
typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
|
||||
typedef void *EGLDeviceEXT;
|
||||
typedef void *EGLOutputLayerEXT;
|
||||
typedef void *EGLOutputPortEXT;
|
||||
typedef void *EGLSyncNV;
|
||||
typedef khronos_utime_nanoseconds_t EGLTimeNV;
|
||||
typedef khronos_utime_nanoseconds_t EGLuint64NV;
|
||||
|
||||
struct EGLClientPixmapHI;
|
||||
|
||||
#define EGL_DONT_CARE ((EGLint)-1)
|
||||
|
||||
#define EGL_NO_CONTEXT ((EGLContext)0)
|
||||
#define EGL_NO_DISPLAY ((EGLDisplay)0)
|
||||
#define EGL_NO_IMAGE ((EGLImage)0)
|
||||
#define EGL_NO_SURFACE ((EGLSurface)0)
|
||||
#define EGL_NO_SYNC ((EGLSync)0)
|
||||
|
||||
#define EGL_UNKNOWN ((EGLint)-1)
|
||||
|
||||
#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
|
||||
|
||||
EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
|
4
auto/src/eglew_mid.h
Normal file
4
auto/src/eglew_mid.h
Normal file
@ -0,0 +1,4 @@
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#define EGLEW_FUN_EXPORT GLEW_FUN_EXPORT
|
||||
#define EGLEW_VAR_EXPORT GLEW_VAR_EXPORT
|
15
auto/src/eglew_tail.h
Normal file
15
auto/src/eglew_tail.h
Normal file
@ -0,0 +1,15 @@
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
GLEWAPI GLenum GLEWAPIENTRY eglewInit (EGLDisplay display);
|
||||
GLEWAPI GLboolean GLEWAPIENTRY eglewIsSupported (const char *name);
|
||||
|
||||
#define EGLEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||
#define EGLEW_GET_FUN(x) x
|
||||
|
||||
GLEWAPI GLboolean GLEWAPIENTRY eglewGetExtension (const char *name);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __eglew_h__ */
|
@ -3,6 +3,8 @@
|
||||
#if defined(GLEW_OSMESA)
|
||||
# define GLAPI extern
|
||||
# include <GL/osmesa.h>
|
||||
#elif defined(GLEW_EGL)
|
||||
# include <GL/eglew.h>
|
||||
#elif defined(_WIN32)
|
||||
# include <GL/wglew.h>
|
||||
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))
|
||||
@ -13,7 +15,8 @@
|
||||
#include <stdlib.h> /* For bsearch */
|
||||
#include <string.h> /* For memset */
|
||||
|
||||
#if defined(GLEW_REGAL)
|
||||
#if defined(GLEW_EGL)
|
||||
#elif defined(GLEW_REGAL)
|
||||
|
||||
/* In GLEW_REGAL mode we call direcly into the linked
|
||||
libRegal.so glGetProcAddressREGAL for looking up
|
||||
@ -117,6 +120,8 @@ void* NSGLGetProcAddress (const GLubyte *name)
|
||||
# define glewGetProcAddress(name) regalGetProcAddress((const GLchar *)name)
|
||||
#elif defined(GLEW_OSMESA)
|
||||
# define glewGetProcAddress(name) OSMesaGetProcAddress((const char *)name)
|
||||
#elif defined(GLEW_EGL)
|
||||
# define glewGetProcAddress(name) eglGetProcAddress((const char *)name)
|
||||
#elif defined(_WIN32)
|
||||
# define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
|
||||
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
||||
@ -148,6 +153,11 @@ void* NSGLGetProcAddress (const GLubyte *name)
|
||||
# define GLXEW_GET_VAR(x) (x)
|
||||
#endif /* GLXEW_GET_VAR */
|
||||
|
||||
#ifdef EGLEW_GET_VAR
|
||||
# undef EGLEW_GET_VAR
|
||||
# define EGLEW_GET_VAR(x) (x)
|
||||
#endif /* EGLEW_GET_VAR */
|
||||
|
||||
/*
|
||||
* GLEW, just like OpenGL or GLU, does not rely on the standard C library.
|
||||
* These functions implement the functionality required in this file.
|
||||
|
@ -184,6 +184,9 @@ typedef _W64 int ptrdiff_t;
|
||||
#define GLEWAPIENTRY
|
||||
#endif
|
||||
|
||||
#define GLEW_VAR_EXPORT GLEWAPI
|
||||
#define GLEW_FUN_EXPORT GLEWAPI
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
45
auto/src/glew_init_egl.c
Normal file
45
auto/src/glew_init_egl.c
Normal file
@ -0,0 +1,45 @@
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
GLboolean eglewGetExtension (const char* name)
|
||||
{
|
||||
const GLubyte* start;
|
||||
const GLubyte* end;
|
||||
|
||||
start = (const GLubyte*) eglQueryString(eglGetCurrentDisplay(), EGL_EXTENSIONS);
|
||||
if (0 == start) return GL_FALSE;
|
||||
end = start + _glewStrLen(start);
|
||||
return _glewSearchExtension(name, start, end);
|
||||
}
|
||||
|
||||
GLenum eglewInit (EGLDisplay display)
|
||||
{
|
||||
EGLint major, minor;
|
||||
const GLubyte* extStart;
|
||||
const GLubyte* extEnd;
|
||||
PFNEGLINITIALIZEPROC initialize = NULL;
|
||||
PFNEGLQUERYSTRINGPROC queryString = NULL;
|
||||
|
||||
/* Load necessary entry points */
|
||||
initialize = (PFNEGLINITIALIZEPROC) glewGetProcAddress("eglInitialize");
|
||||
queryString = (PFNEGLQUERYSTRINGPROC) glewGetProcAddress("eglQueryString");
|
||||
if (!initialize || !queryString)
|
||||
return 1;
|
||||
|
||||
/* query EGK version */
|
||||
if (initialize(display, &major, &minor) != EGL_TRUE)
|
||||
return 1;
|
||||
|
||||
EGLEW_VERSION_1_5 = ( major > 1 ) || ( major == 1 && minor >= 5 ) ? GL_TRUE : GL_FALSE;
|
||||
EGLEW_VERSION_1_4 = EGLEW_VERSION_1_5 == GL_TRUE || ( major == 1 && minor >= 4 ) ? GL_TRUE : GL_FALSE;
|
||||
EGLEW_VERSION_1_3 = EGLEW_VERSION_1_4 == GL_TRUE || ( major == 1 && minor >= 3 ) ? GL_TRUE : GL_FALSE;
|
||||
EGLEW_VERSION_1_2 = EGLEW_VERSION_1_3 == GL_TRUE || ( major == 1 && minor >= 2 ) ? GL_TRUE : GL_FALSE;
|
||||
EGLEW_VERSION_1_1 = EGLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
|
||||
EGLEW_VERSION_1_0 = EGLEW_VERSION_1_1 == GL_TRUE || ( major == 1 && minor >= 0 ) ? GL_TRUE : GL_FALSE;
|
||||
|
||||
/* query EGL extension string */
|
||||
extStart = (const GLubyte*) queryString(display, EGL_EXTENSIONS);
|
||||
if (extStart == 0)
|
||||
extStart = (const GLubyte *)"";
|
||||
extEnd = extStart + _glewStrLen(extStart);
|
||||
|
||||
/* initialize extensions */
|
@ -71,14 +71,22 @@ GLboolean GLEWAPIENTRY glewGetExtension (const char* name)
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGPROC) (GLenum name);
|
||||
typedef void (GLAPIENTRY * PFNGLGETINTEGERVPROC) (GLenum pname, GLint *params);
|
||||
|
||||
static GLenum GLEWAPIENTRY glewContextInit ()
|
||||
{
|
||||
PFNGLGETSTRINGPROC getString;
|
||||
const GLubyte* s;
|
||||
GLuint dot;
|
||||
GLint major, minor;
|
||||
|
||||
/* query opengl version */
|
||||
s = glGetString(GL_VERSION);
|
||||
getString = (PFNGLGETSTRINGPROC) glewGetProcAddress((const GLubyte*)"glGetString");
|
||||
if (!getString)
|
||||
return GLEW_ERROR_NO_GL_VERSION;
|
||||
|
||||
s = getString(GL_VERSION);
|
||||
dot = _glewStrCLen(s, '.');
|
||||
if (dot == 0)
|
||||
return GLEW_ERROR_NO_GL_VERSION;
|
||||
@ -123,11 +131,14 @@ static GLenum GLEWAPIENTRY glewContextInit ()
|
||||
{
|
||||
GLint n = 0;
|
||||
GLint i;
|
||||
PFNGLGETINTEGERVPROC getIntegerv;
|
||||
PFNGLGETSTRINGIPROC getStringi;
|
||||
const char *ext;
|
||||
GLboolean *enable;
|
||||
|
||||
glGetIntegerv(GL_NUM_EXTENSIONS, &n);
|
||||
getIntegerv = (PFNGLGETINTEGERVPROC) glewGetProcAddress((const GLubyte*)"glGetIntegerv");
|
||||
if (getIntegerv)
|
||||
getIntegerv(GL_NUM_EXTENSIONS, &n);
|
||||
|
||||
/* glGetStringi is OpenGL 3.0 */
|
||||
getStringi = (PFNGLGETSTRINGIPROC) glewGetProcAddress((const GLubyte*)"glGetStringi");
|
||||
@ -156,7 +167,7 @@ static GLenum GLEWAPIENTRY glewContextInit ()
|
||||
char ext[128];
|
||||
GLboolean *enable;
|
||||
|
||||
extensions = (const char *) glGetString(GL_EXTENSIONS);
|
||||
extensions = (const char *) getString(GL_EXTENSIONS);
|
||||
|
||||
if (extensions)
|
||||
{
|
||||
|
@ -35,9 +35,15 @@ GLboolean glewExperimental = GL_FALSE;
|
||||
GLenum GLEWAPIENTRY glewInit (void)
|
||||
{
|
||||
GLenum r;
|
||||
#if defined(GLEW_EGL)
|
||||
PFNEGLGETCURRENTDISPLAYPROC getCurrentDisplay = NULL;
|
||||
#endif
|
||||
r = glewContextInit();
|
||||
if ( r != 0 ) return r;
|
||||
#if defined(GLEW_OSMESA) || defined(__ANDROID__) || defined(__native_client__) || defined(__HAIKU__)
|
||||
#if defined(GLEW_EGL)
|
||||
getCurrentDisplay = (PFNEGLGETCURRENTDISPLAYPROC) glewGetProcAddress("eglGetCurrentDisplay");
|
||||
return eglewInit(getCurrentDisplay());
|
||||
#elif defined(GLEW_OSMESA) || defined(__ANDROID__) || defined(__native_client__) || defined(__HAIKU__)
|
||||
return r;
|
||||
#elif defined(_WIN32)
|
||||
return wglewInit();
|
||||
|
17
auto/src/glew_str_egl.c
Normal file
17
auto/src/glew_str_egl.c
Normal file
@ -0,0 +1,17 @@
|
||||
}
|
||||
ret = (len == 0);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
#elif defined(GLEW_EGL)
|
||||
|
||||
GLboolean eglewIsSupported (const char* name)
|
||||
{
|
||||
const GLubyte* pos = (const GLubyte*)name;
|
||||
GLuint len = _glewStrLen(pos);
|
||||
GLboolean ret = GL_TRUE;
|
||||
while (ret && len > 0)
|
||||
{
|
||||
if(_glewStrSame1(&pos, &len, (const GLubyte*)"EGL_", 4))
|
||||
{
|
@ -4,7 +4,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
#elif !defined(GLEW_OSMESA) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
#elif !defined(GLEW_OSMESA) && !defined(GLEW_EGL) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
|
||||
GLboolean glxewIsSupported (const char* name)
|
||||
{
|
||||
|
@ -4,7 +4,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
#if defined(_WIN32) && !defined(GLEW_OSMESA)
|
||||
#if defined(_WIN32) && !defined(GLEW_EGL) && !defined(GLEW_OSMESA)
|
||||
|
||||
GLboolean GLEWAPIENTRY wglewIsSupported (const char* name)
|
||||
{
|
||||
|
@ -29,8 +29,13 @@ GLEWAPI GLenum GLEWAPIENTRY glewInit (void);
|
||||
GLEWAPI GLboolean GLEWAPIENTRY glewIsSupported (const char *name);
|
||||
#define glewIsExtensionSupported(x) glewIsSupported(x)
|
||||
|
||||
#ifndef GLEW_GET_VAR
|
||||
#define GLEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||
#endif
|
||||
|
||||
#ifndef GLEW_GET_FUN
|
||||
#define GLEW_GET_FUN(x) x
|
||||
#endif
|
||||
|
||||
GLEWAPI GLboolean glewExperimental;
|
||||
GLEWAPI GLboolean GLEWAPIENTRY glewGetExtension (const char *name);
|
||||
|
6
auto/src/glewinfo_egl.c
Normal file
6
auto/src/glewinfo_egl.c
Normal file
@ -0,0 +1,6 @@
|
||||
}
|
||||
|
||||
#elif defined(GLEW_EGL)
|
||||
|
||||
static void eglewInfo ()
|
||||
{
|
@ -1,6 +1,6 @@
|
||||
}
|
||||
|
||||
#elif !defined(GLEW_OSMESA) /* _UNIX */
|
||||
#elif !defined(GLEW_EGL) && !defined(GLEW_OSMESA) /* _UNIX */
|
||||
|
||||
static void glxewInfo ()
|
||||
{
|
||||
|
@ -2,7 +2,9 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <GL/glew.h>
|
||||
#if defined(GLEW_OSMESA)
|
||||
#if defined(GLEW_EGL)
|
||||
#include <GL/eglew.h>
|
||||
#elif defined(GLEW_OSMESA)
|
||||
#define GLAPI extern
|
||||
#include <GL/osmesa.h>
|
||||
#elif defined(_WIN32)
|
||||
@ -26,6 +28,7 @@ static FILE* f;
|
||||
struct createParams
|
||||
{
|
||||
#if defined(GLEW_OSMESA)
|
||||
#elif defined(GLEW_EGL)
|
||||
#elif defined(_WIN32)
|
||||
int pixelformat;
|
||||
#elif !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX)
|
||||
|
@ -7,9 +7,10 @@
|
||||
int main (int argc, char** argv)
|
||||
{
|
||||
GLuint err;
|
||||
struct createParams params =
|
||||
struct createParams params =
|
||||
{
|
||||
#if defined(GLEW_OSMESA)
|
||||
#elif defined(GLEW_EGL)
|
||||
#elif defined(_WIN32)
|
||||
-1, /* pixelformat */
|
||||
#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
@ -22,20 +23,26 @@ int main (int argc, char** argv)
|
||||
0 /* flags */
|
||||
};
|
||||
|
||||
#if defined(GLEW_EGL)
|
||||
typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGPROC) (GLenum name);
|
||||
PFNGLGETSTRINGPROC getString;
|
||||
#endif
|
||||
|
||||
if (glewParseArgs(argc-1, argv+1, ¶ms))
|
||||
{
|
||||
fprintf(stderr, "Usage: glewinfo "
|
||||
#if defined(GLEW_OSMESA)
|
||||
#elif defined(GLEW_EGL)
|
||||
#elif defined(_WIN32)
|
||||
"[-pf <pixelformat>] "
|
||||
"[-pf <pixelformat>] "
|
||||
#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
"[-display <display>] "
|
||||
"[-visual <visual id>] "
|
||||
"[-display <display>] "
|
||||
"[-visual <visual id>] "
|
||||
#endif
|
||||
"[-version <OpenGL version>] "
|
||||
"[-profile core|compatibility] "
|
||||
"[-flag debug|forward]"
|
||||
"\n");
|
||||
"[-version <OpenGL version>] "
|
||||
"[-profile core|compatibility] "
|
||||
"[-flag debug|forward]"
|
||||
"\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -53,6 +60,17 @@ int main (int argc, char** argv)
|
||||
glewDestroyContext();
|
||||
return 1;
|
||||
}
|
||||
|
||||
#if defined(GLEW_EGL)
|
||||
getString = (PFNGLGETSTRINGPROC) eglGetProcAddress("glGetString");
|
||||
if (!getString)
|
||||
{
|
||||
fprintf(stderr, "Error: eglGetProcAddress failed to fetch glGetString\n");
|
||||
glewDestroyContext();
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
|
||||
if (fopen_s(&f, "glewinfo.txt", "w") != 0)
|
||||
@ -69,17 +87,26 @@ int main (int argc, char** argv)
|
||||
fprintf(f, "---------------------------\n\n");
|
||||
fprintf(f, "GLEW version %s\n", glewGetString(GLEW_VERSION));
|
||||
#if defined(GLEW_OSMESA)
|
||||
#elif defined(GLEW_EGL)
|
||||
#elif defined(_WIN32)
|
||||
fprintf(f, "Reporting capabilities of pixelformat %d\n", params.pixelformat);
|
||||
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
fprintf(f, "Reporting capabilities of display %s, visual 0x%x\n",
|
||||
fprintf(f, "Reporting capabilities of display %s, visual 0x%x\n",
|
||||
params.display == NULL ? getenv("DISPLAY") : params.display, params.visual);
|
||||
#endif
|
||||
fprintf(f, "Running on a %s from %s\n",
|
||||
glGetString(GL_RENDERER), glGetString(GL_VENDOR));
|
||||
#if defined(GLEW_EGL)
|
||||
fprintf(f, "Running on a %s from %s\n",
|
||||
getString(GL_RENDERER), getString(GL_VENDOR));
|
||||
fprintf(f, "OpenGL version %s is supported\n", getString(GL_VERSION));
|
||||
#else
|
||||
fprintf(f, "Running on a %s from %s\n",
|
||||
glGetString(GL_RENDERER), glGetString(GL_VENDOR));
|
||||
fprintf(f, "OpenGL version %s is supported\n", glGetString(GL_VERSION));
|
||||
#endif
|
||||
glewInfo();
|
||||
#if defined(GLEW_OSMESA)
|
||||
#elif defined(GLEW_EGL)
|
||||
eglewInfo();
|
||||
#elif defined(_WIN32)
|
||||
wglewInfo();
|
||||
#else
|
||||
@ -119,6 +146,7 @@ GLboolean glewParseArgs (int argc, char** argv, struct createParams *params)
|
||||
++p;
|
||||
}
|
||||
#if defined(GLEW_OSMESA)
|
||||
#elif defined(GLEW_EGL)
|
||||
#elif defined(_WIN32)
|
||||
else if (!strcmp(argv[p], "-pf") || !strcmp(argv[p], "-pixelformat"))
|
||||
{
|
||||
@ -130,7 +158,7 @@ GLboolean glewParseArgs (int argc, char** argv, struct createParams *params)
|
||||
{
|
||||
if (++p >= argc) return GL_TRUE;
|
||||
params->display = argv[p++];
|
||||
}
|
||||
}
|
||||
else if (!strcmp(argv[p], "-visual"))
|
||||
{
|
||||
if (++p >= argc) return GL_TRUE;
|
||||
@ -145,7 +173,127 @@ GLboolean glewParseArgs (int argc, char** argv, struct createParams *params)
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
#if defined(GLEW_OSMESA)
|
||||
#if defined(GLEW_EGL)
|
||||
EGLDisplay display;
|
||||
EGLContext ctx;
|
||||
|
||||
/* See: http://stackoverflow.com/questions/12662227/opengl-es2-0-offscreen-context-for-fbo-rendering */
|
||||
|
||||
GLboolean glewCreateContext (struct createParams *params)
|
||||
{
|
||||
EGLDeviceEXT devices[1];
|
||||
EGLint numDevices;
|
||||
EGLSurface surface;
|
||||
EGLint majorVersion, minorVersion;
|
||||
EGLint configAttribs[] = {
|
||||
EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
|
||||
EGL_RED_SIZE, 1,
|
||||
EGL_GREEN_SIZE, 1,
|
||||
EGL_BLUE_SIZE, 1,
|
||||
EGL_RENDERABLE_TYPE, EGL_OPENGL_BIT,
|
||||
EGL_NONE
|
||||
};
|
||||
static const EGLint contextAttribs[] = {
|
||||
EGL_CONTEXT_CLIENT_VERSION, 2,
|
||||
EGL_NONE
|
||||
};
|
||||
static const EGLint pBufferAttribs[] = {
|
||||
EGL_WIDTH, 128,
|
||||
EGL_HEIGHT, 128,
|
||||
EGL_NONE
|
||||
};
|
||||
EGLConfig config;
|
||||
EGLint numConfig;
|
||||
EGLBoolean pBuffer;
|
||||
|
||||
PFNEGLQUERYDEVICESEXTPROC queryDevices = NULL;
|
||||
PFNEGLGETPLATFORMDISPLAYEXTPROC getPlatformDisplay = NULL;
|
||||
PFNEGLGETERRORPROC getError = NULL;
|
||||
PFNEGLGETDISPLAYPROC getDisplay = NULL;
|
||||
PFNEGLINITIALIZEPROC initialize = NULL;
|
||||
PFNEGLBINDAPIPROC bindAPI = NULL;
|
||||
PFNEGLCHOOSECONFIGPROC chooseConfig = NULL;
|
||||
PFNEGLCREATEWINDOWSURFACEPROC createWindowSurface = NULL;
|
||||
PFNEGLCREATECONTEXTPROC createContext = NULL;
|
||||
PFNEGLMAKECURRENTPROC makeCurrent = NULL;
|
||||
PFNEGLCREATEPBUFFERSURFACEPROC createPbufferSurface = NULL;
|
||||
|
||||
/* Load necessary entry points */
|
||||
queryDevices = (PFNEGLQUERYDEVICESEXTPROC) eglGetProcAddress("eglQueryDevicesEXT");
|
||||
getPlatformDisplay = (PFNEGLGETPLATFORMDISPLAYEXTPROC) eglGetProcAddress("eglGetPlatformDisplayEXT");
|
||||
getError = (PFNEGLGETERRORPROC) eglGetProcAddress("eglGetError");
|
||||
getDisplay = (PFNEGLGETDISPLAYPROC) eglGetProcAddress("eglGetDisplay");
|
||||
initialize = (PFNEGLINITIALIZEPROC) eglGetProcAddress("eglInitialize");
|
||||
bindAPI = (PFNEGLBINDAPIPROC) eglGetProcAddress("eglBindAPI");
|
||||
chooseConfig = (PFNEGLCHOOSECONFIGPROC) eglGetProcAddress("eglChooseConfig");
|
||||
createWindowSurface = (PFNEGLCREATEWINDOWSURFACEPROC) eglGetProcAddress("eglCreateWindowSurface");
|
||||
createPbufferSurface = (PFNEGLCREATEPBUFFERSURFACEPROC) eglGetProcAddress("eglCreatePbufferSurface");
|
||||
createContext = (PFNEGLCREATECONTEXTPROC) eglGetProcAddress("eglCreateContext");
|
||||
makeCurrent = (PFNEGLMAKECURRENTPROC) eglGetProcAddress("eglMakeCurrent");
|
||||
if (!getError || !getDisplay || !initialize || !bindAPI || !chooseConfig || !createWindowSurface || !createContext || !makeCurrent)
|
||||
return GL_TRUE;
|
||||
|
||||
pBuffer = 0;
|
||||
display = EGL_NO_DISPLAY;
|
||||
if (queryDevices && getPlatformDisplay)
|
||||
{
|
||||
queryDevices(1, devices, &numDevices);
|
||||
if (numDevices==1)
|
||||
{
|
||||
/* Nvidia EGL doesn't need X11 for p-buffer surface */
|
||||
display = getPlatformDisplay(EGL_PLATFORM_DEVICE_EXT, devices[0], 0);
|
||||
configAttribs[1] = EGL_PBUFFER_BIT;
|
||||
pBuffer = 1;
|
||||
}
|
||||
}
|
||||
if (display==EGL_NO_DISPLAY)
|
||||
{
|
||||
/* Fall-back to X11 surface, works on Mesa */
|
||||
display = getDisplay(EGL_DEFAULT_DISPLAY);
|
||||
}
|
||||
if (display == EGL_NO_DISPLAY)
|
||||
return GL_TRUE;
|
||||
|
||||
eglewInit(display);
|
||||
|
||||
if (bindAPI(EGL_OPENGL_API) != EGL_TRUE)
|
||||
return GL_TRUE;
|
||||
|
||||
if (chooseConfig(display, configAttribs, &config, 1, &numConfig) != EGL_TRUE || (numConfig != 1))
|
||||
return GL_TRUE;
|
||||
|
||||
ctx = createContext(display, config, EGL_NO_CONTEXT, pBuffer ? contextAttribs : NULL);
|
||||
if (NULL == ctx)
|
||||
return GL_TRUE;
|
||||
|
||||
surface = EGL_NO_SURFACE;
|
||||
/* Create a p-buffer surface if possible */
|
||||
if (pBuffer && createPbufferSurface)
|
||||
{
|
||||
surface = createPbufferSurface(display, config, pBufferAttribs);
|
||||
}
|
||||
/* Create a generic surface without a native window, if necessary */
|
||||
if (surface==EGL_NO_SURFACE)
|
||||
{
|
||||
surface = createWindowSurface(display, config, (EGLNativeWindowType) NULL, NULL);
|
||||
}
|
||||
#if 0
|
||||
if (surface == EGL_NO_SURFACE)
|
||||
return GL_TRUE;
|
||||
#endif
|
||||
|
||||
if (makeCurrent(display, surface, surface, ctx) != EGL_TRUE)
|
||||
return GL_TRUE;
|
||||
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
void glewDestroyContext ()
|
||||
{
|
||||
if (NULL != ctx) eglDestroyContext(display, ctx);
|
||||
}
|
||||
|
||||
#elif defined(GLEW_OSMESA)
|
||||
OSMesaContext ctx;
|
||||
|
||||
static const GLint osmFormat = GL_UNSIGNED_BYTE;
|
||||
@ -190,7 +338,7 @@ GLboolean glewCreateContext (struct createParams* params)
|
||||
wc.lpszClassName = "GLEW";
|
||||
if (0 == RegisterClass(&wc)) return GL_TRUE;
|
||||
/* create window */
|
||||
wnd = CreateWindow("GLEW", "GLEW", 0, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
wnd = CreateWindow("GLEW", "GLEW", 0, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
CW_USEDEFAULT, NULL, NULL, GetModuleHandle(NULL), NULL);
|
||||
if (NULL == wnd) return GL_TRUE;
|
||||
/* get the device context */
|
||||
@ -378,8 +526,8 @@ GLboolean glewCreateContext (struct createParams *params)
|
||||
cmap = XCreateColormap(dpy, RootWindow(dpy, vi->screen), vi->visual, AllocNone);
|
||||
swa.border_pixel = 0;
|
||||
swa.colormap = cmap;
|
||||
wnd = XCreateWindow(dpy, RootWindow(dpy, vi->screen),
|
||||
0, 0, 1, 1, 0, vi->depth, InputOutput, vi->visual,
|
||||
wnd = XCreateWindow(dpy, RootWindow(dpy, vi->screen),
|
||||
0, 0, 1, 1, 0, vi->depth, InputOutput, vi->visual,
|
||||
CWBorderPixel | CWColormap, &swa);
|
||||
/* make context current */
|
||||
if (!glXMakeCurrent(dpy, wnd, ctx)) return GL_TRUE;
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
#if defined(_WIN32) && !defined(GLEW_OSMESA)
|
||||
#if defined(_WIN32) && !defined(GLEW_EGL) && !defined(GLEW_OSMESA)
|
||||
|
||||
static void wglewInfo ()
|
||||
{
|
||||
|
@ -3,8 +3,13 @@
|
||||
GLEWAPI GLenum GLEWAPIENTRY glxewInit ();
|
||||
GLEWAPI GLboolean GLEWAPIENTRY glxewIsSupported (const char *name);
|
||||
|
||||
#ifndef GLXEW_GET_VAR
|
||||
#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||
#endif
|
||||
|
||||
#ifndef GLXEW_GET_FUN
|
||||
#define GLXEW_GET_FUN(x) x
|
||||
#endif
|
||||
|
||||
GLEWAPI GLboolean GLEWAPIENTRY glxewGetExtension (const char *name);
|
||||
|
||||
|
@ -3,8 +3,13 @@
|
||||
GLEWAPI GLenum GLEWAPIENTRY wglewInit ();
|
||||
GLEWAPI GLboolean GLEWAPIENTRY wglewIsSupported (const char *name);
|
||||
|
||||
#ifndef WGLEW_GET_VAR
|
||||
#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
|
||||
#endif
|
||||
|
||||
#ifndef WGLEW_GET_FUN
|
||||
#define WGLEW_GET_FUN(x) x
|
||||
#endif
|
||||
|
||||
GLEWAPI GLboolean GLEWAPIENTRY wglewGetExtension (const char *name);
|
||||
|
||||
|
4
config/Makefile.linux-clang-egl
Normal file
4
config/Makefile.linux-clang-egl
Normal file
@ -0,0 +1,4 @@
|
||||
include config/Makefile.linux-clang
|
||||
|
||||
LDFLAGS.GL = -lEGL -lGL
|
||||
CFLAGS.EXTRA += -DGLEW_EGL
|
4
config/Makefile.linux-egl
Normal file
4
config/Makefile.linux-egl
Normal file
@ -0,0 +1,4 @@
|
||||
include config/Makefile.linux
|
||||
|
||||
LDFLAGS.GL = -lEGL -lGL
|
||||
CFLAGS.EXTRA += -DGLEW_EGL
|
17
config/Makefile.msys
Normal file
17
config/Makefile.msys
Normal file
@ -0,0 +1,17 @@
|
||||
NAME = glew32
|
||||
# use gcc for linking, with ld it does not work
|
||||
CC := gcc
|
||||
LD := gcc
|
||||
LN :=
|
||||
CFLAGS.EXTRA += -D_WIN32
|
||||
LDFLAGS.GL = -lopengl32 -lgdi32 -luser32 -lkernel32
|
||||
LDFLAGS.EXTRA =
|
||||
LIBDIR = $(GLEW_DEST)/bin
|
||||
WARN = -Wall -W
|
||||
POPT = -O2
|
||||
BIN.SUFFIX = .exe
|
||||
LIB.SONAME = lib$(NAME).dll
|
||||
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
|
||||
LIB.SHARED = $(NAME).dll
|
||||
LIB.STATIC = lib$(NAME).a # the static lib will be broken
|
||||
LDFLAGS.SO = -shared -Wl,-soname,$(LIB.SONAME) -Wl,--out-implib,lib/$(LIB.DEVLNK)
|
5
config/Makefile.msys-win32
Normal file
5
config/Makefile.msys-win32
Normal file
@ -0,0 +1,5 @@
|
||||
include config/Makefile.msys
|
||||
|
||||
POPT := -march=i686 -mtune=generic -O2
|
||||
CFLAGS.EXTRA += -m32
|
||||
LDFLAGS.EXTRA += -m32
|
5
config/Makefile.msys-win64
Normal file
5
config/Makefile.msys-win64
Normal file
@ -0,0 +1,5 @@
|
||||
include config/Makefile.msys
|
||||
|
||||
POPT := -mtune=generic -O2
|
||||
CFLAGS.EXTRA += -m64
|
||||
LDFLAGS.EXTRA += -m64
|
56
config/config.guess
vendored
56
config/config.guess
vendored
@ -1,8 +1,8 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright 1992-2015 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2016 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2015-01-01'
|
||||
timestamp='2016-01-01'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@ -27,7 +27,7 @@ timestamp='2015-01-01'
|
||||
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
|
||||
#
|
||||
# You can get the latest version of this script from:
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
|
||||
#
|
||||
# Please send patches to <config-patches@gnu.org>.
|
||||
|
||||
@ -50,7 +50,7 @@ version="\
|
||||
GNU config.guess ($timestamp)
|
||||
|
||||
Originally written by Per Bothner.
|
||||
Copyright 1992-2015 Free Software Foundation, Inc.
|
||||
Copyright 1992-2016 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
@ -168,20 +168,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
# Note: NetBSD doesn't particularly care about the vendor
|
||||
# portion of the name. We always set it to "unknown".
|
||||
sysctl="sysctl -n hw.machine_arch"
|
||||
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
|
||||
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
|
||||
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
|
||||
/sbin/$sysctl 2>/dev/null || \
|
||||
/usr/sbin/$sysctl 2>/dev/null || \
|
||||
echo unknown)`
|
||||
case "${UNAME_MACHINE_ARCH}" in
|
||||
armeb) machine=armeb-unknown ;;
|
||||
arm*) machine=arm-unknown ;;
|
||||
sh3el) machine=shl-unknown ;;
|
||||
sh3eb) machine=sh-unknown ;;
|
||||
sh5el) machine=sh5le-unknown ;;
|
||||
earmv*)
|
||||
arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
|
||||
endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
|
||||
machine=${arch}${endian}-unknown
|
||||
;;
|
||||
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
|
||||
esac
|
||||
# The Operating System including object format, if it has switched
|
||||
# to ELF recently, or will in the future.
|
||||
case "${UNAME_MACHINE_ARCH}" in
|
||||
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||
arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||
eval $set_cc_for_build
|
||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ELF__
|
||||
@ -197,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
os=netbsd
|
||||
;;
|
||||
esac
|
||||
# Determine ABI tags.
|
||||
case "${UNAME_MACHINE_ARCH}" in
|
||||
earm*)
|
||||
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
|
||||
abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
|
||||
;;
|
||||
esac
|
||||
# The OS release
|
||||
# Debian GNU/NetBSD machines have a different userland, and
|
||||
# thus, need a distinct triplet. However, they do not need
|
||||
@ -207,13 +221,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
release='-gnu'
|
||||
;;
|
||||
*)
|
||||
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
|
||||
;;
|
||||
esac
|
||||
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
|
||||
# contains redundant information, the shorter form:
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
|
||||
echo "${machine}-${os}${release}"
|
||||
echo "${machine}-${os}${release}${abi}"
|
||||
exit ;;
|
||||
*:Bitrig:*:*)
|
||||
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
|
||||
@ -223,6 +237,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
|
||||
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:LibertyBSD:*:*)
|
||||
UNAME_MACHINE_ARCH=`arch | sed 's/LibertyBSD.//'`
|
||||
echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:ekkoBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
|
||||
exit ;;
|
||||
@ -235,6 +253,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
*:MirBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:Sortix:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-sortix
|
||||
exit ;;
|
||||
alpha:OSF1:*:*)
|
||||
case $UNAME_RELEASE in
|
||||
*4.0)
|
||||
@ -933,6 +954,9 @@ EOF
|
||||
crisv32:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
|
||||
exit ;;
|
||||
e2k:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
frv:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
@ -945,6 +969,9 @@ EOF
|
||||
ia64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
k1om:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
m32r*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
@ -1021,7 +1048,7 @@ EOF
|
||||
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
|
||||
exit ;;
|
||||
x86_64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
|
||||
exit ;;
|
||||
xtensa*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
@ -1100,7 +1127,7 @@ EOF
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i586.
|
||||
# Note: whatever this is, it MUST be the same as what config.sub
|
||||
# prints for the "djgpp" host, or else GDB configury will decide that
|
||||
# prints for the "djgpp" host, or else GDB configure will decide that
|
||||
# this is a cross-build.
|
||||
echo i586-pc-msdosdjgpp
|
||||
exit ;;
|
||||
@ -1370,6 +1397,9 @@ EOF
|
||||
x86_64:VMkernel:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-esx
|
||||
exit ;;
|
||||
amd64:Isilon\ OneFS:*:*)
|
||||
echo x86_64-unknown-onefs
|
||||
exit ;;
|
||||
esac
|
||||
|
||||
cat >&2 <<EOF
|
||||
@ -1379,9 +1409,9 @@ This script, last modified $timestamp, has failed to recognize
|
||||
the operating system you are using. It is advised that you
|
||||
download the most up to date version of the config scripts from
|
||||
|
||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
|
||||
and
|
||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
|
||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||
|
||||
If the version you run ($0) is already up to date, please
|
||||
send the following data and any information you think might be
|
||||
|
353
doc/glew.html
353
doc/glew.html
@ -494,195 +494,198 @@ THE POSSIBILITY OF SUCH DAMAGE.
|
||||
<tr><td class="num">377</td><td> </td><td><a href="http://www.opengl.org/registry/specs/MESA/window_pos.txt">MESA_window_pos</a></td></tr>
|
||||
<tr><td class="num">378</td><td> </td><td><a href="http://www.opengl.org/registry/specs/MESA/ycbcr_texture.txt">MESA_ycbcr_texture</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">379</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NVX/nvx_conditional_render.txt">NVX_conditional_render</a></td></tr>
|
||||
<tr><td class="num">380</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NVX_gpu_memory_info.txt">NVX_gpu_memory_info</a></td></tr>
|
||||
<tr><td class="num">394</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NVX/nvx_conditional_render.txt">NVX_conditional_render</a></td></tr>
|
||||
<tr><td class="num">395</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NVX_gpu_memory_info.txt">NVX_gpu_memory_info</a></td></tr>
|
||||
<tr><td class="num">396</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NVX/linked_gpu_multicast.txt">NVX_linked_gpu_multicast</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">381</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect.txt">NV_bindless_multi_draw_indirect</a></td></tr>
|
||||
<tr><td class="num">382</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect_count.txt">NV_bindless_multi_draw_indirect_count</a></td></tr>
|
||||
<tr><td class="num">383</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/bindless_texture.txt">NV_bindless_texture</a></td></tr>
|
||||
<tr><td class="num">384</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt">NV_blend_equation_advanced</a></td></tr>
|
||||
<tr><td class="num">385</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt">NV_blend_equation_advanced_coherent</a></td></tr>
|
||||
<tr><td class="num">386</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/blend_square.txt">NV_blend_square</a></td></tr>
|
||||
<tr><td class="num">387</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/compute_program5.txt">NV_compute_program5</a></td></tr>
|
||||
<tr><td class="num">388</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/conditional_render.txt">NV_conditional_render</a></td></tr>
|
||||
<tr><td class="num">389</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/conservative_raster.txt">NV_conservative_raster</a></td></tr>
|
||||
<tr><td class="num">390</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/copy_depth_to_color.txt">NV_copy_depth_to_color</a></td></tr>
|
||||
<tr><td class="num">391</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/copy_image.txt">NV_copy_image</a></td></tr>
|
||||
<tr><td class="num">392</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/deep_texture3D.txt">NV_deep_texture3D</a></td></tr>
|
||||
<tr><td class="num">393</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_depth_buffer_float.txt">NV_depth_buffer_float</a></td></tr>
|
||||
<tr><td class="num">394</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/depth_clamp.txt">NV_depth_clamp</a></td></tr>
|
||||
<tr><td class="num">395</td><td> </td><td>NV_depth_range_unclamped</td></tr>
|
||||
<tr><td class="num">396</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/draw_texture.txt">NV_draw_texture</a></td></tr>
|
||||
<tr><td class="num">397</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/evaluators.txt">NV_evaluators</a></td></tr>
|
||||
<tr><td class="num">398</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/explicit_multisample.txt">NV_explicit_multisample</a></td></tr>
|
||||
<tr><td class="num">399</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fence.txt">NV_fence</a></td></tr>
|
||||
<tr><td class="num">400</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fill_rectangle.txt">NV_fill_rectangle</a></td></tr>
|
||||
<tr><td class="num">401</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/float_buffer.txt">NV_float_buffer</a></td></tr>
|
||||
<tr><td class="num">402</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fog_distance.txt">NV_fog_distance</a></td></tr>
|
||||
<tr><td class="num">403</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fragment_coverage_to_color.txt">NV_fragment_coverage_to_color</a></td></tr>
|
||||
<tr><td class="num">404</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fragment_program.txt">NV_fragment_program</a></td></tr>
|
||||
<tr><td class="num">405</td><td> </td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program2.txt">NV_fragment_program2</a></td></tr>
|
||||
<tr><td class="num">406</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_fragment_program4.txt">NV_fragment_program4</a></td></tr>
|
||||
<tr><td class="num">407</td><td> </td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program_option.txt">NV_fragment_program_option</a></td></tr>
|
||||
<tr><td class="num">408</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fragment_shader_interlock.txt">NV_fragment_shader_interlock</a></td></tr>
|
||||
<tr><td class="num">409</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/framebuffer_mixed_samples.txt">NV_framebuffer_mixed_samples</a></td></tr>
|
||||
<tr><td class="num">410</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_framebuffer_multisample_coverage.txt">NV_framebuffer_multisample_coverage</a></td></tr>
|
||||
<tr><td class="num">411</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_geometry_program4.txt">NV_geometry_program4</a></td></tr>
|
||||
<tr><td class="num">412</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_geometry_shader4.txt">NV_geometry_shader4</a></td></tr>
|
||||
<tr><td class="num">413</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/geometry_shader_passthrough.txt">NV_geometry_shader_passthrough</a></td></tr>
|
||||
<tr><td class="num">414</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_gpu_program4.txt">NV_gpu_program4</a></td></tr>
|
||||
<tr><td class="num">415</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_program5.txt">NV_gpu_program5</a></td></tr>
|
||||
<tr><td class="num">416</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_program5_mem_extended.txt">NV_gpu_program5_mem_extended</a></td></tr>
|
||||
<tr><td class="num">417</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_program5.txt">NV_gpu_program_fp64</a></td></tr>
|
||||
<tr><td class="num">418</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_shader5.txt">NV_gpu_shader5</a></td></tr>
|
||||
<tr><td class="num">419</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/half_float.txt">NV_half_float</a></td></tr>
|
||||
<tr><td class="num">420</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/internalformat_sample_query.txt">NV_internalformat_sample_query</a></td></tr>
|
||||
<tr><td class="num">421</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/light_max_exponent.txt">NV_light_max_exponent</a></td></tr>
|
||||
<tr><td class="num">422</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/multisample_coverage.txt">NV_multisample_coverage</a></td></tr>
|
||||
<tr><td class="num">423</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/multisample_filter_hint.txt">NV_multisample_filter_hint</a></td></tr>
|
||||
<tr><td class="num">424</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/occlusion_query.txt">NV_occlusion_query</a></td></tr>
|
||||
<tr><td class="num">425</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/packed_depth_stencil.txt">NV_packed_depth_stencil</a></td></tr>
|
||||
<tr><td class="num">426</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_parameter_buffer_object.txt">NV_parameter_buffer_object</a></td></tr>
|
||||
<tr><td class="num">427</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/parameter_buffer_object2.txt">NV_parameter_buffer_object2</a></td></tr>
|
||||
<tr><td class="num">428</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/path_rendering.txt">NV_path_rendering</a></td></tr>
|
||||
<tr><td class="num">429</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/path_rendering_shared_edge.txt">NV_path_rendering_shared_edge</a></td></tr>
|
||||
<tr><td class="num">430</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/pixel_data_range.txt">NV_pixel_data_range</a></td></tr>
|
||||
<tr><td class="num">431</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/point_sprite.txt">NV_point_sprite</a></td></tr>
|
||||
<tr><td class="num">432</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/present_video.txt">NV_present_video</a></td></tr>
|
||||
<tr><td class="num">433</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/primitive_restart.txt">NV_primitive_restart</a></td></tr>
|
||||
<tr><td class="num">434</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/register_combiners.txt">NV_register_combiners</a></td></tr>
|
||||
<tr><td class="num">435</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/register_combiners2.txt">NV_register_combiners2</a></td></tr>
|
||||
<tr><td class="num">436</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/sample_locations.txt">NV_sample_locations</a></td></tr>
|
||||
<tr><td class="num">437</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/sample_mask_override_coverage.txt">NV_sample_mask_override_coverage</a></td></tr>
|
||||
<tr><td class="num">438</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_atomic_counters.txt">NV_shader_atomic_counters</a></td></tr>
|
||||
<tr><td class="num">439</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_atomic_float.txt">NV_shader_atomic_float</a></td></tr>
|
||||
<tr><td class="num">440</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_atomic_fp16_vector.txt">NV_shader_atomic_fp16_vector</a></td></tr>
|
||||
<tr><td class="num">441</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_atomic_int64.txt">NV_shader_atomic_int64</a></td></tr>
|
||||
<tr><td class="num">442</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt">NV_shader_buffer_load</a></td></tr>
|
||||
<tr><td class="num">443</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_storage_buffer_object.txt">NV_shader_storage_buffer_object</a></td></tr>
|
||||
<tr><td class="num">444</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_thread_group.txt">NV_shader_thread_group</a></td></tr>
|
||||
<tr><td class="num">445</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_thread_shuffle.txt">NV_shader_thread_shuffle</a></td></tr>
|
||||
<tr><td class="num">446</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/tessellation_program5.txt">NV_tessellation_program5</a></td></tr>
|
||||
<tr><td class="num">447</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texgen_emboss.txt">NV_texgen_emboss</a></td></tr>
|
||||
<tr><td class="num">448</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texgen_reflection.txt">NV_texgen_reflection</a></td></tr>
|
||||
<tr><td class="num">449</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_barrier.txt">NV_texture_barrier</a></td></tr>
|
||||
<tr><td class="num">450</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_compression_vtc.txt">NV_texture_compression_vtc</a></td></tr>
|
||||
<tr><td class="num">451</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_env_combine4.txt">NV_texture_env_combine4</a></td></tr>
|
||||
<tr><td class="num">452</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_expand_normal.txt">NV_texture_expand_normal</a></td></tr>
|
||||
<tr><td class="num">453</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_multisample.txt">NV_texture_multisample</a></td></tr>
|
||||
<tr><td class="num">454</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_rectangle.txt">NV_texture_rectangle</a></td></tr>
|
||||
<tr><td class="num">455</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_shader.txt">NV_texture_shader</a></td></tr>
|
||||
<tr><td class="num">456</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_shader2.txt">NV_texture_shader2</a></td></tr>
|
||||
<tr><td class="num">457</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_shader3.txt">NV_texture_shader3</a></td></tr>
|
||||
<tr><td class="num">458</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_transform_feedback.txt">NV_transform_feedback</a></td></tr>
|
||||
<tr><td class="num">459</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/transform_feedback2.txt">NV_transform_feedback2</a></td></tr>
|
||||
<tr><td class="num">460</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/uniform_buffer_unified_memory.txt">NV_uniform_buffer_unified_memory</a></td></tr>
|
||||
<tr><td class="num">461</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vdpau_interop.txt">NV_vdpau_interop</a></td></tr>
|
||||
<tr><td class="num">462</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_array_range.txt">NV_vertex_array_range</a></td></tr>
|
||||
<tr><td class="num">463</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_array_range2.txt">NV_vertex_array_range2</a></td></tr>
|
||||
<tr><td class="num">464</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt">NV_vertex_attrib_integer_64bit</a></td></tr>
|
||||
<tr><td class="num">465</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt">NV_vertex_buffer_unified_memory</a></td></tr>
|
||||
<tr><td class="num">466</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_program.txt">NV_vertex_program</a></td></tr>
|
||||
<tr><td class="num">467</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_program1_1.txt">NV_vertex_program1_1</a></td></tr>
|
||||
<tr><td class="num">468</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_program2.txt">NV_vertex_program2</a></td></tr>
|
||||
<tr><td class="num">469</td><td> </td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_vertex_program2_option.txt">NV_vertex_program2_option</a></td></tr>
|
||||
<tr><td class="num">470</td><td> </td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_vertex_program3.txt">NV_vertex_program3</a></td></tr>
|
||||
<tr><td class="num">471</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_vertex_program4.txt">NV_vertex_program4</a></td></tr>
|
||||
<tr><td class="num">472</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/video_capture.txt">NV_video_capture</a></td></tr>
|
||||
<tr><td class="num">473</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/viewport_array2.txt">NV_viewport_array2</a></td></tr>
|
||||
<tr><td class="num">397</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect.txt">NV_bindless_multi_draw_indirect</a></td></tr>
|
||||
<tr><td class="num">398</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect_count.txt">NV_bindless_multi_draw_indirect_count</a></td></tr>
|
||||
<tr><td class="num">399</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/bindless_texture.txt">NV_bindless_texture</a></td></tr>
|
||||
<tr><td class="num">400</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt">NV_blend_equation_advanced</a></td></tr>
|
||||
<tr><td class="num">401</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt">NV_blend_equation_advanced_coherent</a></td></tr>
|
||||
<tr><td class="num">402</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/blend_square.txt">NV_blend_square</a></td></tr>
|
||||
<tr><td class="num">403</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/command_list.txt">NV_command_list</a></td></tr>
|
||||
<tr><td class="num">404</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/compute_program5.txt">NV_compute_program5</a></td></tr>
|
||||
<tr><td class="num">405</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/conditional_render.txt">NV_conditional_render</a></td></tr>
|
||||
<tr><td class="num">406</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/conservative_raster.txt">NV_conservative_raster</a></td></tr>
|
||||
<tr><td class="num">407</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/conservative_raster_dilate.txt">NV_conservative_raster_dilate</a></td></tr>
|
||||
<tr><td class="num">408</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/copy_depth_to_color.txt">NV_copy_depth_to_color</a></td></tr>
|
||||
<tr><td class="num">409</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/copy_image.txt">NV_copy_image</a></td></tr>
|
||||
<tr><td class="num">410</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/deep_texture3D.txt">NV_deep_texture3D</a></td></tr>
|
||||
<tr><td class="num">411</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_depth_buffer_float.txt">NV_depth_buffer_float</a></td></tr>
|
||||
<tr><td class="num">412</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/depth_clamp.txt">NV_depth_clamp</a></td></tr>
|
||||
<tr><td class="num">413</td><td> </td><td>NV_depth_range_unclamped</td></tr>
|
||||
<tr><td class="num">414</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/draw_texture.txt">NV_draw_texture</a></td></tr>
|
||||
<tr><td class="num">415</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/evaluators.txt">NV_evaluators</a></td></tr>
|
||||
<tr><td class="num">416</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/explicit_multisample.txt">NV_explicit_multisample</a></td></tr>
|
||||
<tr><td class="num">417</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fence.txt">NV_fence</a></td></tr>
|
||||
<tr><td class="num">418</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fill_rectangle.txt">NV_fill_rectangle</a></td></tr>
|
||||
<tr><td class="num">419</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/float_buffer.txt">NV_float_buffer</a></td></tr>
|
||||
<tr><td class="num">420</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fog_distance.txt">NV_fog_distance</a></td></tr>
|
||||
<tr><td class="num">421</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fragment_coverage_to_color.txt">NV_fragment_coverage_to_color</a></td></tr>
|
||||
<tr><td class="num">422</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fragment_program.txt">NV_fragment_program</a></td></tr>
|
||||
<tr><td class="num">423</td><td> </td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program2.txt">NV_fragment_program2</a></td></tr>
|
||||
<tr><td class="num">424</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_fragment_program4.txt">NV_fragment_program4</a></td></tr>
|
||||
<tr><td class="num">425</td><td> </td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program_option.txt">NV_fragment_program_option</a></td></tr>
|
||||
<tr><td class="num">426</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/fragment_shader_interlock.txt">NV_fragment_shader_interlock</a></td></tr>
|
||||
<tr><td class="num">427</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/framebuffer_mixed_samples.txt">NV_framebuffer_mixed_samples</a></td></tr>
|
||||
<tr><td class="num">428</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_framebuffer_multisample_coverage.txt">NV_framebuffer_multisample_coverage</a></td></tr>
|
||||
<tr><td class="num">429</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_geometry_program4.txt">NV_geometry_program4</a></td></tr>
|
||||
<tr><td class="num">430</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_geometry_shader4.txt">NV_geometry_shader4</a></td></tr>
|
||||
<tr><td class="num">431</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/geometry_shader_passthrough.txt">NV_geometry_shader_passthrough</a></td></tr>
|
||||
<tr><td class="num">432</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_gpu_program4.txt">NV_gpu_program4</a></td></tr>
|
||||
<tr><td class="num">433</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_program5.txt">NV_gpu_program5</a></td></tr>
|
||||
<tr><td class="num">434</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_program5_mem_extended.txt">NV_gpu_program5_mem_extended</a></td></tr>
|
||||
<tr><td class="num">435</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_program5.txt">NV_gpu_program_fp64</a></td></tr>
|
||||
<tr><td class="num">436</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_shader5.txt">NV_gpu_shader5</a></td></tr>
|
||||
<tr><td class="num">437</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/half_float.txt">NV_half_float</a></td></tr>
|
||||
<tr><td class="num">438</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/internalformat_sample_query.txt">NV_internalformat_sample_query</a></td></tr>
|
||||
<tr><td class="num">439</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/light_max_exponent.txt">NV_light_max_exponent</a></td></tr>
|
||||
<tr><td class="num">440</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/multisample_coverage.txt">NV_multisample_coverage</a></td></tr>
|
||||
<tr><td class="num">441</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/multisample_filter_hint.txt">NV_multisample_filter_hint</a></td></tr>
|
||||
<tr><td class="num">442</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/occlusion_query.txt">NV_occlusion_query</a></td></tr>
|
||||
<tr><td class="num">443</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/packed_depth_stencil.txt">NV_packed_depth_stencil</a></td></tr>
|
||||
<tr><td class="num">444</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_parameter_buffer_object.txt">NV_parameter_buffer_object</a></td></tr>
|
||||
<tr><td class="num">445</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/parameter_buffer_object2.txt">NV_parameter_buffer_object2</a></td></tr>
|
||||
<tr><td class="num">446</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/path_rendering.txt">NV_path_rendering</a></td></tr>
|
||||
<tr><td class="num">447</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/path_rendering_shared_edge.txt">NV_path_rendering_shared_edge</a></td></tr>
|
||||
<tr><td class="num">448</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/pixel_data_range.txt">NV_pixel_data_range</a></td></tr>
|
||||
<tr><td class="num">449</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/point_sprite.txt">NV_point_sprite</a></td></tr>
|
||||
<tr><td class="num">450</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/present_video.txt">NV_present_video</a></td></tr>
|
||||
<tr><td class="num">451</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/primitive_restart.txt">NV_primitive_restart</a></td></tr>
|
||||
<tr><td class="num">452</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/register_combiners.txt">NV_register_combiners</a></td></tr>
|
||||
<tr><td class="num">453</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/register_combiners2.txt">NV_register_combiners2</a></td></tr>
|
||||
<tr><td class="num">454</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/sample_locations.txt">NV_sample_locations</a></td></tr>
|
||||
<tr><td class="num">455</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/sample_mask_override_coverage.txt">NV_sample_mask_override_coverage</a></td></tr>
|
||||
<tr><td class="num">456</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_atomic_counters.txt">NV_shader_atomic_counters</a></td></tr>
|
||||
<tr><td class="num">457</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_atomic_float.txt">NV_shader_atomic_float</a></td></tr>
|
||||
<tr><td class="num">458</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_atomic_fp16_vector.txt">NV_shader_atomic_fp16_vector</a></td></tr>
|
||||
<tr><td class="num">459</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_atomic_int64.txt">NV_shader_atomic_int64</a></td></tr>
|
||||
<tr><td class="num">460</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt">NV_shader_buffer_load</a></td></tr>
|
||||
<tr><td class="num">461</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_storage_buffer_object.txt">NV_shader_storage_buffer_object</a></td></tr>
|
||||
<tr><td class="num">462</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_thread_group.txt">NV_shader_thread_group</a></td></tr>
|
||||
<tr><td class="num">463</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/shader_thread_shuffle.txt">NV_shader_thread_shuffle</a></td></tr>
|
||||
<tr><td class="num">464</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/tessellation_program5.txt">NV_tessellation_program5</a></td></tr>
|
||||
<tr><td class="num">465</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texgen_emboss.txt">NV_texgen_emboss</a></td></tr>
|
||||
<tr><td class="num">466</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texgen_reflection.txt">NV_texgen_reflection</a></td></tr>
|
||||
<tr><td class="num">467</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_barrier.txt">NV_texture_barrier</a></td></tr>
|
||||
<tr><td class="num">468</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_compression_vtc.txt">NV_texture_compression_vtc</a></td></tr>
|
||||
<tr><td class="num">469</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_env_combine4.txt">NV_texture_env_combine4</a></td></tr>
|
||||
<tr><td class="num">470</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_expand_normal.txt">NV_texture_expand_normal</a></td></tr>
|
||||
<tr><td class="num">471</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_multisample.txt">NV_texture_multisample</a></td></tr>
|
||||
<tr><td class="num">472</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_rectangle.txt">NV_texture_rectangle</a></td></tr>
|
||||
<tr><td class="num">473</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_shader.txt">NV_texture_shader</a></td></tr>
|
||||
<tr><td class="num">474</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_shader2.txt">NV_texture_shader2</a></td></tr>
|
||||
<tr><td class="num">475</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/texture_shader3.txt">NV_texture_shader3</a></td></tr>
|
||||
<tr><td class="num">476</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_transform_feedback.txt">NV_transform_feedback</a></td></tr>
|
||||
<tr><td class="num">477</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/transform_feedback2.txt">NV_transform_feedback2</a></td></tr>
|
||||
<tr><td class="num">478</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/uniform_buffer_unified_memory.txt">NV_uniform_buffer_unified_memory</a></td></tr>
|
||||
<tr><td class="num">479</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vdpau_interop.txt">NV_vdpau_interop</a></td></tr>
|
||||
<tr><td class="num">480</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_array_range.txt">NV_vertex_array_range</a></td></tr>
|
||||
<tr><td class="num">481</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_array_range2.txt">NV_vertex_array_range2</a></td></tr>
|
||||
<tr><td class="num">482</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt">NV_vertex_attrib_integer_64bit</a></td></tr>
|
||||
<tr><td class="num">483</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt">NV_vertex_buffer_unified_memory</a></td></tr>
|
||||
<tr><td class="num">484</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_program.txt">NV_vertex_program</a></td></tr>
|
||||
<tr><td class="num">485</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_program1_1.txt">NV_vertex_program1_1</a></td></tr>
|
||||
<tr><td class="num">486</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_program2.txt">NV_vertex_program2</a></td></tr>
|
||||
<tr><td class="num">487</td><td> </td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_vertex_program2_option.txt">NV_vertex_program2_option</a></td></tr>
|
||||
<tr><td class="num">488</td><td> </td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_vertex_program3.txt">NV_vertex_program3</a></td></tr>
|
||||
<tr><td class="num">489</td><td> </td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_vertex_program4.txt">NV_vertex_program4</a></td></tr>
|
||||
<tr><td class="num">490</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/video_capture.txt">NV_video_capture</a></td></tr>
|
||||
<tr><td class="num">491</td><td> </td><td><a href="http://www.opengl.org/registry/specs/NV/viewport_array2.txt">NV_viewport_array2</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">474</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OES/OES_byte_coordinates.txt">OES_byte_coordinates</a></td></tr>
|
||||
<tr><td class="num">475</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OES/OES_compressed_paletted_texture.txt">OES_compressed_paletted_texture</a></td></tr>
|
||||
<tr><td class="num">476</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OES/OES_read_format.txt">OES_read_format</a></td></tr>
|
||||
<tr><td class="num">477</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OES/OES_single_precision.txt">OES_single_precision</a></td></tr>
|
||||
<tr><td class="num">492</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OES/OES_byte_coordinates.txt">OES_byte_coordinates</a></td></tr>
|
||||
<tr><td class="num">493</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OES/OES_compressed_paletted_texture.txt">OES_compressed_paletted_texture</a></td></tr>
|
||||
<tr><td class="num">494</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OES/OES_read_format.txt">OES_read_format</a></td></tr>
|
||||
<tr><td class="num">495</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OES/OES_single_precision.txt">OES_single_precision</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">478</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OML/interlace.txt">OML_interlace</a></td></tr>
|
||||
<tr><td class="num">479</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OML/resample.txt">OML_resample</a></td></tr>
|
||||
<tr><td class="num">480</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OML/subsample.txt">OML_subsample</a></td></tr>
|
||||
<tr><td class="num">496</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OML/interlace.txt">OML_interlace</a></td></tr>
|
||||
<tr><td class="num">497</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OML/resample.txt">OML_resample</a></td></tr>
|
||||
<tr><td class="num">498</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OML/subsample.txt">OML_subsample</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">481</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OVR/multiview.txt">OVR_multiview</a></td></tr>
|
||||
<tr><td class="num">482</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OVR/multiview2.txt">OVR_multiview2</a></td></tr>
|
||||
<tr><td class="num">499</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OVR/multiview.txt">OVR_multiview</a></td></tr>
|
||||
<tr><td class="num">500</td><td> </td><td><a href="http://www.opengl.org/registry/specs/OVR/multiview2.txt">OVR_multiview2</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">483</td><td> </td><td><a href="http://www.opengl.org/registry/specs/PGI/misc_hints.txt">PGI_misc_hints</a></td></tr>
|
||||
<tr><td class="num">484</td><td> </td><td><a href="http://www.opengl.org/registry/specs/PGI/vertex_hints.txt">PGI_vertex_hints</a></td></tr>
|
||||
<tr><td class="num">501</td><td> </td><td><a href="http://www.opengl.org/registry/specs/PGI/misc_hints.txt">PGI_misc_hints</a></td></tr>
|
||||
<tr><td class="num">502</td><td> </td><td><a href="http://www.opengl.org/registry/specs/PGI/vertex_hints.txt">PGI_vertex_hints</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">485</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_ES1_0_compatibility</a></td></tr>
|
||||
<tr><td class="num">486</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_ES1_1_compatibility</a></td></tr>
|
||||
<tr><td class="num">487</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_enable</a></td></tr>
|
||||
<tr><td class="num">488</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_error_string</a></td></tr>
|
||||
<tr><td class="num">489</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_extension_query</a></td></tr>
|
||||
<tr><td class="num">490</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_log</a></td></tr>
|
||||
<tr><td class="num">491</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_proc_address</a></td></tr>
|
||||
<tr><td class="num">503</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_ES1_0_compatibility</a></td></tr>
|
||||
<tr><td class="num">504</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_ES1_1_compatibility</a></td></tr>
|
||||
<tr><td class="num">505</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_enable</a></td></tr>
|
||||
<tr><td class="num">506</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_error_string</a></td></tr>
|
||||
<tr><td class="num">507</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_extension_query</a></td></tr>
|
||||
<tr><td class="num">508</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_log</a></td></tr>
|
||||
<tr><td class="num">509</td><td> </td><td><a href="https://github.com/p3/regal/tree/master/doc/extensions">REGAL_proc_address</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">492</td><td> </td><td><a href="http://www.opengl.org/registry/specs/REND/screen_coordinates.txt">REND_screen_coordinates</a></td></tr>
|
||||
<tr><td class="num">510</td><td> </td><td><a href="http://www.opengl.org/registry/specs/REND/screen_coordinates.txt">REND_screen_coordinates</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">493</td><td> </td><td><a href="http://www.opengl.org/registry/specs/S3/s3tc.txt">S3_s3tc</a></td></tr>
|
||||
<tr><td class="num">511</td><td> </td><td><a href="http://www.opengl.org/registry/specs/S3/s3tc.txt">S3_s3tc</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">494</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/color_range.txt">SGIS_color_range</a></td></tr>
|
||||
<tr><td class="num">495</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/detail_texture.txt">SGIS_detail_texture</a></td></tr>
|
||||
<tr><td class="num">496</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/fog_func.txt">SGIS_fog_function</a></td></tr>
|
||||
<tr><td class="num">497</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/generate_mipmap.txt">SGIS_generate_mipmap</a></td></tr>
|
||||
<tr><td class="num">498</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/multisample.txt">SGIS_multisample</a></td></tr>
|
||||
<tr><td class="num">499</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/pixel_texture.txt">SGIS_pixel_texture</a></td></tr>
|
||||
<tr><td class="num">500</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/point_line_texgen.txt">SGIS_point_line_texgen</a></td></tr>
|
||||
<tr><td class="num">501</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt">SGIS_sharpen_texture</a></td></tr>
|
||||
<tr><td class="num">502</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture4D.txt">SGIS_texture4D</a></td></tr>
|
||||
<tr><td class="num">503</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_border_clamp.txt">SGIS_texture_border_clamp</a></td></tr>
|
||||
<tr><td class="num">504</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_edge_clamp.txt">SGIS_texture_edge_clamp</a></td></tr>
|
||||
<tr><td class="num">505</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_filter4.txt">SGIS_texture_filter4</a></td></tr>
|
||||
<tr><td class="num">506</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_lod.txt">SGIS_texture_lod</a></td></tr>
|
||||
<tr><td class="num">507</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_select.txt">SGIS_texture_select</a></td></tr>
|
||||
<tr><td class="num">512</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/color_range.txt">SGIS_color_range</a></td></tr>
|
||||
<tr><td class="num">513</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/detail_texture.txt">SGIS_detail_texture</a></td></tr>
|
||||
<tr><td class="num">514</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/fog_func.txt">SGIS_fog_function</a></td></tr>
|
||||
<tr><td class="num">515</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/generate_mipmap.txt">SGIS_generate_mipmap</a></td></tr>
|
||||
<tr><td class="num">516</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/multisample.txt">SGIS_multisample</a></td></tr>
|
||||
<tr><td class="num">517</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/pixel_texture.txt">SGIS_pixel_texture</a></td></tr>
|
||||
<tr><td class="num">518</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/point_line_texgen.txt">SGIS_point_line_texgen</a></td></tr>
|
||||
<tr><td class="num">519</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt">SGIS_sharpen_texture</a></td></tr>
|
||||
<tr><td class="num">520</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture4D.txt">SGIS_texture4D</a></td></tr>
|
||||
<tr><td class="num">521</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_border_clamp.txt">SGIS_texture_border_clamp</a></td></tr>
|
||||
<tr><td class="num">522</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_edge_clamp.txt">SGIS_texture_edge_clamp</a></td></tr>
|
||||
<tr><td class="num">523</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_filter4.txt">SGIS_texture_filter4</a></td></tr>
|
||||
<tr><td class="num">524</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_lod.txt">SGIS_texture_lod</a></td></tr>
|
||||
<tr><td class="num">525</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_select.txt">SGIS_texture_select</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">508</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/async.txt">SGIX_async</a></td></tr>
|
||||
<tr><td class="num">509</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/async_histogram.txt">SGIX_async_histogram</a></td></tr>
|
||||
<tr><td class="num">510</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/async_pixel.txt">SGIX_async_pixel</a></td></tr>
|
||||
<tr><td class="num">511</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/blend_alpha_minmax.txt">SGIX_blend_alpha_minmax</a></td></tr>
|
||||
<tr><td class="num">512</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/clipmap.txt">SGIX_clipmap</a></td></tr>
|
||||
<tr><td class="num">513</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/convolution_accuracy.txt">SGIX_convolution_accuracy</a></td></tr>
|
||||
<tr><td class="num">514</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/depth_texture.txt">SGIX_depth_texture</a></td></tr>
|
||||
<tr><td class="num">515</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/flush_raster.txt">SGIX_flush_raster</a></td></tr>
|
||||
<tr><td class="num">516</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/fog_offset.txt">SGIX_fog_offset</a></td></tr>
|
||||
<tr><td class="num">517</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/fog_texture.txt">SGIX_fog_texture</a></td></tr>
|
||||
<tr><td class="num">518</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt">SGIX_fragment_specular_lighting</a></td></tr>
|
||||
<tr><td class="num">519</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/framezoom.txt">SGIX_framezoom</a></td></tr>
|
||||
<tr><td class="num">520</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/interlace.txt">SGIX_interlace</a></td></tr>
|
||||
<tr><td class="num">521</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/ir_instrument1.txt">SGIX_ir_instrument1</a></td></tr>
|
||||
<tr><td class="num">522</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/list_priority.txt">SGIX_list_priority</a></td></tr>
|
||||
<tr><td class="num">523</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/sgix_pixel_texture.txt">SGIX_pixel_texture</a></td></tr>
|
||||
<tr><td class="num">524</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/pixel_texture_bits.txt">SGIX_pixel_texture_bits</a></td></tr>
|
||||
<tr><td class="num">525</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/reference_plane.txt">SGIX_reference_plane</a></td></tr>
|
||||
<tr><td class="num">526</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/resample.txt">SGIX_resample</a></td></tr>
|
||||
<tr><td class="num">527</td><td> </td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/shadow.txt">SGIX_shadow</a></td></tr>
|
||||
<tr><td class="num">528</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/shadow_ambient.txt">SGIX_shadow_ambient</a></td></tr>
|
||||
<tr><td class="num">529</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/sprite.txt">SGIX_sprite</a></td></tr>
|
||||
<tr><td class="num">530</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/tag_sample_buffer.txt">SGIX_tag_sample_buffer</a></td></tr>
|
||||
<tr><td class="num">531</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_env_add.txt">SGIX_texture_add_env</a></td></tr>
|
||||
<tr><td class="num">532</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_coordinate_clamp.txt">SGIX_texture_coordinate_clamp</a></td></tr>
|
||||
<tr><td class="num">533</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_lod_bias.txt">SGIX_texture_lod_bias</a></td></tr>
|
||||
<tr><td class="num">534</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_multi_buffer.txt">SGIX_texture_multi_buffer</a></td></tr>
|
||||
<tr><td class="num">535</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_range.txt">SGIX_texture_range</a></td></tr>
|
||||
<tr><td class="num">536</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_scale_bias.txt">SGIX_texture_scale_bias</a></td></tr>
|
||||
<tr><td class="num">537</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt">SGIX_vertex_preclip</a></td></tr>
|
||||
<tr><td class="num">538</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt">SGIX_vertex_preclip_hint</a></td></tr>
|
||||
<tr><td class="num">539</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/ycrcb.txt">SGIX_ycrcb</a></td></tr>
|
||||
<tr><td class="num">526</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/async.txt">SGIX_async</a></td></tr>
|
||||
<tr><td class="num">527</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/async_histogram.txt">SGIX_async_histogram</a></td></tr>
|
||||
<tr><td class="num">528</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/async_pixel.txt">SGIX_async_pixel</a></td></tr>
|
||||
<tr><td class="num">529</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/blend_alpha_minmax.txt">SGIX_blend_alpha_minmax</a></td></tr>
|
||||
<tr><td class="num">530</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/clipmap.txt">SGIX_clipmap</a></td></tr>
|
||||
<tr><td class="num">531</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/convolution_accuracy.txt">SGIX_convolution_accuracy</a></td></tr>
|
||||
<tr><td class="num">532</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/depth_texture.txt">SGIX_depth_texture</a></td></tr>
|
||||
<tr><td class="num">533</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/flush_raster.txt">SGIX_flush_raster</a></td></tr>
|
||||
<tr><td class="num">534</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/fog_offset.txt">SGIX_fog_offset</a></td></tr>
|
||||
<tr><td class="num">535</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/fog_texture.txt">SGIX_fog_texture</a></td></tr>
|
||||
<tr><td class="num">536</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt">SGIX_fragment_specular_lighting</a></td></tr>
|
||||
<tr><td class="num">537</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/framezoom.txt">SGIX_framezoom</a></td></tr>
|
||||
<tr><td class="num">538</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/interlace.txt">SGIX_interlace</a></td></tr>
|
||||
<tr><td class="num">539</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/ir_instrument1.txt">SGIX_ir_instrument1</a></td></tr>
|
||||
<tr><td class="num">540</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/list_priority.txt">SGIX_list_priority</a></td></tr>
|
||||
<tr><td class="num">541</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/sgix_pixel_texture.txt">SGIX_pixel_texture</a></td></tr>
|
||||
<tr><td class="num">542</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/pixel_texture_bits.txt">SGIX_pixel_texture_bits</a></td></tr>
|
||||
<tr><td class="num">543</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/reference_plane.txt">SGIX_reference_plane</a></td></tr>
|
||||
<tr><td class="num">544</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/resample.txt">SGIX_resample</a></td></tr>
|
||||
<tr><td class="num">545</td><td> </td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/shadow.txt">SGIX_shadow</a></td></tr>
|
||||
<tr><td class="num">546</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/shadow_ambient.txt">SGIX_shadow_ambient</a></td></tr>
|
||||
<tr><td class="num">547</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/sprite.txt">SGIX_sprite</a></td></tr>
|
||||
<tr><td class="num">548</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/tag_sample_buffer.txt">SGIX_tag_sample_buffer</a></td></tr>
|
||||
<tr><td class="num">549</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_env_add.txt">SGIX_texture_add_env</a></td></tr>
|
||||
<tr><td class="num">550</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_coordinate_clamp.txt">SGIX_texture_coordinate_clamp</a></td></tr>
|
||||
<tr><td class="num">551</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_lod_bias.txt">SGIX_texture_lod_bias</a></td></tr>
|
||||
<tr><td class="num">552</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_multi_buffer.txt">SGIX_texture_multi_buffer</a></td></tr>
|
||||
<tr><td class="num">553</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_range.txt">SGIX_texture_range</a></td></tr>
|
||||
<tr><td class="num">554</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_scale_bias.txt">SGIX_texture_scale_bias</a></td></tr>
|
||||
<tr><td class="num">555</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt">SGIX_vertex_preclip</a></td></tr>
|
||||
<tr><td class="num">556</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt">SGIX_vertex_preclip_hint</a></td></tr>
|
||||
<tr><td class="num">557</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGIX/ycrcb.txt">SGIX_ycrcb</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">540</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGI/color_matrix.txt">SGI_color_matrix</a></td></tr>
|
||||
<tr><td class="num">541</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGI/color_table.txt">SGI_color_table</a></td></tr>
|
||||
<tr><td class="num">542</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGI/texture_color_table.txt">SGI_texture_color_table</a></td></tr>
|
||||
<tr><td class="num">558</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGI/color_matrix.txt">SGI_color_matrix</a></td></tr>
|
||||
<tr><td class="num">559</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGI/color_table.txt">SGI_color_table</a></td></tr>
|
||||
<tr><td class="num">560</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SGI/texture_color_table.txt">SGI_texture_color_table</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">543</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUNX/constant_data.txt">SUNX_constant_data</a></td></tr>
|
||||
<tr><td class="num">561</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUNX/constant_data.txt">SUNX_constant_data</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">544</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/convolution_border_modes.txt">SUN_convolution_border_modes</a></td></tr>
|
||||
<tr><td class="num">545</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/global_alpha.txt">SUN_global_alpha</a></td></tr>
|
||||
<tr><td class="num">546</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/mesh_array.txt">SUN_mesh_array</a></td></tr>
|
||||
<tr><td class="num">547</td><td> </td><td><a href="http://wwws.sun.com/software/graphics/opengl/extensions/gl_sun_read_video_pixels.txt">SUN_read_video_pixels</a></td></tr>
|
||||
<tr><td class="num">548</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/slice_accum.txt">SUN_slice_accum</a></td></tr>
|
||||
<tr><td class="num">549</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/triangle_list.txt">SUN_triangle_list</a></td></tr>
|
||||
<tr><td class="num">550</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/vertex.txt">SUN_vertex</a></td></tr>
|
||||
<tr><td class="num">562</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/convolution_border_modes.txt">SUN_convolution_border_modes</a></td></tr>
|
||||
<tr><td class="num">563</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/global_alpha.txt">SUN_global_alpha</a></td></tr>
|
||||
<tr><td class="num">564</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/mesh_array.txt">SUN_mesh_array</a></td></tr>
|
||||
<tr><td class="num">565</td><td> </td><td><a href="http://wwws.sun.com/software/graphics/opengl/extensions/gl_sun_read_video_pixels.txt">SUN_read_video_pixels</a></td></tr>
|
||||
<tr><td class="num">566</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/slice_accum.txt">SUN_slice_accum</a></td></tr>
|
||||
<tr><td class="num">567</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/triangle_list.txt">SUN_triangle_list</a></td></tr>
|
||||
<tr><td class="num">568</td><td> </td><td><a href="http://www.opengl.org/registry/specs/SUN/vertex.txt">SUN_vertex</a></td></tr>
|
||||
<tr><td><br></td><td></td><td></td></tr>
|
||||
<tr><td class="num">551</td><td> </td><td><a href="http://www.opengl.org/registry/specs/WIN/phong_shading.txt">WIN_phong_shading</a></td></tr>
|
||||
<tr><td class="num">552</td><td> </td><td><a href="http://www.opengl.org/registry/specs/WIN/specular_fog.txt">WIN_specular_fog</a></td></tr>
|
||||
<tr><td class="num">553</td><td> </td><td><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/glfunc01_16zy.asp">WIN_swap_hint</a></td></tr>
|
||||
<tr><td class="num">569</td><td> </td><td><a href="http://www.opengl.org/registry/specs/WIN/phong_shading.txt">WIN_phong_shading</a></td></tr>
|
||||
<tr><td class="num">570</td><td> </td><td><a href="http://www.opengl.org/registry/specs/WIN/specular_fog.txt">WIN_specular_fog</a></td></tr>
|
||||
<tr><td class="num">571</td><td> </td><td><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/glfunc01_16zy.asp">WIN_swap_hint</a></td></tr>
|
||||
</table>
|
||||
<!-- begin footer.html -->
|
||||
</td></tr></table></body>
|
||||
|
@ -37,6 +37,8 @@
|
||||
#if defined(GLEW_OSMESA)
|
||||
#define GLAPI extern
|
||||
#include <GL/osmesa.h>
|
||||
#elif defined(GLEW_EGL)
|
||||
#include <GL/eglew.h>
|
||||
#elif defined(_WIN32)
|
||||
#include <GL/wglew.h>
|
||||
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
||||
@ -62,6 +64,8 @@ typedef struct GLContextStruct
|
||||
{
|
||||
#if defined(GLEW_OSMESA)
|
||||
OSMesaContext ctx;
|
||||
#elif defined(GLEW_EGL)
|
||||
EGLContext ctx;
|
||||
#elif defined(_WIN32)
|
||||
HWND wnd;
|
||||
HDC dc;
|
||||
@ -186,6 +190,7 @@ main (int argc, char** argv)
|
||||
/* ---------------------------------------------------------------------- */
|
||||
/* extensions string */
|
||||
#if defined(GLEW_OSMESA)
|
||||
#elif defined(GLEW_EGL)
|
||||
#elif defined(_WIN32)
|
||||
/* WGL extensions */
|
||||
if (WGLEW_ARB_extensions_string || WGLEW_EXT_extensions_string)
|
||||
@ -264,7 +269,7 @@ void PrintExtensions (const char* s)
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
#if defined(GLEW_OSMESA)
|
||||
#if defined(GLEW_OSMESA) || defined(GLEW_EGL)
|
||||
|
||||
void
|
||||
VisualInfo (GLContext* ctx)
|
||||
@ -1048,6 +1053,27 @@ void DestroyContext (GLContext* ctx)
|
||||
if (NULL == ctx) return;
|
||||
if (NULL != ctx->ctx) OSMesaDestroyContext(ctx->ctx);
|
||||
}
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
#elif defined(GLEW_EGL)
|
||||
void InitContext (GLContext* ctx)
|
||||
{
|
||||
ctx->ctx = NULL;
|
||||
}
|
||||
|
||||
GLboolean CreateContext (GLContext* ctx)
|
||||
{
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
void DestroyContext (GLContext* ctx)
|
||||
{
|
||||
if (NULL == ctx) return;
|
||||
return;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
#elif defined(_WIN32)
|
||||
|
||||
void InitContext (GLContext* ctx)
|
||||
|
Loading…
Reference in New Issue
Block a user