mirror of
https://github.com/nigels-com/glew.git
synced 2025-04-21 08:02:55 +00:00
Merge 3c83effd40
into 99421ea9fe
This commit is contained in:
commit
a6df1d5107
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1,5 +1,6 @@
|
|||||||
* text eol=lf
|
* text eol=lf
|
||||||
*.png binary
|
*.png binary
|
||||||
|
*.pdf binary
|
||||||
build/*/* text eol=crlf
|
build/*/* text eol=crlf
|
||||||
CMakeLists.txt text eol=lf
|
CMakeLists.txt text eol=lf
|
||||||
build/cmake/* text eol=lf
|
build/cmake/* text eol=lf
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,6 +2,7 @@
|
|||||||
/src/*.c
|
/src/*.c
|
||||||
/include/GL/*.h
|
/include/GL/*.h
|
||||||
/build/vc6/*.rc
|
/build/vc6/*.rc
|
||||||
|
/build/*.rc
|
||||||
/build/*/*.sdf
|
/build/*/*.sdf
|
||||||
/build/*/*.suo
|
/build/*/*.suo
|
||||||
/build/*/*.vcxproj.user
|
/build/*/*.vcxproj.user
|
||||||
|
@ -7,8 +7,12 @@ script:
|
|||||||
- make dist-src
|
- make dist-src
|
||||||
- make clean; SYSTEM=linux make
|
- make clean; SYSTEM=linux make
|
||||||
- make clean; SYSTEM=linux-osmesa 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' . ; 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_OSMESA=1 . ; make; popd
|
||||||
|
- pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' -DGLEW_EGL=1 . ; make; popd
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
@ -16,6 +20,7 @@ addons:
|
|||||||
- cmake
|
- cmake
|
||||||
- dos2unix
|
- dos2unix
|
||||||
- libosmesa6-dev
|
- libosmesa6-dev
|
||||||
|
- libegl1-mesa-dev
|
||||||
artifacts:
|
artifacts:
|
||||||
bucket: glew
|
bucket: glew
|
||||||
s3_region: "us-east-1"
|
s3_region: "us-east-1"
|
||||||
|
107
Makefile
107
Makefile
@ -45,6 +45,7 @@ GLEW_DEST ?= /usr
|
|||||||
BINDIR ?= $(GLEW_DEST)/bin
|
BINDIR ?= $(GLEW_DEST)/bin
|
||||||
LIBDIR ?= $(GLEW_DEST)/lib
|
LIBDIR ?= $(GLEW_DEST)/lib
|
||||||
INCDIR ?= $(GLEW_DEST)/include/GL
|
INCDIR ?= $(GLEW_DEST)/include/GL
|
||||||
|
PKGDIR ?= $(GLEW_DEST)/lib/pkgconfig
|
||||||
|
|
||||||
ifneq ($(GLEW_NO_GLU), -DGLEW_NO_GLU)
|
ifneq ($(GLEW_NO_GLU), -DGLEW_NO_GLU)
|
||||||
LIBGLU = glu
|
LIBGLU = glu
|
||||||
@ -57,9 +58,10 @@ DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip
|
|||||||
|
|
||||||
DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME)
|
DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME)
|
||||||
|
|
||||||
# To disable stripping of binaries either:
|
# To disable stripping of linked binaries either:
|
||||||
# - use STRIP= on gmake command-line
|
# - use STRIP= on gmake command-line
|
||||||
# - edit this makefile to set STRIP to the empty string
|
# - edit this makefile to set STRIP to the empty string
|
||||||
|
# (Note: STRIP does not affect the strip in the install step)
|
||||||
#
|
#
|
||||||
# To disable symlinks:
|
# To disable symlinks:
|
||||||
# - use LN= on gmake command-line
|
# - use LN= on gmake command-line
|
||||||
@ -81,7 +83,7 @@ endif
|
|||||||
INCLUDE = -Iinclude
|
INCLUDE = -Iinclude
|
||||||
CFLAGS = $(OPT) $(WARN) $(INCLUDE) $(CFLAGS.EXTRA)
|
CFLAGS = $(OPT) $(WARN) $(INCLUDE) $(CFLAGS.EXTRA)
|
||||||
|
|
||||||
all debug: glew.lib glew.lib.mx glew.bin
|
all debug: glew.lib glew.bin
|
||||||
|
|
||||||
# GLEW shared and static libraries
|
# GLEW shared and static libraries
|
||||||
|
|
||||||
@ -96,11 +98,6 @@ LIB.OBJS := $(LIB.OBJS:.c=.o)
|
|||||||
LIB.SOBJS := $(addprefix tmp/$(SYSTEM)/default/shared/,$(LIB.SRCS.NAMES))
|
LIB.SOBJS := $(addprefix tmp/$(SYSTEM)/default/shared/,$(LIB.SRCS.NAMES))
|
||||||
LIB.SOBJS := $(LIB.SOBJS:.c=.o)
|
LIB.SOBJS := $(LIB.SOBJS:.c=.o)
|
||||||
|
|
||||||
LIB.OBJS.MX := $(addprefix tmp/$(SYSTEM)/mx/static/,$(LIB.SRCS.NAMES))
|
|
||||||
LIB.OBJS.MX := $(LIB.OBJS.MX:.c=.o)
|
|
||||||
LIB.SOBJS.MX := $(addprefix tmp/$(SYSTEM)/mx/shared/,$(LIB.SRCS.NAMES))
|
|
||||||
LIB.SOBJS.MX := $(LIB.SOBJS.MX:.c=.o)
|
|
||||||
|
|
||||||
glew.lib: lib lib/$(LIB.SHARED) lib/$(LIB.STATIC) glew.pc
|
glew.lib: lib lib/$(LIB.SHARED) lib/$(LIB.STATIC) glew.pc
|
||||||
|
|
||||||
lib:
|
lib:
|
||||||
@ -150,54 +147,6 @@ glew.pc: glew.pc.in
|
|||||||
-e "s|@requireslib@|$(LIBGLU)|g" \
|
-e "s|@requireslib@|$(LIBGLU)|g" \
|
||||||
< $< > $@
|
< $< > $@
|
||||||
|
|
||||||
# GLEW MX static and shared libraries
|
|
||||||
|
|
||||||
glew.lib.mx: lib lib/$(LIB.SHARED.MX) lib/$(LIB.STATIC.MX) glewmx.pc
|
|
||||||
|
|
||||||
lib/$(LIB.STATIC.MX): $(LIB.OBJS.MX)
|
|
||||||
ifneq ($(AR),)
|
|
||||||
$(AR) $(ARFLAGS) $@ $^
|
|
||||||
else ifneq ($(LIBTOOL),)
|
|
||||||
$(LIBTOOL) $@ $^
|
|
||||||
endif
|
|
||||||
ifneq ($(STRIP),)
|
|
||||||
$(STRIP) -x $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
lib/$(LIB.SHARED.MX): $(LIB.SOBJS.MX)
|
|
||||||
$(LD) $(LDFLAGS.SO.MX) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS)
|
|
||||||
ifneq ($(LN),)
|
|
||||||
$(LN) $(LIB.SHARED.MX) lib/$(LIB.SONAME.MX)
|
|
||||||
$(LN) $(LIB.SHARED.MX) lib/$(LIB.DEVLNK.MX)
|
|
||||||
endif
|
|
||||||
ifneq ($(STRIP),)
|
|
||||||
$(STRIP) -x $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
tmp/$(SYSTEM)/mx/static/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
$(CC) -DGLEW_NO_GLU -DGLEW_MX -DGLEW_STATIC $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
|
||||||
|
|
||||||
tmp/$(SYSTEM)/mx/shared/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
$(CC) -DGLEW_NO_GLU -DGLEW_MX -DGLEW_BUILD $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
|
||||||
|
|
||||||
# Force re-write of glewmx.pc, GLEW_DEST can vary
|
|
||||||
|
|
||||||
.PHONY: glewmx.pc
|
|
||||||
|
|
||||||
glewmx.pc: glew.pc.in
|
|
||||||
sed \
|
|
||||||
-e "s|@prefix@|$(GLEW_PREFIX)|g" \
|
|
||||||
-e "s|@libdir@|$(LIBDIR)|g" \
|
|
||||||
-e "s|@exec_prefix@|$(BINDIR)|g" \
|
|
||||||
-e "s|@includedir@|$(INCDIR)|g" \
|
|
||||||
-e "s|@version@|$(GLEW_VERSION)|g" \
|
|
||||||
-e "s|@cflags@|-DGLEW_MX|g" \
|
|
||||||
-e "s|@libname@|$(NAME)mx|g" \
|
|
||||||
-e "s|@requireslib@|$(LIBGLU)|g" \
|
|
||||||
< $< > $@
|
|
||||||
|
|
||||||
# GLEW utility programs
|
# GLEW utility programs
|
||||||
|
|
||||||
BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
|
BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
|
||||||
@ -245,12 +194,10 @@ $(VISUALINFO.BIN.OBJ): $(VISUALINFO.BIN.SRC) include/GL/glew.h include/GL/wglew.
|
|||||||
|
|
||||||
# Install targets
|
# Install targets
|
||||||
|
|
||||||
install.all: install install.mx install.bin
|
install.all: install install.bin
|
||||||
|
|
||||||
install: install.include install.lib install.pkgconfig
|
install: install.include install.lib install.pkgconfig
|
||||||
|
|
||||||
install.mx: install.include install.lib.mx install.pkgconfig.mx
|
|
||||||
|
|
||||||
install.lib: glew.lib
|
install.lib: glew.lib
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)"
|
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)"
|
||||||
# runtime
|
# runtime
|
||||||
@ -273,27 +220,6 @@ ifneq ($(LN),)
|
|||||||
endif
|
endif
|
||||||
$(INSTALL) -m 0644 lib/$(LIB.STATIC) "$(DESTDIR)$(LIBDIR)/"
|
$(INSTALL) -m 0644 lib/$(LIB.STATIC) "$(DESTDIR)$(LIBDIR)/"
|
||||||
|
|
||||||
install.lib.mx: glew.lib.mx
|
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)"
|
|
||||||
# runtime
|
|
||||||
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(BINDIR)"
|
|
||||||
$(INSTALL) -m 0755 lib/$(LIB.SHARED.MX) "$(DESTDIR)$(BINDIR)/"
|
|
||||||
else
|
|
||||||
$(INSTALL) -m 0644 lib/$(LIB.SHARED.MX) "$(DESTDIR)$(LIBDIR)/"
|
|
||||||
endif
|
|
||||||
ifneq ($(LN),)
|
|
||||||
$(LN) $(LIB.SHARED.MX) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME.MX)"
|
|
||||||
endif
|
|
||||||
# development files
|
|
||||||
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
|
||||||
$(INSTALL) -m 0644 lib/$(LIB.DEVLNK.MX) "$(DESTDIR)$(LIBDIR)/"
|
|
||||||
endif
|
|
||||||
ifneq ($(LN),)
|
|
||||||
$(LN) $(LIB.SHARED.MX) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK.MX)"
|
|
||||||
endif
|
|
||||||
$(INSTALL) -m 0644 lib/$(LIB.STATIC.MX) "$(DESTDIR)$(LIBDIR)/"
|
|
||||||
|
|
||||||
install.bin: glew.bin
|
install.bin: glew.bin
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(BINDIR)"
|
$(INSTALL) -d -m 0755 "$(DESTDIR)$(BINDIR)"
|
||||||
$(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/"
|
$(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/"
|
||||||
@ -305,34 +231,29 @@ install.include:
|
|||||||
$(INSTALL) -m 0644 include/GL/glxew.h "$(DESTDIR)$(INCDIR)/"
|
$(INSTALL) -m 0644 include/GL/glxew.h "$(DESTDIR)$(INCDIR)/"
|
||||||
|
|
||||||
install.pkgconfig: glew.pc
|
install.pkgconfig: glew.pc
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)"
|
$(INSTALL) -d -m 0755 "$(DESTDIR)$(PKGDIR)"
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)/pkgconfig"
|
$(INSTALL) -d -m 0755 "$(DESTDIR)$(PKGDIR)"
|
||||||
$(INSTALL) -m 0644 glew.pc "$(DESTDIR)$(LIBDIR)/pkgconfig/"
|
$(INSTALL) -m 0644 glew.pc "$(DESTDIR)$(PKGDIR)/"
|
||||||
|
|
||||||
install.pkgconfig.mx: glewmx.pc
|
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)"
|
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)/pkgconfig"
|
|
||||||
$(INSTALL) -m 0644 glewmx.pc "$(DESTDIR)$(LIBDIR)/pkgconfig/"
|
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
$(RM) "$(DESTDIR)$(INCDIR)/wglew.h"
|
$(RM) "$(DESTDIR)$(INCDIR)/wglew.h"
|
||||||
$(RM) "$(DESTDIR)$(INCDIR)/glew.h"
|
$(RM) "$(DESTDIR)$(INCDIR)/glew.h"
|
||||||
$(RM) "$(DESTDIR)$(INCDIR)/glxew.h"
|
$(RM) "$(DESTDIR)$(INCDIR)/glxew.h"
|
||||||
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK)" "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK.MX)"
|
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK)"
|
||||||
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
||||||
$(RM) "$(DESTDIR)$(BINDIR)/$(LIB.SHARED)" "$(DESTDIR)$(BINDIR)/$(LIB.SHARED.MX)"
|
$(RM) "$(DESTDIR)$(BINDIR)/$(LIB.SHARED)"
|
||||||
else
|
else
|
||||||
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME)" "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME.MX)"
|
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME)"
|
||||||
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SHARED)" "$(DESTDIR)$(LIBDIR)/$(LIB.SHARED.MX)"
|
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SHARED)"
|
||||||
endif
|
endif
|
||||||
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.STATIC)" "$(DESTDIR)$(LIBDIR)/$(LIB.STATIC.MX)"
|
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.STATIC)"
|
||||||
$(RM) "$(DESTDIR)$(BINDIR)/$(GLEWINFO.BIN)" "$(DESTDIR)$(BINDIR)/$(VISUALINFO.BIN)"
|
$(RM) "$(DESTDIR)$(BINDIR)/$(GLEWINFO.BIN)" "$(DESTDIR)$(BINDIR)/$(VISUALINFO.BIN)"
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) -r tmp/
|
$(RM) -r tmp/
|
||||||
$(RM) -r lib/
|
$(RM) -r lib/
|
||||||
$(RM) -r bin/
|
$(RM) -r bin/
|
||||||
$(RM) glew.pc glewmx.pc
|
$(RM) glew.pc
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
find . -name \*~ | xargs $(RM)
|
find . -name \*~ | xargs $(RM)
|
||||||
|
167
README.md
167
README.md
@ -7,28 +7,153 @@ http://glew.sourceforge.net/
|
|||||||
https://github.com/nigels-com/glew
|
https://github.com/nigels-com/glew
|
||||||
|
|
||||||
[](https://travis-ci.org/nigels-com/glew)
|
[](https://travis-ci.org/nigels-com/glew)
|
||||||
|
[](https://gitter.im/nigels-com/glew?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||||
|
|
||||||
|
## Downloads
|
||||||
|
|
||||||
|
Current release is [1.13.0](https://sourceforge.net/projects/glew/files/glew/1.13.0/).
|
||||||
|
[(Change Log)](http://glew.sourceforge.net/log.html)
|
||||||
|
|
||||||
|
Sources available as
|
||||||
|
[ZIP](https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0.zip/download) or
|
||||||
|
[TGZ](https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0.tgz/download).
|
||||||
|
|
||||||
|
Windows binaries for [32-bit and 64-bit](https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0-win32.zip/download).
|
||||||
|
|
||||||
|
### Recent snapshots
|
||||||
|
|
||||||
|
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
|
||||||
|
|
||||||
|
[glew-20160402.tgz](http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20160402.tgz/download)
|
||||||
|
*GLEW 2.0.0 release candidate, Core context, EGL support, no MX*
|
||||||
|
|
||||||
|
[glew-20160131.tgz](http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20160131.tgz/download)
|
||||||
|
*GLEW 2.0.0 release candidate: Core context support, no MX*
|
||||||
|
|
||||||
|
[glew-20151117.tgz](http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20151117.tgz/download)
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
If you downloaded the tarball or zip archive from the GLEW website,
|
From a downloaded tarball or zip archive:
|
||||||
you just need to:
|
|
||||||
|
|
||||||
### Unix
|
### Linux and Mac
|
||||||
|
|
||||||
|
#### Using GNU Make
|
||||||
|
|
||||||
|
##### Install build tools
|
||||||
|
|
||||||
|
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev libosmesa-dev git`
|
||||||
|
|
||||||
|
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel git`
|
||||||
|
|
||||||
|
##### Build
|
||||||
|
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
$ make clean
|
$ make clean
|
||||||
|
|
||||||
|
Targets: `all, glew.lib, glew.bin, clean, install, uninstall`
|
||||||
|
|
||||||
|
Variables: `SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=`
|
||||||
|
|
||||||
|
#### Using cmake
|
||||||
|
|
||||||
|
*CMake 2.8.12 or higher is required.*
|
||||||
|
|
||||||
|
##### Install build tools
|
||||||
|
|
||||||
|
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libXmu-dev libXi-dev libgl-dev git cmake`
|
||||||
|
|
||||||
|
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel git cmake`
|
||||||
|
|
||||||
|
##### Build
|
||||||
|
|
||||||
|
$ cd build
|
||||||
|
$ cmake ./cmake
|
||||||
|
$ make -j4
|
||||||
|
|
||||||
|
| Target | Description |
|
||||||
|
| ---------- | ----------- |
|
||||||
|
| glew | Build the glew shared library. |
|
||||||
|
| glew_s | Build the glew static library. |
|
||||||
|
| glewinfo | Build the `glewinfo` executable (requires `BUILD_UTILS` to be `ON`). |
|
||||||
|
| visualinfo | Build the `visualinfo` executable (requires `BUILD_UTILS` to be `ON`). |
|
||||||
|
| install | Install all enabled targets into `CMAKE_INSTALL_PREFIX`. |
|
||||||
|
| clean | Clean up build artifacts. |
|
||||||
|
| all | Build all enabled targets (default target). |
|
||||||
|
|
||||||
|
| Variables | Description |
|
||||||
|
| --------------- | ----------- |
|
||||||
|
| BUILD_UTILS | Build the `glewinfo` and `visualinfo` executables. |
|
||||||
|
| GLEW_REGAL | Build in Regal mode. |
|
||||||
|
| GLEW_OSMESA | Build in off-screen Mesa mode. |
|
||||||
|
| BUILD_FRAMEWORK | Build as MacOSX Framework. Setting `CMAKE_INSTALL_PREFIX` to `/Library/Frameworks` is recommended. |
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
use the project file in build/vc12/
|
#### 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
|
||||||
|
OpenGL implementation and GLEW support for that. Please include the output of
|
||||||
|
`glewinfo` with bug reports, as appropriate.
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
GLEW Extension Info
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
GLEW version 2.0.0
|
||||||
|
Reporting capabilities of pixelformat 3
|
||||||
|
Running on a Intel(R) HD Graphics 3000 from Intel
|
||||||
|
OpenGL version 3.1.0 - Build 9.17.10.4229 is supported
|
||||||
|
|
||||||
|
GL_VERSION_1_1: OK
|
||||||
|
---------------
|
||||||
|
|
||||||
|
GL_VERSION_1_2: OK
|
||||||
|
---------------
|
||||||
|
glCopyTexSubImage3D: OK
|
||||||
|
glDrawRangeElements: OK
|
||||||
|
glTexImage3D: OK
|
||||||
|
glTexSubImage3D: OK
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
## Code Generation
|
## Code Generation
|
||||||
|
|
||||||
If you wish to build GLEW from scratch (update the extension data from
|
A Unix or Mac environment is neded for building GLEW from scratch to
|
||||||
the net or add your own extension information), you need a Unix
|
include new extensions, or customize the code generation. The extension
|
||||||
environment (including wget, perl, and GNU make). The extension data
|
data is regenerated from the top level source directory with:
|
||||||
is regenerated from the top level source directory with:
|
|
||||||
|
|
||||||
make extensions
|
make extensions
|
||||||
|
|
||||||
@ -40,3 +165,29 @@ https://sourceforge.net/projects/glew/files/glew/snapshots/
|
|||||||
Travis-built snapshots are also available:
|
Travis-built snapshots are also available:
|
||||||
|
|
||||||
https://glew.s3.amazonaws.com/index.html
|
https://glew.s3.amazonaws.com/index.html
|
||||||
|
|
||||||
|
## Authors
|
||||||
|
|
||||||
|
GLEW is currently maintained by [Nigel Stewart](https://github.com/nigels-com)
|
||||||
|
with bug fixes, new OpenGL extension support and new releases.
|
||||||
|
|
||||||
|
GLEW was developed by [Milan Ikits](http://www.cs.utah.edu/~ikits/)
|
||||||
|
and [Marcelo Magallon](http://wwwvis.informatik.uni-stuttgart.de/~magallon/).
|
||||||
|
Aaron Lefohn, Joe Kniss, and Chris Wyman were the first users and also
|
||||||
|
assisted with the design and debugging process.
|
||||||
|
|
||||||
|
The acronym GLEW originates from Aaron Lefohn.
|
||||||
|
Pasi Kärkkäinen identified and fixed several problems with
|
||||||
|
GLX and SDL. Nate Robins created the `wglinfo` utility, to
|
||||||
|
which modifications were made by Michael Wimmer.
|
||||||
|
|
||||||
|
## Copyright and Licensing
|
||||||
|
|
||||||
|
GLEW is originally derived from the EXTGL project by Lev Povalahev.
|
||||||
|
The source code is licensed under the
|
||||||
|
[Modified BSD License](http://glew.sourceforge.net/glew.txt), the
|
||||||
|
[Mesa 3-D License](http://glew.sourceforge.net/mesa.txt) (MIT) and the
|
||||||
|
[Khronos License](http://glew.sourceforge.net/khronos.txt) (MIT).
|
||||||
|
|
||||||
|
The automatic code generation scripts are released under the
|
||||||
|
[GNU GPL](http://glew.sourceforge.net/gpl.txt).
|
||||||
|
@ -10,6 +10,7 @@ include ../config/version
|
|||||||
#GLEW_SPLIT_SOURCE = yes
|
#GLEW_SPLIT_SOURCE = yes
|
||||||
|
|
||||||
SHELL = bash
|
SHELL = bash
|
||||||
|
PYTHON ?= python
|
||||||
|
|
||||||
### Use git repository for GL extension specifications
|
### Use git repository for GL extension specifications
|
||||||
|
|
||||||
@ -41,16 +42,19 @@ BLACKLIST = blacklist
|
|||||||
|
|
||||||
GL_CORE_SPEC := $(CORE)/GL_VERSION*
|
GL_CORE_SPEC := $(CORE)/GL_VERSION*
|
||||||
GLX_CORE_SPEC := $(CORE)/GLX_VERSION*
|
GLX_CORE_SPEC := $(CORE)/GLX_VERSION*
|
||||||
|
EGL_CORE_SPEC := $(CORE)/EGL_VERSION*
|
||||||
ifeq (custom,$(MAKECMDGOALS))
|
ifeq (custom,$(MAKECMDGOALS))
|
||||||
#GL_CORE_SPEC := $(shell grep GL_VERSION custom.txt | perl -pi -e "s=^=$(CORE)/=g;")
|
#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;")
|
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;")
|
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_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;")
|
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
|
else
|
||||||
GL_EXT_SPEC := $(EXT)/GL_*
|
GL_EXT_SPEC := $(EXT)/GL_*
|
||||||
WGL_EXT_SPEC := $(EXT)/WGL_*
|
WGL_EXT_SPEC := $(EXT)/WGL_*
|
||||||
GLX_EXT_SPEC := $(EXT)/GLX_*
|
GLX_EXT_SPEC := $(EXT)/GLX_*
|
||||||
|
EGL_EXT_SPEC := $(EXT)/EGL_*
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PARSE_SPEC = parse_spec.pl
|
PARSE_SPEC = parse_spec.pl
|
||||||
@ -65,7 +69,8 @@ B.DEST = $(TOP)/build
|
|||||||
I.TARGETS = \
|
I.TARGETS = \
|
||||||
$(I.DEST)/glew.h \
|
$(I.DEST)/glew.h \
|
||||||
$(I.DEST)/wglew.h \
|
$(I.DEST)/wglew.h \
|
||||||
$(I.DEST)/glxew.h
|
$(I.DEST)/glxew.h \
|
||||||
|
$(I.DEST)/eglew.h
|
||||||
|
|
||||||
ifeq (yes,$(GLEW_SPLIT_SOURCE))
|
ifeq (yes,$(GLEW_SPLIT_SOURCE))
|
||||||
S.TARGETS = \
|
S.TARGETS = \
|
||||||
@ -114,6 +119,7 @@ $(EXT)/.dummy: $(REGISTRY)/.dummy
|
|||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
rm -rf $(EXT)
|
rm -rf $(EXT)
|
||||||
$(BIN)/update_ext.sh $(EXT) $(REGISTRY) $(BLACKLIST)
|
$(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)
|
$(BIN)/$(FILTER) $(EXT)
|
||||||
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
|
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
|
||||||
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
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 >> $@
|
cat $(SRC)/glew_head.h >> $@
|
||||||
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_EXT_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 "/* ------------------------------------------------------------------------- */\n\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 */" >> $@
|
|
||||||
$(BIN)/make_struct_fun.pl GLEW_FUN_EXPORT $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
$(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) >> $@
|
$(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 $@
|
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 >> $@
|
cat $(SRC)/glew_tail.h >> $@
|
||||||
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
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 >> $@
|
cat $(SRC)/wglew_head.h >> $@
|
||||||
$(BIN)/make_header.pl WINAPI WGL $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_header.pl WINAPI WGL $(WGL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/wglew_mid.h >> $@
|
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_fun.pl WGLEW_FUN_EXPORT $(WGL_EXT_SPEC) >> $@
|
||||||
$(BIN)/make_struct_var.pl WGLEW_VAR_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 >> $@
|
cat $(SRC)/wglew_tail.h >> $@
|
||||||
|
|
||||||
$(I.DEST)/glxew.h: $(EXT)/.dummy
|
$(I.DEST)/glxew.h: $(EXT)/.dummy
|
||||||
@ -177,51 +177,76 @@ $(I.DEST)/glxew.h: $(EXT)/.dummy
|
|||||||
$(BIN)/make_header.pl "" GLX $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_header.pl "" GLX $(GLX_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glxew_mid.h >> $@
|
cat $(SRC)/glxew_mid.h >> $@
|
||||||
$(BIN)/make_struct_fun.pl GLXEW_FUN_EXPORT $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
$(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) >> $@
|
$(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 $@
|
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 >> $@
|
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
|
$(S.DEST)/glew.c: $(EXT)/.dummy
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
@echo "Creating glew.c"
|
@echo "Creating glew.c"
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
cp -f $(SRC)/glew_license.h $@
|
cp -f $(SRC)/glew_license.h $@
|
||||||
cat $(SRC)/glew_head.c >> $@
|
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_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_fun.pl GL $(GL_EXT_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;" >> $@
|
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_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_var.pl GL $(GL_EXT_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" >> $@;
|
||||||
|
$(BIN)/make_enable_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||||
|
$(BIN)/make_initd.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
|
$(BIN)/make_initd.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
|
echo -e "" >> $@;
|
||||||
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_init_gl.c >> $@
|
cat $(SRC)/glew_init_gl.c >> $@
|
||||||
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
|
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
|
||||||
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
|
$(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 return GLEW_OK;\n}\n" >> $@
|
||||||
echo -e "\n#if defined(_WIN32) && ! defined(GLEW_OSMESA)" >> $@
|
echo -e "\n#if defined(GLEW_OSMESA)" >> $@
|
||||||
echo -e "\n#if !defined(GLEW_MX)" >> $@
|
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_fun.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
$(BIN)/make_def_var.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) >> $@
|
$(BIN)/make_init.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_init_wgl.c >> $@
|
cat $(SRC)/glew_init_wgl.c >> $@
|
||||||
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
|
||||||
echo -e "\n return GLEW_OK;\n}" >> $@;
|
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_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_fun.pl GLX $(GLX_EXT_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 "\nGLboolean __GLXEW_VERSION_1_0 = GL_FALSE;" >> $@
|
||||||
echo -e "GLboolean __GLXEW_VERSION_1_1 = 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_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_var.pl GLX $(GLX_EXT_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_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_init.pl GLX $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_init.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_init_glx.c >> $@
|
cat $(SRC)/glew_init_glx.c >> $@
|
||||||
@ -236,12 +261,14 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
|
|||||||
$(BIN)/make_str.pl $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_str.pl $(WGL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_str_glx.c >> $@
|
cat $(SRC)/glew_str_glx.c >> $@
|
||||||
$(BIN)/make_str.pl $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
$(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 >> $@
|
cat $(SRC)/glew_str_tail.c >> $@
|
||||||
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
||||||
perl -e "s/GLEW_VERSION_MAJOR_STRING/$(GLEW_MAJOR)/g" -pi $@
|
perl -e "s/GLEW_VERSION_MAJOR_STRING/$(GLEW_MAJOR)/g" -pi $@
|
||||||
perl -e "s/GLEW_VERSION_MINOR_STRING/$(GLEW_MINOR)/g" -pi $@
|
perl -e "s/GLEW_VERSION_MINOR_STRING/$(GLEW_MINOR)/g" -pi $@
|
||||||
perl -e "s/GLEW_VERSION_MICRO_STRING/$(GLEW_MICRO)/g" -pi $@
|
perl -e "s/GLEW_VERSION_MICRO_STRING/$(GLEW_MICRO)/g" -pi $@
|
||||||
perl -e "s/GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader\(GLEW_CONTEXT_ARG_VAR_INIT\);/{ GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); _glewInit_GL_ARB_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); }/g" -pi $@
|
perl -e "s/GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader\(\);/{ GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(); _glewInit_GL_ARB_vertex_program(); }/g" -pi $@
|
||||||
perl -e "s/\(\(glColorSubTable = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glColorSubTable = /g" -pi $@
|
perl -e "s/\(\(glColorSubTable = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glColorSubTable = /g" -pi $@
|
||||||
rm -f $@.bak
|
rm -f $@.bak
|
||||||
|
|
||||||
@ -253,7 +280,10 @@ $(S.DEST)/glewinfo.c: $(EXT)/.dummy
|
|||||||
cat $(SRC)/glewinfo_head.c >> $@
|
cat $(SRC)/glewinfo_head.c >> $@
|
||||||
$(BIN)/make_info.pl $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_info.pl $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_info.pl $(GL_EXT_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) >> $@
|
$(BIN)/make_info.pl $(WGL_EXT_SPEC) >> $@
|
||||||
echo -e "#else /* _UNIX */\n" >> $@
|
echo -e "#else /* _UNIX */\n" >> $@
|
||||||
$(BIN)/make_info.pl $(GLX_CORE_SPEC) >> $@
|
$(BIN)/make_info.pl $(GLX_CORE_SPEC) >> $@
|
||||||
@ -268,6 +298,9 @@ $(S.DEST)/glewinfo.c: $(EXT)/.dummy
|
|||||||
cat $(SRC)/glewinfo_glx.c >> $@
|
cat $(SRC)/glewinfo_glx.c >> $@
|
||||||
$(BIN)/make_info_list.pl $(GLX_CORE_SPEC) >> $@
|
$(BIN)/make_info_list.pl $(GLX_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_info_list.pl $(GLX_EXT_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 >> $@
|
cat $(SRC)/glewinfo_tail.c >> $@
|
||||||
perl -e 's/"glColorSubTable"/"glBlendEquation", glBlendEquation == NULL);\n glewInfoFunc("glColorSubTable"/g' -pi $@
|
perl -e 's/"glColorSubTable"/"glBlendEquation", glBlendEquation == NULL);\n glewInfoFunc("glColorSubTable"/g' -pi $@
|
||||||
rm -f $@.bak
|
rm -f $@.bak
|
||||||
|
@ -18,11 +18,13 @@ set -e
|
|||||||
mv tmp $1/GL_NV_texture_compression_vtc
|
mv tmp $1/GL_NV_texture_compression_vtc
|
||||||
|
|
||||||
# remove duplicates from GL_ARB_vertex_program and GL_ARB_fragment_program
|
# remove duplicates from GL_ARB_vertex_program and GL_ARB_fragment_program
|
||||||
grep -v -F -f $1/GL_ARB_vertex_program $1/GL_ARB_fragment_program > tmp
|
tail -n +5 $1/GL_ARB_vertex_program > patterns
|
||||||
|
grep -v -F -f patterns $1/GL_ARB_fragment_program > tmp
|
||||||
mv tmp $1/GL_ARB_fragment_program
|
mv tmp $1/GL_ARB_fragment_program
|
||||||
|
|
||||||
# remove duplicates from GLX_EXT_visual_rating and GLX_EXT_visual_info
|
# remove duplicates from GLX_EXT_visual_rating and GLX_EXT_visual_info
|
||||||
grep -v -F -f $1/GLX_EXT_visual_info $1/GLX_EXT_visual_rating > tmp
|
tail -n +5 $1/GLX_EXT_visual_info > patterns
|
||||||
|
grep -v -F -f patterns $1/GLX_EXT_visual_rating > tmp
|
||||||
mv tmp $1/GLX_EXT_visual_rating
|
mv tmp $1/GLX_EXT_visual_rating
|
||||||
|
|
||||||
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetBooleanIndexedvEXT but with different parameter names
|
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetBooleanIndexedvEXT but with different parameter names
|
||||||
@ -58,7 +60,8 @@ EOT
|
|||||||
EOT
|
EOT
|
||||||
|
|
||||||
# remove duplicates from GL_NV_present_video and GLX_NV_present_video
|
# remove duplicates from GL_NV_present_video and GLX_NV_present_video
|
||||||
grep -v -F -f $1/GLX_NV_present_video $1/GL_NV_present_video > tmp
|
tail -n +5 $1/GLX_NV_present_video > patterns
|
||||||
|
grep -v -F -f patterns $1/GL_NV_present_video > tmp
|
||||||
mv tmp $1/GL_NV_present_video
|
mv tmp $1/GL_NV_present_video
|
||||||
|
|
||||||
# fix WGL_NV_present_video
|
# fix WGL_NV_present_video
|
||||||
@ -180,20 +183,23 @@ EOT
|
|||||||
|
|
||||||
# remove triplicates in GL_ARB_shader_objects, GL_ARB_fragment_shader,
|
# remove triplicates in GL_ARB_shader_objects, GL_ARB_fragment_shader,
|
||||||
# and GL_ARB_vertex_shader
|
# and GL_ARB_vertex_shader
|
||||||
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_fragment_shader > tmp
|
tail -n +5 $1/GL_ARB_shader_objects > patterns
|
||||||
|
grep -v -F -f patterns $1/GL_ARB_fragment_shader > tmp
|
||||||
mv tmp $1/GL_ARB_fragment_shader
|
mv tmp $1/GL_ARB_fragment_shader
|
||||||
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_vertex_shader > tmp
|
grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp
|
||||||
mv tmp $1/GL_ARB_vertex_shader
|
mv tmp $1/GL_ARB_vertex_shader
|
||||||
|
|
||||||
# remove duplicates in GL_ARB_vertex_program and GL_ARB_vertex_shader
|
# remove duplicates in GL_ARB_vertex_program and GL_ARB_vertex_shader
|
||||||
grep -v -F -f $1/GL_ARB_vertex_program $1/GL_ARB_vertex_shader > tmp
|
tail -n +5 $1/GL_ARB_vertex_program > patterns
|
||||||
|
grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp
|
||||||
mv tmp $1/GL_ARB_vertex_shader
|
mv tmp $1/GL_ARB_vertex_shader
|
||||||
|
|
||||||
# remove triplicates in GL_ARB_fragment_program, GL_ARB_fragment_shader,
|
# remove triplicates in GL_ARB_fragment_program, GL_ARB_fragment_shader,
|
||||||
# and GL_ARB_vertex_shader
|
# and GL_ARB_vertex_shader
|
||||||
grep -v -F -f $1/GL_ARB_fragment_program $1/GL_ARB_fragment_shader > tmp
|
tail -n +5 $1/GL_ARB_fragment_program > patterns
|
||||||
|
grep -v -F -f patterns $1/GL_ARB_fragment_shader > tmp
|
||||||
mv tmp $1/GL_ARB_fragment_shader
|
mv tmp $1/GL_ARB_fragment_shader
|
||||||
grep -v -F -f $1/GL_ARB_fragment_program $1/GL_ARB_vertex_shader > tmp
|
grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp
|
||||||
mv tmp $1/GL_ARB_vertex_shader
|
mv tmp $1/GL_ARB_vertex_shader
|
||||||
|
|
||||||
# remove duplicates in GL_EXT_direct_state_access
|
# remove duplicates in GL_EXT_direct_state_access
|
||||||
@ -246,7 +252,7 @@ EOT
|
|||||||
EOT
|
EOT
|
||||||
|
|
||||||
# Filter out GL_NV_gpu_program_fp64 enums and functions
|
# Filter out GL_NV_gpu_program_fp64 enums and functions
|
||||||
head -n3 $1/GL_NV_gpu_program_fp64 > tmp
|
head -n4 $1/GL_NV_gpu_program_fp64 > tmp
|
||||||
mv tmp $1/GL_NV_gpu_program_fp64
|
mv tmp $1/GL_NV_gpu_program_fp64
|
||||||
|
|
||||||
# Filter glGetUniformui64vNV from GL_NV_shader_buffer_load
|
# Filter glGetUniformui64vNV from GL_NV_shader_buffer_load
|
||||||
@ -258,7 +264,7 @@ EOT
|
|||||||
mv tmp $1/GLX_ARB_create_context
|
mv tmp $1/GLX_ARB_create_context
|
||||||
|
|
||||||
# Filter only profile related enumerations for GLX_ARB_create_context_profile
|
# Filter only profile related enumerations for GLX_ARB_create_context_profile
|
||||||
head -n3 $1/GLX_ARB_create_context_profile > tmp
|
head -n4 $1/GLX_ARB_create_context_profile > tmp
|
||||||
grep "_PROFILE_" $1/GLX_ARB_create_context_profile >> tmp
|
grep "_PROFILE_" $1/GLX_ARB_create_context_profile >> tmp
|
||||||
mv tmp $1/GLX_ARB_create_context_profile
|
mv tmp $1/GLX_ARB_create_context_profile
|
||||||
|
|
||||||
@ -267,7 +273,7 @@ EOT
|
|||||||
mv tmp $1/WGL_ARB_create_context
|
mv tmp $1/WGL_ARB_create_context
|
||||||
|
|
||||||
# Filter only profile related enumerations for WGL_ARB_create_context_profile
|
# Filter only profile related enumerations for WGL_ARB_create_context_profile
|
||||||
head -n3 $1/WGL_ARB_create_context_profile > tmp
|
head -n4 $1/WGL_ARB_create_context_profile > tmp
|
||||||
grep "_PROFILE_" $1/WGL_ARB_create_context_profile >> tmp
|
grep "_PROFILE_" $1/WGL_ARB_create_context_profile >> tmp
|
||||||
mv tmp $1/WGL_ARB_create_context_profile
|
mv tmp $1/WGL_ARB_create_context_profile
|
||||||
|
|
||||||
@ -471,11 +477,11 @@ EOT
|
|||||||
for i in $1/GL_ANGLE_*; do perl -e 's#http://www.opengl.org/registry/specs/ANGLE/.*#https://code.google.com/p/angleproject/source/browse/\#git%2Fextensions#g' -pi $i; done
|
for i in $1/GL_ANGLE_*; do perl -e 's#http://www.opengl.org/registry/specs/ANGLE/.*#https://code.google.com/p/angleproject/source/browse/\#git%2Fextensions#g' -pi $i; done
|
||||||
|
|
||||||
# Filter out GL_NV_blend_equation_advanced_coherent enums and functions
|
# Filter out GL_NV_blend_equation_advanced_coherent enums and functions
|
||||||
head -n3 $1/GL_NV_blend_equation_advanced_coherent > tmp
|
head -n4 $1/GL_NV_blend_equation_advanced_coherent > tmp
|
||||||
mv tmp $1/GL_NV_blend_equation_advanced_coherent
|
mv tmp $1/GL_NV_blend_equation_advanced_coherent
|
||||||
|
|
||||||
# Filter out GL_AMD_gpu_shader_int64 enums and functions
|
# Filter out GL_AMD_gpu_shader_int64 enums and functions
|
||||||
head -n3 $1/GL_AMD_gpu_shader_int64 > tmp
|
head -n4 $1/GL_AMD_gpu_shader_int64 > tmp
|
||||||
mv tmp $1/GL_AMD_gpu_shader_int64
|
mv tmp $1/GL_AMD_gpu_shader_int64
|
||||||
|
|
||||||
# Filter out GL_NO_ERROR enum from GL_KHR_robustness
|
# Filter out GL_NO_ERROR enum from GL_KHR_robustness
|
||||||
@ -506,5 +512,12 @@ EOT
|
|||||||
grep -v "RasterSamplesEXT" $1/GL_NV_framebuffer_mixed_samples > tmp
|
grep -v "RasterSamplesEXT" $1/GL_NV_framebuffer_mixed_samples > tmp
|
||||||
mv tmp $1/GL_NV_framebuffer_mixed_samples
|
mv tmp $1/GL_NV_framebuffer_mixed_samples
|
||||||
|
|
||||||
|
# Append GLVULKANPROCNV to GL_NV_draw_vulkan_image
|
||||||
|
# Probably ought to be explicitly mentioned in the spec language
|
||||||
|
|
||||||
|
cat >> $1/GL_NV_draw_vulkan_image <<EOT
|
||||||
|
typedef void (APIENTRY *GLVULKANPROCNV)(void)
|
||||||
|
EOT
|
||||||
|
|
||||||
# clean up
|
# clean up
|
||||||
rm -f $1/*.bak
|
rm -f $1/*.bak
|
||||||
|
@ -69,6 +69,7 @@ sub parse_ext($)
|
|||||||
my $filename = shift;
|
my $filename = shift;
|
||||||
my %functions = ();
|
my %functions = ();
|
||||||
my %tokens = ();
|
my %tokens = ();
|
||||||
|
my @reuse = (); # Extensions to reuse
|
||||||
my @types = ();
|
my @types = ();
|
||||||
my @exacts = ();
|
my @exacts = ();
|
||||||
my $extname = ""; # Full extension name GL_FOO_extension
|
my $extname = ""; # Full extension name GL_FOO_extension
|
||||||
@ -77,9 +78,10 @@ sub parse_ext($)
|
|||||||
|
|
||||||
open EXT, "<$filename" or return;
|
open EXT, "<$filename" or return;
|
||||||
|
|
||||||
# As of GLEW 1.5.3 the first three lines _must_ be
|
# As of GLEW 1.14.0 the first four lines _must_ be
|
||||||
# the extension name, the URL and the GL extension
|
# the extension name, the URL and the GL extension
|
||||||
# string (which might be different to the name)
|
# string (which might be different to the name),
|
||||||
|
# and the reused extensions
|
||||||
#
|
#
|
||||||
# For example GL_NV_geometry_program4 is available
|
# For example GL_NV_geometry_program4 is available
|
||||||
# iff GL_NV_gpu_program4 appears in the extension
|
# iff GL_NV_gpu_program4 appears in the extension
|
||||||
@ -94,6 +96,7 @@ sub parse_ext($)
|
|||||||
$extname = readline(*EXT);
|
$extname = readline(*EXT);
|
||||||
$exturl = readline(*EXT);
|
$exturl = readline(*EXT);
|
||||||
$extstring = readline(*EXT);
|
$extstring = readline(*EXT);
|
||||||
|
@reuse = split(" ", readline(*EXT));
|
||||||
|
|
||||||
chomp($extname);
|
chomp($extname);
|
||||||
chomp($exturl);
|
chomp($exturl);
|
||||||
@ -132,7 +135,7 @@ sub parse_ext($)
|
|||||||
|
|
||||||
close EXT;
|
close EXT;
|
||||||
|
|
||||||
return ($extname, $exturl, $extstring, \@types, \%tokens, \%functions, \@exacts);
|
return ($extname, $exturl, $extstring, \@reuse, \@types, \%tokens, \%functions, \@exacts);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub output_tokens($$)
|
sub output_tokens($$)
|
||||||
@ -207,3 +210,14 @@ sub output_exacts($$)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub output_reuse($$)
|
||||||
|
{
|
||||||
|
my ($tbl, $fnc) = @_;
|
||||||
|
if (scalar @{$tbl})
|
||||||
|
{
|
||||||
|
local $, = "\n";
|
||||||
|
print "\n";
|
||||||
|
print map { &{$fnc}($_) } sort @{$tbl};
|
||||||
|
print "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -29,7 +29,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
output_decls($functions, \&make_pfn_decl);
|
output_decls($functions, \&make_pfn_decl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
print "GLboolean " . prefix_varname($extvar) . " = GL_FALSE;\n";
|
print "GLboolean " . prefix_varname($extvar) . " = GL_FALSE;\n";
|
||||||
|
45
auto/bin/make_enable_index.pl
Executable file
45
auto/bin/make_enable_index.pl
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
##
|
||||||
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
|
##
|
||||||
|
## This program is distributed under the terms and conditions of the GNU
|
||||||
|
## General Public License Version 2 as published by the Free Software
|
||||||
|
## Foundation or, at your option, any later version.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
do 'bin/make.pl';
|
||||||
|
|
||||||
|
##
|
||||||
|
## Make Extension-enabled Index
|
||||||
|
##
|
||||||
|
|
||||||
|
my @extlist = ();
|
||||||
|
|
||||||
|
if (@ARGV)
|
||||||
|
{
|
||||||
|
@extlist = @ARGV;
|
||||||
|
|
||||||
|
print "/* Detected in the extension string or strings */\n";
|
||||||
|
print "static GLboolean _glewExtensionString[" . scalar @extlist . "];\n";
|
||||||
|
|
||||||
|
print "/* Detected via extension string or experimental mode */\n";
|
||||||
|
print "static GLboolean* _glewExtensionEnabled[] = {\n";;
|
||||||
|
|
||||||
|
foreach my $ext (sort @extlist)
|
||||||
|
{
|
||||||
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
|
||||||
|
parse_ext($ext);
|
||||||
|
|
||||||
|
my $extvar = $extname;
|
||||||
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
|
|
||||||
|
print "#ifdef $extname\n";
|
||||||
|
print " &__$extvar,\n";
|
||||||
|
print "#endif\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
print " NULL\n};\n";
|
||||||
|
}
|
@ -52,7 +52,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
|
|
||||||
make_separator($extname);
|
make_separator($extname);
|
||||||
print "#ifndef $extname\n#define $extname 1\n";
|
print "#ifndef $extname\n#define $extname 1\n";
|
||||||
|
@ -26,7 +26,7 @@ if (@ARGV)
|
|||||||
print "<table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"0\" align=\"center\">\n";
|
print "<table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"0\" align=\"center\">\n";
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
$cur_group = $extname;
|
$cur_group = $extname;
|
||||||
$cur_group =~ s/^(?:W?)GL(?:X?)_([A-Z0-9]+?)_.*$/$1/;
|
$cur_group =~ s/^(?:W?)GL(?:X?)_([A-Z0-9]+?)_.*$/$1/;
|
||||||
$extname =~ s/^(?:W?)GL(?:X?)_(.*)$/$1/;
|
$extname =~ s/^(?:W?)GL(?:X?)_(.*)$/$1/;
|
||||||
|
38
auto/bin/make_index.pl
Executable file
38
auto/bin/make_index.pl
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
##
|
||||||
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
|
##
|
||||||
|
## This program is distributed under the terms and conditions of the GNU
|
||||||
|
## General Public License Version 2 as published by the Free Software
|
||||||
|
## Foundation or, at your option, any later version.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
do 'bin/make.pl';
|
||||||
|
|
||||||
|
##
|
||||||
|
## Make Index
|
||||||
|
##
|
||||||
|
## Output sorted array of extension strings for indexing into extension
|
||||||
|
## enable/disable flags. This provides a way to convert an extension string
|
||||||
|
## into an integer index.
|
||||||
|
##
|
||||||
|
|
||||||
|
my @extlist = ();
|
||||||
|
|
||||||
|
if (@ARGV)
|
||||||
|
{
|
||||||
|
@extlist = @ARGV;
|
||||||
|
|
||||||
|
foreach my $ext (sort @extlist)
|
||||||
|
{
|
||||||
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
|
||||||
|
parse_ext($ext);
|
||||||
|
|
||||||
|
print "#ifdef $extname\n";
|
||||||
|
print " \"$extname\",\n";
|
||||||
|
print "#endif\n";
|
||||||
|
}
|
||||||
|
}
|
@ -32,7 +32,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
my $extpre = $extname;
|
my $extpre = $extname;
|
||||||
|
@ -38,7 +38,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
|
|
||||||
print "#ifdef $extname\n";
|
print "#ifdef $extname\n";
|
||||||
print " _glewInfo_$extname();\n";
|
print " _glewInfo_$extname();\n";
|
||||||
|
@ -21,6 +21,11 @@ sub make_pfn_def_init($%)
|
|||||||
return " r = ((" . $_[0] . " = (PFN" . (uc $_[0]) . "PROC)glewGetProcAddress((const GLubyte*)\"" . $_[0] . "\")) == NULL) || r;";
|
return " r = ((" . $_[0] . " = (PFN" . (uc $_[0]) . "PROC)glewGetProcAddress((const GLubyte*)\"" . $_[0] . "\")) == NULL) || r;";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub make_reuse_call($%)
|
||||||
|
{
|
||||||
|
return " r = _glewInit_" . $_[0] . "() || r;";
|
||||||
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
my @extlist = ();
|
my @extlist = ();
|
||||||
@ -34,18 +39,18 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) =
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
|
||||||
parse_ext($ext);
|
parse_ext($ext);
|
||||||
|
|
||||||
#make_separator($extname);
|
#make_separator($extname);
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
my $extvardef = $extname;
|
my $extvardef = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
if (keys %$functions)
|
if (keys %$functions or keys @$reuse)
|
||||||
{
|
{
|
||||||
print "#ifdef $extname\n\n";
|
print "#ifdef $extname\n\n";
|
||||||
print "static GLboolean _glewInit_$extname (" . $type .
|
print "static GLboolean _glewInit_$extname ()\n{\n GLboolean r = GL_FALSE;\n";
|
||||||
"EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n";
|
output_reuse($reuse, \&make_reuse_call);
|
||||||
output_decls($functions, \&make_pfn_def_init);
|
output_decls($functions, \&make_pfn_def_init);
|
||||||
print "\n return r;\n}\n\n";
|
print "\n return r;\n}\n\n";
|
||||||
print "#endif /* $extname */\n\n";
|
print "#endif /* $extname */\n\n";
|
||||||
|
43
auto/bin/make_initd.pl
Executable file
43
auto/bin/make_initd.pl
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
##
|
||||||
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
|
##
|
||||||
|
## This program is distributed under the terms and conditions of the GNU
|
||||||
|
## General Public License Version 2 as published by the Free Software
|
||||||
|
## Foundation or, at your option, any later version.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
do 'bin/make.pl';
|
||||||
|
|
||||||
|
## Output declarations for the _glewInit_[extension] functions defined
|
||||||
|
## by make_init.pl script. These are necessary for for initializers to
|
||||||
|
## call each other, such as a core GL 3 context that depends on certain
|
||||||
|
## extensions.
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
my @extlist = ();
|
||||||
|
my %extensions = ();
|
||||||
|
|
||||||
|
our $type = shift;
|
||||||
|
|
||||||
|
if (@ARGV)
|
||||||
|
{
|
||||||
|
@extlist = @ARGV;
|
||||||
|
|
||||||
|
foreach my $ext (sort @extlist)
|
||||||
|
{
|
||||||
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
|
||||||
|
parse_ext($ext);
|
||||||
|
|
||||||
|
#print "#ifdef $extname\n\n";
|
||||||
|
if (keys %$functions)
|
||||||
|
{
|
||||||
|
print "static GLboolean _glewInit_$extname ();\n";
|
||||||
|
}
|
||||||
|
#print "#endif /* $extname */\n\n";
|
||||||
|
}
|
||||||
|
}
|
@ -32,19 +32,22 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
|
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
|
|
||||||
my $extpre = $extname;
|
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);
|
#my $pextvar = prefix_varname($extvar);
|
||||||
|
|
||||||
|
if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions)
|
||||||
|
{
|
||||||
print "#ifdef $extname\n";
|
print "#ifdef $extname\n";
|
||||||
|
}
|
||||||
|
|
||||||
if (length($extstring))
|
if (length($extstring) && $extstring !~ /^GL_/)
|
||||||
{
|
{
|
||||||
print " " . $extvar . " = _glewSearchExtension(\"$extstring\", extStart, extEnd);\n";
|
print " " . $extvar . " = _glewSearchExtension(\"$extstring\", extStart, extEnd);\n";
|
||||||
}
|
}
|
||||||
@ -53,14 +56,18 @@ if (@ARGV)
|
|||||||
{
|
{
|
||||||
if ($extname =~ /WGL_.*/)
|
if ($extname =~ /WGL_.*/)
|
||||||
{
|
{
|
||||||
print " if (glewExperimental || " . $extvar . "|| crippled) " . $extvar . "= !_glewInit_$extname(GLEW_CONTEXT_ARG_VAR_INIT);\n";
|
print " if (glewExperimental || " . $extvar . "|| crippled) " . $extvar . "= !_glewInit_$extname();\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print " if (glewExperimental || " . $extvar . ") " . $extvar . " = !_glewInit_$extname(GLEW_CONTEXT_ARG_VAR_INIT);\n";
|
print " if (glewExperimental || " . $extvar . ") " . $extvar . " = !_glewInit_$extname();\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions)
|
||||||
|
{
|
||||||
print "#endif /* $extname */\n";
|
print "#endif /* $extname */\n";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
44
auto/bin/make_list2.pl
Executable file
44
auto/bin/make_list2.pl
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
##
|
||||||
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
|
##
|
||||||
|
## This program is distributed under the terms and conditions of the GNU
|
||||||
|
## General Public License Version 2 as published by the Free Software
|
||||||
|
## Foundation or, at your option, any later version.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
do 'bin/make.pl';
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------------
|
||||||
|
# Extensions that depend on others can be enabled once we know
|
||||||
|
# if the one it depends on, is enabled.
|
||||||
|
|
||||||
|
my @extlist = ();
|
||||||
|
my %extensions = ();
|
||||||
|
|
||||||
|
if (@ARGV)
|
||||||
|
{
|
||||||
|
@extlist = @ARGV;
|
||||||
|
|
||||||
|
foreach my $ext (sort @extlist)
|
||||||
|
{
|
||||||
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
|
|
||||||
|
if ($extname ne $extstring && length($extstring))
|
||||||
|
{
|
||||||
|
my $extvar = $extname;
|
||||||
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
|
|
||||||
|
my $parent = $extstring;
|
||||||
|
$parent =~ s/GL(X*)_/GL$1EW_/;
|
||||||
|
|
||||||
|
print "#ifdef $extname\n";
|
||||||
|
print " $extvar = $parent;\n";
|
||||||
|
print "#endif /* $extname */\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -22,13 +22,13 @@ if (@ARGV)
|
|||||||
my $curexttype = "";
|
my $curexttype = "";
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
my $exttype = $extname;
|
my $exttype = $extname;
|
||||||
$exttype =~ s/(W*?)GL(X*?)_(.*?_)(.*)/$3/;
|
$exttype =~ s/(W?E?)GL(X?)_(.*?_)(.*)/$3/;
|
||||||
my $extrem = $extname;
|
my $extrem = $extname;
|
||||||
$extrem =~ s/(W*?)GL(X*?)_(.*?_)(.*)/$4/;
|
$extrem =~ s/(W?E?)GL(X?)_(.*?_)(.*)/$4/;
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/(W*)GL(X*)_/$1GL$2EW_/;
|
$extvar =~ s/(W?E?)GL(X?)_/$1GL$2EW_/;
|
||||||
if(!($exttype =~ $curexttype))
|
if(!($exttype =~ $curexttype))
|
||||||
{
|
{
|
||||||
if(length($curexttype) > 0)
|
if(length($curexttype) > 0)
|
||||||
|
@ -30,7 +30,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
output_decls($functions, \&make_pfn_decl);
|
output_decls($functions, \&make_pfn_decl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
print $export . " GLboolean " . prefix_varname($extvar) . ";\n";
|
print $export . " GLboolean " . prefix_varname($extvar) . ";\n";
|
||||||
|
@ -81,6 +81,8 @@ my %typemap = (
|
|||||||
|
|
||||||
DEBUGPROC => "GLDEBUGPROC",
|
DEBUGPROC => "GLDEBUGPROC",
|
||||||
|
|
||||||
|
VULKANPROCNV => "GLVULKANPROCNV",
|
||||||
|
|
||||||
vdpauSurfaceNV => "GLvdpauSurfaceNV",
|
vdpauSurfaceNV => "GLvdpauSurfaceNV",
|
||||||
|
|
||||||
# GLX 1.3 defines new types which might not be available at compile time
|
# GLX 1.3 defines new types which might not be available at compile time
|
||||||
@ -147,7 +149,7 @@ my %regex = (
|
|||||||
prefix => qr/^(?:[aw]?gl|glX)/, # gl | agl | wgl | glX
|
prefix => qr/^(?:[aw]?gl|glX)/, # gl | agl | wgl | glX
|
||||||
tprefix => qr/^(?:[AW]?GL|GLX)_/, # GL_ | AGL_ | WGL_ | GLX_
|
tprefix => qr/^(?:[AW]?GL|GLX)_/, # GL_ | AGL_ | WGL_ | GLX_
|
||||||
section => compile_regex('^(', join('|', @sections), ')$'), # sections in spec
|
section => compile_regex('^(', join('|', @sections), ')$'), # sections in spec
|
||||||
token => qr/^([A-Z0-9][A-Z0-9_x]*):?\s+((?:0x)?[0-9A-F]+)([^\?]*)$/, # define tokens
|
token => qr/^([A-Z0-9][A-Z0-9_x]*):?\s+((?:0x)?[0-9A-Fa-f]+)(|\s[^\?]*)$/, # define tokens
|
||||||
types => compile_regex('\b(', join('|', keys %typemap), ')\b'), # var types
|
types => compile_regex('\b(', join('|', keys %typemap), ')\b'), # var types
|
||||||
voidtype => compile_regex('\b(', keys %voidtypemap, ')\b '), # void type
|
voidtype => compile_regex('\b(', keys %voidtypemap, ')\b '), # void type
|
||||||
);
|
);
|
||||||
@ -333,6 +335,7 @@ foreach my $spec (sort @speclist)
|
|||||||
$specname =~ s/registry\/gl\/specs\///;
|
$specname =~ s/registry\/gl\/specs\///;
|
||||||
print EXT $reg_http . $specname . "\n"; # Extension info URL
|
print EXT $reg_http . $specname . "\n"; # Extension info URL
|
||||||
print EXT $ext . "\n"; # Extension string
|
print EXT $ext . "\n"; # Extension string
|
||||||
|
print EXT "\n"; # Resuses nothing by default
|
||||||
|
|
||||||
my $prefix = $ext;
|
my $prefix = $ext;
|
||||||
$prefix =~ s/^(.+?)(_.+)$/$1/;
|
$prefix =~ s/^(.+?)(_.+)$/$1/;
|
||||||
|
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()
|
||||||
|
|
@ -1,6 +1,7 @@
|
|||||||
GLX_AMD_gpu_association
|
GLX_AMD_gpu_association
|
||||||
http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt
|
http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt
|
||||||
GLX_AMD_gpu_association
|
GLX_AMD_gpu_association
|
||||||
|
|
||||||
GLX_GPU_VENDOR_AMD 0x1F00
|
GLX_GPU_VENDOR_AMD 0x1F00
|
||||||
GLX_GPU_RENDERER_STRING_AMD 0x1F01
|
GLX_GPU_RENDERER_STRING_AMD 0x1F01
|
||||||
GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
|
GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GLX_ARB_get_proc_address
|
GLX_ARB_get_proc_address
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ARB/get_proc_address.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ARB/get_proc_address.txt
|
||||||
GLX_ARB_get_proc_address
|
GLX_ARB_get_proc_address
|
||||||
|
|
||||||
extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
|
extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GLX_ATI_pixel_format_float
|
GLX_ATI_pixel_format_float
|
||||||
|
|
||||||
GLX_ATI_pixel_format_float
|
GLX_ATI_pixel_format_float
|
||||||
|
|
||||||
GLX_RGBA_FLOAT_ATI_BIT 0x00000100
|
GLX_RGBA_FLOAT_ATI_BIT 0x00000100
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GLX_ATI_render_texture
|
GLX_ATI_render_texture
|
||||||
|
|
||||||
GLX_ATI_render_texture
|
GLX_ATI_render_texture
|
||||||
|
|
||||||
GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
|
GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
|
||||||
GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
|
GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
|
||||||
GLX_TEXTURE_FORMAT_ATI 0x9802
|
GLX_TEXTURE_FORMAT_ATI 0x9802
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GLX_EXT_create_context_es2_profile
|
GLX_EXT_create_context_es2_profile
|
||||||
http://www.opengl.org/registry/specs/EXT/glx_create_context_es2_profile.txt
|
http://www.opengl.org/registry/specs/EXT/glx_create_context_es2_profile.txt
|
||||||
GLX_EXT_create_context_es2_profile
|
GLX_EXT_create_context_es2_profile
|
||||||
|
|
||||||
GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
|
GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GLX_EXT_create_context_es_profile
|
GLX_EXT_create_context_es_profile
|
||||||
http://www.opengl.org/registry/specs/EXT/glx_create_context_es_profile.txt
|
http://www.opengl.org/registry/specs/EXT/glx_create_context_es_profile.txt
|
||||||
GLX_EXT_create_context_es_profile
|
GLX_EXT_create_context_es_profile
|
||||||
|
|
||||||
GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
|
GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GLX_EXT_fbconfig_packed_float
|
GLX_EXT_fbconfig_packed_float
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt
|
||||||
GLX_EXT_fbconfig_packed_float
|
GLX_EXT_fbconfig_packed_float
|
||||||
|
|
||||||
GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
|
GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
|
||||||
GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
|
GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GLX_EXT_framebuffer_sRGB
|
GLX_EXT_framebuffer_sRGB
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt
|
||||||
GLX_EXT_framebuffer_sRGB
|
GLX_EXT_framebuffer_sRGB
|
||||||
|
|
||||||
GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
|
GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GLX_MESA_swap_control
|
GLX_MESA_swap_control
|
||||||
http://cgit.freedesktop.org/mesa/mesa/plain/docs/MESA_swap_control.spec
|
http://cgit.freedesktop.org/mesa/mesa/plain/docs/MESA_swap_control.spec
|
||||||
GLX_MESA_swap_control
|
GLX_MESA_swap_control
|
||||||
|
|
||||||
int glXGetSwapIntervalMESA (void)
|
int glXGetSwapIntervalMESA (void)
|
||||||
int glXSwapIntervalMESA (unsigned int interval)
|
int glXSwapIntervalMESA (unsigned int interval)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GLX_NV_float_buffer
|
GLX_NV_float_buffer
|
||||||
http://cvs1.nvidia.com/inc/GL/glxtokens.h
|
http://cvs1.nvidia.com/inc/GL/glxtokens.h
|
||||||
GLX_NV_float_buffer
|
GLX_NV_float_buffer
|
||||||
|
|
||||||
GLX_FLOAT_COMPONENTS_NV 0x20B0
|
GLX_FLOAT_COMPONENTS_NV 0x20B0
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GLX_NV_vertex_array_range
|
GLX_NV_vertex_array_range
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt
|
||||||
GLX_NV_vertex_array_range
|
GLX_NV_vertex_array_range
|
||||||
|
|
||||||
void * glXAllocateMemoryNV (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority)
|
void * glXAllocateMemoryNV (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority)
|
||||||
void glXFreeMemoryNV (void *pointer)
|
void glXFreeMemoryNV (void *pointer)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GLX_SGIS_shared_multisample
|
GLX_SGIS_shared_multisample
|
||||||
|
|
||||||
GLX_SGIS_shared_multisample
|
GLX_SGIS_shared_multisample
|
||||||
|
|
||||||
GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
|
GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
|
||||||
GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
|
GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GLX_SGIX_hyperpipe
|
GLX_SGIX_hyperpipe
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/hyperpipe_group.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/hyperpipe_group.txt
|
||||||
GLX_SGIX_hyperpipe
|
GLX_SGIX_hyperpipe
|
||||||
|
|
||||||
GLX_HYPERPIPE_ID_SGIX 0x8030
|
GLX_HYPERPIPE_ID_SGIX 0x8030
|
||||||
GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
|
GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
|
||||||
GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
|
GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GLX_SGIX_swap_barrier
|
GLX_SGIX_swap_barrier
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_barrier.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_barrier.txt
|
||||||
GLX_SGIX_swap_barrier
|
GLX_SGIX_swap_barrier
|
||||||
|
|
||||||
void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier)
|
void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier)
|
||||||
Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max)
|
Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GLX_SGIX_swap_group
|
GLX_SGIX_swap_group
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_group.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_group.txt
|
||||||
GLX_SGIX_swap_group
|
GLX_SGIX_swap_group
|
||||||
|
|
||||||
void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member)
|
void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GLX_SGI_video_sync
|
GLX_SGI_video_sync
|
||||||
http://www.opengl.org/registry/specs/SGI/video_sync.txt
|
http://www.opengl.org/registry/specs/SGI/video_sync.txt
|
||||||
GLX_SGI_video_sync
|
GLX_SGI_video_sync
|
||||||
|
|
||||||
int glXGetVideoSyncSGI (unsigned int* count)
|
int glXGetVideoSyncSGI (unsigned int* count)
|
||||||
int glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int* count)
|
int glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int* count)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GLX_SUN_video_resize
|
GLX_SUN_video_resize
|
||||||
http://wwws.sun.com/software/graphics/opengl/extensions/glx_sun_video_resize.txt
|
http://wwws.sun.com/software/graphics/opengl/extensions/glx_sun_video_resize.txt
|
||||||
GLX_SUN_video_resize
|
GLX_SUN_video_resize
|
||||||
|
|
||||||
GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
|
GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
|
||||||
GLX_VIDEO_RESIZE_SUN 0x8171
|
GLX_VIDEO_RESIZE_SUN 0x8171
|
||||||
int glXVideoResizeSUN (Display* display, GLXDrawable window, float factor)
|
int glXVideoResizeSUN (Display* display, GLXDrawable window, float factor)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GLX_VERSION_1_2
|
GLX_VERSION_1_2
|
||||||
http://www.opengl.org/documentation/specs/glx/glx1.2.ps
|
http://www.opengl.org/documentation/specs/glx/glx1.2.ps
|
||||||
GLX_VERSION_1_2
|
GLX_VERSION_1_2
|
||||||
|
|
||||||
Display* glXGetCurrentDisplay (void)
|
Display* glXGetCurrentDisplay (void)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GLX_VERSION_1_3
|
GLX_VERSION_1_3
|
||||||
http://www.opengl.org/documentation/specs/glx/glx1.3.pdf
|
http://www.opengl.org/documentation/specs/glx/glx1.3.pdf
|
||||||
GLX_VERSION_1_3
|
GLX_VERSION_1_3
|
||||||
|
|
||||||
GLX_WINDOW_BIT 0x00000001
|
GLX_WINDOW_BIT 0x00000001
|
||||||
GLX_PIXMAP_BIT 0x00000002
|
GLX_PIXMAP_BIT 0x00000002
|
||||||
GLX_PBUFFER_BIT 0x00000004
|
GLX_PBUFFER_BIT 0x00000004
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GLX_VERSION_1_4
|
GLX_VERSION_1_4
|
||||||
http://www.opengl.org/documentation/specs/glx/glx1.4.pdf
|
http://www.opengl.org/documentation/specs/glx/glx1.4.pdf
|
||||||
GLX_VERSION_1_4
|
GLX_VERSION_1_4
|
||||||
|
|
||||||
GLX_SAMPLE_BUFFERS 100000
|
GLX_SAMPLE_BUFFERS 100000
|
||||||
GLX_SAMPLES 100001
|
GLX_SAMPLES 100001
|
||||||
extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
|
extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_APPLE_float_pixels
|
GL_APPLE_float_pixels
|
||||||
http://www.opengl.org/registry/specs/APPLE/float_pixels.txt
|
http://www.opengl.org/registry/specs/APPLE/float_pixels.txt
|
||||||
GL_APPLE_float_pixels
|
GL_APPLE_float_pixels
|
||||||
|
|
||||||
GL_HALF_APPLE 0x140B
|
GL_HALF_APPLE 0x140B
|
||||||
GL_COLOR_FLOAT_APPLE 0x8A0F
|
GL_COLOR_FLOAT_APPLE 0x8A0F
|
||||||
GL_RGBA_FLOAT32_APPLE 0x8814
|
GL_RGBA_FLOAT32_APPLE 0x8814
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GL_APPLE_pixel_buffer
|
GL_APPLE_pixel_buffer
|
||||||
|
|
||||||
GL_APPLE_pixel_buffer
|
GL_APPLE_pixel_buffer
|
||||||
|
|
||||||
GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10
|
GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_APPLE_texture_range
|
GL_APPLE_texture_range
|
||||||
http://www.opengl.org/registry/specs/APPLE/texture_range.txt
|
http://www.opengl.org/registry/specs/APPLE/texture_range.txt
|
||||||
GL_APPLE_texture_range
|
GL_APPLE_texture_range
|
||||||
|
|
||||||
GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
|
GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
|
||||||
GL_STORAGE_PRIVATE_APPLE 0x85BD
|
GL_STORAGE_PRIVATE_APPLE 0x85BD
|
||||||
GL_STORAGE_CACHED_APPLE 0x85BE
|
GL_STORAGE_CACHED_APPLE 0x85BE
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
GL_ARB_draw_instanced
|
GL_ARB_draw_instanced
|
||||||
http://www.opengl.org/registry/specs/ARB/draw_instanced.txt
|
http://www.opengl.org/registry/specs/ARB/draw_instanced.txt
|
||||||
GL_ARB_draw_instanced
|
GL_ARB_draw_instanced
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ARB_imaging
|
GL_ARB_imaging
|
||||||
|
|
||||||
GL_ARB_imaging
|
GL_ARB_imaging
|
||||||
|
|
||||||
GL_CONSTANT_COLOR 0x8001
|
GL_CONSTANT_COLOR 0x8001
|
||||||
GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
||||||
GL_CONSTANT_ALPHA 0x8003
|
GL_CONSTANT_ALPHA 0x8003
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ARB_instanced_arrays
|
GL_ARB_instanced_arrays
|
||||||
http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt
|
http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt
|
||||||
GL_ARB_instanced_arrays
|
GL_ARB_instanced_arrays
|
||||||
|
|
||||||
GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
|
GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
|
||||||
void glVertexAttribDivisorARB (GLuint index, GLuint divisor)
|
void glVertexAttribDivisorARB (GLuint index, GLuint divisor)
|
||||||
void glDrawArraysInstancedARB (GLenum mode, GLint first, GLsizei count, GLsizei primcount)
|
void glDrawArraysInstancedARB (GLenum mode, GLint first, GLsizei count, GLsizei primcount)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ARB_internalformat_query2
|
GL_ARB_internalformat_query2
|
||||||
http://www.opengl.org/registry/specs/ARB/internalformat_query2.txt
|
http://www.opengl.org/registry/specs/ARB/internalformat_query2.txt
|
||||||
GL_ARB_internalformat_query2
|
GL_ARB_internalformat_query2
|
||||||
|
|
||||||
GL_INTERNALFORMAT_SUPPORTED 0x826F
|
GL_INTERNALFORMAT_SUPPORTED 0x826F
|
||||||
GL_INTERNALFORMAT_PREFERRED 0x8270
|
GL_INTERNALFORMAT_PREFERRED 0x8270
|
||||||
GL_INTERNALFORMAT_RED_SIZE 0x8271
|
GL_INTERNALFORMAT_RED_SIZE 0x8271
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ARB_matrix_palette
|
GL_ARB_matrix_palette
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ARB/matrix_palette.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ARB/matrix_palette.txt
|
||||||
GL_ARB_matrix_palette
|
GL_ARB_matrix_palette
|
||||||
|
|
||||||
GL_MATRIX_PALETTE_ARB 0x8840
|
GL_MATRIX_PALETTE_ARB 0x8840
|
||||||
GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
|
GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
|
||||||
GL_MAX_PALETTE_MATRICES_ARB 0x8842
|
GL_MAX_PALETTE_MATRICES_ARB 0x8842
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ARB_multitexture
|
GL_ARB_multitexture
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ARB/multitexture.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ARB/multitexture.txt
|
||||||
GL_ARB_multitexture
|
GL_ARB_multitexture
|
||||||
|
|
||||||
GL_TEXTURE0_ARB 0x84C0
|
GL_TEXTURE0_ARB 0x84C0
|
||||||
GL_TEXTURE1_ARB 0x84C1
|
GL_TEXTURE1_ARB 0x84C1
|
||||||
GL_TEXTURE2_ARB 0x84C2
|
GL_TEXTURE2_ARB 0x84C2
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ARB_robustness
|
GL_ARB_robustness
|
||||||
http://www.opengl.org/registry/specs/ARB/robustness.txt
|
http://www.opengl.org/registry/specs/ARB/robustness.txt
|
||||||
GL_ARB_robustness
|
GL_ARB_robustness
|
||||||
|
|
||||||
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004
|
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004
|
||||||
GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
|
GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
|
||||||
GL_GUILTY_CONTEXT_RESET_ARB 0x8253
|
GL_GUILTY_CONTEXT_RESET_ARB 0x8253
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ARB_separate_shader_objects
|
GL_ARB_separate_shader_objects
|
||||||
http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt
|
http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt
|
||||||
GL_ARB_separate_shader_objects
|
GL_ARB_separate_shader_objects
|
||||||
|
|
||||||
GL_VERTEX_SHADER_BIT 0x00000001
|
GL_VERTEX_SHADER_BIT 0x00000001
|
||||||
GL_FRAGMENT_SHADER_BIT 0x00000002
|
GL_FRAGMENT_SHADER_BIT 0x00000002
|
||||||
GL_GEOMETRY_SHADER_BIT 0x00000004
|
GL_GEOMETRY_SHADER_BIT 0x00000004
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ARB_vertex_attrib_64bit
|
GL_ARB_vertex_attrib_64bit
|
||||||
http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt
|
http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt
|
||||||
GL_ARB_vertex_attrib_64bit
|
GL_ARB_vertex_attrib_64bit
|
||||||
|
|
||||||
void glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble* params)
|
void glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble* params)
|
||||||
void glVertexAttribL1d (GLuint index, GLdouble x)
|
void glVertexAttribL1d (GLuint index, GLdouble x)
|
||||||
void glVertexAttribL1dv (GLuint index, const GLdouble* v)
|
void glVertexAttribL1dv (GLuint index, const GLdouble* v)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ARB_vertex_blend
|
GL_ARB_vertex_blend
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_blend.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_blend.txt
|
||||||
GL_ARB_vertex_blend
|
GL_ARB_vertex_blend
|
||||||
|
|
||||||
GL_MAX_VERTEX_UNITS_ARB 0x86A4
|
GL_MAX_VERTEX_UNITS_ARB 0x86A4
|
||||||
GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
|
GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
|
||||||
GL_WEIGHT_SUM_UNITY_ARB 0x86A6
|
GL_WEIGHT_SUM_UNITY_ARB 0x86A6
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ATIX_point_sprites
|
GL_ATIX_point_sprites
|
||||||
http://www.ati.com/developer/atiopengl.pdf
|
http://www.ati.com/developer/atiopengl.pdf
|
||||||
GL_ATIX_point_sprites
|
GL_ATIX_point_sprites
|
||||||
|
|
||||||
GL_TEXTURE_POINT_MODE_ATIX 0x60B0
|
GL_TEXTURE_POINT_MODE_ATIX 0x60B0
|
||||||
GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1
|
GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1
|
||||||
GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2
|
GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ATIX_texture_env_combine3
|
GL_ATIX_texture_env_combine3
|
||||||
http://www.ati.com/developer/atiopengl.pdf
|
http://www.ati.com/developer/atiopengl.pdf
|
||||||
GL_ATIX_texture_env_combine3
|
GL_ATIX_texture_env_combine3
|
||||||
|
|
||||||
GL_MODULATE_ADD_ATIX 0x8744
|
GL_MODULATE_ADD_ATIX 0x8744
|
||||||
GL_MODULATE_SIGNED_ADD_ATIX 0x8745
|
GL_MODULATE_SIGNED_ADD_ATIX 0x8745
|
||||||
GL_MODULATE_SUBTRACT_ATIX 0x8746
|
GL_MODULATE_SUBTRACT_ATIX 0x8746
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ATIX_texture_env_route
|
GL_ATIX_texture_env_route
|
||||||
http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATIX_texture_env_route.txt
|
http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATIX_texture_env_route.txt
|
||||||
GL_ATIX_texture_env_route
|
GL_ATIX_texture_env_route
|
||||||
|
|
||||||
GL_SECONDARY_COLOR_ATIX 0x8747
|
GL_SECONDARY_COLOR_ATIX 0x8747
|
||||||
GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748
|
GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748
|
||||||
GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749
|
GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GL_ATIX_vertex_shader_output_point_size
|
GL_ATIX_vertex_shader_output_point_size
|
||||||
http://www.ati.com/developer/atiopengl.pdf
|
http://www.ati.com/developer/atiopengl.pdf
|
||||||
GL_ATIX_vertex_shader_output_point_size
|
GL_ATIX_vertex_shader_output_point_size
|
||||||
|
|
||||||
GL_OUTPUT_POINT_SIZE_ATIX 0x610E
|
GL_OUTPUT_POINT_SIZE_ATIX 0x610E
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ATI_envmap_bumpmap
|
GL_ATI_envmap_bumpmap
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ATI/envmap_bumpmap.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ATI/envmap_bumpmap.txt
|
||||||
GL_ATI_envmap_bumpmap
|
GL_ATI_envmap_bumpmap
|
||||||
|
|
||||||
GL_BUMP_ROT_MATRIX_ATI 0x8775
|
GL_BUMP_ROT_MATRIX_ATI 0x8775
|
||||||
GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
|
GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
|
||||||
GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
|
GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GL_ATI_map_object_buffer
|
GL_ATI_map_object_buffer
|
||||||
http://www.opengl.org/registry/specs/ATI/map_object_buffer.txt
|
http://www.opengl.org/registry/specs/ATI/map_object_buffer.txt
|
||||||
GL_ATI_map_object_buffer
|
GL_ATI_map_object_buffer
|
||||||
|
|
||||||
void * glMapObjectBufferATI (GLuint buffer)
|
void * glMapObjectBufferATI (GLuint buffer)
|
||||||
void glUnmapObjectBufferATI (GLuint buffer)
|
void glUnmapObjectBufferATI (GLuint buffer)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ATI_pn_triangles
|
GL_ATI_pn_triangles
|
||||||
http://www.opengl.org/registry/specs/ATI/pn_triangles.txt
|
http://www.opengl.org/registry/specs/ATI/pn_triangles.txt
|
||||||
GL_ATI_pn_triangles
|
GL_ATI_pn_triangles
|
||||||
|
|
||||||
GL_PN_TRIANGLES_ATI 0x87F0
|
GL_PN_TRIANGLES_ATI 0x87F0
|
||||||
GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
|
GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
|
||||||
GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
|
GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ATI_separate_stencil
|
GL_ATI_separate_stencil
|
||||||
http://www.opengl.org/registry/specs/ATI/separate_stencil.txt
|
http://www.opengl.org/registry/specs/ATI/separate_stencil.txt
|
||||||
GL_ATI_separate_stencil
|
GL_ATI_separate_stencil
|
||||||
|
|
||||||
GL_STENCIL_BACK_FUNC_ATI 0x8800
|
GL_STENCIL_BACK_FUNC_ATI 0x8800
|
||||||
GL_STENCIL_BACK_FAIL_ATI 0x8801
|
GL_STENCIL_BACK_FAIL_ATI 0x8801
|
||||||
GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
|
GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
GL_ATI_shader_texture_lod
|
GL_ATI_shader_texture_lod
|
||||||
|
|
||||||
GL_ATI_shader_texture_lod
|
GL_ATI_shader_texture_lod
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GL_ATI_texture_compression_3dc
|
GL_ATI_texture_compression_3dc
|
||||||
|
|
||||||
GL_ATI_texture_compression_3dc
|
GL_ATI_texture_compression_3dc
|
||||||
|
|
||||||
GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837
|
GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_ATI_vertex_streams
|
GL_ATI_vertex_streams
|
||||||
http://www.opengl.org/registry/specs/ATI/vertex_streams.txt
|
http://www.opengl.org/registry/specs/ATI/vertex_streams.txt
|
||||||
GL_ATI_vertex_streams
|
GL_ATI_vertex_streams
|
||||||
|
|
||||||
GL_MAX_VERTEX_STREAMS_ATI 0x876B
|
GL_MAX_VERTEX_STREAMS_ATI 0x876B
|
||||||
GL_VERTEX_SOURCE_ATI 0x876C
|
GL_VERTEX_SOURCE_ATI 0x876C
|
||||||
GL_VERTEX_STREAM0_ATI 0x876D
|
GL_VERTEX_STREAM0_ATI 0x876D
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GL_EXT_Cg_shader
|
GL_EXT_Cg_shader
|
||||||
http://download.nvidia.com/developer/GLSL/GLSL%20Release%20Notes%20for%20Release%2060.pdf
|
http://download.nvidia.com/developer/GLSL/GLSL%20Release%20Notes%20for%20Release%2060.pdf
|
||||||
GL_EXT_Cg_shader
|
GL_EXT_Cg_shader
|
||||||
|
|
||||||
GL_CG_VERTEX_SHADER_EXT 0x890E
|
GL_CG_VERTEX_SHADER_EXT 0x890E
|
||||||
GL_CG_FRAGMENT_SHADER_EXT 0x890F
|
GL_CG_FRAGMENT_SHADER_EXT 0x890F
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_bindable_uniform
|
GL_EXT_bindable_uniform
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_bindable_uniform.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_bindable_uniform.txt
|
||||||
GL_EXT_bindable_uniform
|
GL_EXT_bindable_uniform
|
||||||
|
|
||||||
GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
|
GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
|
||||||
GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
|
GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
|
||||||
GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
|
GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_debug_marker
|
GL_EXT_debug_marker
|
||||||
http://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt
|
http://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt
|
||||||
GL_EXT_debug_marker
|
GL_EXT_debug_marker
|
||||||
|
|
||||||
void glInsertEventMarkerEXT (GLsizei length, const GLchar* marker)
|
void glInsertEventMarkerEXT (GLsizei length, const GLchar* marker)
|
||||||
void glPushGroupMarkerEXT (GLsizei length, const GLchar* marker)
|
void glPushGroupMarkerEXT (GLsizei length, const GLchar* marker)
|
||||||
void glPopGroupMarkerEXT (void)
|
void glPopGroupMarkerEXT (void)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_depth_bounds_test
|
GL_EXT_depth_bounds_test
|
||||||
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_depth_bounds_test.txt
|
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_depth_bounds_test.txt
|
||||||
GL_EXT_depth_bounds_test
|
GL_EXT_depth_bounds_test
|
||||||
|
|
||||||
GL_DEPTH_BOUNDS_TEST_EXT 0x8890
|
GL_DEPTH_BOUNDS_TEST_EXT 0x8890
|
||||||
GL_DEPTH_BOUNDS_EXT 0x8891
|
GL_DEPTH_BOUNDS_EXT 0x8891
|
||||||
void glDepthBoundsEXT (GLclampd zmin, GLclampd zmax)
|
void glDepthBoundsEXT (GLclampd zmin, GLclampd zmax)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GL_EXT_draw_instanced
|
GL_EXT_draw_instanced
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_draw_instanced.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_draw_instanced.txt
|
||||||
GL_EXT_draw_instanced
|
GL_EXT_draw_instanced
|
||||||
|
|
||||||
void glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount)
|
void glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount)
|
||||||
void glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount)
|
void glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_draw_range_elements
|
GL_EXT_draw_range_elements
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/EXT/draw_range_elements.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/EXT/draw_range_elements.txt
|
||||||
GL_EXT_draw_range_elements
|
GL_EXT_draw_range_elements
|
||||||
|
|
||||||
GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
|
GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
|
||||||
GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
|
GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
|
||||||
void glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)
|
void glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_fog_coord
|
GL_EXT_fog_coord
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/EXT/fog_coord.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/EXT/fog_coord.txt
|
||||||
GL_EXT_fog_coord
|
GL_EXT_fog_coord
|
||||||
|
|
||||||
GL_FOG_COORDINATE_SOURCE_EXT 0x8450
|
GL_FOG_COORDINATE_SOURCE_EXT 0x8450
|
||||||
GL_FOG_COORDINATE_EXT 0x8451
|
GL_FOG_COORDINATE_EXT 0x8451
|
||||||
GL_FRAGMENT_DEPTH_EXT 0x8452
|
GL_FRAGMENT_DEPTH_EXT 0x8452
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GL_EXT_framebuffer_sRGB
|
GL_EXT_framebuffer_sRGB
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt
|
||||||
GL_EXT_framebuffer_sRGB
|
GL_EXT_framebuffer_sRGB
|
||||||
|
|
||||||
GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
|
GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
|
||||||
GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
|
GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_geometry_shader4
|
GL_EXT_geometry_shader4
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_geometry_shader4.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_geometry_shader4.txt
|
||||||
GL_EXT_geometry_shader4
|
GL_EXT_geometry_shader4
|
||||||
|
|
||||||
GL_GEOMETRY_SHADER_EXT 0x8DD9
|
GL_GEOMETRY_SHADER_EXT 0x8DD9
|
||||||
GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
|
GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
|
||||||
GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
|
GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
GL_EXT_gpu_program_parameters
|
GL_EXT_gpu_program_parameters
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_program_parameters.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_program_parameters.txt
|
||||||
GL_EXT_gpu_program_parameters
|
GL_EXT_gpu_program_parameters
|
||||||
|
|
||||||
void glProgramEnvParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params)
|
void glProgramEnvParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params)
|
||||||
void glProgramLocalParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params)
|
void glProgramLocalParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_gpu_shader4
|
GL_EXT_gpu_shader4
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_shader4.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_shader4.txt
|
||||||
GL_EXT_gpu_shader4
|
GL_EXT_gpu_shader4
|
||||||
|
|
||||||
GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
|
GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
|
||||||
GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
|
GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
|
||||||
GL_SAMPLER_BUFFER_EXT 0x8DC2
|
GL_SAMPLER_BUFFER_EXT 0x8DC2
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_packed_float
|
GL_EXT_packed_float
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt
|
||||||
GL_EXT_packed_float
|
GL_EXT_packed_float
|
||||||
|
|
||||||
GL_R11F_G11F_B10F_EXT 0x8C3A
|
GL_R11F_G11F_B10F_EXT 0x8C3A
|
||||||
GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
|
GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
|
||||||
GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
|
GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_pixel_buffer_object
|
GL_EXT_pixel_buffer_object
|
||||||
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_pixel_buffer_object.txt
|
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_pixel_buffer_object.txt
|
||||||
GL_EXT_pixel_buffer_object
|
GL_EXT_pixel_buffer_object
|
||||||
|
|
||||||
GL_PIXEL_PACK_BUFFER_EXT 0x88EB
|
GL_PIXEL_PACK_BUFFER_EXT 0x88EB
|
||||||
GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
|
GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
|
||||||
GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
|
GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_secondary_color
|
GL_EXT_secondary_color
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/EXT/secondary_color.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/EXT/secondary_color.txt
|
||||||
GL_EXT_secondary_color
|
GL_EXT_secondary_color
|
||||||
|
|
||||||
GL_COLOR_SUM_EXT 0x8458
|
GL_COLOR_SUM_EXT 0x8458
|
||||||
GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
|
GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
|
||||||
GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
|
GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_texture_array
|
GL_EXT_texture_array
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_array.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_array.txt
|
||||||
GL_EXT_texture_array
|
GL_EXT_texture_array
|
||||||
|
|
||||||
GL_TEXTURE_1D_ARRAY_EXT 0x8C18
|
GL_TEXTURE_1D_ARRAY_EXT 0x8C18
|
||||||
GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
|
GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
|
||||||
GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
|
GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_texture_buffer_object
|
GL_EXT_texture_buffer_object
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_buffer_object.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_buffer_object.txt
|
||||||
GL_EXT_texture_buffer_object
|
GL_EXT_texture_buffer_object
|
||||||
|
|
||||||
GL_TEXTURE_BUFFER_EXT 0x8C2A
|
GL_TEXTURE_BUFFER_EXT 0x8C2A
|
||||||
GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
|
GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
|
||||||
GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
|
GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_texture_compression_latc
|
GL_EXT_texture_compression_latc
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_latc.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_latc.txt
|
||||||
GL_EXT_texture_compression_latc
|
GL_EXT_texture_compression_latc
|
||||||
|
|
||||||
GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
|
GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
|
||||||
GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
|
GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
|
||||||
GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
|
GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_texture_compression_rgtc
|
GL_EXT_texture_compression_rgtc
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_rgtc.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_rgtc.txt
|
||||||
GL_EXT_texture_compression_rgtc
|
GL_EXT_texture_compression_rgtc
|
||||||
|
|
||||||
GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
|
GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
|
||||||
GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
|
GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
|
||||||
GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
|
GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_texture_cube_map
|
GL_EXT_texture_cube_map
|
||||||
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_texture_cube_map.txt
|
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_texture_cube_map.txt
|
||||||
GL_EXT_texture_cube_map
|
GL_EXT_texture_cube_map
|
||||||
|
|
||||||
GL_NORMAL_MAP_EXT 0x8511
|
GL_NORMAL_MAP_EXT 0x8511
|
||||||
GL_REFLECTION_MAP_EXT 0x8512
|
GL_REFLECTION_MAP_EXT 0x8512
|
||||||
GL_TEXTURE_CUBE_MAP_EXT 0x8513
|
GL_TEXTURE_CUBE_MAP_EXT 0x8513
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
GL_EXT_texture_edge_clamp
|
GL_EXT_texture_edge_clamp
|
||||||
http://www.opengl.org/developers/documentation/Version1.2/1.2specs/texture_edge_clamp.txt
|
http://www.opengl.org/developers/documentation/Version1.2/1.2specs/texture_edge_clamp.txt
|
||||||
GL_EXT_texture_edge_clamp
|
GL_EXT_texture_edge_clamp
|
||||||
|
|
||||||
GL_CLAMP_TO_EDGE_EXT 0x812F
|
GL_CLAMP_TO_EDGE_EXT 0x812F
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_texture_integer
|
GL_EXT_texture_integer
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_integer.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_integer.txt
|
||||||
GL_EXT_texture_integer
|
GL_EXT_texture_integer
|
||||||
|
|
||||||
GL_RGBA32UI_EXT 0x8D70
|
GL_RGBA32UI_EXT 0x8D70
|
||||||
GL_RGB32UI_EXT 0x8D71
|
GL_RGB32UI_EXT 0x8D71
|
||||||
GL_ALPHA32UI_EXT 0x8D72
|
GL_ALPHA32UI_EXT 0x8D72
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_texture_rectangle
|
GL_EXT_texture_rectangle
|
||||||
http://developer.apple.com/opengl/extensions/ext_texture_rectangle.html
|
http://developer.apple.com/opengl/extensions/ext_texture_rectangle.html
|
||||||
GL_EXT_texture_rectangle
|
GL_EXT_texture_rectangle
|
||||||
|
|
||||||
GL_TEXTURE_RECTANGLE_EXT 0x84F5
|
GL_TEXTURE_RECTANGLE_EXT 0x84F5
|
||||||
GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
|
GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
|
||||||
GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
|
GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_texture_shared_exponent
|
GL_EXT_texture_shared_exponent
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_shared_exponent.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_shared_exponent.txt
|
||||||
GL_EXT_texture_shared_exponent
|
GL_EXT_texture_shared_exponent
|
||||||
|
|
||||||
GL_RGB9_E5_EXT 0x8C3D
|
GL_RGB9_E5_EXT 0x8C3D
|
||||||
GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
|
GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
|
||||||
GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
|
GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_timer_query
|
GL_EXT_timer_query
|
||||||
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_timer_query.txt
|
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_timer_query.txt
|
||||||
GL_EXT_timer_query
|
GL_EXT_timer_query
|
||||||
|
|
||||||
GL_TIME_ELAPSED_EXT 0x88BF
|
GL_TIME_ELAPSED_EXT 0x88BF
|
||||||
void glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64EXT *params)
|
void glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64EXT *params)
|
||||||
void glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64EXT *params)
|
void glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64EXT *params)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_EXT_vertex_shader
|
GL_EXT_vertex_shader
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/EXT/vertex_shader.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/EXT/vertex_shader.txt
|
||||||
GL_EXT_vertex_shader
|
GL_EXT_vertex_shader
|
||||||
|
|
||||||
GL_VERTEX_SHADER_EXT 0x8780
|
GL_VERTEX_SHADER_EXT 0x8780
|
||||||
GL_VERTEX_SHADER_BINDING_EXT 0x8781
|
GL_VERTEX_SHADER_BINDING_EXT 0x8781
|
||||||
GL_OP_INDEX_EXT 0x8782
|
GL_OP_INDEX_EXT 0x8782
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_KTX_buffer_region
|
GL_KTX_buffer_region
|
||||||
|
|
||||||
GL_KTX_buffer_region
|
GL_KTX_buffer_region
|
||||||
|
|
||||||
GL_KTX_FRONT_REGION 0x0
|
GL_KTX_FRONT_REGION 0x0
|
||||||
GL_KTX_BACK_REGION 0x1
|
GL_KTX_BACK_REGION 0x1
|
||||||
GL_KTX_Z_REGION 0x2
|
GL_KTX_Z_REGION 0x2
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_NVX_gpu_memory_info
|
GL_NVX_gpu_memory_info
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_NVX_gpu_memory_info.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_NVX_gpu_memory_info.txt
|
||||||
GL_NVX_gpu_memory_info
|
GL_NVX_gpu_memory_info
|
||||||
|
|
||||||
GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047
|
GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047
|
||||||
GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048
|
GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048
|
||||||
GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049
|
GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_NV_depth_buffer_float
|
GL_NV_depth_buffer_float
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_NV_depth_buffer_float.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_NV_depth_buffer_float.txt
|
||||||
GL_NV_depth_buffer_float
|
GL_NV_depth_buffer_float
|
||||||
|
|
||||||
GL_DEPTH_COMPONENT32F_NV 0x8DAB
|
GL_DEPTH_COMPONENT32F_NV 0x8DAB
|
||||||
GL_DEPTH32F_STENCIL8_NV 0x8DAC
|
GL_DEPTH32F_STENCIL8_NV 0x8DAC
|
||||||
GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
|
GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_NV_depth_range_unclamped
|
GL_NV_depth_range_unclamped
|
||||||
|
|
||||||
GL_NV_depth_range_unclamped
|
GL_NV_depth_range_unclamped
|
||||||
|
|
||||||
GL_SAMPLE_COUNT_BITS_NV 0x8864
|
GL_SAMPLE_COUNT_BITS_NV 0x8864
|
||||||
GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865
|
GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865
|
||||||
GL_QUERY_RESULT_NV 0x8866
|
GL_QUERY_RESULT_NV 0x8866
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
GL_NV_fragment_program2
|
GL_NV_fragment_program2
|
||||||
http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program2.txt
|
http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program2.txt
|
||||||
GL_NV_fragment_program2
|
GL_NV_fragment_program2
|
||||||
|
|
||||||
GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
|
GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
|
||||||
GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
|
GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
|
||||||
GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
|
GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
GL_NV_fragment_program4
|
GL_NV_fragment_program4
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_NV_fragment_program4.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_NV_fragment_program4.txt
|
||||||
GL_NV_gpu_program4
|
GL_NV_gpu_program4
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user