Compare commits

...

1046 Commits

Author SHA1 Message Date
Gyusun
918ece3da8 Generate Sources of master updated at Tue Apr 15 00:01:22 GMT 2025 2025-04-15 00:01:22 +00:00
Gyusun Yeom
ac12d4d22e
Merge pull request #70 from Perlmint/feature/cmake4
Update policy max version to supress warning
2025-04-13 23:14:00 +09:00
Gyusun Yeom
9e8e33ca17 Update policy max version to supress warning 2025-04-13 22:12:59 +09:00
Gyusun Yeom
5ee099a5b1
Merge pull request #71 from Perlmint/fix/gha
Fix GHA build test
2025-04-13 22:10:11 +09:00
Gyusun Yeom
852253523f Fix GHA build test 2025-04-13 21:24:44 +09:00
Gyusun
49490b10c4 Generate Sources of master updated at Fri Apr 11 11:59:33 GMT 2025 2025-04-11 11:59:33 +00:00
Gyusun
0d1debf37f Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Apr 11 11:59:20 GMT 2025 2025-04-11 11:59:20 +00:00
Nigel Stewart
3da315c23a Update copyright to 2024 2024-12-15 22:08:45 +10:00
Nigel Stewart
1236a81d70 Update config.guess from https://git.savannah.gnu.org/cgit/config.git 2024-12-15 22:08:32 +10:00
Gyusun
72ff6b1a5e Generate Sources of master updated at Wed Sep 11 00:01:25 GMT 2024 2024-09-11 00:01:25 +00:00
Gyusun
9f4f3e67eb Generate Sources of master updated at Sat Aug 24 10:11:29 GMT 2024 2024-08-24 10:11:29 +00:00
Gyusun
8d3ac6aca3 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Aug 24 10:11:14 GMT 2024 2024-08-24 10:11:14 +00:00
Ryan Schmidt
b323ebf9ad Remove everything after digits in SYSTEM
Instead of just removing periods and digits from SYSTEM, remove periods
and digits and everything after any digits. This handles unusual system
identifiers like powerpc-apple-darwin10.0.0d2.

I wasn't sure if periods can appear anywhere other than in the release
number so I retained the previous behavior of removing all periods
regardless where they are.
2024-04-25 08:34:21 +10:00
Anuraag Agrawal
c050e33aa0 Define APIENTRY in osmesa build if not defined. 2024-04-25 08:31:48 +10:00
Gyusun
a5494db414 Generate Sources of master updated at Sun Dec 17 00:01:29 GMT 2023 2023-12-17 00:01:29 +00:00
Gyusun
e13dcc58e6 Generate Sources of master updated at Thu Dec 7 00:01:26 GMT 2023 2023-12-07 00:01:27 +00:00
Gyusun
b9f61b43b2 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Nov 11 00:00:54 GMT 2023 2023-11-11 00:00:54 +00:00
Nigel Stewart
e1a80a9f12 AWS Codebuild badge added 2023-11-10 12:53:13 +10:00
Nigel Stewart
4c6cb2f56d AWS Codebuild badge added 2023-11-10 12:53:13 +10:00
Gyusun
786430a248 Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Nov 10 00:01:27 GMT 2023 2023-11-10 00:01:27 +00:00
Nigel Stewart
7fb9693bd8 Build support for SYSTEM=darwin-arm64 2023-11-10 08:35:40 +10:00
Nigel Stewart
c1985bb954 blacklist MESA_sampler_objects for now, collides with GL_ARB_sampler_objects 2023-11-10 08:32:46 +10:00
Gyusun
338306293e Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Oct 16 00:01:34 GMT 2023 2023-10-16 00:01:34 +00:00
SpaceIm
f064fbfcb6 more cleanup 2023-10-15 21:08:17 +10:00
SpaceIm
f8023b362d fix initialization of CMakeLists and cleanup after bump of min cmake version 2023-10-15 21:08:17 +10:00
Gyusun
5aa27cf7d4 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Oct 7 00:01:15 GMT 2023 2023-10-07 00:01:15 +00:00
Kerby Geffrard
c43940a927 Shallow clone of registry repositories 2023-10-07 06:44:25 +10:00
Gyusun
906f8f7a6e Generate Sources of master updated at Sat Sep 30 00:01:22 GMT 2023 2023-09-30 00:01:22 +00:00
Gyusun
3cf29c57e9 Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Sep 22 00:01:45 GMT 2023 2023-09-22 00:01:45 +00:00
grahamreeds
c2f7ab7f09 Bumped CMake version in README to 3.16. 2023-09-22 07:03:54 +10:00
grahamreeds
a4d8b2a2a3 Bump minimum cmake version to 3.16 matching the LTS release of Ubuntu 20.04 2023-09-22 07:03:54 +10:00
Gyusun
908ac2eb68 Generate Sources of master updated at Fri Sep 15 23:11:57 GMT 2023 2023-09-15 23:11:57 +00:00
Gyusun
0e6711a117 Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Sep 15 23:11:36 GMT 2023 2023-09-15 23:11:36 +00:00
Gyusun Yeom
4abae5fd0c
Merge pull request #65 from Perlmint/latest_cmake
Run build test with latest cmake
2023-09-16 08:11:26 +09:00
Gyusun Yeom
7684bff43b Run build test with latest cmake 2023-09-16 08:09:34 +09:00
Gyusun Yeom
a13f8088ac Run build test with latest cmake 2023-09-15 22:25:42 +09:00
Gyusun Yeom
bae9d1a33d
Merge pull request #63 from Wohlstand/master
CMake: Fixed minimal version warning on recent CMake
2023-09-15 22:22:42 +09:00
Wohlstand
bfe27f1ed1 CMake: Fixed minimal version warning on recent CMake
```
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
```
2023-08-23 01:03:03 +03:00
Kekschen
a98195b83d Updated comment in cmake-testbuild.sh 2023-07-16 09:29:54 +10:00
Gyusun Yeom
9758219375
Merge pull request #62 from Wohlstand/master
CMake: Fixed symbolic link for builds with a debug postfix
2023-06-26 23:28:33 +09:00
Gyusun
61ff0a2a04 Generate Sources of master updated at Fri Jun 23 00:01:47 GMT 2023 2023-06-23 00:01:47 +00:00
Gyusun
4ed6aac84b Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Jun 22 00:01:40 GMT 2023 2023-06-22 00:01:40 +00:00
Jean-Christophe Fillion-Robin
281c2936f3 cmake: Update install rules to support component-based installation 2023-06-22 07:47:53 +10:00
Gyusun
1eb8c92877 Generate Sources of master updated at Wed Jun 21 00:17:08 GMT 2023 2023-06-21 00:17:08 +00:00
Wohlstand
91cfa6a5c9
CMake: Fixed symbolic link for builds with a debug postfix 2023-06-21 03:10:16 +03:00
Gyusun
7f7e844cfc Merge https://github.com/nigels-com/glew.git into master HEAD at Tue Apr 25 00:01:44 GMT 2023 2023-04-25 00:01:44 +00:00
NoamDev
ef7d12ecb7 Added to .gitignore auto-checkout out repos 2023-04-24 20:20:17 +10:00
Gyusun
8f9a60f6aa Generate Sources of master updated at Sat Apr 1 00:01:52 GMT 2023 2023-04-01 00:01:52 +00:00
Gyusun
062db23216 Generate Sources of master updated at Thu Mar 16 00:01:57 GMT 2023 2023-03-16 00:01:57 +00:00
Gyusun
675b56a057 Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Mar 16 00:01:33 GMT 2023 2023-03-16 00:01:33 +00:00
NoamDev
6a53a2a200 Added to .gitignore auto-checkout out repos 2023-03-15 22:28:40 +10:00
Ned Loynd
52ce1cc575 Check the macOS deployment target before using dlfcn 2023-03-15 22:28:10 +10:00
Or Dagmi
f266584c9a
Fixing test fs case sensitivity garbage files in the source dir (#61)
* Fixing test fs case sensitivity minor issue where files where not created in the CMAKE_BINARY_DIR

---------

Co-authored-by: DiGMi <digmi@convexum.com>
2023-02-27 21:00:25 +09:00
Gyusun Yeom
020831e5ad
Merge pull request #58 from JamesPerlman/patch-1
Use CMP0077
2023-02-23 15:22:47 +09:00
James Perlman
d9504ce13b Use CMP0077
Thanks so much for making this project!  I'm using CMake 3.24+, and I was getting some errors like in [this issue (zephyr/26142)](https://github.com/zephyrproject-rtos/zephyr/issues/26142), and fixed them using CMP0077 - Did I do this correctly?
2023-02-22 16:23:54 -08:00
Gyusun
94b823ee04 Generate Sources of master updated at Tue Feb 21 00:02:21 GMT 2023 2023-02-21 00:02:22 +00:00
Gyusun Yeom
ccc2ac3e40
Merge pull request #59 from Perlmint/fix/opengl_build
Fix build test
2023-02-19 13:23:06 +09:00
Gyusun Yeom
19ecc02312 Fix error on case insensitive fs 2023-02-19 13:09:58 +09:00
Gyusun Yeom
1a5db5d19b Fix configure error on non-GLVND linux environment 2023-02-19 13:09:58 +09:00
Gyusun
8260c05ee0 Generate Sources of master updated at Sun Aug 21 07:03:15 GMT 2022 2022-08-21 07:03:15 +00:00
Gyusun
9dc72dbd02 Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Aug 21 07:02:53 GMT 2022 2022-08-21 07:02:53 +00:00
Gyusun Yeom
e392a7c26f Fix failure in maintain script 2022-08-21 16:01:58 +09:00
Nigel Stewart
5a2307fae3 Fix issue #355 - GL_NVX_progress_fence missing glCreateProgressFenceNVX 2022-06-13 12:22:45 +10:00
Marvin Schmidt
c8a2ddfbe1 cmake: Link libGLX when X11 support is requested
Using cmake (version 3.23.0) the build fails to link the utils
```
[...]
[ 87%] Linking C executable bin/visualinfo                                                                                                                      [113/5249]
/usr/x86_64-pc-linux-gnu/bin/cmake -E cmake_link_script CMakeFiles/visualinfo.dir/link.txt --verbose=1
/usr/host/bin/x86_64-pc-linux-gnu-cc -Wall -g -ggdb3 -O0 -rdynamic CMakeFiles/visualinfo.dir/home/marv/scm/github/glew/src/visualinfo.c.o -o bin/visualinfo  -Wl,-rpath,/h
ome/marv/scm/github/glew/build-obj/lib: lib/libGLEW.so.2.2.0 -lSM -lICE -lX11 -lXext -lOpenGL -lSM -lICE -lX11 -lXext
/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: CMakeFiles/visualinfo.dir/home/marv/scm/github/glew/src/visualinfo.c.o: in function `main':
/home/marv/scm/github/glew/src/visualinfo.c:198: undefined reference to `glXQueryExtensionsString'
/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: CMakeFiles/visualinfo.dir/home/marv/scm/github/glew/src/visualinfo.c.o: in function `CreateContext':
/home/marv/scm/github/glew/src/visualinfo.c:1204: undefined reference to `glXQueryExtension'
/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: /home/marv/scm/github/glew/src/visualinfo.c:1206: undefined reference to `glXChooseVisual'
/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: /home/marv/scm/github/glew/src/visualinfo.c:1209: undefined reference to `glXCreateContext'
/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: /home/marv/scm/github/glew/src/visualinfo.c:1221: undefined reference to `glXMakeCurrent'
/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: CMakeFiles/visualinfo.dir/home/marv/scm/github/glew/src/visualinfo.c.o: in function `DestroyContext':
/home/marv/scm/github/glew/src/visualinfo.c:1227: undefined reference to `glXDestroyContext'
/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: lib/libGLEW.so.2.2.0: undefined reference to `glXGetProcAddressARB'
/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: lib/libGLEW.so.2.2.0: undefined reference to `glXQueryVersion'
/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: lib/libGLEW.so.2.2.0: undefined reference to `glXGetClientString'
collect2: error: ld returned 1 exit status
```

Commit 2b50f4a ("CMake: Prefer GLVND if available") changed the cmake
policy CMP0072 to `NEW` in order to make the FindOpenGL module prefer the
GLVND libraries (libOpenGL and libGLX) over the legacy GL library (libGL).

The help of the CMP0072 policy states:

> CMP0072
> -------
>
> .. versionadded:: 3.11
>
> ``FindOpenGL`` prefers GLVND by default when available.
>
> The ``FindOpenGL`` module provides an ``OpenGL::GL`` target and an
> ``OPENGL_LIBRARIES`` variable for projects to use for legacy GL interfaces.
> When both a legacy GL library (e.g. ``libGL.so``) and GLVND libraries
> for OpenGL and GLX (e.g. ``libOpenGL.so`` and ``libGLX.so``) are available,
> the module must choose between them.  It documents an ``OpenGL_GL_PREFERENCE``
> variable that can be used to specify an explicit preference.  When no such
> preference is set, the module must choose a default preference.
>
> CMake 3.11 and above prefer to choose GLVND libraries.  This policy provides
> compatibility with projects that expect the legacy GL library to be used.
>
> The ``OLD`` behavior for this policy is to set ``OpenGL_GL_PREFERENCE`` to
> ``LEGACY``.  The ``NEW`` behavior for this policy is to set
> ``OpenGL_GL_PREFERENCE`` to ``GLVND``.
>
> This policy was introduced in CMake version 3.11.  CMake version
> 3.23.0 warns when the policy is not set and uses ``OLD`` behavior.
> Use the ``cmake_policy()`` command to set it to ``OLD`` or ``NEW``
> explicitly.
>
> .. note::
>   The ``OLD`` behavior of a policy is
>   ``deprecated by definition``
>   and may be removed in a future version of CMake.

The changes from the mentioned commit combined with the new behaviour of
the FindOpenGL module resulted in the glew library being linked against
`libOpenGL` instead of `libGL`, but not `libGLX`. Since `libOpenGL`
doesn't link against GLX compared to `libGL` the linker errors above
surfaced. Fix this by explicitly linking against libGLX if GLEW_X11 is
enabled
2022-06-13 12:22:14 +10:00
ibbem
37e6144802 Remove broken end of string checks in _glewStrSame
I think this code tried to check for a zero terminated null byte, but it
actually just checked if the address of the corresponding character is
non-zero, which is always true. These broken checks are simply dropped
because the following code assumes that the string `b` doesn't include a
null byte and all call sites already pass the length of the string
without counting the null byte.

This bug was found by gcc 12.1 which emits a warning on this kind of
code. Now glew builds without any warnings using gcc 12.1. See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102103 for the
corresponding issue.
2022-06-13 12:21:23 +10:00
Nigel Stewart
2c4c183c34 README: travis-ci is no longer relevant 2022-04-02 12:39:09 +10:00
Bertie Wheen
c6673b15bf Remove unnecessary code
Resolves #349 (I think)
2022-04-02 12:30:19 +10:00
Nigel Stewart
55c8b94608 Add link for snapshot glew-20220402.tgz 2022-04-02 12:25:25 +10:00
G'lek Tarssza
35d928bc77 Fixed failing build on Windows when using LLVM.
Failure caused by `llvm-rc` failing on non-ASCII code point for
copyright symbol.
2022-02-20 18:52:10 +10:00
René Schwaiger
5dbae5a837 Make: Remove 32 bit support from universal build
Installing the library fails on macOS 12, if we use the compiler flags
for the i386 architecture.

See also:

- https://github.com/nigels-com/glew/pull/348#issuecomment-1032874467
2022-02-09 19:58:09 +10:00
René Schwaiger
5239c3ae21 Make: Support Apple Silicon in universal build 2022-02-09 19:58:09 +10:00
Marvin Schmidt
5f57b09c04 cmake: Install eglew.h
The eglew.h header was never installed using the CMake build. Fix this
by adding it to the list of public headers
2022-02-09 08:15:29 +10:00
Dmitry Kalinkin
966e53fa15 CMake: don't hardcode "<prefix>/include" in target_include_directories 2022-01-07 12:54:49 +10:00
Nigel Stewart
3f922b3dc6 Updated config.guess from https://github.com/gcc-mirror/gcc/blob/master/config.guess 2021-12-23 10:58:37 +10:00
luz paz
4a757ac7c0 Fix various typos
Found via `codespell -q 3 -L ake,extrem,lod,parms`
2021-12-20 07:31:49 +10:00
Gyusun Yeom
7c2b7514f6
Merge pull request #52 from Perlmint/feature/readme
Add readme of GLEW-cmake
2021-12-12 21:23:34 +09:00
Gyusun Yeom
fe9f5c25c6 Fix github actions build error 2021-12-12 17:24:02 +09:00
Gyusun Yeom
ec2cb231a4 Add glew-cmake README 2021-12-05 21:48:50 +09:00
Gyusun Yeom
570e4534e6 Add example 2021-12-04 15:59:21 +09:00
Gyusun
466859eeea Generate Sources of master updated at Wed Nov 24 00:02:05 GMT 2021 2021-11-24 00:02:05 +00:00
Gyusun
ca63fc313e Generate Sources of master updated at Thu Nov 18 00:01:44 GMT 2021 2021-11-18 00:01:44 +00:00
Gyusun Yeom
098c409d4d Move original README.md 2021-11-14 18:41:04 +09:00
Gyusun Yeom
31c1901c82
Merge pull request #50 from Perlmint/fix/glx
Support off-screen mode
2021-11-14 18:38:11 +09:00
Gyusun Yeom
442d56d47d Fix build for non-glvnd 2021-11-14 17:09:45 +09:00
Gyusun Yeom
6940c54fc1 Support off-screen mode 2021-11-14 17:09:44 +09:00
Gyusun Yeom
23b9557df8
Merge pull request #51 from Perlmint/fix/azure-build
Use ubuntu-latest on azure-pipeline
2021-11-14 16:13:39 +09:00
Gyusun
c44ef5c33d Generate Sources of master updated at Sun Nov 14 06:52:50 GMT 2021 2021-11-14 06:52:50 +00:00
Gyusun
e15487351e Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Nov 14 06:52:33 GMT 2021 2021-11-14 06:52:33 +00:00
Gyusun Yeom
673391490c Use ubuntu-latest on azure-pipeline 2021-11-14 15:51:36 +09:00
Vanfanel
062067f2ba Specify that EGL/GLVND doesn't use GLU. 2021-10-29 09:13:42 +10:00
Vanfanel
8e2e31e69b Add support for building against vendor-neutral GLVND instead of GLX on Linux/EGL 2021-10-29 07:14:15 +10:00
Nigel Stewart
037635a192 Disable stripping in debug-mode builds 2021-10-05 08:29:14 +10:00
Nigel Stewart
9e6361b357 visualinfo: EGL not supported yet, error out more clearly
Also, remove GLEW_MX support from visualinfo
2021-10-05 08:28:49 +10:00
Nigel Stewart
247baa9e20 For SYSTEM linux-mingw32 and linux-mingw64 default GLEW_DEST more appropriately 2021-10-05 08:28:12 +10:00
Nigel Stewart
d7693eea09 Makefile: don't strip in install step
As discussed in Issue #310 stripping the binaries is
done by the link targets, not needed for the install step.
Along the lines of a Yocto batch by Ross Burton <ross.burton@intel.com>
2021-10-05 08:27:27 +10:00
Gyusun
ce3818d22f Generate Sources of master updated at Sun Aug 29 00:01:57 GMT 2021 2021-08-29 00:01:57 +00:00
Gyusun
b7931abd0c Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Aug 29 00:01:37 GMT 2021 2021-08-29 00:01:37 +00:00
Nigel Stewart
715afa0ff5 Extend GLEW API to support glewContextInit - GL without implied GLX, WGL, EGL initialisation 2021-08-29 09:11:11 +10:00
Nigel Stewart
ea2076658a glewGetErrorString for GLEW_ERROR_NO_GLX_DISPLAY (added in 2016) 2021-08-29 09:10:04 +10:00
Gyusun
7c5c9d5f6b Generate Sources of master updated at Tue Aug 24 00:01:50 GMT 2021 2021-08-24 00:01:50 +00:00
Gyusun
b832da25bc Generate Sources of master updated at Sun Aug 22 12:29:55 GMT 2021 2021-08-22 12:29:55 +00:00
Gyusun
538b2e8d3f Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Aug 22 12:29:34 GMT 2021 2021-08-22 12:29:34 +00:00
Ross Burton
767e031645 Fix build race in Makefile
The current rule for the binaries is:

glew.bin: glew.lib bin bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)

In parallel builds, all of those targets happen at the same time. This
means that 'bin' can happen *after* 'bin/$(GLEWINFO.BIN)', which is a
problem as the 'bin' target's responsibility is to create the directory
that the other target writes into.

Solve this by not having a separate 'create directory' target which is
fundamentally racy, and simply mkdir in each target which writes into it.
2021-07-23 18:21:23 +10:00
Ross Burton
679a3b17fa Install to /usr/local by default when using Makefiles
Software should install to /usr/local by default, as /usr is for the
operating system managed libraries.

Closes #52.
2021-07-23 18:21:23 +10:00
Gyusun
883e35a3d4 Generate Sources of master updated at Thu May 13 00:02:02 GMT 2021 2021-05-13 00:02:02 +00:00
Gyusun
4d6020be39 Generate Sources of master updated at Tue Apr 27 00:01:56 GMT 2021 2021-04-27 00:01:56 +00:00
Gyusun
d452fb8c39 Generate Sources of master updated at Wed Apr 21 00:01:55 GMT 2021 2021-04-21 00:01:55 +00:00
Gyusun
01420c19a9 Generate Sources of master updated at Sat Apr 3 00:01:48 GMT 2021 2021-04-03 00:01:48 +00:00
Gyusun Yeom
a8ef112236
Merge pull request #45 from Perlmint/fix/mingw 2021-03-24 23:00:34 +09:00
Gyusun
8824bc1146 Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Mar 22 00:01:25 GMT 2021 2021-03-22 00:01:25 +00:00
Daniel Bernar
80e061f85d Add ability to change output dirs
https://github.com/nigels-com/glew/issues/264
2021-03-21 12:41:32 +10:00
Julien Schueller
2b50f4acd2 CMake: Prefer GLVND if available 2021-03-21 12:41:04 +10:00
Julien Schueller
2b16160853 CMake: Add BUILD_SHARED_LIBS option 2021-03-21 12:41:04 +10:00
Julien Schueller
e34bb212f6 CMake: Add X11/EGL options 2021-03-21 12:41:04 +10:00
Gyusun Yeom
c7dc7efe4e
Merge pull request #43 from tobybell/master
Silence warning for policy CMP0042
2021-03-10 14:41:28 +09:00
Toby Bell
e2b4a36751 Silence warning for policy CMP0042
CMake policy CMP0042 affects whether @rpath is used in the install path for
dynamic libraries on macOS. It was introduced in CMake 3.0. If the policy is
not explicitly set, CMake uses OLD behavior and emits a warning.

This commit explicitly sets NEW behavior in order to silence the warning and
adopt the preferred behavior by CMake. This uses @rpath instead of @loader_path
in install names.

Documentation for policy CMP0042:

https://cmake.org/cmake/help/latest/policy/CMP0042.html
2021-03-05 18:49:38 -08:00
Gyusun Yeom
547fc11b29
Run github actions on PR (#46) 2021-03-06 10:36:34 +09:00
Gyusun Yeom
f61e323584 Build test with mingw 2021-03-05 22:37:01 +09:00
Gyusun Yeom
78f10dd0e0 Fix shared library build for mingw 2021-03-05 22:37:01 +09:00
Gyusun Yeom
f1c0b06b1b
Merge pull request #42 from Perlmint/fix-for-old-cmake
Fix errors in cmake
2021-02-10 09:52:53 +09:00
Gyusun Yeom
af5eac1089 Test with old cmake, Windows & macOS 2021-02-09 21:35:31 +09:00
Gyusun Yeom
e983f5e0ee [Fix #38] [Fix #41] Fix install symbolic link 2021-02-09 21:31:26 +09:00
Gyusun Yeom
5cc3b4b8a8 [Fix #39] Fix CMP0048 issue 2021-02-09 21:31:25 +09:00
Gyusun Yeom
67ff18e2ee [Fix #40] Fix non-GLVND, non-namespaced package 2021-02-09 21:31:25 +09:00
Gyusun Yeom
0be1dc6b89
Merge pull request #37 from Perlmint/feature/install_symbolic_link 2021-02-06 22:11:39 +09:00
Gyusun Yeom
81b97ab31e Use POST_BUILD script 2021-02-06 16:04:38 +09:00
Gyusun Yeom
c4936e08b7 Install libGLEW symbolic links 2021-02-04 22:10:43 +09:00
Gyusun
7d525405e6 Generate Sources of master updated at Thu Jan 28 00:01:46 GMT 2021 2021-01-28 00:01:46 +00:00
Gyusun Yeom
10f2e41b97 Fix release - add config/version 2021-01-17 15:43:02 +09:00
Gyusun Yeom
b78f12e465 Add GeneratePkgConfig.cmake for tags 2021-01-16 22:22:16 +09:00
Gyusun
a1e2e3deab Generate Sources of master updated at Mon Jan 11 00:02:39 GMT 2021 2021-01-11 00:02:39 +00:00
Gyusun
f4165c28eb Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Jan 11 00:02:16 GMT 2021 2021-01-11 00:02:16 +00:00
Xavier Bonaventura
fb0f210598 Use os.path.join to create paths
Paths should be created using os.path.join with this way is platform
independent.
2021-01-10 21:40:05 +10:00
Nigel Stewart
749aec8b9b Documentation refresh for GLEW 2.2.0, downloads from github 2021-01-10 12:23:57 +10:00
Danilo Spinella
95329dc4a6 GLEW_EGL: Fix EGL library check 2021-01-10 12:07:23 +10:00
Nigel Stewart
8c88a0858f EGLEW: Wayland wl_buffer declaration for WL_bind_wayland_display 2021-01-10 11:52:31 +10:00
Nigel Stewart
d68cb03149 EGLEW: Wayland wl_display and wl_resource declarations for WL_bind_wayland_display 2021-01-10 11:50:29 +10:00
Nigel Stewart
5b5685e39a README.md: Updates for GLEW 2.2.0 release, downloads via github 2021-01-10 11:42:18 +10:00
Nigel Stewart
0fa5d11024 Fixup: Install eglew.h too 2021-01-10 11:13:09 +10:00
Xavier Bonaventura
107ab7f6e9 Use list comprehension instead of extending the collection 2021-01-10 11:09:37 +10:00
Xavier Bonaventura
4e5fe20519 Use context manager instead of raw open
Raw open should be avoided to prevent that in case of an exception
the file is not closed.
This also has the advantage that if the user forgets to call close
the file is still closed.
2021-01-10 11:08:48 +10:00
Gyusun
a3d0ca0c7f Generate Sources of master updated at Fri Jan 8 00:02:10 GMT 2021 2021-01-08 00:02:11 +00:00
Gyusun Yeom
e009b0fdce Build test with github actions 2021-01-03 15:12:00 +09:00
Gyusun Yeom
a79115599b Modernize cmake 2021-01-03 15:11:28 +09:00
Gyusun Yeom
b7aa06157b Fix generate pkg config 2020-12-29 22:55:52 +09:00
Gyusun Yeom
397f383c53 Fix include directory properly for install 2020-12-29 21:05:28 +09:00
Gyusun Yeom
430a36d2b8 Export cmake config & use proper include directory for install
Close #30

Thanks Lanza<nathan@lanza.io>
2020-12-29 20:56:03 +09:00
Gyusun Yeom
9f3df6c128 Prevent output name collision 2020-12-29 20:56:03 +09:00
Gyusun
a553506b46 Generate Sources of master updated at Tue Dec 29 11:02:40 GMT 2020 2020-12-29 11:02:40 +00:00
Gyusun
04007493ce Merge https://github.com/nigels-com/glew.git into master HEAD at Tue Dec 29 11:02:17 GMT 2020 2020-12-29 11:02:17 +00:00
Gyusun Yeom
980ccfe56d Fix #29 Use proper output directory 2020-12-29 19:56:22 +09:00
Gyusun Yeom
3900ff84b4 Fix #32 Drop support too old cmake version 2020-12-29 19:52:36 +09:00
Gyusun Yeom
669ca8dda9 Fix #31 Handle cmake warning about CMP0072 2020-12-29 19:51:23 +09:00
Christian Rauch
3cdab58d4e fix typo 2020-12-13 23:24:55 +10:00
Nicolas Caramelli
75e3154422 The file include/GL/gl.h generated from OpenGL-Registry uses __gl_gl_h_ 2020-12-04 16:45:04 +10:00
Tim Gates
bfc724c6cc docs: fix simple typo, direcly -> directly
There is a small typo in auto/src/glew_head.c.

Should read `directly` rather than `direcly`.
2020-11-28 10:28:05 +10:00
Alexey Tereshenkov
0b97f2568d Rename lgtm.yml to hide the file 2020-11-26 20:31:22 +10:00
Alexey Tereshenkov
7764128044 Add lgtm.yml configuration file
Allow LGTM.com use the custom configuration to analyze C++ code of the project
2020-11-26 20:31:22 +10:00
Gyusun Yeom
e34677f42b
Merge pull request #28 from hgs3/master
Define GLEW_BUILD only for libglew_shared and not consumer targets.
2020-08-23 14:54:55 +09:00
Gyusun
2785d66dde Generate Sources of master updated at Sun Aug 16 00:01:27 GMT 2020 2020-08-16 00:01:27 +00:00
Gyusun
97419eafab Generate Sources of master updated at Sat Aug 15 00:01:32 GMT 2020 2020-08-15 00:01:32 +00:00
Gyusun
9f109bec6c Generate Sources of master updated at Fri Aug 14 00:01:24 GMT 2020 2020-08-14 00:01:24 +00:00
Gyusun
c87ee50fb5 Generate Sources of master updated at Thu Aug 13 00:04:21 GMT 2020 2020-08-13 00:04:21 +00:00
hgs3
a8b341554f
Mark GLEW_BUILD PRIVATE to not affect consumers using add_subdirectory. 2020-08-11 17:46:31 -05:00
Gyusun
a96e6f1c45 Generate Sources of master updated at Sat May 30 00:01:22 GMT 2020 2020-05-30 00:01:22 +00:00
Gyusun Yeom
c4c1fd4fec
Remove single/multi context option - deprecated
details in #27
2020-05-12 14:39:19 +09:00
Gyusun
5ab6ba3039 Generate Sources of master updated at Sat Apr 11 00:01:06 GMT 2020 2020-04-11 00:01:06 +00:00
Gyusun
68ac8e80a9 Generate Sources of master updated at Wed Apr 8 00:01:16 GMT 2020 2020-04-08 00:01:16 +00:00
Gyusun
55a499e65a Generate Sources of master updated at Thu Mar 26 00:01:14 GMT 2020 2020-03-26 00:01:14 +00:00
Gyusun
60eafc8a9b Generate Sources of master updated at Mon Mar 16 00:01:21 GMT 2020 2020-03-16 00:01:21 +00:00
Gyusun
b8b7ff3511 Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Mar 16 00:01:01 GMT 2020 2020-03-16 00:01:01 +00:00
Nigel Stewart
9fb23c3e61 Documentation updates for GLEW 2.2.0 release 2020-03-15 21:59:54 +10:00
Nigel Stewart
555aa3ffc0 Exclude GLU and GL_SGIX_color_type extensions 2020-03-15 21:52:24 +10:00
Gyusun
7d44f3c67c Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Mar 6 00:00:50 GMT 2020 2020-03-06 00:00:50 +00:00
Jose Santiago
5ea705737a Link the UTILS to the static library if BUILD_SHARED_LIBS is disabled. 2020-03-06 07:54:09 +10:00
Jose Santiago
882aef9761 Do not put build artifacts in the source directory. 2020-03-06 07:53:49 +10:00
Eonfge
9a2c9a14b7 Add a custom 32bit Flatpak makefile 2020-03-06 07:53:17 +10:00
Gyusun
ec3049cfc1 Generate Sources of master updated at Tue Feb 25 00:01:08 GMT 2020 2020-02-25 00:01:08 +00:00
Gyusun
1b83eb287d Generate Sources of master updated at Fri Feb 21 00:01:05 GMT 2020 2020-02-21 00:01:05 +00:00
Gyusun
02629da9ca Generate Sources of master updated at Wed Feb 12 00:01:18 GMT 2020 2020-02-12 00:01:18 +00:00
Gyusun Yeom
d1d8b889b8
Fix #25 make scheduled jobs always run. Even though nothing changed 2020-01-30 22:20:03 +09:00
Gyusun
3871202dfd Merge https://github.com/nigels-com/glew.git into master HEAD at Tue Jan 28 13:32:34 GMT 2020 2020-01-28 13:32:34 +00:00
Nigel Stewart
83a174e575 Fixup TOC for README.md 2020-01-27 10:46:14 +10:00
Nigel Stewart
7c706576b8 Add TOC to README.md 2020-01-27 10:44:14 +10:00
Gyusun
c32bb089c1 Generate Sources of master updated at Tue Jan 21 22:56:03 GMT 2020 2020-01-21 22:56:03 +00:00
Gyusun
83907238d9 Merge https://github.com/nigels-com/glew.git into master HEAD at Tue Jan 21 22:55:43 GMT 2020 2020-01-21 22:55:43 +00:00
Nigel Stewart
82e8441253 GLEW 2.2.0 RC3 snapshot added 2020-01-18 10:39:33 +10:00
Nigel Stewart
18676f16d9 GL_EXT_semaphore constants fix (Issue #249) 2019-12-23 08:56:49 +10:00
Gyusun
59a52e570f Generate Sources of master updated at Mon Nov 11 00:03:55 GMT 2019 2019-11-11 00:03:55 +00:00
Gyusun
f9b0c4225f Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Nov 11 00:03:32 GMT 2019 2019-11-11 00:03:32 +00:00
Nigel Stewart
262514e123 glStencilFuncSeparate parameter name correction based on gl.xml (Issue #243) 2019-11-03 22:29:57 +10:00
Gyusun Yeom
6f770a5b5b Merge branch 'feature/pkgconfig' 2019-10-09 20:42:36 +09:00
Gyusun Yeom
4f2237a265 Generate pkg-config file 2019-10-09 20:40:50 +09:00
Gyusun Yeom
cc5cfff738 Cleanup CMakeLists 2019-10-09 20:40:25 +09:00
Gyusun
5a59fc7d94 Generate Sources of master updated at Sat Oct 5 09:11:53 GMT 2019 2019-10-05 09:11:53 +00:00
Gyusun
59c63684ee Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Oct 5 09:11:32 GMT 2019 2019-10-05 09:11:32 +00:00
Nigel Stewart
d47097985a README.md touch-up - Travis index.html no longer available 2019-09-28 13:37:35 +10:00
Nigel Stewart
17761407da README.md touch-up 2019-09-28 13:32:45 +10:00
Nigel Stewart
2ed67686ba Updated README.md with mention of fresh snapshot (2.2.0 RC2) 2019-09-28 13:31:40 +10:00
Nigel Stewart
4bbe8aa2ab Visual Studio 16 release-mode cmake fixup: libvcruntime.lib, msvcrt.lib 2019-09-28 12:27:53 +10:00
Nigel Stewart
68135131a9 Resolve visualinfo and glewinfo link warnings for vc15 build 2019-09-28 11:54:27 +10:00
Nigel Stewart
b374d9ad93 Fix vc15 release build memset link problem for v142 toolchains 2019-09-28 11:45:01 +10:00
Nigel Stewart
0831041e9f Refinements for SYSTEM=msys builds (MSYS2) 2019-09-27 23:55:50 +10:00
Nigel Stewart
3f91cd177a For SYSTEM=msys put dll in bin directory 2019-09-27 23:32:44 +10:00
Nigel Stewart
5509e2e13e Resolve gcc -Wshadow / MS C4456 compilation warning(s) 2019-09-27 22:08:15 +10:00
Gyusun Yeom
20ea2d0d07 Move to azure pipeline 2019-09-23 00:12:27 +09:00
Gyusun Yeom
ceb7145f3e Generate Sources of master updated at Wed Sep 18 13:43:07 GMT 2019 2019-09-18 22:43:07 +09:00
Bluenaxela
371895de42
Add proper support for static builds on WIN32 2019-09-18 22:40:54 +09:00
Gyusun Yeom
acd5fc7f64 fix windows build error - add rc files 2019-09-18 21:57:34 +09:00
Gyusun Yeom
708bbfd807 Generate Sources of master updated at 2019. 09. 15. (일) 15:14:15 GMT 2019-09-16 00:14:15 +09:00
Gyusun Yeom
df23003353 Fix importing tags - use proper registry 2019-09-16 00:13:34 +09:00
Gyusun Yeom
41c88953cd Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Aug 19 14:31:27 GMT 2019 2019-08-19 14:31:27 +00:00
Nigel Stewart
ea30c83d92 linux-clang: -std=c89 rather than -ansi 2019-08-19 22:46:06 +10:00
Nigel Stewart
9170611428 Travis: Use Xenial for build coverage 2019-08-19 22:43:44 +10:00
Gyusun Yeom
77fa1efe71 Generate Sources of master updated at Thu Aug 8 14:37:32 GMT 2019 2019-08-08 14:37:32 +00:00
Gyusun Yeom
1f730ccb3d Generate Sources of master updated at Mon Jul 29 14:35:28 GMT 2019 2019-07-29 14:35:28 +00:00
Gyusun Yeom
2545ef4e02 Fix error and typo in maintain script 2019-07-01 00:51:33 +09:00
Gyusun Yeom
5bc4c9d380 Generate Sources of master updated at Sun Jun 30 14:34:29 GMT 2019 2019-06-30 14:34:29 +00:00
Gyusun Yeom
ff01f1db86 Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Jun 30 14:31:55 GMT 2019 2019-06-30 14:31:55 +00:00
Gyusun Yeom
0329c64675 Fix CI error 2019-06-30 11:04:15 +09:00
Gyusun Yeom
e3f3079a53 Add CI pipeline data 2019-06-29 18:51:17 +09:00
Gyusun Yeom
c52a9eb978 Move maintain script into own directory 2019-06-29 18:28:31 +09:00
Nigel Stewart
47588720ee Extend GLEW_INCLUDE support to eglew.h and glxew.h 2019-06-13 09:28:51 +10:00
ArthurSonzogni
8c42082242 Fix cmake error on Linux "no LIBRARY DESTINATION"
On Linux, cmake gives the error:
~~~bash
CMake Error at CMakeLists.txt:79 (INSTALL):
INSTALL TARGETS given no LIBRARY DESTINATION for shared library target
"libglew_shared".

CMake Error at CMakeLists.txt:94 (INSTALL):
INSTALL TARGETS given no LIBRARY DESTINATION for shared library target
"libglewmx_shared".

-- Configuring incomplete, errors occurred!
~~~

This bug was caused by the merge:
e4de8a77a1

Containing:
* Update library install directories in Cmake
  commit 5a7232fc53

* Install directories set in single statement
  commit def19e7de4

The cause is that RUNTIME DESTINATION is now defined (for Windows), but
not LIBRARY DESTINATION (for Linux).

See issue: https://github.com/Perlmint/glew-cmake/issues/17
2019-06-11 21:37:30 +09:00
Gyusun Yeom
662a645508 Merge https://github.com/nigels-com/glew.git into master HEAD at Wed Apr 24 02:44:14 GMT 2019 2019-04-24 02:44:14 +00:00
Stefan Zabka
154f83e024 Made build description a bit clearer
I hope this version is more understandable for people just reading the Readme
I had to go read #13 first to understand what this meant.
2019-04-23 23:03:53 +10:00
Gyusun Yeom
e4de8a77a1
Merge pull request #16 from GekkieHenkie/patch-1
Update library install directories in Cmake
2019-04-20 15:45:09 +09:00
GekkieHenkie
5a7232fc53
Install directories set in single statement 2019-04-09 23:59:48 +02:00
GekkieHenkie
def19e7de4
Update library install directories in Cmake
Currently (well, at least on Windows), the created DLL files aren't installed to the correct directory after a build. The DLL files are installed to the 'lib' directory. Which actually is the place for the static library or the shared library's symbols file (.lib).
The shared library runtimes should be installed to the 'bin' output directory, as proposed in this PR.

See the ```CONFIGURATIONS``` option in [Install command introduction in the CMake manual](https://cmake.org/cmake/help/v3.14/command/install.html#introduction) for an example.

It's considered best practice and follows convention as used in other notable libraries as libpng, libogg/vorbis, freetype, zlib, tinyxml, etc, to install the runtime output in the 'bin' directory.
2019-04-09 23:22:16 +02:00
Gyusun Yeom
f92c14bcc1 Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Apr 8 02:44:15 GMT 2019 2019-04-08 02:44:15 +00:00
Nigel Stewart
61d167422c Elbrus 2000 architecture support added for Linux make build 2019-04-07 19:39:22 +10:00
Gyusun Yeom
9cc72c5dc2 Merge https://github.com/nigels-com/glew.git into master HEAD at Wed Mar 20 02:44:18 GMT 2019 2019-03-20 02:44:18 +00:00
Nigel Stewart
3565eacf87 Include cstddef and cstdint (rather than C versions) for C++ compiler on macOS and Linux 2019-03-19 20:08:48 +10:00
Gyusun Yeom
e6d676975f Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Mar 18 02:44:18 GMT 2019 2019-03-18 02:44:18 +00:00
TheVice
1f833c032f [parse_xml] resolved "TypeError: a bytes-like object is required, not 'str'"
after commit 10f2d76c62 was applied.
2019-03-17 22:48:22 +10:00
TheVice
1b17b0b210 [parse_xml] replaced OptionParser with ArgumentParser according
to depreciation of first one starting from Python version 3.2.
2019-03-17 22:48:22 +10:00
Gyusun Yeom
89b83938a2 Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Mar 17 02:44:17 GMT 2019 2019-03-17 02:44:17 +00:00
Nigel Stewart
f5feecd46e Extend glew.pc output to mention GL linking (-framework on OSX) 2019-03-17 09:05:27 +10:00
Valentin Sarthou
10f2d76c62 Write files in binary format in parse_xml.py
Issue:
On Windows platforms, when writing files with python in text-mode, LF
characters get converted to CRLF.
This behavior leads to incorrect code generation in the steps following
parse_xml.py

Fix:
Replace file access mode by 'wb' to avoid any platform-dependent behavior
regarding newlines.
2019-03-17 09:03:24 +10:00
Gyusun Yeom
f8de1d2860 Generate Sources of origin/master updated at Tue Feb 5 17:45:53 GMT 2019 2019-02-06 02:45:53 +09:00
Gyusun Yeom
f2e1f3bac5 Merge https://github.com/nigels-com/glew.git into master HEAD at Tue Feb 5 17:44:15 GMT 2019 2019-02-06 02:44:15 +09:00
Nigel Stewart
565caae5ad Prune auto/core for GLX code generation from XML 2019-02-05 06:37:36 +10:00
Nigel Stewart
521fa58c63 Use parse_xml.py for GLX code generation 2019-02-05 06:37:36 +10:00
Gyusun Yeom
f93eddb4a4 Generate Sources of origin/master updated at Mon Feb 4 17:45:53 GMT 2019 2019-02-05 02:45:53 +09:00
Gyusun Yeom
edf558f8f6 Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Feb 4 17:44:16 GMT 2019 2019-02-05 02:44:16 +09:00
Nigel Stewart
3e6dfc4414 Prune auto/core for WGL code generation from XML 2019-02-04 07:58:55 +10:00
Nigel Stewart
dcff76b0d1 Type-mapping isn't needed for parse_xml.py WGL purposes, after all 2019-02-04 07:58:55 +10:00
Nigel Stewart
62b9213b44 Use parse_xml.py for WGL code generation 2019-02-04 07:58:55 +10:00
Gyusun Yeom
abb57c9b54 Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Feb 3 17:44:16 GMT 2019 2019-02-04 02:44:16 +09:00
Nigel Stewart
278a314d99 Improved robustness for EGL-Registry download 2019-02-03 18:45:46 +10:00
Gyusun Yeom
f1a95440ea Generate Sources of origin/master updated at Sat Feb 2 17:45:50 GMT 2019 2019-02-03 02:45:50 +09:00
Gyusun Yeom
b2ea0143bd Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Feb 2 17:44:17 GMT 2019 2019-02-03 02:44:17 +09:00
Nigel Stewart
6f31e134f6 Extend glewinfo to support optional -experimental mode, default to normal mode of operation 2019-02-02 15:03:57 +10:00
TheVice
e304e73230 [filter_gl_ext] removed command that currently not applicable. 2019-02-02 15:03:27 +10:00
Nigel Stewart
103b3d156e Update copyright information for 2019 2019-02-02 14:19:42 +10:00
Nigel Stewart
44049b7de2 FreeBSD cmake fixup for locating X11 include and lib 2019-02-02 09:23:01 +10:00
Nigel Stewart
899d47a2f3 FreeBSD build fixup to use X11 from /usr/local 2019-02-02 09:23:01 +10:00
Nigel Stewart
fbcb13d274 FreeBSD xargs fixup for auto/Makefile 2019-02-02 09:23:01 +10:00
Nigel Stewart
a8df738667 FreeBSD using #!/usr/bin/env for portability 2019-02-02 09:23:01 +10:00
Nigel Stewart
79ca96a53e FreeBSD pkg install for README.md 2019-02-02 09:23:01 +10:00
Gyusun Yeom
4932bbba1d Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Jan 31 17:44:16 GMT 2019 2019-02-01 02:44:16 +09:00
Nigel Stewart
ce7bb5a8f0 Whitespace tidy-up for README.md 2019-01-31 08:31:31 +10:00
Gyusun Yeom
d650219631 Merge https://github.com/nigels-com/glew.git into master HEAD at Wed Jan 30 17:44:16 GMT 2019 2019-01-31 02:44:16 +09:00
Nigel Stewart
8368ad1c3e Travis: variable-driven artifacts (again) 2019-01-30 20:55:26 +10:00
Nigel Stewart
0cb090a1a9 Travis: variable-driven artifacts 2019-01-30 20:43:20 +10:00
Nigel Stewart
fb66d74d14 Travis: S3 credentials 2019-01-30 08:05:53 +10:00
Nigel Stewart
70fb6195ae Travis: disable EGL for now to workaround build failures 2019-01-30 07:46:03 +10:00
Nigel Stewart
180ac698f7 Travis build coverage updates 2019-01-30 07:46:03 +10:00
Gyusun Yeom
d36641c3e5 Generate Sources of origin/master updated at Mon Jan 28 17:45:47 GMT 2019 2019-01-29 02:45:47 +09:00
Gyusun Yeom
923d1cadf3 Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Jan 28 17:44:16 GMT 2019 2019-01-29 02:44:16 +09:00
Nigel Stewart
c49798062d Optional override of OpenGL-Registry, EGL-Registry amd glfixes git repos 2019-01-28 21:05:21 +10:00
TheVice
b48ded757e [glewinfo] added using of 'sscanf_s' function for some build environment. 2019-01-28 21:04:41 +10:00
Gyusun Yeom
317f39e669 Generate Sources of origin/master updated at Sat Jan 26 17:45:45 GMT 2019 2019-01-27 02:45:45 +09:00
Gyusun Yeom
831a868c60 Generate Sources of origin/master updated at Fri Jan 11 17:45:48 GMT 2019 2019-01-12 02:45:48 +09:00
Gyusun Yeom
28c160367b Generate Sources of origin/master updated at Thu Jan 10 17:45:44 GMT 2019 2019-01-11 02:45:44 +09:00
Gyusun Yeom
302eae8ebb Generate Sources of origin/master updated at Sun Dec 30 17:45:45 GMT 2018 2018-12-31 02:45:45 +09:00
Gyusun Yeom
99a9408cf0 Generate Sources of origin/master updated at Sat Dec 29 17:45:43 GMT 2018 2018-12-30 02:45:43 +09:00
Gyusun Yeom
82e4802538 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Dec 29 17:44:16 GMT 2018 2018-12-30 02:44:16 +09:00
Deve
7f65a36866 Fixed compilation with current mesa versions.
As you can see in
https://cgit.freedesktop.org/mesa/mesa/tree/include/GL/glext.h
now the file uses __gl_glext_h_ instead of __glext_h_
It's precisely caused by commit f7d42ee7d319256608ad60778f6787c140badada
2018-12-29 20:22:04 +10:00
Danilo Spinella
c63cdf976d Add GLEW_EGL in cmake build 2018-12-29 20:21:23 +10:00
Gyusun Yeom
8e190fe8fc Generate Sources of origin/master updated at Thu Dec 20 17:45:56 GMT 2018 2018-12-21 02:45:56 +09:00
Gyusun Yeom
a2ab3e7ca7 Generate Sources of origin/master updated at Wed Dec 19 17:45:42 GMT 2018 2018-12-20 02:45:42 +09:00
Gyusun Yeom
6dbc940772 Generate Sources of origin/master updated at Wed Oct 31 17:45:43 GMT 2018 2018-11-01 02:45:43 +09:00
Gyusun Yeom
06ec3affe2 Generate Sources of origin/master updated at Wed Oct 17 17:45:45 GMT 2018 2018-10-18 02:45:45 +09:00
Gyusun Yeom
679246fadb Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Oct 13 17:44:15 GMT 2018 2018-10-14 02:44:15 +09:00
Nigel Stewart
8b2d34956c Conditional cmake policy CMP0003 and CMP0042 2018-10-13 14:07:01 +10:00
Gyusun Yeom
5bb183155b Generate Sources of origin/master updated at Wed Oct 10 17:45:43 GMT 2018 2018-10-11 02:45:43 +09:00
Gyusun Yeom
6755e0fcac Merge https://github.com/nigels-com/glew.git into master HEAD at Wed Oct 10 17:44:15 GMT 2018 2018-10-11 02:44:15 +09:00
Nigel Stewart
40fbbe826c Snapshot tidy-up in README 2018-10-10 17:30:51 +10:00
Nigel Stewart
3e033b9db5 Fix Issue #189 - GL_NV_sample_locations glResolveDepthValuesNV 2018-10-10 16:49:12 +10:00
Nigel Stewart
6d5dabf870 Fix Issue #194 - KHR_context_flush_control enums 2018-10-10 16:38:56 +10:00
Nigel Stewart
14e212406c Fix Issue #195 - need to sort extensions by name, rather than path 2018-10-10 16:12:24 +10:00
Nigel Stewart
bc3c5d4992 glew-20181010.tgz GLEW 2.2.0 RC1 snapshot available 2018-10-10 14:09:18 +10:00
Nigel Stewart
4234f46208 Add a contributions section to README.md 2018-10-10 14:00:00 +10:00
Nigel Stewart
03afadd4f2 Using EGL-Registry for EGL support 2018-10-10 13:59:11 +10:00
Nigel Stewart
d547ee1556 Updated config.guess from http://git.savannah.gnu.org/ 2018-10-10 12:32:11 +10:00
Nigel Stewart
9964f51119 Linux info for EGL, OSMesa and Mingw-64 builds 2018-10-10 12:29:39 +10:00
Nigel Stewart
a8ebd2819e Linux info for EGL, OSMesa and Mingw-64 builds 2018-10-10 12:29:15 +10:00
Nigel Stewart
d73ad7eeb2 Blacklist more GLX SGIX extensions = fixup 2018-10-10 11:19:01 +10:00
Nigel Stewart
08ca29e604 Blacklist more GLX SGIX extensions 2018-10-10 11:08:45 +10:00
Nigel Stewart
66144ae686 GLEW 2.2.0 version bump 2018-10-10 11:08:45 +10:00
Nigel Stewart
be4e0eb102 Using KhronosGroup/OpenGL-Registry git repository for extension specifications 2018-10-10 11:08:45 +10:00
Paul Steinbrecher
c849b3f00b Update support for Cygwin 2.10.0 without X11. Based on MSYS toolchain config. 2018-10-10 11:02:56 +10:00
Paul Steinbrecher
e0e17b923e Revert "Update support for Cygwin 2.10.0 - based on MSYS toolchain config."
This reverts commit 2b3a490f7cd45afc294aedad55196b7a5a89813f.
2018-10-10 11:02:56 +10:00
Paul Steinbrecher
23a7226493 Update support for Cygwin 2.10.0 - based on MSYS toolchain config. 2018-10-10 11:02:56 +10:00
dimitri
b7c40325c7 Removed conan configuration. 2018-10-10 11:01:48 +10:00
Nigel Stewart
559cd7fad8 Updated build instructions for Linux 2018-10-10 10:56:37 +10:00
CiriUp
e8149ff567 Updated build instructions for Linux 2018-10-10 10:46:45 +10:00
Gyusun Yeom
4fbb8fe14a Generate Sources of origin/master updated at Thu Jun 21 12:01:56 GMT 2018 2018-06-21 21:01:56 +09:00
Gyusun Yeom
f43a19ea26 Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Jun 21 12:01:11 GMT 2018 2018-06-21 21:01:11 +09:00
dimitri
e544f8c12d Correction for conan v1.0.0 2018-01-13 11:50:10 +10:00
dimitri
ef0e1c4d3a Still avoiding 32-bit builds online, even though they work locally. 2018-01-13 11:50:10 +10:00
dimitri
1cdf352217 Building 32-bit binaries on 64-bit linux machines now supported. 2018-01-13 11:50:10 +10:00
Olli Kallioinen
f5f69b25eb Fix for issue #169 (glew cmake project requires a c++ compiler) 2017-12-30 09:25:54 +10:00
Nigel Stewart
2af38d87be Fixup for GLEW_VERSION_4_5 version detection 2017-12-02 09:16:46 +10:00
dimitri
871bb6601b Still avoiding 32-bit builds online, even though they work locally. 2017-11-19 09:17:22 +10:00
dimitri
0b396919e6 Building 32-bit binaries on 64-bit linux machines now supported. 2017-11-19 09:17:22 +10:00
wiranoid
ee3026486f Add Visual Studio 2015 and 2017 project files 2017-11-19 09:16:38 +10:00
dimitri
1579119716 Removed replace_in_file from imports. 2017-11-05 21:52:42 +10:00
dimitri
a30e00892a No longer need conanfile string replacement for win gcc. 2017-11-05 21:52:42 +10:00
Steve Robinson
07b759b784 The install_manifest.txt is actually in the top-level binary directory, not the project-specific binary directory. I get the CMake error 'Cannot find install manifest' if I've added the glew library as a subdirectory in my existing CMake project. 2017-10-09 21:10:58 +10:00
Nigel Stewart
b612863554 Merge pull request #154 from rblath/patch-1
Include description of glew in README.md
2017-09-27 22:19:07 +10:00
Rene
15ab6eebec Include description of glew in README.md
Description has been taken from glew.sourceforge.net
2017-09-27 11:42:00 +02:00
Nigel Stewart
3a8eff77da glewinfo fixup for MacOS core context mode with version>4.0+ 2017-07-31 21:11:51 +10:00
Nigel Stewart
1fe2ca4f37 Bump GLEW version to 2.1.0 2017-07-31 20:24:29 +10:00
Nigel Stewart
4b40314cc0 Initial OpenGL 4.6 support 2017-07-31 20:24:29 +10:00
Nigel Stewart
0ce7b8ee26 Merge pull request #151 from dimi309/master
Adding conan packaging support
2017-07-29 14:00:23 +10:00
dimitri
1b1371ddcb Conan package test cmakelists cleanup. 2017-07-26 05:35:34 +02:00
dimitri
f8c6f9bffd Using standard args in FindGLEW. 2017-07-26 05:23:03 +02:00
dimitri
b194494aef No version and no username in test_package/conanfile.py 2017-07-25 05:50:18 +02:00
dimitri
58b23c29a7 Using exports_sources. 2017-07-24 23:01:06 +02:00
dimitri
fc5659148d Correction for conan mingw debug builds. 2017-07-21 17:40:11 +03:00
dimitri
fd281347f4 Copying .pdb files for Windows debug static builds. 2017-06-30 07:23:23 +02:00
dimitri
2a5a242624 Back to original .travis.yml. Keeping .travis.yml.conan. 2017-06-27 06:04:02 +02:00
dimitri
b7fbaec9b3 Support for building released versions added. 2017-06-27 06:01:39 +02:00
dimitri
cf469ab200 Added conan packaging support. 2017-06-27 05:59:43 +02:00
dimitri
25bc79f2b9 Added basic conan files. 2017-06-25 20:15:34 +02:00
Nigel Stewart
be55fd6b6b Merge pull request #148 from jasjuang/master
add sudo make uninstall for cmake build
2017-06-21 23:35:30 +10:00
jasjuang
0b5461935f add sudo make uninstall for cmake build 2017-06-20 16:06:47 -07:00
Nigel Stewart
f678171b69 Fix for glxewInit - we need GLX 1.2 for calling glXGetCurrentDisplay 2017-04-27 20:43:33 +10:00
Nigel Stewart
8ae15ddd51 Merge pull request #143 from claudiofantacci/fix/cmakelists
Add VERSION and SOVERSION number to shared libraries
2017-04-25 17:52:20 +10:00
Claudio
298528cd87
Remove trailing space 2017-04-23 19:24:39 +02:00
Claudio
e7bf0f70b3
Add VERSION and SOVERSION number to shared libraries
With this commit, when building or installing `glew`, VERSION and
SOVERSION symlinks to the `glew` shared library are created in the
library installation folder if the platform supports them and the linker
supports so-names.
VERSION and SOVERSION specify, respectively, the build version and API
version of the shared library.

As an example, under macOS, the following symlinks will be created:
libGLEW.2.0.0.dylib                      (the shared library)
libGLEW.2.0.dylib -> libGLEW.2.0.0.dylib (VERSION symlink)
libGLEW.dylib -> libGLEW.2.0.dylib       (SOVERSION symlink)

Fixes #141
2017-04-23 19:24:12 +02:00
Nigel Stewart
8ef3df14f3 Snapshot available for GLEW 2.0.1 RC1 2017-04-23 12:40:33 +10:00
Nigel Stewart
ad15372255 Documentation refresh for upcoming GLEW 2.0.1 2017-04-23 12:17:16 +10:00
Nigel Stewart
60139a6cfb Initial draft of release notes for upcoming GLEW 2.0.1 2017-04-23 12:16:50 +10:00
Nigel Stewart
a82b984534 Add support for GLEW_INCLUDE to allow including glew.h from a custom location 2017-04-23 11:51:09 +10:00
Nigel Stewart
925722f910 OSX cmake refinement - no Requires: glu in glew.pc 2017-04-23 11:23:12 +10:00
Nigel Stewart
2906c1c10f OSX makefile refinements - only require GLU in GLEW_APPLE_GLX=1 mode, use -std=c99 for X11/GLX 2017-04-23 11:14:01 +10:00
Nigel Stewart
b34af4d1e3 Tidy-up for Mac makefile build configs 2017-04-23 10:55:00 +10:00
Nigel Stewart
a9e50908a1 For cmake build, skip X11 check for Windows and Apple OSX 2017-04-23 09:34:57 +10:00
Nigel Stewart
d77479401d For cmake build, opt into Mac OS X rpath mode, bump version to 2.8.12 2017-04-23 09:20:49 +10:00
Nigel Stewart
db019a23a9 Merge pull request #127 from techtonik/patch-1
glewinfo output is a .txt file
2017-04-23 09:07:59 +10:00
Nigel Stewart
75440cab22 Merge pull request #137 from tokenrove/fix-perl-5.26-inc
Fix perl @INC for scripts which include make.pl
2017-04-23 09:07:43 +10:00
Julian Squires
7f510379f6
Fix perl @INC for scripts which include make.pl
In perl 5.26, and some earlier perls that have been proactively
patched (Debian's perl 5.24, for example), '.' was removed from @INC
for security reasons.  For details, see:
  http://blogs.perl.org/users/todd_rinaldo/2016/11/how-removing-from-inc-is-about-to-break-cpan.html
  https://www.masteringperl.org/2017/01/perl-v5-26-removes-from-inc-but-dont-think-youre-safe/
et cetera.

This breaks the generation scripts which source make.pl with
  do 'bin/make.pl'

Although this might be indicative that it's time to refactor these
scripts, I opted for the simplest possible fix for now: restoring '.'
to @INC in each script that depends on make.pl.
2017-03-26 15:44:59 -04:00
Gyusun Yeom
ea68a21093 Merge pull request #12 from wang37921/master
public include directory
2017-03-03 01:33:33 +09:00
Cong Wang
ae2050b432 public include directory 2017-03-02 23:48:35 +08:00
anatoly techtonik
6f96777a4a glewinfo output is a .txt file 2017-01-15 22:20:19 +03:00
omniavinco
db1e93ef4c Generate Sources of origin/master updated at Sun Jan 8 17:55:36 GMT 2017 2017-01-09 02:55:36 +09:00
omniavinco
319c412f65 Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Jan 8 17:46:55 GMT 2017 2017-01-09 02:46:55 +09:00
Nigel Stewart
6ee72f2fce make build: Updated config.guess 2017-01-08 11:31:30 +10:00
Nigel Stewart
239fde0a43 Update copyright notice to 2017 2017-01-08 10:30:28 +10:00
Nigel Stewart
ac4a740b38 Merge pull request #126 from aroig/gh/cmake-on-msys2
cmake: only install PDB files with msvc
2017-01-08 09:51:03 +10:00
Abdo Roig-Maranges
cedd84f839 cmake: only install PDB files with msvc
Otherwise cmake windows builds with the mingw compiler are broken.
2016-12-27 20:48:09 +01:00
omniavinco
7be092340b Generate Sources of origin/master updated at Sat Dec 24 17:55:25 GMT 2016 2016-12-25 02:55:25 +09:00
omniavinco
43eefb57d0 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Dec 24 17:46:36 GMT 2016 2016-12-25 02:46:36 +09:00
Nigel Stewart
5766d27018 Note that clang is needed for SYSTEM=darwin-universal (not supported for gcc) 2016-12-25 00:50:42 +10:00
Nigel Stewart
f426fcee41 Tidy up use of unsued parameter attribute for Mac gcc builds 2016-12-25 00:49:20 +10:00
Nigel Stewart
51bd94fcca Add Mac gcc6 build configuration (gcc via brew) 2016-12-25 00:48:21 +10:00
omniavinco
f0d8d60cce Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Dec 23 17:46:58 GMT 2016 2016-12-24 02:46:58 +09:00
Nigel Stewart
4b9ffe44ee Merge pull request #109 from captainvera/master
Added build note on README
2016-12-23 21:06:05 +10:00
Nigel Stewart
62ac9ddfa4 Merge pull request #117 from undisputed-seraphim/Windows_Build_Fixes
Resolve issue #99: Removed /RTC1 flag in glew…
2016-12-23 21:05:39 +10:00
Nigel Stewart
db04f1d1ef Merge pull request #125 from rkanavath/master
CMake: call find_package only if build_utils is enabled
2016-12-23 21:04:10 +10:00
Nigel Stewart
71153f8b47 Merge pull request #121 from Lunarsong/patch-2
Corrected spelling of needed in README.md.
2016-12-23 21:03:57 +10:00
Rashad Kanavath
c690766fc2 CMake: call find_package only if build_utils is enabled 2016-12-23 05:50:13 +01:00
Shanee
023999f68f Corrected spelling of needed in README.md.
"neded" -> "needed".
2016-12-13 10:41:06 -08:00
omniavinco
4af9476eda Generate Sources of origin/master updated at Mon Dec 12 17:50:50 GMT 2016 2016-12-13 02:50:50 +09:00
Tan Li Boon
6a38eb3fc5 Resolve issue #99:
- Used cmake regex to strip out the /RTC1 flag used by MSVC debug builds, which conflicts with the -nodefaultlib and -noentry flags.
2016-11-21 20:03:23 +08:00
omniavinco
34d1b6bc31 Generate Sources of origin/master updated at Sun Nov 13 17:51:09 GMT 2016 2016-11-14 02:51:09 +09:00
omniavinco
74c6c8f89a Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Nov 13 17:45:14 GMT 2016 2016-11-14 02:45:14 +09:00
Nigel Stewart
a42be263ac README updates 2016-11-13 14:44:44 +10:00
Nigel Stewart
b79702c6b7 Bump the copyright notice to 2016 2016-11-13 14:33:55 +10:00
Nigel Stewart
2c6ad763af glxewInit check for current X11 display rather than crashing 2016-11-13 12:08:32 +10:00
Nigel Stewart
7f92f9adf7 Update Mac OSX builds to use -std=c89 rather than -ansi 2016-11-13 11:57:00 +10:00
omniavinco
59b243190a Generate Sources of origin/master updated at Sat Nov 12 17:53:06 GMT 2016 2016-11-13 02:53:06 +09:00
omniavinco
5120a35abf Generate Sources of origin/master updated at Sat Oct 15 17:55:42 GMT 2016 2016-10-16 02:55:42 +09:00
omniavinco
e6e5c08ff8 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Oct 15 17:45:44 GMT 2016 2016-10-16 02:45:44 +09:00
Nigel Stewart
013667e3e1 PHONY make targets: glew.lib glew.lib.shared glew.lib.static 2016-10-15 14:56:30 +10:00
Danilo Margarido
fe95392c3e Added the glew.lib sub-targets to the target list 2016-10-15 14:11:12 +10:00
Danilo Margarido
3d9e4808d3 Finer control over glew.lib
Allows building both, shared-only or static-only.
2016-10-15 14:11:12 +10:00
Miguel Vera
5b70131340 Added build note on README
Updated to reflect the concerns on issue #13
2016-10-05 01:32:57 +01:00
omniavinco
560041a19b Generate Sources of origin/master updated at Sat Oct 1 17:54:30 GMT 2016 2016-10-02 02:54:30 +09:00
omniavinco
998f57e090 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Oct 1 17:46:06 GMT 2016 2016-10-02 02:46:06 +09:00
Nigel Stewart
cdc3aeacde Filter out GL_NONE enum from GL_EGL_KHR_context_flush_control 2016-10-01 10:20:57 +10:00
omniavinco
81af57f72e Generate Sources of origin/master updated at Thu Sep 1 17:46:17 GMT 2016 2016-09-02 02:46:17 +09:00
omniavinco
2f22768eb3 Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Sep 1 17:44:22 GMT 2016 2016-09-02 02:44:22 +09:00
Nigel Stewart
67e980b532 Merge pull request #101 from dcower/master
Fix wglGetProcAddress-related crash on 64-bit Windows with NOGDI defined
2016-09-01 20:39:07 +10:00
Dillon Cower
2ca0184814 Move #undef NOGDI from wglew_head.h to glew_head.c 2016-08-27 22:59:50 -07:00
Dillon Cower
4a0d48fc7c Fix wglGetProcAddress-related crash on Windows with NOGDI defined 2016-08-27 16:52:16 -07:00
omniavinco
834284b7ee Generate Sources of origin/master updated at Sun Jul 24 17:46:13 GMT 2016 2016-07-25 02:46:13 +09:00
omniavinco
e3fe70d1dc Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Jul 24 17:44:27 GMT 2016 2016-07-25 02:44:27 +09:00
Nigel Stewart
7d72257b0f README.md updates for GLEW 2.0.0 release 2016-07-24 10:41:50 +10:00
Nigel Stewart
55b8951c96 Update documentation for GLEW 2.0.0 release 2016-07-24 10:39:11 +10:00
omniavinco
9aec204e2e Generate Sources of origin/master updated at Sat Jul 16 17:46:52 GMT 2016 2016-07-17 02:46:52 +09:00
omniavinco
eda0eed11c Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Jul 11 17:44:22 GMT 2016 2016-07-12 02:44:22 +09:00
Nigel Stewart
7dfa567e1d Merge pull request #92 from loufis/master
Fixed an issue on macs
2016-07-11 19:03:01 +10:00
Loufis
47fb0e3d16 Fixed a bug on macs
- Fixed an issue that made compiling glew hang on macs
- Currently using Apple LLVM version 7.0.2 (clang-700.1.81)
- Added .DS_Store files to gitignore
2016-07-11 07:56:34 -07:00
omniavinco
93ef744f23 Generate Sources of origin/master updated at Sat Jul 9 17:46:52 GMT 2016 2016-07-10 02:46:52 +09:00
omniavinco
a56fb7777e Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Jul 9 17:44:22 GMT 2016 2016-07-10 02:44:22 +09:00
Nigel Stewart
26d8275c61 Sourceforge Patch #67 Fix build failure on OS X < 10.7 2016-07-09 14:23:57 +10:00
Nigel Stewart
9c6989a59e Add sourceforge download badge to README 2016-07-09 14:06:26 +10:00
omniavinco
c24552fa19 Generate Sources of origin/master updated at Fri Jul 8 17:45:27 GMT 2016 2016-07-09 02:45:27 +09:00
omniavinco
19cdf6ac57 Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Jul 8 17:44:41 GMT 2016 2016-07-09 02:44:41 +09:00
Nigel Stewart
2e5443a5a2 New snapshot available, GLEW 2.0.0 RC 2016-07-08 22:28:40 +10:00
Nigel Stewart
243531f398 Remove obsolete script 2016-07-08 22:09:50 +10:00
Nigel Stewart
b3ff4606be Tolerate u or ull suffixes on tokens - GL_INVALID_INDEX, GL_TIMEOUT_IGNORED 2016-07-08 21:55:09 +10:00
Nigel Stewart
5505e52896 Bundle .md files in .zip and .tar source archives 2016-07-08 20:40:34 +10:00
Nigel Stewart
65f1b67ba3 Khronos PDF not needed for GLEW purposes 2016-07-08 20:25:40 +10:00
Nigel Stewart
17cd4a79ee Update config.guess from http://git.savannah.gnu.org/cgit/config.git/plain/config.guess 2016-07-08 20:16:14 +10:00
omniavinco
3be4d079d7 Generate Sources of origin/master updated at Fri Jun 17 17:47:53 GMT 2016 2016-06-18 02:47:53 +09:00
omniavinco
69271d06c2 Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Jun 17 17:44:49 GMT 2016 2016-06-18 02:44:49 +09:00
Nigel Stewart
3c83effd40 Tolerate lowercase hex digits in enumerants, in addition to 0-9, A-F 2016-06-18 00:09:43 +10:00
Nigel Stewart
54ce3fb039 EGLnsecsANDROID typedef for eglew.h 2016-06-17 23:37:13 +10:00
Nigel Stewart
9beea40e97 Update generated documentation of supported extensions 2016-06-17 23:26:53 +10:00
omniavinco
0ba2fb54c6 Generate Sources of origin/master updated at Wed Jun 8 17:45:49 GMT 2016 2016-06-09 02:45:49 +09:00
omniavinco
faf403280c Merge https://github.com/nigels-com/glew.git into master HEAD at Sat May 21 17:44:35 GMT 2016 2016-05-22 02:44:35 +09:00
Nigel Stewart
180db268c0 cmake fixup for non-Windows 2016-05-21 08:07:56 +10:00
Nigel Stewart
3ef1c134c4 Merge pull request #82 from adrianbroher/install-pdb
Install MSVC program database when building `Debug` or `RelWithDebInfo` configuration
2016-05-21 08:02:04 +10:00
Nigel Stewart
8047ef41fa parse_xml.py touch-up for Python 3 (or Python 2) 2016-05-21 07:59:11 +10:00
omniavinco
6f3f61c68e Generate Sources of origin/master updated at Wed May 11 17:45:53 GMT 2016 2016-05-12 02:45:53 +09:00
omniavinco
bc1a01e903 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat May 7 17:44:20 GMT 2016 2016-05-08 02:44:20 +09:00
Nigel Stewart
1ab282a9d3 Clarify that Makefile STRIP= does not affect install step, which always strips 2016-05-08 00:12:11 +10:00
Nigel Stewart
bbb23c534a Touch-ups for suggested Ubuntu apt-get install packages 2016-05-08 00:05:32 +10:00
omniavinco
280d754ac3 Generate Sources of origin/master updated at Sat Apr 16 17:46:37 GMT 2016 2016-04-17 02:46:37 +09:00
omniavinco
3bb390a566 Generate Sources of origin/master updated at Sat Apr 9 17:46:37 GMT 2016 2016-04-10 02:46:37 +09:00
omniavinco
c9db554e1f Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Apr 9 17:44:37 GMT 2016 2016-04-10 02:44:37 +09:00
Nigel Stewart
53df89fe32 Append GLVULKANPROCNV to GL_NV_draw_vulkan_image 2016-04-09 09:56:14 +10:00
omniavinco
c63ddd98f4 Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Apr 3 17:44:19 GMT 2016 2016-04-04 02:44:19 +09:00
Marcel Metz
f3831806e7 Install pdb file for Debug and RelWithDebInfo 2016-04-03 13:12:29 +02:00
Nigel Stewart
be51b869a1 CMake: Documentation touch-ups 2016-04-03 20:03:16 +10:00
Marcel Metz
8ca90d2cf1 CMake: Document available targets and variables. 2016-04-03 10:10:15 +02:00
omniavinco
530355e698 Generate Sources of origin/master updated at Sat Apr 2 17:45:55 GMT 2016 2016-04-03 02:45:55 +09:00
omniavinco
ebeeabace8 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Apr 2 17:44:22 GMT 2016 2016-04-03 02:44:22 +09:00
Marcel Metz
24bcf04c19 CMake: Use GNUInstallDirs variables for MacOSX framework destination 2016-04-02 10:40:42 +02:00
Marcel Metz
6bd1a26375 CMake: Use GNUInstallDirs variables for pkg-config 2016-04-02 10:37:12 +02:00
Nigel Stewart
957109be4e New snapshot available for download, including EGL support 2016-04-02 14:41:10 +10:00
Nigel Stewart
f1a40e2fea Direct linking of glGetString and glGetIntegerv is necessary for Windows/WGL 2016-04-02 13:27:32 +10:00
Marcel Metz
8042db9fa3 CMake: Use GNUInstallDirs to place the build artifacts properly
CMake 2.8.5 added the GNUInstallDirs module, which provides various
variables following the CMAKE_INSTALL_*DIR pattern to allow users a more
flexible installation setup and to provide sensible defaults while
respecting distribution specific install locations like lib64 for RPM
based linux distributions or debian multiarch tuples.
2016-04-02 10:57:37 +10:00
omniavinco
91666953f0 Generate Sources of origin/master updated at Wed Mar 23 17:45:13 GMT 2016 2016-03-24 02:45:13 +09:00
omniavinco
f2d45b6f53 Generate Sources of origin/master updated at Wed Mar 23 07:38:50 GMT 2016 2016-03-23 16:38:50 +09:00
stopiccot
30df027756 CMake support for building OS X framework 2016-03-19 07:30:41 +03:00
omniavinco
868558e265 Generate Sources of origin/master updated at Fri Feb 19 17:44:34 GMT 2016 2016-02-20 02:44:34 +09:00
omniavinco
ae08241886 Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Feb 19 17:44:14 GMT 2016 2016-02-20 02:44:14 +09:00
Nigel Stewart
c4bade8726 Resolve some gcc compilation warnings 2016-02-19 22:30:48 +10:00
Nigel Stewart
f4d58a657a LDFLAGS.EXTRA += -nostdlib seems problematic for SYSTEM=linux-mingw32, linux-mingw64 2016-02-19 22:24:12 +10:00
Nigel Stewart
a9f5ec3e21 Put CFLAGS -fno-builtin and LDFLAGS -nostdlib seperate to CC and LD variables 2016-02-19 22:09:15 +10:00
Wes Tarro
6c68ad327f Remove standard library dependency from older VS project files as well. 2016-02-15 17:22:07 -05:00
Wes Tarro
2563b1c36a Finish removing MX support from build system 2016-02-15 16:00:49 -05:00
Wes Tarro
e6a74a7487 Add windows build updates to Makefile builds. 2016-02-15 15:29:06 -05:00
Wes Tarro
9548431bd0 Moved DLL entry-point for GCC into glew.c rather than a standalone file
included using CMake.
2016-02-15 15:15:33 -05:00
Wes Tarro
02fc17f511 Fix warnings and CMake issue. 2016-02-06 13:35:13 -05:00
Wes Tarro
32b2ea5266 Fixed building with GCC - needed different options and had to create a dummy
DLL entry to avoid crashes.
2016-02-06 13:13:04 -05:00
omniavinco
61948d59d7 Generate Sources of origin/master updated at Sat Feb 6 17:44:35 GMT 2016 2016-02-07 02:44:35 +09:00
omniavinco
64d8e37d50 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Feb 6 17:44:15 GMT 2016 2016-02-07 02:44:15 +09:00
Wes Tarro
969faeafdf Merge branch 'master' of https://github.com/nigels-com/glew 2016-02-06 11:01:02 -05:00
Wes Tarro
31cee87b1c Finish taking C runtime out of GLEW on Windows and remove no longer supported MX configurations from Visual Studio projects. 2016-02-06 10:54:29 -05:00
Nigel Stewart
281e38de7d PYTHON make variable for using python2, optionally 2016-02-06 13:12:27 +10:00
Nigel Stewart
a7ea1dc3a3 Documentation refresh 2016-02-06 12:53:49 +10:00
Nigel Stewart
a288050b57 EGL glewinfo now working for both Nvidia and Mesa implementations 2016-02-06 12:41:20 +10:00
Nigel Stewart
23438663d6 For EGL purpose avoid using linked glGetString, load it via eglGetProcAddress instead. 2016-02-06 12:41:19 +10:00
Nigel Stewart
4d9010864e eglewInit takes EGLDisplay parameter, will do eglIntialize internally, for now 2016-02-06 12:41:18 +10:00
Nigel Stewart
15881f0421 EGL fixup for void parameter lists, additional defines 2016-02-06 12:41:17 +10:00
Nigel Stewart
a755351991 EGL fix: eglewInit and glewinfo need to manually load some EGL functions 2016-02-06 12:41:16 +10:00
Nigel Stewart
84b733d9bb EGL refinements and fixes 2016-02-06 12:41:15 +10:00
Nigel Stewart
20908a2182 Integrate the XML -> EGL specs step 2016-02-06 12:41:14 +10:00
Nigel Stewart
97bba61a10 Add GLEW_EGL builds to Travis 2016-02-06 12:41:13 +10:00
Nigel Stewart
c3ea366c9d Add SYSTEM=Linux-clang-egl config 2016-02-06 12:41:12 +10:00
Nigel Stewart
43a9299230 Initial EGL core and extension support with Python egl.xml spec parser 2016-02-06 12:41:11 +10:00
Nigel Stewart
5a6171078b GLEW EGL support touch-ups 2016-02-06 12:41:10 +10:00
Nigel Stewart
f4abb657b3 GLEW_EGL mode for loading functions via eglGetProcAddress 2016-02-06 12:41:09 +10:00
Nigel Stewart
4ee89ccb39 Build fix for GLEW_VAR_EXPORT, GLEW_FUN_EXPORT 2016-02-06 12:35:05 +10:00
Nigel Stewart
fe41bc3bdd Remove more #ifdef for GLEW_MX 2016-02-06 12:23:56 +10:00
Nigel Stewart
69b73ea446 Allow customisation of GLEW_GET_VAR, GLEW_GET_FUN 2016-02-06 12:19:47 +10:00
Nigel Stewart
c45763d790 Add make toolchains for msys, msys-win32 and msys-win64 2016-02-06 06:46:18 +10:00
Nigel Stewart
f65df11fa7 GNU make MSYS2 toolchain configuration added 2016-02-05 22:34:16 +10:00
Nigel Stewart
107c23d970 Update config.guess from upstream 2016-02-05 22:32:22 +10:00
Wes Tarro
5efdbaefc8 Makes GLEW truly independent of C runtime library on Windows to prevent
any issues with mixing compilers and library versions. The Visual Studio
Projects need some touching up to get all of the settings synced up for all
of the build variants.
2016-02-05 02:53:25 -05:00
omniavinco
f8afe700d5 Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Feb 4 17:55:11 GMT 2016 2016-02-05 02:55:11 +09:00
Nigel Stewart
b3440c0979 Add SYSTEM=mingw-win32 configuration for 32-bit MinGW variant 2016-02-04 22:33:41 +10:00
omniavinco
74c8a959b2 Generate Sources of origin/master updated at Sun Jan 31 17:44:33 GMT 2016 2016-02-01 02:44:33 +09:00
omniavinco
e4ed595e2c Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Jan 31 17:44:14 GMT 2016 2016-02-01 02:44:14 +09:00
Nigel Stewart
e82b76f719 README.md fixup 2016-01-31 14:55:39 +10:00
Nigel Stewart
0479706419 Fresh snapshot available for download - GLEW 2.0 release candidate 2016-01-31 14:54:29 +10:00
Nigel Stewart
6b8a2ab326 Add Travis-Cl logo to GLEW pages, clicks through to GLEW builds 2016-01-31 14:41:24 +10:00
Nigel Stewart
954b1d5947 Migrating more website information to README.md 2016-01-31 13:57:29 +10:00
omniavinco
b04e9803ef Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Jan 10 17:44:14 GMT 2016 2016-01-11 02:44:14 +09:00
Nigel Stewart
9ef6bfb7a6 Add gitter chat room link to README.md 2016-01-10 22:15:34 +10:00
omniavinco
51e6b73dda Generate Sources of origin/master updated at Fri Jan 8 17:44:39 GMT 2016 2016-01-09 02:44:39 +09:00
omniavinco
0af1837330 Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Jan 8 17:44:20 GMT 2016 2016-01-09 02:44:20 +09:00
Nigel Stewart
9297c604ca For cmake 3.4 - link X11 libs for glewinfo and visualinfo unless not available, or GLEW_OSMESA mode. 2016-01-08 23:25:46 +10:00
Nigel Stewart
5811916f32 Update .gitignore for cmake generated .rc files in build/ 2016-01-08 22:58:42 +10:00
Nigel Stewart
860af9f379 Fix regression with aliased extension detection, in second pass of make_list 2016-01-08 20:48:29 +10:00
omniavinco
9b1e3b3dca Generate Sources of origin/master updated at Thu Jan 7 17:44:33 GMT 2016 2016-01-08 02:44:33 +09:00
omniavinco
573806ef49 Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Jan 7 17:44:14 GMT 2016 2016-01-08 02:44:14 +09:00
Nigel Stewart
9617f35263 Fix regression in _glewExtensionCompare due to strcmp migration 2016-01-07 23:02:50 +10:00
Nigel Stewart
18ef5d021b Disable _glewSearchExtension for GLEW_OSMESA mode, it's not needed 2016-01-07 22:21:30 +10:00
Nigel Stewart
b5e16ca938 Disable stack protector for Linux builds, to avoid runtime dependency 2016-01-07 22:07:00 +10:00
Nigel Stewart
a2a4d937bf Eliminate strcmp dependency, introduced recently 2016-01-07 21:58:20 +10:00
Nigel Stewart
d96c978748 Eliminate malloc and free dependencies, recently introduced 2016-01-07 21:45:08 +10:00
Icy Defiance
b1c272b93a Replace int with ptrdiff_t to store the result of pointer subtraction 2016-01-06 19:39:48 -05:00
omniavinco
8732077f11 Generate Sources of origin/master updated at Sun Dec 6 17:44:38 GMT 2015 2015-12-07 02:44:38 +09:00
omniavinco
9ec6e6c1cd Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Dec 6 17:44:18 GMT 2015 2015-12-07 02:44:18 +09:00
Nigel Stewart
dd6e034cba Bump GLEW to version 2.0.0, with Core context support, but no MX, for now. 2015-12-06 12:50:41 +10:00
Nigel Stewart
9e66fc86a3 More cmake migrate for removal of MX 2015-12-06 12:49:28 +10:00
Nigel Stewart
be2688de70 For mingw32 cross-builds, link msvcrt library for malloc, free, etc 2015-12-06 12:49:27 +10:00
Nigel Stewart
8b0b5db90c Re-enable Travis build for Core Context mode 2015-12-06 12:49:26 +10:00
Nigel Stewart
a4aa9b2717 Remove MX support due to the complexity of supporting both MX and Core contexts 2015-12-06 12:49:24 +10:00
Nigel Stewart
01b33567e5 Workaround for core-context4 MX build break, for now 2015-12-06 12:49:23 +10:00
Nigel Stewart
6cea54733a [CoreSupport] Use 4th line of extension specification to reused extensions
Such as OpenGL 3.0 reusing ARB_vertex_array_object
Implement reused lists for OpenGL 3.0, 3.1 and 3.2 so far
2015-12-06 12:49:21 +10:00
Nigel Stewart
0fcb9a3061 Skip #ifdef block for extensions detected purely from extension string. 2015-12-06 12:49:19 +10:00
Nigel Stewart
c363cdb7c0 Fixup: stdlib.h and string.h needed for Linux gcc 4.8 build. 2015-12-06 12:49:18 +10:00
Nigel Stewart
928d629845 [CoreSupport] Resolve some Mac compilation warnings. 2015-12-06 12:49:17 +10:00
Nigel Stewart
41a40b01e9 [CoreSupport] Tab indentation for perl scripts 2015-12-06 12:49:16 +10:00
Nigel Stewart
d33d3b5b0f [CoreSupport] Linux/GLX touch-ups for GL 3.0 + extension detection, GLX. 2015-12-06 12:49:15 +10:00
Nigel Stewart
d89a349a31 [CoreSupport] Linux/GLX touch-ups for ANSI-C with gcc -pedantic compilation flag 2015-12-06 12:49:14 +10:00
Nigel Stewart
e647f55311 [CoreSupport] Linux/GLX touch-ups for extension string parsing and enable lookup. 2015-12-06 12:49:13 +10:00
Nigel Stewart
c996c06b27 [CoreSupport] For OpenGL 3.0 onwards use glGetStringi rather than glGetString(GL_EXTENSIONS) 2015-12-06 12:49:12 +10:00
Nigel Stewart
731b1e6602 [CoreSupport] Represent the extension string(s) as an array of GLboolean - _glewGetExtensionString and _glewGetExtensionEnable
glewinfo output is identical.
TODO core context glGetStringi support.
TODO MX support.
2015-12-06 12:49:11 +10:00
Nigel Stewart
1da7dd6e0a [CoreSupport] Add code generation for sorted array of extension strings, which can index into array of pointers of extension enable flags. 2015-12-06 12:49:10 +10:00
Nigel Stewart
ea763af989 [CoreSupport] Add make_initd.pl code generator for declaring all the _glewInit functions
This allows the initializers to call each other according to the interdependencies.
2015-12-06 12:49:09 +10:00
Nigel Stewart
99421ea9fe Migrate Travis GLEW build to container-based infrastructure 2015-12-06 12:08:58 +10:00
Nigel Stewart
5ce6248594 Update GLEW website with link to glew-20151117.tgz 2015-12-06 11:47:55 +10:00
omniavinco
80726c2df7 Merge https://github.com/nigels-com/glew.git into master HEAD at Tue Nov 17 17:44:14 GMT 2015 2015-11-18 02:44:14 +09:00
Tamas Kenez
66c5229ec2 cmake: allow calling find_package(GLEW) multiple times 2015-11-17 21:27:49 +10:00
Nigel Stewart
c8c0c1e480 OSX install to /usr/local as required by 10.11 El Capitan 2015-11-17 21:23:51 +10:00
Mischa Spiegelmock
f9466c40f8 stick OSX install in /usr/local prefix; 10.11 does not allow writing to /usr/{include,lib} 2015-11-17 21:18:35 +10:00
omniavinco
0c3450e8db Generate Sources of origin/master updated at Mon Oct 12 17:44:45 GMT 2015 2015-10-13 02:44:45 +09:00
omniavinco
fc0036b9b7 Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Oct 12 17:44:18 GMT 2015 2015-10-13 02:44:18 +09:00
Nigel Stewart
06891ebb35 OSMesaMakeCurrent for glewCreateContext in GLEW_OSMESA mode. 2015-10-12 20:31:51 +10:00
omniavinco
9d73125320 Generate Sources of origin/master updated at Sat Oct 10 17:44:46 GMT 2015 2015-10-11 02:44:46 +09:00
omniavinco
bd5d498437 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Oct 10 17:44:18 GMT 2015 2015-10-11 02:44:18 +09:00
Gyusun Yeom
c5c60068f7 Add ".rc" files to each libraries and executables for Windows build 2015-10-10 11:40:47 +10:00
Nigel Stewart
fd49b2baff Touch-ups for GLEW_OSMESA build support 2015-10-10 11:33:40 +10:00
Julian Squires
11e24d4a9b Hack in crude OSMesa support
Mostly this is quick, "do nothing" ifdefs when built with
SYSTEM=linux-osmesa, to support the off-screen rendering mode of Mesa in
headless tests.  Support in glewinfo and visualinfo is enough to get
them compile, but insufficient for them to run successfully.
2015-10-10 11:26:03 +10:00
Nigel Stewart
4718d42dde Regal-mode support for cmake build 2015-10-10 11:22:12 +10:00
Nigel Stewart
bf2cd13450 Travis and Makefile refinements - less logging, cmake build coverage in Travis 2015-10-10 11:18:35 +10:00
Gyusun Yeom
12670f2b4a Add space before close-parenthesis 2015-10-07 14:23:34 +09:00
Gyusun Yeom
19bd2de9e3 Add sigle-context/multi-context version build option 2015-10-07 14:21:05 +09:00
omniavinco
18197fd0ec Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Oct 5 17:44:17 GMT 2015 2015-10-06 02:44:17 +09:00
Nigel Stewart
ba913841ae Migrating README.txt to README.md 2015-10-05 20:12:39 +10:00
Nigel Stewart
c9ec523858 Travis build config added 2015-10-05 17:02:56 +10:00
omniavinco
d8f945586c Generate Sources of origin/master updated at Mon Aug 10 17:44:57 GMT 2015 2015-08-11 02:44:57 +09:00
omniavinco
c7de9d54bf Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Aug 10 17:44:38 GMT 2015 2015-08-11 02:44:38 +09:00
Nigel Stewart
cbd0dce3c5 GLEW 1.13.0 fixup for log.html 2015-08-10 22:25:34 +10:00
Nigel Stewart
f0067bb115 Bump version to 1.13.0, updated documentation. 2015-08-10 21:46:09 +10:00
omniavinco
c1e87433e5 Generate Sources of origin/master updated at Fri Aug 7 17:44:38 GMT 2015 2015-08-08 02:44:38 +09:00
omniavinco
902171e1f3 Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Aug 7 17:44:16 GMT 2015 2015-08-08 02:44:16 +09:00
Nigel Stewart
9e3e40d974 glxewInit and wglewInit fixup. 2015-08-07 17:10:09 +10:00
Nigel Stewart
470652935c glxewInit and wglewInit for non-MX mode. 2015-08-07 17:04:27 +10:00
Nigel Stewart
d4a0a8401c Refactoring glxewIsSupported and wglewIsSupported for backwards compatibility. 2015-08-07 16:53:47 +10:00
Nigel Stewart
08806061a4 Refactoring wglewInit, glxewInit for better consistency. 2015-08-07 16:41:04 +10:00
Nigel Stewart
54b537afda No longer using deprecated AGL framework on Mac for visualinfo 2015-08-07 12:23:36 +10:00
omniavinco
ce75a3eb2d Generate Sources of origin/master updated at Thu Aug 6 17:44:43 GMT 2015 2015-08-07 02:44:43 +09:00
omniavinco
3a53edea04 Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Aug 6 17:44:21 GMT 2015 2015-08-07 02:44:21 +09:00
yy-yyaa
e1815b2729 OpenGL 4.5 omissions - GetnUniformdv, GetnCompressedTexImage, CONTEXT_FLAG_ROBUST_ACCESS_BIT 2015-08-06 12:13:50 +10:00
yy-yyaa
0cc7dd8cc5 OpenGL 4.2 adds TRANSFORM_FEEDBACK_ACTIVE, TRANSFORM_FEEDBACK_PAUSED 2015-08-06 12:04:16 +10:00
Nigel Stewart
754e051049 Specification filtering refinement - omit contacts, include contacts and notice 2015-08-06 10:43:12 +10:00
Nigel Stewart
d80fd5514f Specification filtering refinement - no overview or issues sections 2015-08-06 10:33:23 +10:00
omniavinco
1a6229a0bb Generate Sources of origin/master updated at Wed Aug 5 17:44:40 GMT 2015 2015-08-06 02:44:40 +09:00
omniavinco
32051fc50c Merge https://github.com/nigels-com/glew.git into master HEAD at Wed Aug 5 17:44:18 GMT 2015 2015-08-06 02:44:18 +09:00
Nigel Stewart
5ae027a8cd Merge pull request #53 from tamaskenez/master
build: cmake-testbuild to work on OS X and with CMake < 3.0
2015-08-05 10:26:52 +10:00
Nigel Stewart
4b75493364 VC12 - Use .rc files for glewinfo and visualinfo 2015-08-05 10:02:19 +10:00
Nigel Stewart
fd152a143b Merge pull request #54 from lanurmi/rc-line-split
Resolve Visual Studio 2012 resource compiler problem also in the other two .rc files.
2015-08-05 09:53:15 +10:00
Lauri Nurmi
816c19c321 For GLEW Bug 201 - Resolve Visual Studio 2012 resource compiler problem also in the other two .rc files.
The resource compiler in VS2012 and newer does not accept excessively long string literals on one line.
2015-08-04 08:58:06 +03:00
omniavinco
7574ab4d00 Generate Sources of origin/master updated at Fri Jul 24 17:44:40 GMT 2015 2015-07-25 02:44:40 +09:00
omniavinco
bdb7d8bdfc Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Jul 24 17:44:18 GMT 2015 2015-07-25 02:44:18 +09:00
Nigel Stewart
ba410e12e2 glxewContextInit fixup - require GLX_ARB_create_context. 2015-07-24 12:16:39 +10:00
Nigel Stewart
d367215cde Windows glewinfo fixup - check for WGL_ARB_create_context 2015-07-24 11:52:16 +10:00
Nigel Stewart
4c009908e2 Windows glewinfo fixup - expose wglewContextInit and wglewIsSupported. 2015-07-24 11:37:01 +10:00
omniavinco
0af757be46 Generate Sources of origin/master updated at Sat Jul 18 03:26:46 GMT 2015 2015-07-18 12:26:46 +09:00
omniavinco
271dbb8687 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Jul 18 03:26:28 GMT 2015 2015-07-18 12:26:28 +09:00
Gyusun Yeom
0d77a03a16 Add daily maintain script 2015-07-18 12:22:19 +09:00
Gyusun Yeom
5b895ae670 Merge pull request #10 from mchiasson/master
Updated generated source and headers with latest OpenGL registry.
2015-07-18 12:15:35 +09:00
Nigel Stewart
4c40805809 Sourceforge Bug 277 - OpenGL 4.5 glGetnTexImage is missing 2015-07-17 10:53:18 +10:00
Tamas Kenez
67b12efec7 build: cmake-testbuild to work on OS X and with CMake < 3.0 2015-07-12 23:12:36 +02:00
Mathieu-Andre Chiasson
26f3c9889d Updated generated source and headers with latest OpenGL registry. 2015-07-11 17:21:37 -04:00
omniavinco
62f1f24c73 Merge https://github.com/nigels-com/glew.git into master HEAD at Wed Jun 24 17:44:11 GMT 2015 2015-06-25 02:44:11 +09:00
Nigel Stewart
0cbd8f648f Merge pull request #48 from tamaskenez/cmake-config-module-2
cmake: install config-module
2015-06-24 08:24:02 +10:00
Tamas Kenez
d2e6823451 cmake: install config-module
Installs a config module if CMake verion >= 2.8.12.
The config-module creates the import library targets
built in the project (glew, glew_s, glewmx, glewmx_s)
but in accordance with the FindGLEW module shipped with
CMake, it also creates GLEW::GLEW and GLEW::GLEWMX.

GLEW::GLEW and GLEW::GLEWMX will be simply copies of
glew/glewmx or glew_s/glewmx_s. If both versions are
available they alias the shared versions.

The default behaviour can be changed either when installing
or when using the package:

- Set BUILD_SHARED_LIBS to OFF or ON when building and
  installing GLEW. This controls which libraries
  (shared or static) will be installed (and not which
  will be built).
- Set GLEW_USE_STATIC_LIBS to OFF or ON before calling
  `find_package(GLEW CONFIG REQUIRED)` to force
  the config-module to create GLEW::GLEW and GLEWMX
  as aliases to glew/glewmx or glew_s/glewmx_s

The script ./cmake-testbuild.sh is added to test the
CMake build and config-module. See instructions there.
2015-06-22 14:06:50 +02:00
omniavinco
97cb936058 Generate Sources of origin/master updated at Thu Jun 18 17:44:24 GMT 2015 2015-06-19 02:44:24 +09:00
omniavinco
4832dfd170 Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Jun 18 17:44:11 GMT 2015 2015-06-19 02:44:11 +09:00
Nigel Stewart
a4a87f9466 Add clang Linux configuraiton. 2015-06-18 21:17:44 +10:00
Nigel Stewart
d932bc3eca Fixup: glxewContextInit now needed for glewinfo purposes. 2015-06-18 20:45:29 +10:00
omniavinco
3a183ac231 Generate Sources of origin/master updated at Sat Jun 13 17:44:26 GMT 2015 2015-06-14 02:44:26 +09:00
omniavinco
f5be4658cb Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Jun 13 17:44:11 GMT 2015 2015-06-14 02:44:12 +09:00
Nigel Stewart
fda28dbfb0 [CoreSupport] Tab indentation for perl scripts 2015-06-13 19:44:35 +10:00
Nigel Stewart
fc84055808 Merge pull request #43 from nigels-com/glewinfo-core
glewinfo command-line support for GL context version, profile and flags
2015-06-13 10:57:38 +10:00
Nigel Stewart
0c19148d6a glew_utils is no longer used, removing. 2015-06-13 10:36:07 +10:00
Nigel Stewart
0e88d39f4a Leave extraneous #ifdef blocks 2015-06-13 10:18:41 +10:00
Nigel Stewart
49eafff105 Use -ansi -pedantic compilation flags for Linux build. 2015-06-13 10:00:42 +10:00
Nigel Stewart
044b9ff14c Add -ansi -pedantic compilation flags for Mac build, as extra diagnostic information. 2015-06-13 10:00:18 +10:00
Nigel Stewart
9580ab4226 [CoreSupport] Whitespace fixup for make_def_var.pl 2015-06-13 09:59:38 +10:00
omniavinco
88132fdb08 Merge https://github.com/nigels-com/glew.git into master HEAD at Wed Jun 10 17:44:11 GMT 2015 2015-06-11 02:44:11 +09:00
Nigel Stewart
e943e3c91c Merge pull request #45 from tamaskenez/cmake-install-headers
cmake: install header files
2015-06-10 19:06:56 +10:00
Tamas Kenez
9b5d29be72 fix previous commit 2015-06-10 10:30:26 +02:00
Tamas Kenez
29a0ac0f47 cmake: install named headers instead of directory 2015-06-10 10:27:28 +02:00
Tamas Kenez
e618ce2efb cmake: install header files 2015-06-09 14:59:57 +02:00
Nigel Stewart
211bf29181 [CoreSupport] glewinfo profiles/flags refinement - commandline profile and flags as strings. 2015-05-29 20:45:19 +10:00
Nigel Stewart
0720521034 [CoreSupport] glewinfo profiles/flags documentation breadcrumbs. 2015-05-29 20:29:08 +10:00
Nigel Stewart
60b0fc5c05 [CoreSupport] Mac OS X support for glewinfo GL version/profiles/flags. 2015-05-29 20:18:22 +10:00
Matthias Bentrup
2d0899283f Extend glewinfo to request specific GL versions/profiles/flags. 2015-05-29 20:18:16 +10:00
omniavinco
2afabc5e36 Generate Sources of origin/master updated at Sun May 10 17:44:25 GMT 2015 2015-05-11 02:44:25 +09:00
Gyusun Yeom
cfcfbb5e6b Merge pull request #9 from andystanton/feature/add-travis-ci
Add Travis CI support
2015-04-27 17:00:03 +09:00
Andy Stanton
dc27f8e2fe Add travis.yml.
Add gcc and clang. Override script to prevent "make test" running
2015-04-27 08:33:15 +01:00
omniavinco
8019ddef45 Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Mar 30 17:44:15 GMT 2015 2015-03-31 02:44:16 +09:00
Nigel Stewart
7c046e2307 For github pull request #33 - GLEW version in glew.h
Allow for tools to extract the GLEW version from glew.h directly.
No functional change for C API.
See: https://github.com/nigels-com/glew/pull/33/files
2015-03-29 11:43:56 +10:00
omniavinco
77a8c11b80 Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Mar 26 17:44:12 GMT 2015 2015-03-27 02:44:12 +09:00
Nigel Stewart
06430b007b First try AR, then try LIBTOOL... 2015-03-26 19:52:10 +10:00
Nigel Stewart
1fed499560 Merge pull request #35 from BastiaanOlij/master
Changing over makefiles so LDFLAGS.STATIC is used. Also added makefile.d...
2015-03-26 19:34:41 +10:00
BastiaanOlij
aee8b6ff69 Renamed ARFLAGS.STATIC to simply ARFLAGS 2015-03-26 13:24:03 +11:00
BastiaanOlij
69cbc3532f Changed approach to be slightly more resilient to regression issues 2015-03-23 21:16:49 +11:00
omniavinco
69e31e274f Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Mar 20 17:44:12 GMT 2015 2015-03-21 02:44:12 +09:00
Nigel Stewart
573eeabd8e [Mac] Migrate glewinfo on Mac from AGL to CGL, with the possibility of running in (core) OpenGL 3.2 mode. 2015-03-20 20:23:04 +10:00
Nigel Stewart
cc6695b60c Merge pull request #34 from xantares/master
fix cmake build
2015-03-20 20:15:07 +10:00
BastiaanOlij
0c9ab41431 Changing over makefiles so LDFLAGS.STATIC is used. Also added makefile.darwin-universal for creating a universal static library that can be used properly. 2015-03-15 18:55:29 +11:00
omniavinco
1c7e8c529b Generate Sources of origin/master updated at Sat Feb 28 00:32:40 GMT 2015 2015-02-28 09:32:40 +09:00
omniavinco
0beff1381f Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Feb 28 00:32:24 GMT 2015 2015-02-28 09:32:24 +09:00
xantares
b565769b01 fix compile definitions for glewmx too 2015-02-26 11:10:12 +00:00
xantares
516c9adf41 set right export definitions for shared/static libs 2015-02-26 11:00:25 +00:00
xantares
9a8e815da8 [cmake] get version from config/version 2015-02-26 10:54:39 +00:00
Nigel Stewart
4fcd4688a5 [cmake] Move cmake build into build/cmake to avoid collision with established GNUmake build system. 2015-02-19 21:45:56 +10:00
Nigel Stewart
40513e0bb4 Merge github pull request #28
https://github.com/nigels-com/glew/pull/28
2015-02-19 21:11:24 +10:00
xantares
ed4fe8ebc4 set project name to glew 2015-02-09 16:06:11 +01:00
xantares
a5f0612349 build static & shared 2015-02-06 09:33:39 +01:00
Nigel Stewart
6722500d95 Merge pull request #27 from stopiccot/fixing_gitattributes
Fixing gitattribute
2015-02-06 13:41:43 +10:00
xantares
b1822129a0 Update CMakeLists.txt
X11 are part of OPENGL_LIBRARIES
2015-02-04 21:45:12 +01:00
xantares
e6cd59d9b5 rewrite cmake infrastructure 2015-02-04 21:27:12 +01:00
stopiccot
40fc2a9823 Fixing gitattribute 2015-01-30 01:34:39 +03:00
Nigel Stewart
9fedd9e053 Bump version to 1.12.0, updated documentation. 2015-01-24 22:45:29 +10:00
Nigel Stewart
138a0b42f4 Update config.guess from http://git.savannah.gnu.org/cgit/config.git/plain/config.guess 2015-01-24 17:38:29 +10:00
Nigel Stewart
b52fa4654d Bump copyright year to 2015 2015-01-24 17:21:59 +10:00
Nigel Stewart
c3e6ce6b61 Sourceforge Bug 253 - CFLAGS for Solaris need PIC specified 2015-01-24 17:08:19 +10:00
Nigel Stewart
e37f6728fe Sourceforge Bug 263 - Fixed include path for pkg-config 2015-01-24 17:03:51 +10:00
Nigel Stewart
12f15cf2a6 Merge pull request #23 from goldhoorn/master
Corrected package_config file.
2015-01-24 16:51:58 +10:00
Carsten Neumann
e6a117de9b add missing glGetGraphicsResetStatus function to VERSION_4_5
This function is in OpenGL 4.5, but not part of GL_KHR_robustness
extension - it is in GL_ARB_robustness, but there it has the ARB suffix.
2015-01-07 19:54:05 +10:00
Nigel Stewart
5eaf283c70 #264 FreeBSD: missing -fPIC when linking libglew 2015-01-07 19:43:34 +10:00
Nigel Stewart
cbe15308bf Merge remote-tracking branch 'improve_config' 2014-12-11 21:43:48 +10:00
Nigel Stewart
f1eae16bb8 Sourceforge bug 260 Missing defines: GL_COPY_{READ|WRITE}_BUFFER_BINDING 2014-12-11 19:34:52 +10:00
Nigel Stewart
404df2ee70 cmake build on Linux needs to link X11 2014-12-01 20:13:15 +10:00
Matthias Goldhoorn
daf318d02f Corrected package_config file.
On multiarch the librarys got installed in lib64.
Therefore take the libpath from the makefile and not assuming the
lib directory from the install dir
2014-11-12 15:50:46 +01:00
Togo Nishigaki
8b138bcd46 added CMakeLists.txt 2014-11-09 22:25:45 +09:00
Togo Nishigaki
765b219893 improved config/Makefile.linux-mingw* to support any host easily 2014-11-04 09:37:00 +09:00
omniavinco
6ee5896cdc Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Oct 24 17:44:11 GMT 2014 2014-10-25 02:44:11 +09:00
Nigel Stewart
06db711223 Merge pull request #19 from omniavinco/master
Sort the enums in a stable manner
2014-10-24 21:05:45 +10:00
Nigel Stewart
d32f4278e2 Tidy-up for .gitattributes and update_ext.sh 2014-10-24 21:03:11 +10:00
omniavinco
51cb63b12a Sort the enums in a stable manner 2014-10-21 20:42:12 +09:00
omniavinco
45ebeddf0f Generate Sources of origin/master updated at Mon Oct 20 17:44:24 GMT 2014 2014-10-21 02:44:24 +09:00
omniavinco
a3825dcb85 Generate Sources of origin/master updated at Sun Oct 19 17:44:22 GMT 2014 2014-10-20 02:44:22 +09:00
Frank Park
ff92992cc5 Fixed .gitattributes 2014-10-19 02:07:45 -04:00
Frank Park
e400e097ea Fixed .gitattributes 2014-10-19 02:04:50 -04:00
Frank Park
62f3c733f1 Ignored png and vs projects in gitattributes 2014-10-19 02:03:49 -04:00
Frank Park
67155de5c2 Merge remote-tracking branch 'origin/master'
Conflicts:
	.gitattributes
2014-10-19 02:00:39 -04:00
Frank Park
a790eb8129 Fixed a bug with shell script and added .gitattributes
Update_ext.sh does not utilize the blacklist correctly with cygwin due
to the argument -name in find is not quoted. Argument *.txt has been
changed to "*.txt" to fix the issue.

Also, it is currently possible for windows users to pull the repo in
CRLF format which destroys the scripts and source files. .gitattributes
were added to prevent this issue.
2014-10-19 01:59:48 -04:00
Frank Park
1682c7ae3e Fixed a bug with shell script and added gitattributes to prevent non-binary pulls
Cygwin was unable to filter the specs files using the blacklist due to
the argument in find was -name *.txt instead of -name "*.txt" .

Also, it is currently possible to pull under windows to result in CRLF
line endings in scripts and other source files that destroy the build.
.gitattributes were added to prevent non-binary pulls.

Both issues are fixed with this pull request.
2014-10-19 01:54:39 -04:00
omniavinco
933e322dd5 Sort the enums in a stable manner 2014-10-16 23:46:52 +09:00
omniavinco
2c6f79c148 Generate Sources of origin/master updated at Wed Oct 15 17:44:24 GMT 2014 2014-10-16 02:44:24 +09:00
omniavinco
6ca897879f Generate Sources of origin/master updated at Tue Oct 14 17:44:24 GMT 2014 2014-10-15 02:44:24 +09:00
omniavinco
819f806107 Merge https://github.com/nigels-com/glew.git into master HEAD at Tue Oct 14 17:44:11 GMT 2014 2014-10-15 02:44:11 +09:00
Nigel Stewart
bffebf81cc Add web links to README.txt 2014-10-14 19:33:04 +10:00
Nigel Stewart
3f48639825 Linux gcc 4.8 now builds clean with -Wcast-qual flag. 2014-10-14 19:24:49 +10:00
omniavinco
15ad18bc1a Generate Sources of origin/master updated at Mon Oct 13 17:44:19 GMT 2014 2014-10-14 02:44:19 +09:00
omniavinco
7cea676806 Generate Sources of origin/master updated at Sun Oct 12 17:44:23 GMT 2014 2014-10-13 02:44:23 +09:00
omniavinco
2227a08d22 Generate Sources of origin/master updated at Fri Oct 10 17:44:19 GMT 2014 2014-10-11 02:44:19 +09:00
omniavinco
8fe0cc10db Generate Sources of origin/master updated at Mon Oct 6 17:44:28 GMT 2014 2014-10-07 02:44:28 +09:00
omniavinco
657889e2a0 Merge https://github.com/nigels-com/glew.git into master HEAD at Mon Oct 6 17:44:14 GMT 2014 2014-10-07 02:44:14 +09:00
Nigel Stewart
d99211a9d3 Filtering for GL_NV_framebuffer_mixed_samples extension added. 2014-10-06 21:53:58 +10:00
omniavinco
e7010eea07 Generate Sources of origin/master updated at Sun Oct 5 17:44:21 GMT 2014 2014-10-06 02:44:21 +09:00
omniavinco
ffcdf98d6c Generate Sources of origin/master updated at Sat Oct 4 17:44:22 GMT 2014 2014-10-05 02:44:22 +09:00
omniavinco
7d4191c138 Generate Sources of origin/master updated at Fri Oct 3 17:44:19 GMT 2014 2014-10-04 02:44:19 +09:00
omniavinco
c50a0582bd Generate Sources of origin/master updated at Thu Oct 2 17:44:19 GMT 2014 2014-10-03 02:44:19 +09:00
omniavinco
8bd32fb681 Generate Sources of origin/master updated at Tue Sep 30 17:44:19 GMT 2014 2014-10-01 02:44:19 +09:00
omniavinco
6db724a060 Generate Sources of origin/master updated at Sun Sep 28 17:44:19 GMT 2014 2014-09-29 02:44:19 +09:00
omniavinco
4b50556664 Merge https://github.com/nigels-com/glew.git into master HEAD at Sat Sep 27 17:52:51 GMT 2014 2014-09-28 02:52:51 +09:00
Nigel Stewart
f796232672 For mingw builds, define GLEW_BUILD unconditionally for shared libs only. 2014-09-27 13:05:04 +10:00
Nigel Stewart
b9be4b6c99 GLEW Bug #215 Readme - is wrong
https://sourceforge.net/p/glew/bugs/215/
2014-09-27 11:51:15 +10:00
Nigel Stewart
d04fd20cec Touch-up: Sort the enums (tokens) in a stable manner for consistency in include files. 2014-09-27 11:34:59 +10:00
omniavinco
90277d022a Generate Sources of origin/master updated at Wed Sep 24 17:44:19 GMT 2014 2014-09-25 02:44:19 +09:00
omniavinco
b23fc454db Generate Sources of origin/master updated at Tue Sep 23 17:44:19 GMT 2014 2014-09-24 02:44:19 +09:00
omniavinco
61e43be6fb Generate Sources of origin/master updated at Mon Sep 22 17:44:19 GMT 2014 2014-09-23 02:44:19 +09:00
omniavinco
c1c69104dd Generate Sources of origin/master updated at Sun Sep 21 17:44:19 GMT 2014 2014-09-22 02:44:19 +09:00
omniavinco
117a22ea96 Generate Sources of origin/master updated at Fri Sep 19 17:44:19 GMT 2014 2014-09-20 02:44:19 +09:00
omniavinco
c26257cdff Generate Sources of origin/master updated at Thu Sep 18 17:44:25 GMT 2014 2014-09-19 02:44:25 +09:00
omniavinco
fc9d19ab37 Merge https://github.com/nigels-com/glew.git into master HEAD at Thu Sep 18 17:44:12 GMT 2014 2014-09-19 02:44:12 +09:00
Nigel Stewart
6b5f533a7a Update snapshots available for download 2014-09-18 21:31:24 +10:00
Nigel Stewart
f2faf55123 Merge pull request #16 from BryceMehring/master
Added support for mingw-w64 cross-compilation.
2014-09-18 21:16:18 +10:00
Nigel Stewart
0ab85a792d For Pelles C compiler, _GL_H check
https://sourceforge.net/p/glew/bugs/254/
2014-09-18 21:12:32 +10:00
Nigel Stewart
26be54cb1a Fixups for GL_KHR_robustness support. 2014-09-18 20:51:56 +10:00
omniavinco
2a34faa730 Generate Sources of origin/master updated at Wed Sep 17 17:44:19 GMT 2014 2014-09-18 02:44:19 +09:00
omniavinco
998722981f Generate Sources of origin/master updated at Mon Sep 15 17:44:25 GMT 2014 2014-09-16 02:44:25 +09:00
omniavinco
57e1b1d0e9 Generate Sources of origin/master updated at Sun Sep 14 17:44:19 GMT 2014 2014-09-15 02:44:19 +09:00
omniavinco
d80b4f1a88 Generate Sources of origin/master updated at Sat Sep 13 17:44:19 GMT 2014 2014-09-14 02:44:19 +09:00
omniavinco
5b0b52c70d Generate Sources of origin/master updated at Sat Sep 13 02:33:23 GMT 2014 2014-09-13 11:33:23 +09:00
omniavinco
f22182f664 Generate Sources of origin/master updated at Fri Sep 12 17:44:19 GMT 2014 2014-09-13 02:44:19 +09:00
omniavinco
5f3a0e31dd Generate Sources of origin/master updated at Tue Sep 9 17:44:21 GMT 2014 2014-09-10 02:44:21 +09:00
omniavinco
d45e5d3b34 Generate Sources of origin/master updated at Mon Sep 8 17:44:18 GMT 2014 2014-09-09 02:44:18 +09:00
omniavinco
574f6f0407 Generate Sources of origin/master updated at Sun Sep 7 17:44:21 GMT 2014 2014-09-08 02:44:21 +09:00
omniavinco
66e8e09e20 Generate Sources of origin/master updated at Fri Sep 5 17:44:18 GMT 2014 2014-09-06 02:44:18 +09:00
omniavinco
ceb841390b Generate Sources of origin/master updated at Thu Sep 4 17:44:18 GMT 2014 2014-09-05 02:44:18 +09:00
omniavinco
43312b09e8 Generate Sources of origin/master updated at Wed Sep 3 17:44:19 GMT 2014 2014-09-04 02:44:19 +09:00
omniavinco
e5f61ba213 Generate Sources of origin/master updated at Tue Sep 2 17:44:18 GMT 2014 2014-09-03 02:44:18 +09:00
BryceMehring
1292204035 Added support for mingw-w64 cross-compilation. 2014-08-30 04:06:58 -05:00
omniavinco
dfe114f0ba Generate Sources of origin/master updated at Fri Aug 29 17:44:18 GMT 2014 2014-08-30 02:44:18 +09:00
omniavinco
963b49b005 Generate Sources of origin/master updated at Fri Aug 29 15:28:30 GMT 2014 2014-08-30 00:28:30 +09:00
omniavinco
9d11302877 Merge https://github.com/nigels-com/glew.git into master HEAD at Fri Aug 29 15:27:55 GMT 2014 2014-08-30 00:27:55 +09:00
omniavinco
ab43be0f06 Tidy CMakeLists.txt
merge duplicated condition check
2014-08-29 22:52:36 +09:00
omniavinco
3a73d80be4 Add PLATFORM_SPECIFIC_LIBRARIES to link platform specific libraries 2014-08-29 22:45:52 +09:00
omniavinco
1672429f22 Use Cmake dependency chain 2014-08-29 22:43:24 +09:00
Gyu-sun Youm
c23a995349 Merge pull request #6 from fungos/master
Add missing libraries on linux
2014-08-29 22:37:30 +09:00
Danny Angelo Carminati Grein
62c39ba638 Add missing libraries on linux 2014-08-25 22:49:21 -04:00
Nigel Stewart
0ab71ffb6f Use GL_NV_path_rendering spec (including version 1.3) rather than hard-coded override. 2014-08-20 09:29:06 +10:00
Gyusun
b4f7c06310 Add rc files for any msvc(remove msvc version check) 2014-08-17 02:05:12 +09:00
Gyusun
1dbf20b5b4 Add Generated .rc files 2014-08-17 01:47:15 +09:00
omniavinco
81d119c7fc Generate Sources of origin/master updated at Fri Aug 15 22:55:55 GMT 2014 2014-08-16 07:55:55 +09:00
omniavinco
b2d8206b36 Merge https://github.com/nigels-com/glew into origin/master HEAD at Fri Aug 15 22:55:42 GMT 2014 2014-08-16 07:55:42 +09:00
Gyu-sun Youm
ede8f3b946 Merge pull request #4 from karlssonper/master
Added install target
2014-08-16 06:59:37 +09:00
per
a9ceeeedeb style mismatch 2014-08-13 09:50:43 +02:00
per
9ac6bc4ebb style mismatch 2014-08-13 09:49:51 +02:00
Gyu-sun Youm
64d0afa487 Merge pull request #3 from ebraminio/binary
Use CMAKE_BINARY_DIR instead CMAKE_SOURCE_DIR for setting build output directory
2014-08-12 22:33:08 +09:00
Nigel Stewart
83a2bae026 Fixup for GLEW 1.11.0 log.html 2014-08-12 11:06:04 +10:00
per
17fa396828 Added install target 2014-08-11 23:56:04 +02:00
Nigel Stewart
9b5567b4eb Add initial OpenGL 4.5 support and relevant extensions, version bump to 1.11.0 2014-08-12 00:06:56 +10:00
Nigel Stewart
7d03ac811c Merge remote-tracking branch 'rconde01/CompletingSignatures' 2014-08-10 12:06:22 +10:00
Ebrahim Byagowi
5dcb9332da Use CMAKE_BINARY_DIR instead CMAKE_SOURCE_DIR 2014-08-09 22:33:09 +04:30
Nigel Stewart
9c5bc25386 Fixups for specifiation URLs. 2014-08-07 22:33:18 +10:00
Nigel Stewart
1ffc37c384 Link to fresh snapshots for download 2014-07-26 11:20:21 +10:00
Nigel Stewart
3739be33b0 Sort the enums (tokens) in a stable manner for consistency in include files. 2014-07-26 09:26:17 +10:00
Nigel Stewart
cf67153325 Bump copyright notice to 2014. 2014-07-26 09:26:08 +10:00
Nigel Stewart
a062a5f0d2 Add filter_spec Python script for filtering OpenGL specification files. 2014-07-26 09:25:52 +10:00
Nigel Stewart
27e9398c4d Merge remote-tracking branch 'remotes/davispuh/vs' 2014-07-14 18:02:07 +10:00
Nigel Stewart
4fc4327945 Eliminate the internal use of CONST_CAST, to avoid gcc warnings with -Wcast-qual flag.
https://github.com/nigels-com/glew/issues/5
2014-07-14 17:53:21 +10:00
Nigel Stewart
4b78dc4b68 Resolve C++ mode warnings about int vs size_t with gcc -Wconversion flag enabled.
https://github.com/nigels-com/glew/issues/6
2014-07-14 17:02:27 +10:00
Nigel Stewart
5f0a96150e GLEW Patch #64 - disable GLU on iOS 2014-07-13 23:49:00 +10:00
Nigel Stewart
f6bd1dab39 GLEW Patch #65 - Makefile: let "make glew.lib debug" actually build with debug 2014-07-13 23:45:30 +10:00
Nigel Stewart
f76628b5bd GLEW Patch #66 - Fixups for pkg-config in MinGW build. 2014-07-13 23:41:45 +10:00
Dāvis
4e9fad1364 Add Visual Studio 2013 project files 2014-07-12 15:18:41 +10:00
Dāvis
dca0732b22 Ignore some Visual Studio files 2014-07-12 15:18:19 +10:00
Nigel Stewart
6c34d03260 Fixup: GL_AMD_gpu_shader_int64 reuses NV_gpu_shader5 interface. 2014-07-12 15:13:47 +10:00
Gyu-sun Youm
721efda22d Merge pull request #2 from andystanton/master
Make shared and static libraries optional
2014-04-25 07:52:07 +09:00
omniavinco
61c642b71b Generate Sources updated at Thu Apr 24 17:44:39 GMT 2014 2014-04-25 02:44:39 +09:00
omniavinco
864a7ea189 Generate Sources updated at Wed Apr 23 17:44:42 GMT 2014 2014-04-24 02:44:42 +09:00
Andy Stanton
0e35fbec4e add options 2014-04-22 20:55:22 +01:00
Dāvis
409d7f990c Add Visual Studio 2013 project files 2014-04-22 01:54:36 +03:00
Dāvis
5e5a4ae335 Ignore some Visual Studio files 2014-04-22 01:53:03 +03:00
omniavinco
322624ffdd Generate Sources updated at Sat Apr 19 17:45:44 GMT 2014 2014-04-20 02:45:44 +09:00
rconde
3b63c4c456 - fixed signatures to contain parameter names 2014-03-15 18:56:14 -04:00
omniavinco
0680e345f4 Generate Sources updated at Thu Feb 27 13:19:58 GMT 2014 2014-02-27 22:19:59 +09:00
omniavinco
c94b3de7d7 Merge https://github.com/nigels-com/glew into HEAD at Thu Feb 27 13:14:09 GMT 2014 2014-02-27 22:14:09 +09:00
Gyu-sun Youm
d629461fb0 Merge pull request #1 from McDamon/master
Support for VC 12 (VS2013) and GLEW 1.10.0
2014-02-27 22:12:04 +09:00
Andrew McMahon
f96a4f3ddf Upgraded to support VC 12 2014-02-26 23:05:11 +00:00
Andrew McMahon
e224767d3c Added to gitignore 2014-02-26 22:59:32 +00:00
Andrew McMahon
b23ed9846f Merge branch 'master' of https://github.com/McDamon/glew-cmake
Conflicts:
	doc/glew.html
	doc/index.html
	doc/wglew.html
2014-02-26 22:56:05 +00:00
Nigel Stewart
08196588ed Revert "GLEW Patch #63 - Use CC/CXX/LD variable from environment, don't hardcode cc"
TODO - revisit
2014-02-19 18:38:55 -06:00
Nigel Stewart
d03b68e40d GLEW Patch #62 - stop linking to unneeded Xmu, Xi, Xext libraries 2014-02-19 18:21:33 -06:00
Nigel Stewart
b19d0a09ed GLEW Patch #63 - Use CC/CXX/LD variable from environment, don't hardcode cc 2014-02-19 18:19:47 -06:00
Nigel Stewart
c5a3681eae For GLEW Bug 201 - Resolve Visual Studio 2012 resource compiler problem. 2014-02-19 18:15:37 -06:00
Nigel Stewart
1aff81c823 For GLEW Bug #227 - Use GLAPIENTRY for GLDEBUGPROC* and leave GLAPIENTRY for application code to use. 2014-02-19 18:04:47 -06:00
Nigel Stewart
ab39de8d7e Document recommended Fedora packages too. 2014-02-11 17:39:32 -06:00
Nigel Stewart
5224e88ca9 For GLEW Bug #242 - glVertexArrayVertexAttribDivisorEXT missing 2014-02-06 11:55:52 -06:00
Nigel Stewart
6718b2ccd6 Windows fixup for glGetProcAddressREGAL 2014-01-22 12:23:05 -06:00
Nigel Stewart
0aeace842f GLEW_REGAL touch-ups for using glGetProcAddressREGAL. 2014-01-14 15:33:06 -06:00
Nigel Stewart
1e90d10f17 Use glGetProcAddressREGAL for GLEW_REGAL purposes. 2014-01-14 14:16:04 -06:00
Nigel Stewart
c65f7dd8d3 Fixup: Slence mac cglang build warning about unused parameter. 2014-01-14 11:44:53 -06:00
Nigel Stewart
37e8ec611d Fixup: glewinfo on Mac needs to call RegalMakeCurrent with the appropriate context. 2014-01-13 18:58:43 -06:00
Nigel Stewart
09680d9129 Add new snapshot links. 2014-01-10 16:12:58 -06:00
Nigel Stewart
b96cf5f05e It appears that upstream are preferring void over GLvoid. 2014-01-08 17:22:37 -06:00
Nigel Stewart
8c7447addb Ubuntu also needs libgl-dev and dos2unix 2014-01-08 16:46:17 -06:00
Nigel Stewart
5d332c7ff7 Fixup typos for Ubuntu build dependencies. 2014-01-07 19:08:45 -06:00
Nigel Stewart
4cc11753fb Updated copyright notice to mention 2008-2013 maintainership. 2013-12-09 17:05:52 -06:00
Nigel Stewart
86cb03dd3d For GLEW Bug #233 - GL_KHR_debug: GLDEBUGPROC incorrectly defined 2013-12-09 16:48:12 -06:00
Nigel Stewart
0d810d52f1 For GLEW Patch #42 - Patch for _CRT_SECURE_NO_WARNINGS 2013-12-09 16:16:17 -06:00
Nigel Stewart
1da137a949 For GLEW Patch #43 - const correctness with the OGL 4.4 specs 2013-12-09 15:53:00 -06:00
Nigel Stewart
59de259605 For patch #49 Add Haiku platform support
Adpated from patch, infrastructure for Haiku OS support, not yet complete.
2013-12-09 15:20:56 -06:00
Nigel Stewart
98e09c1564 Merge branch 'master' of https://github.com/netpoetica/glew 2013-09-26 13:32:22 -05:00
Nigel Stewart
83e98603dd Merge branch 'master' of https://github.com/hasufell/glew 2013-09-26 13:31:17 -05:00
Nigel Stewart
d59a3108e3 Add GL_TEXTURE_BUFFER_BINDING for GL 4.4 2013-09-26 11:55:35 -05:00
Nigel Stewart
8206b443d1 Add GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED for GL 4.4 2013-09-26 11:52:56 -05:00
Keith Rosenberg
6fe1c906e7 Update README steps for make
Including the other couple of steps to make for others for whom it is not obvious. Generally people find out about GLEW when using it as dependency of another lib, and they may or may not be familiar with the make process. Leaving it vague leads to more people reporting issues, which I'm aiming to avoid here!
2013-09-20 21:44:05 -04:00
Gyu-sun Youm
6b12687640 travis-ci 2013-08-31 23:58:49 +09:00
Gyu-sun Youm
49cae90154 update ignore 2013-08-31 23:42:33 +09:00
Gyu-sun Youm
f4f7759f3a link OpenGL to libglew_shared 2013-08-31 23:42:27 +09:00
hasufell
094647cb14 BUILD: respect DESTDIR variable
DESTDIR is used for temporary install location
in package managers otherwise you have to add
the temporary locations to BINDIR and LIBDIR
which can cause trouble with the pkg-config file.
2013-07-24 01:41:27 +02:00
Nigel Stewart
a6c3e7dad0 GLEW release version 1.10.0 2013-07-22 07:20:46 -05:00
Nigel Stewart
4853c8effe Documentation updates for GLEW 1.10.0 release. 2013-07-21 21:01:37 -05:00
Nigel Stewart
87ce8715b2 Add support for OpenGL 4.4 2013-07-21 21:00:30 -05:00
Nigel Stewart
7b433cd402 auto/bin/update_registry.sh isn't used anymore. 2013-07-21 01:40:05 -05:00
Nigel Stewart
9898ca210d Regularize paths in VC10 projects with back slash.
Other tidy-up for Visual Studio quality of life.
2013-07-21 00:52:50 -05:00
Nigel Stewart
2ce935a13f Revamp dist-src and dist-win32 Makefile targets. 2013-07-20 22:58:10 -05:00
Nigel Stewart
b56f8e70e8 Revert "Use git instead of clone to download OpenGL registry."
This reverts commit 974679c6d8.
2013-07-20 22:08:50 -05:00
Nigel Stewart
e0242aa735 Revamp VC10 projects based on patch from Matias Ghioldi
https://sourceforge.net/p/glew/patches/37/
2013-07-20 22:04:33 -05:00
Nigel Stewart
18ae6909fe Fixup URLs for ANGLE and REGAL extensions. 2013-07-16 11:00:52 -05:00
Nigel Stewart
91d0292a03 Add support for parsing ANGLE and REGAL specs from glew branch of git repo. 2013-07-16 10:54:11 -05:00
Nigel Stewart
35d2affdb8 Project web update for 07-15-13 including updated source snapshot. 2013-07-15 11:39:28 -05:00
Nigel Stewart
974679c6d8 Use git instead of clone to download OpenGL registry.
Core-profile extension query patch by Carsten Neumann
https://sourceforge.net/p/glew/bugs/174/
2013-07-14 13:02:16 -05:00
Gyu-sun Youm
dcd588d402 Change library output name 2013-05-26 00:31:05 +09:00
Gyu-sun Youm
e080154dc4 Windows support
* some definitions
* rc file (except VS11)
2013-05-25 22:26:51 +09:00
omniavinco
0c0532c7c6 Latest docs 2013-05-25 14:34:47 +09:00
omniavinco
dac0614780 Add Cmake option - ONLY_LIBS 2013-05-25 14:34:35 +09:00
omniavinco
5408d71c61 CMakeLists.txt & glew source(2013.5.24) 2013-05-24 23:58:38 +09:00
Nigel Stewart
477c99177a Filter out DSA fp64 functions - not widely available. 2013-04-02 12:27:52 -05:00
Nigel Stewart
40c5ac7d3f GL 1.2 enumerants: GL_MAX_ELEMENTS_VERTICES GL_MAX_ELEMENTS_INDICES 2013-04-02 11:35:42 -05:00
Nigel Stewart
1cbe650d27 Documentation updates - new project links, snapshot files, github repo. 2013-03-18 22:51:07 -05:00
Nigel Stewart
14854b4ae6 Revert commit b7b516bf88.
Can't leave APIENTRY defined, it conflicts with windef.h definition of APIENTRY.
2013-03-18 22:23:02 -05:00
Nigel Stewart
db6dbecb7a For #212 BaseVertex family: invalid type of "indices" parameter
Convert void* to GLvoid * in function parameters.
TODO - const and void**
2013-03-18 22:22:53 -05:00
Nigel Stewart
b7b516bf88 Leave APIENTRY defined at the conclusion of glew.h, since APIENTRY is part of the GL interface for GL_ARB_debug_output purposes, etc. 2013-02-15 20:18:56 -06:00
Nigel Stewart
41c1305a89 Re-write .pc files unconditionally, in case GLEW_DEST is specified on command line.
#189 Generated .pc files are "easy to break"
2012-11-11 13:09:20 -06:00
Nigel Stewart
38b7f7d09f In glew.h, check for __gltypes_h_ and define it avoid glew.h conflicts with Mac OpenGL.framework/Headers/gltypes.h
#206 Different definitions of GLhandleARB in GLEW and OS X headers
2012-11-11 11:53:21 -06:00
Nigel Stewart
58ac24cf5c Add the line "Requires: glu" to glew.pc - needed in general, GLU dependency can be opted-out of, optionally.
#204 GLU requirement and pkg-config file
2012-11-11 11:50:41 -06:00
Nigel Stewart
71b38cfeb4 dos2unix for Linux/Mac build from .zip package.
Issue #205 config.guess / MacOSX 10.8 / bad interpreter
2012-11-11 11:43:37 -06:00
Nigel Stewart
d5fc1620f8 Documentation updates. 2012-10-24 21:50:48 -05:00
Nigel Stewart
de35ee0215 Fixup for filter_gl_ext.sh 2012-10-24 21:49:57 -05:00
Nigel Stewart
e2036b5afd Add experimental OpenGL ES extension support, disabled by default.
Move registry into registry/gl, move extensions into extensions/gl.
This allows room for registry/gles and extensions/gles.
Extension filtering moved from update_ext.sh to filter_gl_ext.sh, different logic for OpenGL ES.
2012-10-24 21:49:42 -05:00
Nigel Stewart
7563efa7e3 Update documentation to point at new git repository. 2012-10-24 21:49:29 -05:00
Nigel Stewart
81b477d877 Remove various duplicate enums. 2012-10-24 21:49:09 -05:00
Nigel Stewart
025cdbe1e9 GL_KHR_debug can be parsed from upstream, now. 2012-09-20 13:10:55 -05:00
Nigel Stewart
8e4d04a53b Workaround for bug #199 glPopDebugGroup() missing.
Need to upstream fix to http://www.opengl.org/registry/specs/KHR/debug.txt too.
2012-09-17 18:46:19 -05:00
Nigel Stewart
027efdea2a Resolve bug #200 glGetPointerv of GL_KHR_debug hides OpenGL 1.1. 2012-09-17 18:32:31 -05:00
Nigel Stewart
0580fdd09b For Bug #202 GLX_AMD_gpu_association entry points are missing 2012-09-17 18:21:01 -05:00
Nigel Stewart
c8962f9112 Patch #38 Makefile.openbsd 2012-09-17 17:54:25 -05:00
Nigel Stewart
aeb1d33096 #39 patch for PPC64 linux Makefile 2012-09-17 17:42:14 -05:00
Nigel Stewart
6ceace91e7 Detect ES 2.0 __gl2_h_ header too. 2012-08-27 22:20:33 -05:00
Nigel Stewart
57eeedef9c Rename GL_REGAL_enable GL_LOADER_REGAL to GL_DRIVER_REGAL 2012-08-22 23:03:20 -05:00
Nigel Stewart
31f9a387e2 Fixup for GLfixed as part of ES2_compatibility. 2012-08-19 12:07:58 -05:00
Nigel Stewart
d93aee1bbd Add GL_REGAL_ES1_0_compatibility and GL_REGAL_ES1_1_compatibility 2012-08-18 21:58:57 -05:00
Nigel Stewart
287c58f930 Add build support for NaCL - Google Native Client. 2012-08-16 14:26:32 -05:00
Nigel Stewart
2de0716a46 Initial NaCL support for GLEW - it's not Windows or Linux/X11. 2012-08-16 14:01:11 -05:00
Nigel Stewart
62d2c87d5a Fixup for deleting extensions that disappeared from opengl.org 2012-08-14 18:43:08 -05:00
Nigel Stewart
35f724ebee Add GL_REGAL_enable extension, point to github for Regal extensions. 2012-08-14 18:42:34 -05:00
Nigel Stewart
19a563a6fd Add OpenGL 4.3 links. 2012-08-13 12:01:41 -05:00
Nigel Stewart
62616c381a Update GL_REGAL_log to support a callback function. 2012-08-12 20:21:27 -05:00
Nigel Stewart
6d14805de5 MX-mode glxew export fix, as recommended by Stefan Eilemann. 2012-08-07 23:51:27 -05:00
Nigel Stewart
38a3d85754 Ignore enums that end in ? - these values are not specified or known. 2012-08-07 22:06:41 -05:00
Nigel Stewart
0a04f18c01 Use -fPIC for Linux and Darwin builds.
See: https://bugs.launchpad.net/ubuntu/+source/glew/+bug/811789
2012-08-07 21:54:20 -05:00
Nigel Stewart
60e85a9815 Remove more duplicates from core/GL_ARB_internalformat_query2 2012-08-06 13:57:38 -05:00
Nigel Stewart
a25abc0c20 Remove duplicate of NUM_SAMPLE_COUNTS - belongs to GL_ARB_internalformat_query 2012-08-06 13:39:19 -05:00
Nigel Stewart
e2f62ea821 Fixup for log.html - 1.9.0 supports GL 4.3 2012-08-06 11:51:23 -05:00
Nigel Stewart
855f98aa17 Documentation updates for GLEW 1.9.0 2012-08-06 10:56:17 -05:00
Nigel Stewart
4c1a2460f3 Add OpenGL 4.3 support, and new extensions. 2012-08-06 09:17:50 -05:00
Nigel Stewart
3828cfb38c Don't link with GLU, no longer needed. 2012-08-05 23:59:29 -05:00
Nigel Stewart
064f87e7b6 Add Regal-supported ES related GL_EXT_debug_marker. 2012-07-29 12:48:18 -05:00
Nigel Stewart
5b0724197a Updated GL_REGAL_log enums 2012-07-26 10:08:07 -05:00
Nigel Stewart
f2bbb3163c Permanent enum values for GL_REGAL_log 2012-07-23 18:43:58 -05:00
Nigel Stewart
8b89f17a16 Fixup: REGAL_CALL isn't relevant. 2012-07-23 16:30:49 -05:00
Nigel Stewart
b222f636fc Documentation update - REGAL extensions. 2012-07-23 16:29:00 -05:00
Nigel Stewart
4cbc97cdc1 Regal-related extension specifications added. 2012-07-23 16:25:52 -05:00
Nigel Stewart
4b07c93946 Fixup: glewinfo on Mac needs to call RegalMakeCurrent manually. 2012-07-23 16:19:50 -05:00
Nigel Stewart
a53c68ddd7 Bump version to GLEW 1.8.0 2012-07-17 23:54:43 -05:00
Nigel Stewart
3460dd42f1 Fixup: makefile typo. 2012-07-17 22:46:09 -05:00
Nigel Stewart
5f346a3ef3 Fixup: GLEWAPIENTRY for glewContextIsSupported in MX mode. 2012-07-17 22:37:43 -05:00
Nigel Stewart
cad03beb35 For Windows VC builds, share the .rc files moved into build directory. 2012-07-17 22:06:18 -05:00
Nigel Stewart
3e2ee26c7e Update stale HTML links to extension specifications. 2012-07-17 21:38:41 -05:00
Nigel Stewart
69233bf7f3 Bump GLEW 1.8.0 release date to 07-17-2012. 2012-07-17 21:36:10 -05:00
Nigel Stewart
b357b2534f Documentation added for upcoming GLEW 1.8.0 release. 2012-07-09 16:07:34 -05:00
Nigel Stewart
d679f9bfc2 GL_NV_path_rendering with fixes in auto/core, for now. 2012-07-09 09:20:34 -05:00
Nigel Stewart
246650641b Fixup: GLXEW_VAR_EXPORT changeover broke GLXEW_VERSION_1_0 and GLXEW_VERSION_1_1 variables. 2012-05-29 21:02:35 -05:00
Nigel Stewart
05e1fba5f5 Treat Additions to Chapter as a section 2012-05-27 17:13:29 -05:00
Nigel Stewart
97e2cceb65 Fixup - scripts need space between "GLvoid *" and function name 2012-05-27 17:12:32 -05:00
Nigel Stewart
e76dc8df5f Filter more duplicate enums in auto/bin/update_ext.sh 2012-05-27 16:39:47 -05:00
Nigel Stewart
14c5a1401c char -> GLchar fixups for GL_ARB_separate_shader_objects 2012-05-27 16:39:07 -05:00
Nigel Stewart
905f963f9e GLvoid * fixup for GL_ATI_map_object_buffer 2012-05-27 16:38:22 -05:00
Nigel Stewart
a3297b8f1d Duplicate GL_UNSIGNED_NORMALIZED from GL_ARB_framebuffer_object. 2012-05-27 16:37:32 -05:00
Nigel Stewart
c7c5d62ad2 .gitignore refinements 2012-05-26 00:09:16 -05:00
Nigel Stewart
594fdd6a4e Filter enums for GL_APPLE_vertex_array_range, GL_ARB_texture_rg, GL_ARB_texture_storage, GL_EXT_paletted_texture - no need to duplicate. 2012-05-26 00:08:50 -05:00
Nigel Stewart
848ddb0c31 Fixup; char -> GLchar for function parameters. 2012-05-26 00:07:59 -05:00
Nigel Stewart
50944b4a88 Add VertexStream1{sifd}v? MIA from GL_ATI_vertex_streams. 2012-05-26 00:06:11 -05:00
Nigel Stewart
8eeb2d4d3a GL_ANY_SAMPLES_PASSED provided by GL_ARB_occlusion_query2, no need to duplicate in GL_VERSION_3_3 2012-05-26 00:03:37 -05:00
Nigel Stewart
6e29c50eac Filter out GL_FLOAT and GL_UNSIGNED_INT from GL_AMD_performance_monitor extension. 2012-05-24 22:16:06 -05:00
Nigel Stewart
65ff20ef58 Improvements for VC10 32-bit build. 2012-05-11 19:01:24 -05:00
Nigel Stewart
d75069af96 Initial VC10 projects, imported from VC6. 2012-05-09 17:32:34 -05:00
Nigel Stewart
38f6a950a9 More GLEWAPIENTRY fixups for Windows build 2012-05-07 10:42:10 -05:00
Nigel Stewart
4d2f756f74 More GLEWAPIENTRY fixups for Windows build 2012-05-07 09:05:12 -05:00
Nigel Stewart
439fc9dd91 GLXEW_EXPORT an WGLEW_EXPORT replaced with WGLEW_FUN_EXPORT, WGLEW_VAR_EXPORT 2012-05-04 23:36:14 -05:00
Nigel Stewart
538147f387 GLEWAPIENTRY no longer needed in Makefile 2012-05-04 23:35:12 -05:00
Nigel Stewart
fb23996802 Move the GLXEW_EXPORT and WGLEW_EXPORT logic into src/glxew_mid.h and src/wglew_mid.h 2012-05-04 23:25:23 -05:00
Nigel Stewart
5ab68cca34 Leave GLEWAPIENTRY defined, rather than cleaning it up. glxew.h and wglew.h depend on it. 2012-05-04 16:09:59 -05:00
Nigel Stewart
d779443f86 Fixups for GLEWAPIENTRY on Linux and Windows 2012-05-04 16:05:07 -05:00
Nigel Stewart
cb7c643fab Fixups for GLEWAPIENTRY on Apple 2012-05-04 15:58:44 -05:00
Nigel Stewart
126f14f960 Check for __REGAL_H__ in addition to __GL_H__ etc 2012-05-04 15:24:02 -05:00
Nigel Stewart
b850a88492 Fixup for Windows build concerning GLEWAPIENTRY 2012-05-04 14:54:08 -05:00
Nigel Stewart
a6423f4d98 More #ifdef __ANDROID__ support for the GLEW build. 2012-05-04 14:45:49 -05:00
Nigel Stewart
e81e12ded0 Initial #ifdef __ANDROID__ support for the GLEW build. 2012-05-04 14:15:10 -05:00
Nigel Stewart
7b600b4aac .html documentation refresh 2012-05-04 13:47:12 -05:00
Nigel Stewart
6c1f5f290d Resolve ID: 3404540 - visualinfo pixelformat addition 2012-05-04 11:07:15 -05:00
Nigel Stewart
1728006b5d Resolve ID: 3454462 - glewInit assignment in conditional warning 2012-05-04 11:03:37 -05:00
Nigel Stewart
863a169bca Resolve ID: 3465140 - makefile.netbsd 2012-05-04 10:56:54 -05:00
Nigel Stewart
da591ff48c Resolve ID: 3480806 - Fix GCC warning on Mac OS X 2012-05-04 10:53:27 -05:00
Nigel Stewart
784f34ad51 Resolve ID: 3310609 - Add Info to README.txt 2012-05-04 10:43:02 -05:00
Nigel Stewart
e5dca9f5e4 Resolve ID: 3394594 - No calling convention for glewFunctions 2012-05-04 10:31:47 -05:00
Nigel Stewart
3714717177 Resolve ID: 3512247 - CentOS build paths 2012-05-04 09:49:18 -05:00
Nigel Stewart
950c81ab76 Resolve ID: 3519818 - glewInit should have ANSI prototype 2012-05-04 09:39:49 -05:00
Nigel Stewart
2fee30d9c1 Add .gitignore 2012-05-04 09:30:51 -05:00
Nigel Stewart
cc22d28257 Add Fedora ming32 build configuration. 2012-02-16 12:19:17 -06:00
Nigel Stewart
0af3be62b0 Optional symlink step for GLEW build. For Cygwin, Mingw32, etc. 2012-02-15 13:15:40 -06:00
Nigel Stewart
af5a34cb76 Resolve ID: 3399322 - Custom code generation broken 2012-02-12 18:36:53 -06:00
Nigel Stewart
a8eb179991 For ID: 3459812 - avoid duplicating GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER. 2012-02-12 16:06:34 -06:00
Nigel Stewart
cc1b20931f Resolve ID: 3479356 - GL_ARB_gpu_shader_fp64 issue 2012-02-12 15:46:57 -06:00
Nigel Stewart
18c9321b46 Add darwin-ppc build config for completness. Works on SnowLeopard with XCode 3.1. Won't work for Lion onwards or XCode 4. 2012-02-12 14:13:33 -06:00
Nigel Stewart
aa7da9242a Makefile refinements: Move strip step from install to build, make it optional. Don't use exotic .o suffixes. Put temporary files in tmp/ for easy seperation and deltion 2012-02-12 14:12:36 -06:00
Nigel Stewart
64e751c741 Update config.guess from http://git.savannah.gnu.org/cgit/config.git/plain/config.guess 2012-02-12 14:06:40 -06:00
Nigel Stewart
71cae565cc Partial fix for ID: 3459812 - GL constants not defined? - ARB_texture_compression_bptc for 4.2, ARB_copy_buffer for 3.1 2012-01-11 15:05:14 -06:00
Nigel Stewart
6075e477b8 For dist-src target, ensure Makefile line-endings are platform consistant. 2011-11-23 15:45:21 -06:00
Nigel Stewart
f396b2e48d Merge branch 'master' of git://glew.git.sourceforge.net/gitroot/glew/glew 2011-11-04 09:41:14 -05:00
Nigel Stewart
4a5ff954b2 GL_NV_path_rendering now on opengl.org, remove it from auto/core 2011-09-07 22:55:24 -05:00
Nigel Stewart
4a5f85e490 Documentation updates for GLEW 1.7.0 release 2011-08-26 21:11:20 -05:00
Nigel Stewart
fcb39d65a5 Documentation fixup for NV Path Rendering 2011-08-25 09:11:11 -05:00
Nigel Stewart
cc286a1154 Add GL_NV_path_rendering to auto/core until it appears on opengl.org 2011-08-25 08:56:13 -05:00
Nigel Stewart
8d72097e8a Documentation updates for GLEW 1.7.0 2011-08-20 18:17:18 -05:00
Nigel Stewart
898f22082d Add a build.html documentation page for describing some of the make targets and variables. 2011-08-02 17:21:12 -04:00
Nigel Stewart
9c59bf567e Resolve ID: 2797077 How do I compile for mac os x x64? 2011-08-02 16:08:53 -04:00
Nigel Stewart
69ae1f09e6 Resolve ID: 3295600 improper setting of -install_name on darwin 2011-08-02 15:58:16 -04:00
Nigel Stewart
a4964338e4 Resolve ID: 3362344 GLX_MESA_swap_control support request 2011-08-02 15:35:16 -04:00
Nigel Stewart
bc2f7a6335 Resolve ID: 2975557 ERROR_INVALID_VERSION_ARB missing 2011-08-02 15:22:41 -04:00
Nigel Stewart
2d17ae18b3 Resolve ID: 3376260 Solaris also needs inttypes.h 2011-08-02 13:23:50 -04:00
Nigel Stewart
852e9ccd2d Bump GLEW version to 1.7.0 - due to GL_KTX_buffer_region renaming 2011-08-02 10:25:25 -04:00
Nigel Stewart
802bac4e68 Add GL_VERSION_4_2 2011-08-02 10:21:40 -04:00
Nigel Stewart
35c27b4dac Remove EXT suffix from GL_KTX_buffer_region entry points, based on info here:
http://www.west.net/~brittain/3dsmax2.htm#OpenGL%20Buffer%20Region%20Extension
2011-08-01 16:36:13 -04:00
Nigel Stewart
6513878da5 Merge branch 'master' of git://glew.git.sourceforge.net/gitroot/glew/glew 2011-07-04 12:55:30 -05:00
Nigel Stewart
69df55a948 Add glGetGraphicsResetStatusARB to GL_ARB_robustness 2011-05-12 17:38:41 -05:00
Nigel Stewart
3b39158d6d For ID: 3294753 - MultiDrawArrays, MultiDrawElements: missing const qualifiers 2011-04-29 09:17:49 -05:00
Nigel Stewart
85c3078cc4 Fixup for GLEW 1.6.0 dist-win target: package the GLEWmx libraries too. 2011-04-28 18:51:46 -05:00
Nigel Stewart
2e7fd1cef2 Bump version to 1.6.0, documentation updates for GLEW release. 2011-04-27 10:47:39 -05:00
Nigel Stewart
5be9820df8 Fixup for .html generation 2011-04-27 10:42:44 -05:00
Nigel Stewart
507bcf7256 Fixup for .html generation - perl needs -pe instead of just -e 2011-04-27 10:14:50 -05:00
Nigel Stewart
dea5a6143c For ID: 3148451 - bad dll perms on default cygwin 1.7.7 install 2011-04-25 23:21:28 -05:00
Nigel Stewart
bb3e797929 For ID: 3287530 - Fix auto/ build for BSD platforms 2011-04-23 15:32:06 -05:00
Nigel Stewart
e2dffd8dd7 Ooops, subset patch is supposed to be in subset branch only. 2011-04-23 15:24:04 -05:00
Nigel Stewart
a89b304a8c For ID: 3193028 - glFramebufferTextureLayerEXT from EXT_texture_array 2011-04-23 15:14:41 -05:00
Nigel Stewart
0fbfdf38bc Merge branch 'subset' of ssh://glew.git.sourceforge.net/gitroot/glew/glew into subset 2011-04-23 14:52:05 -05:00
Nigel Stewart
aee2c56008 Subset patch/branch for GLEW as used for NVIDIA Cg Toolkit purposes 2011-04-23 14:51:10 -05:00
Nigel Stewart
5242475734 For ID: 3200597 - glDraw*InstancedARB are NULL with ARB_instanced 2011-04-23 14:50:46 -05:00
Nigel Stewart
5b0dde022c Merge branch 'master' of git://glew.git.sourceforge.net/gitroot/glew/glew 2011-04-23 13:23:52 -05:00
Nigel Stewart
637760701e Merge branch 'subset' of ssh://glew.git.sourceforge.net/gitroot/glew/glew into subset 2011-04-01 11:24:51 -05:00
Nigel Stewart
000f2fb129 Subset patch/branch for GLEW as used for NVIDIA Cg Toolkit purposes 2011-04-01 11:23:27 -05:00
Nigel Stewart
6737ca7a97 Merge branch 'master' of ssh://glew.git.sourceforge.net/gitroot/glew/glew into tmp 2011-04-01 11:20:36 -05:00
Nigel Stewart
c604eb9d8f Add working solaris-gcc config for Open Solaris - gcc 3.4.3 2011-04-01 11:12:59 -05:00
Nigel Stewart
158090aab5 GLX_OML_sync_control is always needlessly disabled on many platforms without C99. Patch by Martin Lambers 2011-04-01 11:09:18 -05:00
Nigel Stewart
48e4e82de0 Clarify name of extension string begin and end 2011-03-31 07:49:53 -05:00
Nigel Stewart
1b38b41837 Patch ID: 3260500 - Query extension string only once 2011-03-30 11:38:25 -05:00
Nigel Stewart
4145adc9bd Merge branch 'subset' of ssh://glew.git.sourceforge.net/gitroot/glew/glew into subset 2011-03-30 10:11:36 -05:00
Nigel Stewart
d7caf51f8e Subset patch/branch for GLEW as used for NVIDIA Cg Toolkit purposes 2011-03-30 09:19:22 -05:00
Nigel Stewart
cd1093c845 Merge branch 'subset' of ssh://glew.git.sourceforge.net/gitroot/glew/glew into subset 2011-03-28 22:27:45 -05:00
Nigel Stewart
9bc3b6e7f0 Subset patch/branch for GLEW as used for NVIDIA Cg Toolkit purposes 2011-03-28 20:23:06 -05:00
Nigel Stewart
4a9b2a7b42 Fix for setting the soname of GLEWmx shared libraries - Thanks to Adam Williamson (Fedora QA Community Monkey) 2011-03-28 20:22:45 -05:00
Nigel Stewart
9bca6b44ea Ungreedy prefix match for function name -> __glew prefixing 2011-03-27 23:21:43 -05:00
Nigel Stewart
d4b01afad6 Merge branch 'master' into subset 2011-03-16 19:07:17 -05:00
Nigel Stewart
5de43d97fc mx fixups for Cygwin build. 2011-03-11 15:43:25 -06:00
Nigel Stewart
d55270566d Merge branch 'master' into build 2011-03-11 15:32:03 -06:00
Nigel Stewart
b6ef171bf5 Merge branch 'master' into subset 2011-03-11 12:54:59 -06:00
Nigel Stewart
c06a90bc59 GLX fixup for Patch ID: 3206528 Add support for NV_video_capture 2011-03-11 12:39:50 -06:00
Nigel Stewart
2b21d1df5f Merge branch 'master' into subset 2011-03-11 12:32:44 -06:00
Nigel Stewart
c57f2e051e Merge branch 'master' into build 2011-03-11 11:42:51 -06:00
Nigel Stewart
ff1aa06701 Patch ID: 3206528 Add support for NV_video_capture 2011-03-11 11:16:50 -06:00
Nigel Stewart
1431b290b6 Merge branch 'master' into subset 2011-03-02 21:27:40 -06:00
Nigel Stewart
18455eb40f Update the GLEW build to build both vanilla and MX GLEW libraries. MX libraries now have mx suffix. Targets for building and installing are changed accordingly. Logic for glewmx.pc 2011-02-18 23:02:26 -06:00
Nigel Stewart
29b1af417a Add support for #define GLEW_NO_GLU, contributed by Stefan Eilemann 2011-02-15 10:24:33 -06:00
Nigel Stewart
3e1506b95d Add support for #define GLEW_NO_GLU, contributed by Stefan Eilemann 2011-02-15 10:21:58 -06:00
Nigel Stewart
0e4ab1e06f Merge branch 'master' into subset 2011-01-31 21:51:56 -06:00
Nigel Stewart
8b64761d8d Updated version to 1.5.8, updated web pages 2011-01-31 21:51:16 -06:00
Nigel Stewart
41561820a0 Merge branch 'master' into subset 2011-01-31 08:28:26 -06:00
Nigel Stewart
10ad0592df Remove git .patch files for tardist, dist-win32 and dist-src targets" 2011-01-31 08:10:28 -06:00
Nigel Stewart
ed21c4a151 Filter our git .patch files for dist-src and dist-win32 targets. 2011-01-29 07:47:16 -06:00
Nigel Stewart
77b8e41c64 Merge branch 'subset' of ssh://glew.git.sourceforge.net/gitroot/glew/glew into subset 2011-01-27 09:07:12 -06:00
Nigel Stewart
141ad169ff Subset patch/branch for GLEW as used for NVIDIA Cg Toolkit purposes 2011-01-27 09:06:33 -06:00
Tom Fogal
266f2b4ceb Remove lib and bin directories when cleaning.
To ensure developers will end up with the same configuration as a
freshly-cloned repository -- and thereby making sure we catch bugs
like edc3c1 earlier.
2011-01-25 14:38:44 -07:00
Tom Fogal
e564a97c81 Make sure output directories exist.
The targets themselves cannot have these dependencies, because they
use $^ and thus putting the dependent target in there screws up
the build.
2011-01-25 14:38:41 -07:00
Riku Palomäki
e504a5883f Fixed glGetVertexAttribPointerv and glGetShaderSource parameters.
* glGetVertexAttribPointerv takes void**, not void*
* glGetShaderSource uses uint instead of int as a shader parameter

Signed-off-by: Nigel Stewart <nigels@sourceforge.net>
2011-01-19 07:51:16 -06:00
Nigel Stewart
07bc36b14c Merge branch 'master' into subset 2011-01-18 17:55:40 -06:00
Nigel Stewart
a23e5e5d6d ID: 3156560 - const arg to glSecondaryColorPointer - resolved 2011-01-13 12:59:40 -06:00
nigels-com
7e22f71ef7 gcc4/SunPro symbol visibility fixup 2011-01-07 10:49:20 -06:00
nigels-com
b8892a63b9 SCI/Utah GLEW branch visibility attribute for GLEWAPI - gcc 4 and SunPro compiler 2011-01-07 10:43:42 -06:00
nigels-com
77459379aa Merge branch 'subset' of ssh://glew.git.sourceforge.net/gitroot/glew/glew into subset 2011-01-07 09:54:12 -06:00
Nigel Stewart
91bcbcec13 Subset patch/branch for GLEW as used for NVIDIA Cg Toolkit purposes 2011-01-07 09:53:11 -06:00
nigels-com
3442e0aeb0 Resolve Bug ID: 3152894 - declaration of glGetTransformFeedbackVarying in GL_VERSION_3_0 2011-01-07 09:50:05 -06:00
Nigel Stewart
03ab91f789 Subset patch/branch for GLEW as used for NVIDIA Cg Toolkit purposes 2011-01-01 11:04:18 -06:00
Nigel Stewart
eede5f7c29 Reorder OpenGL 1.1 enumerants according to SCI-branch core/GL_VERSION_1_1 -> code generation. This helps with diffing GLEW 1.5 with 2.0. 2011-01-01 10:53:07 -06:00
Nigel Stewart
6acc3d0e85 Support function pointer typedefs in the extension files, rather than hard-coding those directly into the header. Enables support for AMD_debug_output, ARB_debug_output and ARB_cl_event in SCI GLEW branch. 2011-01-01 09:30:11 -06:00
nigels
17dd9d8fa5 Merge whitespace fixups from SCI fork
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@638 783a27ee-832a-0410-bc00-9f386506c6dd
2010-12-30 19:34:06 +00:00
nigels
bdc94ea4c2 Fix for ID: 3107864 - __int64 problem with bcc32
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@637 783a27ee-832a-0410-bc00-9f386506c6dd
2010-12-29 21:42:21 +00:00
nigels
97b6a17cad Apple OSX GLX support via glXGetProcAddress by Stefan Eilemann
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@636 783a27ee-832a-0410-bc00-9f386506c6dd
2010-12-27 17:31:48 +00:00
nigels
7d2446061a Comment clarifications by Stefan Eilemann
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@635 783a27ee-832a-0410-bc00-9f386506c6dd
2010-12-27 17:21:19 +00:00
nigels
2642bccfca const correctness fix for glewContextIsSupported, glxewContextIsSupported wglewContextIsSupported
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@634 783a27ee-832a-0410-bc00-9f386506c6dd
2010-12-08 18:46:40 +00:00
nigels
1abca93f6a Fix for ID: 3109711 - GL_DOUBLE_MATNxM undeclared
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@633 783a27ee-832a-0410-bc00-9f386506c6dd
2010-11-17 16:43:27 +00:00
nigels
a758e323b6 Fixup for web index.html
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@632 783a27ee-832a-0410-bc00-9f386506c6dd
2010-11-04 17:03:32 +00:00
nigels
b760bae74b Fixup for web index.html
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@631 783a27ee-832a-0410-bc00-9f386506c6dd
2010-11-04 16:58:48 +00:00
nigels
e80137e244 GLEW 1.5.7 release - documentation updates, version increment
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@629 783a27ee-832a-0410-bc00-9f386506c6dd
2010-11-03 23:33:28 +00:00
nigels
735f157d62 Resolve ID: 3028111 - GLEW_VERSION_1_2_1 implementation
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@628 783a27ee-832a-0410-bc00-9f386506c6dd
2010-10-30 01:13:55 +00:00
nigels
b7674c9e5d Resolve ID: 3058120 - can't make svn
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@627 783a27ee-832a-0410-bc00-9f386506c6dd
2010-10-30 01:10:37 +00:00
nigels
0b890ef852 Improved Cygwin support as proposed in Feature Request ID: 3081290
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@626 783a27ee-832a-0410-bc00-9f386506c6dd
2010-10-29 05:14:45 +00:00
nigels
f55e3a1b1f Add GL_NVX_gpu_memory_info as specified in ID: 3083709
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@625 783a27ee-832a-0410-bc00-9f386506c6dd
2010-10-29 04:21:17 +00:00
nigels
95f2deea2f GL_ARB_point_parameters and GL_EXT_point_parameters specs fixed upstream
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@624 783a27ee-832a-0410-bc00-9f386506c6dd
2010-10-29 04:08:38 +00:00
nigels
34d6d381c5 Bug ID: 3072935 glGetPointerv is GL 1.2, not GL_EXT_vertex_array
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@623 783a27ee-832a-0410-bc00-9f386506c6dd
2010-09-22 19:45:36 +00:00
nigels
bdfbf18f14 Improved mingw32 support, including cross-compile from Linux
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@622 783a27ee-832a-0410-bc00-9f386506c6dd
2010-09-22 19:38:25 +00:00
nigels
8f580bd5b8 web/doc updates and version number bump for GLEW 1.5.6 release
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@620 783a27ee-832a-0410-bc00-9f386506c6dd
2010-09-09 04:19:24 +00:00
nigels
e708e590ba Add support for GL_ARB_separate_shader_objects
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@619 783a27ee-832a-0410-bc00-9f386506c6dd
2010-08-26 23:12:44 +00:00
nigels
835cbed5b8 Filter glGetPointerv from GL_ARB_debug_output
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@618 783a27ee-832a-0410-bc00-9f386506c6dd
2010-08-16 19:43:07 +00:00
nigels
5d70415c04 Add various enumerants missing from glew.h currently
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@617 783a27ee-832a-0410-bc00-9f386506c6dd
2010-08-13 20:49:25 +00:00
nigels
7102be81a7 Disable filtering of GL_ARB_separate_shader_objects, resolve build breakage.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@616 783a27ee-832a-0410-bc00-9f386506c6dd
2010-08-12 00:31:10 +00:00
nigels
376baca6d1 Add support for ARB_viewport_array
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@615 783a27ee-832a-0410-bc00-9f386506c6dd
2010-08-10 04:31:50 +00:00
nigels
ef4156e01e GLEW_VERSION_4_1 and related version detection, no API yet
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@614 783a27ee-832a-0410-bc00-9f386506c6dd
2010-08-06 14:31:38 +00:00
nigels
043de344c2 Blacklist ARB/separate_shader_objects and ARB/viewport_array for now, fix build breaks.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@613 783a27ee-832a-0410-bc00-9f386506c6dd
2010-07-29 13:33:05 +00:00
nigels
974063f133 Bump version number of GLEW 1.5.5 release.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@611 783a27ee-832a-0410-bc00-9f386506c6dd
2010-07-13 17:44:26 +00:00
nigels
2ac871b009 Update date to 7-13-10 for GLEW 1.5.5 release
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@610 783a27ee-832a-0410-bc00-9f386506c6dd
2010-07-13 16:35:35 +00:00
nigels
efe14a1dde Update documentation for upcoming GLEW 1.5.5
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@609 783a27ee-832a-0410-bc00-9f386506c6dd
2010-07-09 19:52:48 +00:00
nigels
43dd29cf8f Improved GL_NV_vdpau_interop support
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@608 783a27ee-832a-0410-bc00-9f386506c6dd
2010-06-29 23:58:41 +00:00
nigels
8e36df6227 Fix for ID: 2974730 - glPointParameterfv has wrong signature
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@607 783a27ee-832a-0410-bc00-9f386506c6dd
2010-06-29 18:08:17 +00:00
nigels
e4f8c4d125 Fix for ID: 3002872 - Compilation errorswith GLX_SGI_video_sync
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@606 783a27ee-832a-0410-bc00-9f386506c6dd
2010-06-29 18:07:32 +00:00
nigels
f263f0def0 Fixups for GLX_AMD_gpu_association and GL_NV_vdpau_interop which recently appeared in opengl.org repository
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@605 783a27ee-832a-0410-bc00-9f386506c6dd
2010-06-16 17:13:32 +00:00
nigels
b19763ad19 For ID: 3016571 - Unnecessary global variable ctx
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@604 783a27ee-832a-0410-bc00-9f386506c6dd
2010-06-15 17:33:56 +00:00
nigels
814999051c Apply patch for ID: 3007103 - Add missing mkdir
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@603 783a27ee-832a-0410-bc00-9f386506c6dd
2010-05-31 14:40:31 +00:00
nigels
c743ec1ae7 Resolve bug 3005387 - glVertexAttribDivisor is still undefined in GLEW 1.5.4
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@602 783a27ee-832a-0410-bc00-9f386506c6dd
2010-05-21 19:54:27 +00:00
nigels
91fe4e2bb1 Add support for AMD_debug_output, recently added to opengl.org repository.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@601 783a27ee-832a-0410-bc00-9f386506c6dd
2010-05-21 19:15:29 +00:00
nigels
f5faea3022 Enable GL_ARB_gpu_shader_fp64
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@600 783a27ee-832a-0410-bc00-9f386506c6dd
2010-05-07 20:43:46 +00:00
nigels
381f7cb49c Adjust date for GLEW 1.5.4 release in documentation/web
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@599 783a27ee-832a-0410-bc00-9f386506c6dd
2010-04-28 00:51:09 +00:00
nigels
46d049f06c Release GLEW 1.5.4 - updated documentation and version number
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@598 783a27ee-832a-0410-bc00-9f386506c6dd
2010-04-28 00:46:41 +00:00
nigels
e0a61bc50f Fix for bug 2990476 - including glew.h fails with SGI MIPSPro CC
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@597 783a27ee-832a-0410-bc00-9f386506c6dd
2010-04-27 22:06:09 +00:00
nigels
8bcfc426f5 Fix for issue 2992222 - NVIDIA glx headers use a different CPP barrier
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@596 783a27ee-832a-0410-bc00-9f386506c6dd
2010-04-27 04:27:42 +00:00
nigels
341b043b31 Add support for Nvidia Fermi extensions.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@595 783a27ee-832a-0410-bc00-9f386506c6dd
2010-04-19 03:52:05 +00:00
nigels
ea6c9830f7 Hard-code GL_ARB_sampler_objects entry points due to use of {if} etc in spec that GLEW doesn't understand
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@594 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-29 18:42:40 +00:00
nigels
db5fa843c9 For bug 2974730: glPointParameteriv and glPointParameterfv take const array params
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@593 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-26 14:37:47 +00:00
nigels
7aa5032789 Documentation updates
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@592 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-11 23:37:05 +00:00
nigels
13a4bbaa12 Fix for glewinfo extension string checking.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@591 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-11 23:32:28 +00:00
nigels
0c26245424 Initial OpenGL 3.3 and 4.0 support
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@590 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-11 23:28:29 +00:00
nigels
628edd3c0b Only check OpenGL extension string if there is a non-empty string to check for. GL_VERSION_* are detected from the version info.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@589 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-10 15:37:02 +00:00
nigels
839c21e270 GL_NV_vertex_program4 GL_NV_geometry_program4 GL_NV_fragment_program4 are available iff GL_NV_gpu_program4 is in the OpenGL extension string.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@588 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-10 15:35:12 +00:00
nigels
4744f99070 The first three lines of each core or extension file is now: name, URL and GL extension string name. For example GL_NV_geometry_program4 is available iff GL_NV_gpu_program4 appears in the extension string.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@587 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-05 18:19:59 +00:00
nigels
3285bcd840 More documentation that wasn't updated for GLEW 1.5.3
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@586 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-04 18:23:47 +00:00
nigels
23b90a2e11 Another web/documentation typo for 1.5.3
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@585 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-04 06:48:39 +00:00
nigels
715cac4c63 Little touch-up for GLEW 1.5.3 documentation.
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@584 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-04 04:08:40 +00:00
nigels
0eb615148f Last minute touch-ups for 1.5.3 release
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@583 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-01 05:09:30 +00:00
nigels
85e5f5492e Updated version to 1.5.3, documentation
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@582 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-01 03:55:17 +00:00
nigels
ea93a407da Updated version to 1.5.3, documentation
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@581 783a27ee-832a-0410-bc00-9f386506c6dd
2010-03-01 03:53:39 +00:00
nigels
db0b45aa68 Update extension documentation for GLX_INTEL_swap_event, GL_AMD_seamless_cubemap_per_texture and GL_AMD_shader_stencil_export
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@580 783a27ee-832a-0410-bc00-9f386506c6dd
2010-02-28 19:11:55 +00:00
nigels
15471cbd9f Create bin and lib dir for dist-src, do dos2unix/unix2dos for .pm and .rc files too
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@579 783a27ee-832a-0410-bc00-9f386506c6dd
2010-02-28 18:40:09 +00:00
nigels
a62f07a20c Fix for bug 2945172 - GLEW_VERSION_3_1 and GLEW_VERSION_3_2 are not initialized in, glewContextInit(), only GLEW_VERSION_3_0 is set
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@578 783a27ee-832a-0410-bc00-9f386506c6dd
2010-02-28 18:39:04 +00:00
nigels
94314188f3 Fix for bug 2948943 - Missing enumsGL_BUFFER_ACCESS_FLAGS
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@577 783a27ee-832a-0410-bc00-9f386506c6dd
2010-02-28 18:38:07 +00:00
nigels
f94ab6a09b Update config.guess to libtool-2.2.6b.tar.gz from http://www.gnu.org/software/libtool/
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@576 783a27ee-832a-0410-bc00-9f386506c6dd
2010-02-28 18:36:58 +00:00
nigels
0d04f76ced Add pkg-config support, based on patch by Eric Anholt
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@575 783a27ee-832a-0410-bc00-9f386506c6dd
2010-01-07 17:03:40 +00:00
318 changed files with 102503 additions and 4661 deletions

6
.gitattributes vendored Normal file
View File

@ -0,0 +1,6 @@
* text eol=lf
*.png binary
*.pdf binary
build/*/* text eol=crlf
CMakeLists.txt text eol=lf
build/cmake/* text eol=lf

227
.github/workflows/cmake.yml vendored Normal file
View File

@ -0,0 +1,227 @@
name: CMake
on:
pull_request:
branches:
- master
types:
- opened
- synchronize
- reopened
push:
branches:
- master
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build:
runs-on: ubuntu-latest
container: ubuntu:latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: apt update && DEBIAN_FRONTEND=noninteractive apt install -y cmake gcc g++ libglu1-mesa-dev pkg-config libx11-dev libxext-dev
- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: |
mkdir build_test
mkdir from_installed
mkdir pkg-config
mkdir as_subdirectory
- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: build_test
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- name: Build test
working-directory: build_test
shell: bash
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE
- name: Install test
shell: bash
working-directory: from_installed
run: |
mkdir -p ext_project/build
cp $GITHUB_WORKSPACE/src/glewinfo.c ext_project/
cmake $GITHUB_WORKSPACE -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/glew-root-cmake
cmake --build . --target install
cd ext_project
cp $GITHUB_WORKSPACE/glew-cmake/cmake-install-test.cmake CMakeLists.txt
cmake -DCMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/glew-root-cmake/ .
cmake --build .
- name: Package config test
shell: bash
working-directory: pkg-config
run: |
mkdir -p ext_project
cp $GITHUB_WORKSPACE/src/glewinfo.c ext_project/
cmake $GITHUB_WORKSPACE -DPKG_CONFIG_REPRESENTATIVE_TARGET=libglew_static -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/glew-root-pkg-config
cmake --build . --target install
cd ext_project
gcc $GITHUB_WORKSPACE/src/glewinfo.c $(PKG_CONFIG_PATH=$GITHUB_WORKSPACE/glew-root-pkg-config/lib/pkgconfig pkg-config --libs --cflags glew) -o glewinfo
- name: Subdirectory test
shell: bash
working-directory: as_subdirectory
run: |
cp $GITHUB_WORKSPACE/src/glewinfo.c ./
cp $GITHUB_WORKSPACE/glew-cmake/sub-directory-test.cmake CMakeLists.txt
cmake .
cmake --build .
build_linux:
strategy:
fail-fast: false
matrix:
cmake:
- 2.8.12.2
- 3.10.3
- latest
runs-on: ubuntu-latest
container: ubuntu:latest
steps:
- uses: actions/checkout@v2
- name: Restore cached cmake
uses: actions/cache/restore@v4
with:
path: /opt/cmake
key: cmake-${{ matrix.cmake }}
- name: Install dependencies
shell: bash
run: |
cmake=${{ matrix.cmake }}
apt update
apt install -y gcc make libgl1-mesa-dev libx11-dev libxext-dev
if [ "${cmake}" == "latest" ]; then
apt install -y git
cmake=$(git ls-remote --tags https://gitlab.kitware.com/cmake/cmake | cut -f 2 | sed -E "s/^refs\/tags\/v//" | tr -d "^{}" | sort -t '.' -k 1,1n -k 2,2n -k 3,3n | tail -n 1 | tr -d "\n")
echo "Latest version: ${cmake}"
fi
if [ -x /opt/cmake/bin/cmake ]; then
echo "Found cached cmake"
if [ -n "$(/opt/cmake/bin/cmake --version | grep ${cmake})" ]; then
exit 0
fi
/opt/cmake/bin/cmake --version
echo "CMake version is mismatched"
rm -rf /opt/cmake
fi
apt install -y g++ wget
short_version=$(echo "${cmake}" | sed -E "s/^([0-9]+\\.[0-9]+)\\..+$/\\1/" | tr -d "\n")
wget https://cmake.org/files/v${short_version}/cmake-${cmake}.tar.gz
tar -xf cmake-${cmake}.tar.gz
cd cmake-${cmake}
if [ "${cmake}" == "2.8.12.2" ]; then
apt -y install patch
patch -p1 << 'EOF'
--- cmake-2.8.12.2-org/CMakeLists.txt 2014-01-16 17:15:07.000000000 +0000
+++ cmake-2.8.12.2-patch/CMakeLists.txt 2025-04-13 10:37:28.359021847 +0000
@@ -616 +616 @@
-add_subdirectory(Tests)
+# add_subdirectory(Tests)
--- cmake-2.8.12.2-org/Source/CMakeLists.txt 2014-01-16 17:15:08.000000000 +0000
+++ cmake-2.8.12.2-patch/Source/CMakeLists.txt 2025-04-13 10:37:13.584956375 +0000
@@ -481,2 +481,2 @@
-add_library(CTestLib ${CTEST_SRCS})
-target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
+# add_library(CTestLib ${CTEST_SRCS})
+# target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
@@ -562,2 +562,2 @@
-add_executable(ctest ctest.cxx)
-target_link_libraries(ctest CTestLib)
+# add_executable(ctest ctest.cxx)
+# target_link_libraries(ctest CTestLib)
@@ -583 +583 @@
-install(TARGETS cmake ctest cpack DESTINATION bin)
+install(TARGETS cmake cpack DESTINATION bin)
EOF
fi
./configure --prefix=/opt/cmake -- -DCMAKE_USE_OPENSSL=OFF
make -j $(nproc) install
- name: Save cmake
uses: actions/cache/save@v4
with:
path: /opt/cmake
key: cmake-${{ matrix.cmake }}
- name: Configure CMake
shell: bash
run: /opt/cmake/bin/cmake . -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- name: Build test
shell: bash
run: /opt/cmake/bin/cmake --build .
- name: Check alias
shell: bash
run: test -e lib/libGLEW.a
build_mingw:
runs-on: ubuntu-latest
container: ubuntu:latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: apt update && apt install -y cmake g++-mingw-w64-x86-64 make libgl1-mesa-dev libx11-dev libxext-dev
- name: Configure CMake
shell: bash
run: cmake . -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE="$GITHUB_WORKSPACE/glew-cmake/mingw.cmake"
- name: Build test
shell: bash
run: cmake --build .
build_mac:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Configure CMake
shell: bash
run: cmake . -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- name: Build test
shell: bash
run: cmake --build .
build_windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Configure CMake
shell: bash
run: cmake . -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- name: Build test
shell: bash
run: cmake --build .

25
.gitignore vendored Normal file
View File

@ -0,0 +1,25 @@
*.pc
/src/*.c
/include/GL/*.h
/build/vc6/*.rc
/build/*.rc
/build/*/*.sdf
/build/*/*.suo
/build/*/*.db
/build/*/*.vcxproj.user
/build/*/.vs/
/build/*/tmp/
/build/cmake/CMakeFiles/
/build/cmake/CMakeCache.txt
/build/cmake/cmake_install.cmake
/build/cmake/Makefile
/auto/extensions
/auto/registry
/bin
/lib
/tmp
/out
.DS_Store*
auto/EGL-Registry
auto/OpenGL-Registry
auto/glfixes

12
.lgtm.yml Normal file
View File

@ -0,0 +1,12 @@
extraction:
cpp:
prepare:
packages:
- "build-essential"
- "libxmu-dev"
- "libxi-dev"
- "libgl-dev"
index:
build_command:
- "cd auto; make all -j8; cd .."
- "make all -j8"

27
.travis.yml Normal file
View File

@ -0,0 +1,27 @@
language: cpp
dist: trusty
install:
script:
- make -C auto clobber
- make extensions
- make dist-src
- make clean && SYSTEM=linux make
- make clean && SYSTEM=linux-osmesa make
- make clean && SYSTEM=linux-egl make
- make clean && SYSTEM=linux-clang make
- make clean && SYSTEM=linux-clang-egl make
- pushd build/cmake && git clean -xdf . && cmake -G 'Unix Makefiles' . && make && popd
- pushd build/cmake && git clean -xdf . && cmake -G 'Unix Makefiles' -DGLEW_OSMESA=ON . && make && popd
- pushd build/cmake && git clean -xdf . && cmake -G 'Unix Makefiles' -DGLEW_EGL=ON -DGLEW_X11=OFF . && make && popd
addons:
apt:
packages:
- git
- cmake
- dos2unix
- libosmesa6-dev
- libegl1-mesa-dev
artifacts:
paths:
- $(ls *.zip *.tgz | tr "\n" ":")
- $(find doc -type f | tr "\n" ":")

287
CMakeLists.txt Normal file
View File

@ -0,0 +1,287 @@
cmake_minimum_required(VERSION 2.8.12...4.0)
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/config/version _VERSION_MAJOR_STRING REGEX "GLEW_MAJOR[ ]*=[ ]*[0-9]+.*")
string(REGEX REPLACE "GLEW_MAJOR[ ]*=[ ]*([0-9]+)" "\\1" MAJOR_VERSION ${_VERSION_MAJOR_STRING})
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/config/version _VERSION_MINOR_STRING REGEX "GLEW_MINOR[ ]*=[ ]*[0-9]+.*")
string(REGEX REPLACE "GLEW_MINOR[ ]*=[ ]*([0-9]+)" "\\1" MINOR_VERSION ${_VERSION_MINOR_STRING})
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/config/version _VERSION_PATCH_STRING REGEX "GLEW_MICRO[ ]*=[ ]*[0-9]+.*")
string(REGEX REPLACE "GLEW_MICRO[ ]*=[ ]*([0-9]+)" "\\1" PATCH_VERSION ${_VERSION_PATCH_STRING})
set(GLEW_VERSION ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION})
if(NOT CMAKE_VERSION VERSION_LESS 3.0)
cmake_policy(SET CMP0048 NEW)
project("glew" VERSION ${GLEW_VERSION} LANGUAGES C)
else()
project("glew" C)
set(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR_VERSION})
set(CPACK_PACKAGE_VERSION_MINOR ${MAJOR_VERSION})
set(CPACK_PACKAGE_VERSION_PATCH ${MAJOR_VERSION})
endif()
set(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
set(INCLUDE_DIR "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>$<INSTALL_INTERFACE:include>")
set(RC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
include("GeneratePkgConfig.cmake")
if (POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif()
option(glew-cmake_BUILD_SHARED "Build the shared glew library" ON)
option(glew-cmake_BUILD_STATIC "Build the static glew library" ON)
option(USE_GLU "Use GLU" OFF)
option(GLEW_OSMESA "Off-screen Mesa mode" OFF)
option(PKG_CONFIG_REPRESENTATIVE_TARGET "Generate pc file for specified target as glew. libglew_static|libglew_shared" OFF)
option(ONLY_LIBS "Do not build executables" OFF)
set(LIBGLEW_SRCS ${SRC_DIR}/glew.c)
set(DEFINITIONS)
if(WIN32)
list(APPEND DEFINITIONS -DWIN32_MEAN_AND_LEAN -DVC_EXTRALEAN -D_CRT_SECURE_NO_WARNINGS)
endif()
if(MSVC)
list(APPEND LIBGLEW_SRCS ${RC_DIR}/glew.rc)
endif()
# Use namespaced libraries when supported
if(NOT CMAKE_VERSION VERSION_LESS 3.14)
set(USE_NAMESPACED_LIB YES)
else()
set(USE_NAMESPACED_LIB NO)
endif()
if(POLICY CMP0028)
cmake_policy(SET CMP0028 NEW)
endif()
if(POLICY CMP0042)
cmake_policy(SET CMP0042 NEW)
endif()
if(POLICY CMP0072)
set(OpenGL_GL_PREFERENCE GLVND)
endif()
if(NOT (WIN32 OR APPLE))
message("Try to find OpenGL with GLVND")
find_package(OpenGL REQUIRED
COMPONENTS OpenGL GLX)
endif()
if(OPENGL_FOUND AND OpenGL_GLX_FOUND AND TARGET OpenGL::OpenGL)
set(USE_GLVND YES)
else()
message("GLVND not supported. Try find OpenGL legacy")
find_package(OpenGL REQUIRED)
set(USE_GLVND NO)
endif()
set(pc_requires)
if(NOT USE_GLU)
list(APPEND DEFINITIONS -DGLEW_NO_GLU)
else()
if(NOT OPENGL_GLU_FOUND)
message(FATAL_ERROR "GLU is not found. but GLU option is enabled")
endif()
list(APPEND pc_requires glu)
if(USE_NAMESPACED_LIB)
list(APPEND LIBRARIES OpenGL::GLU)
else()
list(APPEND LIBRARIES ${OPENGL_glu_LIBRARY})
endif()
endif()
list(APPEND pc_requires gl)
if(USE_NAMESPACED_LIB)
if(USE_GLVND)
list(APPEND LIBRARIES OpenGL::OpenGL)
else()
list(APPEND LIBRARIES OpenGL::GL)
endif()
else()
if(USE_GLVND)
list(APPEND LIBRARIES ${OPENGL_opengl_LIBRARY})
else()
list(APPEND LIBRARIES ${OPENGL_gl_LIBRARY})
endif()
endif()
# OS Specific dependencies
if(APPLE)
find_library(AGL_LIBRARY AGL REQUIRED)
list(APPEND LIBRARIES ${AGL_LIBRARY})
elseif(NOT WIN32)
if(GLEW_OSMESA)
find_library(OSMESA_LIBRARY OSMesa REQUIRED)
list(APPEND LIBRARIES ${OSMESA_LIBRARY})
list(APPEND DEFINITIONS -DGLEW_OSMESA)
list(APPEND pc_requires osmesa)
else()
if(USE_GLVND)
if(NOT OpenGL_GLX_FOUND)
message(FATAL_ERROR "GLX is not found. Try with PREFER_GLVND=NO")
endif()
if(USE_NAMESPACED_LIB)
list(APPEND LIBRARIES OpenGL::GLX)
else()
list(APPEND LIBRARIES ${OPENGL_glx_LIBRARY})
endif()
endif()
find_package(X11 REQUIRED)
list(APPEND pc_requires x11 xext)
if(USE_NAMESPACED_LIB)
list(APPEND LIBRARIES X11::X11 X11::Xext)
else()
list(APPEND LIBRARIES ${X11_X11_LIB} ${X11_Xext_LIB})
endif()
endif()
endif()
set(GLEW_TARGETS)
if(NOT CMAKE_INSTALL_LIBDIR)
set(INSTALL_LIBDIR lib)
else()
set(INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR})
endif()
execute_process(
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/test_fs_support_case_sensitivity
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/test_fs_support_CASE_sensitivity)
file(GLOB TEST_FILE_LIST ${CMAKE_BINARY_DIR}/test_fs_support_*_sensitivity)
list(LENGTH TEST_FILE_LIST TEST_FILE_COUNT)
if(TEST_FILE_COUNT EQUAL 2)
set(SUPPORT_CASE_SENSITIVE_FS YES)
else()
set(SUPPORT_CASE_SENSITIVE_FS NO)
endif()
function(set_representative_target TARGET)
set_target_properties(${TARGET} PROPERTIES
OUTPUT_NAME "glew"
DEBUG_POSTFIX d)
# Windows & macOS use case-insensetive FS. do not create symbolic link
if(SUPPORT_CASE_SENSITIVE_FS)
get_target_property(TARGET_TYPE ${TARGET} TYPE)
string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
if(CMAKE_BUILD_TYPE_LOWER STREQUAL "debug" AND NOT ANDROID)
set(GLEW_DEBUG_SUFFIX "d")
else()
set(GLEW_DEBUG_SUFFIX "")
endif()
if(TARGET_TYPE STREQUAL STATIC_LIBRARY)
set(EXT ".a")
get_target_property(OUT_DIR ${TARGET} ARCHIVE_OUTPUT_DIRECTORY)
else()
set(EXT ".so")
get_target_property(OUT_DIR ${TARGET} LIBRARY_OUTPUT_DIRECTORY)
endif()
if(NOT ${CMAKE_VERSION} VERSION_LESS 3.0)
add_custom_command(TARGET ${TARGET} POST_BUILD
COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink libglew${GLEW_DEBUG_SUFFIX}${EXT} libGLEW${GLEW_DEBUG_SUFFIX}${EXT}
WORKING_DIRECTORY ${OUT_DIR}
BYPRODUCTS ${OUT_DIR}/libGLEW${GLEW_DEBUG_SUFFIX}${EXT}
COMMENT "create libGLEW${GLEW_DEBUG_SUFFIX} symbolic link")
else()
add_custom_command(TARGET ${TARGET} POST_BUILD
COMMAND bash ARGS -c "( test ! -e ${OUT_DIR}/libGLEW${GLEW_DEBUG_SUFFIX}${EXT} && cd ${OUT_DIR} && ${CMAKE_COMMAND} -E create_symlink libglew${GLEW_DEBUG_SUFFIX}${EXT} libGLEW${GLEW_DEBUG_SUFFIX}${EXT} ) || true"
COMMENT "create libGLEW${GLEW_DEBUG_SUFFIX} symbolic link"
VERBATIM)
endif()
if(NOT ${CMAKE_VERSION} VERSION_LESS 3.14)
install(FILES ${OUT_DIR}/libGLEW${GLEW_DEBUG_SUFFIX}${EXT} TYPE LIB)
else()
install(FILES ${OUT_DIR}/libGLEW${GLEW_DEBUG_SUFFIX}${EXT} DESTINATION ${INSTALL_LIBDIR})
endif()
endif()
endfunction()
if(glew-cmake_BUILD_STATIC)
add_library(libglew_static STATIC ${LIBGLEW_SRCS})
set_representative_target(libglew_static)
target_compile_definitions(libglew_static PUBLIC GLEW_STATIC)
list(APPEND GLEW_TARGETS libglew_static)
endif()
if(glew-cmake_BUILD_SHARED)
add_library(libglew_shared SHARED ${LIBGLEW_SRCS})
if(glew-cmake_BUILD_STATIC)
set_target_properties(libglew_shared PROPERTIES
OUTPUT_NAME "glew-shared"
DEBUG_POSTFIX d)
else()
set_representative_target(libglew_shared)
endif()
target_compile_definitions(libglew_shared PRIVATE GLEW_BUILD)
if(MINGW)
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
target_link_options(libglew_shared PRIVATE -nostdlib)
else()
target_link_libraries(libglew_shared PRIVATE -nostdlib)
endif()
endif()
list(APPEND GLEW_TARGETS libglew_shared)
endif()
foreach(GLEW_TARGET ${GLEW_TARGETS})
target_compile_definitions(${GLEW_TARGET} PUBLIC ${DEFINITIONS})
target_include_directories(${GLEW_TARGET} PUBLIC ${INCLUDE_DIR})
target_link_libraries(${GLEW_TARGET} PUBLIC ${LIBRARIES})
set_target_properties(${GLEW_TARGET} PROPERTIES VERSION ${GLEW_VERSION})
endforeach()
if(PKG_CONFIG_REPRESENTATIVE_TARGET)
GeneratePkgConfigFile(${PKG_CONFIG_REPRESENTATIVE_TARGET} "The OpenGL Extension Wrangler library"
NAME "glew"
LIBRARY_DIR ${INSTALL_LIBDIR}
REQUIRES ${pc_requires})
endif()
install(TARGETS ${GLEW_TARGETS} EXPORT glew-cmake
ARCHIVE DESTINATION ${INSTALL_LIBDIR}
LIBRARY DESTINATION ${INSTALL_LIBDIR})
install(EXPORT glew-cmake DESTINATION ${INSTALL_LIBDIR}/cmake/glew FILE glewConfig.cmake)
file(GLOB PUBLIC_HEADERS "include/GL/*.h")
install(FILES ${PUBLIC_HEADERS} DESTINATION include/GL/)
if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR} AND NOT ONLY_LIBS)
set(GLEWINFO_SRCS ${SRC_DIR}/glewinfo.c)
set(VISUALINFO_SRCS ${SRC_DIR}/visualinfo.c)
if(MSVS)
list(APPEND GLEWINFO_SRCS ${RC_DIR}/glewinfo.rc)
list(APPEND VISUALINFO_SRCS ${RC_DIR}/visualinfo.rc)
endif()
add_executable(glewinfo ${GLEWINFO_SRCS})
add_executable(visualinfo ${VISUALINFO_SRCS})
if(glew-cmake_BUILD_STATIC)
target_link_libraries(glewinfo libglew_static)
target_link_libraries(visualinfo libglew_static)
else()
target_link_libraries(glewinfo libglew_shared)
target_link_libraries(visualinfo libglew_shared)
endif()
install(TARGETS glewinfo visualinfo DESTINATION bin)
endif()

62
GeneratePkgConfig.cmake Normal file
View File

@ -0,0 +1,62 @@
function(GeneratePkgConfigFile target description)
cmake_parse_arguments(pc "" "NAME;LIBRARY_DIR" "REQUIRES" ${ARGV})
if(NOT pc_LIBRARY_DIR)
set(pc_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR})
endif()
if(WIN32)
set(PKGCONFIG_INSTALL_DIR)
else()
set(PKGCONFIG_INSTALL_DIR ${pc_LIBRARY_DIR}/pkgconfig)
endif()
if(NOT pc_NAME)
set(pc_NAME ${target})
endif()
get_property(raw_definitions TARGET ${target} PROPERTY INTERFACE_COMPILE_DEFINITIONS)
set(definitions "")
foreach(def IN LISTS raw_definitions)
if(def MATCHES "-D")
list(APPEND definitions ${def})
else()
list(APPEND definitions "-D${def}")
endif()
endforeach()
list(JOIN definitions " " definitions)
get_property(target_output TARGET ${target} PROPERTY OUTPUT_NAME)
get_filename_component(target_output ${target_output} NAME)
set(links "-l${target_output}")
get_property(raw_links TARGET ${target} PROPERTY INTERFACE_LINK_LIBRARIES)
foreach(link IN LISTS raw_links)
if(link MATCHES "-l")
list(APPEND links ${link})
elseif(TARGET ${link})
get_property(is_imported TARGET ${link} PROPERTY IMPORTED)
if(NOT is_imported)
get_property(link_target TARGET ${link} PROPERTY OUTPUT_NAME)
list(APPEND links ${link_target})
endif()
else()
list(APPEND links "-l${link}")
endif()
endforeach()
list(JOIN links " " links)
get_property(version TARGET ${target} PROPERTY VERSION)
set(out_file "${CMAKE_CURRENT_BINARY_DIR}/${pc_NAME}.pc")
file(WRITE ${out_file} "prefix=${CMAKE_INSTALL_PREFIX}\n")
file(APPEND ${out_file} "exec_prefix=\${prefix}\n")
file(APPEND ${out_file} "libdir=\${prefix}/${pc_LIBRARY_DIR}\n")
file(APPEND ${out_file} "includedir=\${prefix}/include\n")
file(APPEND ${out_file} "\n")
file(APPEND ${out_file} "Name: ${pc_NAME}\n")
file(APPEND ${out_file} "Description: ${description}\n")
file(APPEND ${out_file} "Version: ${version}\n")
file(APPEND ${out_file} "Cflags: -I\${includedir} ${definitions}\n")
file(APPEND ${out_file} "Libs: -L\${libdir} ${links}\n")
if(pc_REQUIRES)
string(REPLACE ";" " " REQUIRES "${pc_REQUIRES}")
file(APPEND ${out_file} "Requires: ${REQUIRES}")
endif()
install(FILES ${out_file} DESTINATION "${PKGCONFIG_INSTALL_DIR}")
endfunction()

423
Makefile
View File

@ -31,7 +31,7 @@
include config/version
SHELL = /bin/sh
SYSTEM = $(shell config/config.guess | cut -d - -f 3 | sed -e 's/[0-9\.]//g;')
SYSTEM ?= $(shell config/config.guess | cut -d - -f 3 | sed -e 's/\.//g' -e 's/[0-9]\{1,\}.*//')
SYSTEM.SUPPORTED = $(shell test -f config/Makefile.$(SYSTEM) && echo 1)
ifeq ($(SYSTEM.SUPPORTED), 1)
@ -40,207 +40,316 @@ else
$(error "Platform '$(SYSTEM)' not supported")
endif
GLEW_DEST ?= /usr
BINDIR ?= $(GLEW_DEST)/bin
LIBDIR ?= $(GLEW_DEST)/lib
INCDIR ?= $(GLEW_DEST)/include/GL
SHARED_OBJ_EXT ?= o
TARDIR = ../glew-$(GLEW_VERSION)
TARBALL = ../glew-$(GLEW_VERSION).tar.gz
GLEW_PREFIX ?= /usr/local
GLEW_DEST ?= /usr/local
BINDIR ?= $(GLEW_DEST)/bin
LIBDIR ?= $(GLEW_DEST)/lib
INCDIR ?= $(GLEW_DEST)/include/GL
PKGDIR ?= $(GLEW_DEST)/lib/pkgconfig
DIST_DIR = glew-$(GLEW_VERSION)
DIST_WIN32 = glew-$(GLEW_VERSION)-win32.zip
DIST_SRC_ZIP = glew-$(GLEW_VERSION).zip
DIST_SRC_TGZ = glew-$(GLEW_VERSION).tgz
ifneq ($(GLEW_NO_GLU), -DGLEW_NO_GLU)
LIBGLU = glu
endif
AR = ar
INSTALL = install
STRIP = strip
RM = rm -f
LN = ln -sf
ifeq ($(MAKECMDGOALS), debug)
DIST_NAME ?= glew-$(GLEW_VERSION)
DIST_SRC_ZIP ?= $(shell pwd)/$(DIST_NAME).zip
DIST_SRC_TGZ ?= $(shell pwd)/$(DIST_NAME).tgz
DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip
DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME)
# To disable stripping of linked binaries either:
# - use STRIP= on gmake command-line
# - edit this makefile to set STRIP to the empty string
#
# To disable symlinks:
# - use LN= on gmake command-line
AR ?= ar
ARFLAGS ?= cr
INSTALL ?= install
STRIP ?= strip
RM ?= rm -f
LN ?= ln -sf
UNIX2DOS ?= unix2dos -q
DOS2UNIX ?= dos2unix -q
ifneq (,$(filter debug,$(MAKECMDGOALS)))
OPT = -g
STRIP :=
else
OPT = $(POPT)
endif
INCLUDE = -Iinclude
CFLAGS = $(OPT) $(WARN) $(INCLUDE) $(CFLAGS.EXTRA)
LIB.SRCS = src/glew.c
LIB.OBJS = $(LIB.SRCS:.c=.o)
LIB.SOBJS = $(LIB.SRCS:.c=.$(SHARED_OBJ_EXT))
LIB.LDFLAGS = $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
LIB.LIBS = $(GL_LDFLAGS)
all debug: glew.lib glew.bin
GLEWINFO.BIN = glewinfo$(BIN.SUFFIX)
GLEWINFO.BIN.SRCS = src/glewinfo.c
GLEWINFO.BIN.OBJS = $(GLEWINFO.BIN.SRCS:.c=.o)
VISUALINFO.BIN = visualinfo$(BIN.SUFFIX)
VISUALINFO.BIN.SRCS = src/visualinfo.c
VISUALINFO.BIN.OBJS = $(VISUALINFO.BIN.SRCS:.c=.o)
BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
# GLEW shared and static libraries
all debug: lib/$(LIB.SHARED) lib/$(LIB.STATIC) bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
LIB.LDFLAGS := $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
LIB.LIBS := $(GL_LDFLAGS)
LIB.SHARED.DIR ?= lib
LIB.SRCS := src/glew.c
LIB.SRCS.NAMES := $(notdir $(LIB.SRCS))
LIB.OBJS := $(addprefix tmp/$(SYSTEM)/default/static/,$(LIB.SRCS.NAMES))
LIB.OBJS := $(LIB.OBJS:.c=.o)
LIB.SOBJS := $(addprefix tmp/$(SYSTEM)/default/shared/,$(LIB.SRCS.NAMES))
LIB.SOBJS := $(LIB.SOBJS:.c=.o)
glew.lib: glew.lib.shared glew.lib.static
glew.lib.shared: lib $(LIB.SHARED.DIR) $(LIB.SHARED.DIR)/$(LIB.SHARED) glew.pc
glew.lib.static: lib lib/$(LIB.STATIC) glew.pc
.PHONY: glew.lib glew.lib.shared glew.lib.static
lib:
mkdir lib
lib/$(LIB.STATIC): $(LIB.OBJS)
$(AR) cr $@ $^
ifneq ($(AR),)
$(AR) $(ARFLAGS) $@ $^
else ifneq ($(LIBTOOL),)
$(LIBTOOL) $@ $^
endif
ifneq ($(STRIP),)
$(STRIP) -x $@
endif
lib/$(LIB.SHARED): $(LIB.SOBJS)
$(LIB.SHARED.DIR)/$(LIB.SHARED): $(LIB.SOBJS)
$(LD) $(LDFLAGS.SO) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS)
ifeq ($(patsubst mingw%,mingw,$(SYSTEM)), mingw)
else
$(LN) $(LIB.SHARED) lib/$(LIB.SONAME)
$(LN) $(LIB.SHARED) lib/$(LIB.DEVLNK)
ifneq ($(LN),)
$(LN) $(LIB.SHARED) $(LIB.SHARED.DIR)/$(LIB.SONAME)
$(LN) $(LIB.SHARED) $(LIB.SHARED.DIR)/$(LIB.DEVLNK)
endif
ifneq ($(STRIP),)
$(STRIP) -x $@
endif
bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJS) lib/$(LIB.SHARED)
$(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJS) $(BIN.LIBS)
tmp/$(SYSTEM)/default/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_STATIC $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJS) lib/$(LIB.SHARED)
$(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJS) $(BIN.LIBS)
tmp/$(SYSTEM)/default/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_BUILD $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
%.o: %.c
$(CC) -c $(CFLAGS) -o $@ $<
# Force re-write of glew.pc, GLEW_DEST can vary
src/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
$(CC) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
.PHONY: glew.pc
src/glew.pic_o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
$(CC) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) -o $@ -c $<
glew.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@||g" \
-e "s|@libname@|$(NAME)|g" \
-e "s|@libgl@|$(LDFLAGS.GL)|g" \
-e "s|@requireslib@|$(LIBGLU)|g" \
< $< > $@
install: all
# directories
$(INSTALL) -d -m 0755 $(BINDIR)
$(INSTALL) -d -m 0755 $(INCDIR)
$(INSTALL) -d -m 0755 $(LIBDIR)
# GLEW utility programs
BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
GLEWINFO.BIN := glewinfo$(BIN.SUFFIX)
GLEWINFO.BIN.SRC := src/glewinfo.c
GLEWINFO.BIN.OBJ := $(addprefix tmp/$(SYSTEM)/default/shared/,$(notdir $(GLEWINFO.BIN.SRC)))
GLEWINFO.BIN.OBJ := $(GLEWINFO.BIN.OBJ:.c=.o)
VISUALINFO.BIN := visualinfo$(BIN.SUFFIX)
VISUALINFO.BIN.SRC := src/visualinfo.c
VISUALINFO.BIN.OBJ := $(addprefix tmp/$(SYSTEM)/default/shared/,$(notdir $(VISUALINFO.BIN.SRC)))
VISUALINFO.BIN.OBJ := $(VISUALINFO.BIN.OBJ:.c=.o)
# Don't build glewinfo or visualinfo for NaCL, yet.
ifneq ($(filter nacl%,$(SYSTEM)),)
glew.bin: glew.lib
else
glew.bin: glew.lib bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
endif
bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJ) $(BIN.LIBS)
ifneq ($(STRIP),)
$(STRIP) -x $@
endif
bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJ) $(BIN.LIBS)
ifneq ($(STRIP),)
$(STRIP) -x $@
endif
$(GLEWINFO.BIN.OBJ): $(GLEWINFO.BIN.SRC) include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
@mkdir -p $(dir $@)
$(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
$(VISUALINFO.BIN.OBJ): $(VISUALINFO.BIN.SRC) include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
@mkdir -p $(dir $@)
$(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
# Install targets
install.all: install install.bin
install: install.include install.lib install.pkgconfig
install.lib: glew.lib
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)"
# runtime
ifeq ($(patsubst mingw%,mingw,$(SYSTEM)), mingw)
$(STRIP) -x lib/$(LIB.SHARED)
$(INSTALL) -m 0644 lib/$(LIB.SHARED) $(BINDIR)/
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
$(INSTALL) -d -m 0755 "$(DESTDIR)$(BINDIR)"
$(INSTALL) -m 0755 $(LIB.SHARED.DIR)/$(LIB.SHARED) "$(DESTDIR)$(BINDIR)/"
else
$(STRIP) -x lib/$(LIB.SHARED)
$(INSTALL) -m 0644 lib/$(LIB.SHARED) $(LIBDIR)/
$(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.SONAME)
$(INSTALL) -m 0644 $(LIB.SHARED.DIR)/$(LIB.SHARED) "$(DESTDIR)$(LIBDIR)/"
endif
ifneq ($(LN),)
$(LN) $(LIB.SHARED) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME)"
endif
# development files
$(INSTALL) -m 0644 include/GL/wglew.h $(INCDIR)/
$(INSTALL) -m 0644 include/GL/glew.h $(INCDIR)/
$(INSTALL) -m 0644 include/GL/glxew.h $(INCDIR)/
ifeq ($(patsubst mingw%,mingw,$(SYSTEM)), mingw)
$(INSTALL) -m 0644 lib/$(LIB.DEVLNK) $(LIBDIR)/
else
$(STRIP) -x lib/$(LIB.STATIC)
$(INSTALL) -m 0644 lib/$(LIB.STATIC) $(LIBDIR)/
$(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.DEVLNK)
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
$(INSTALL) -m 0644 lib/$(LIB.DEVLNK) "$(DESTDIR)$(LIBDIR)/"
endif
# utilities
$(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) $(BINDIR)/
ifneq ($(LN),)
$(LN) $(LIB.SHARED) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK)"
endif
$(INSTALL) -m 0644 lib/$(LIB.STATIC) "$(DESTDIR)$(LIBDIR)/"
install.bin: glew.bin
$(INSTALL) -d -m 0755 "$(DESTDIR)$(BINDIR)"
$(INSTALL) -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/"
install.include:
$(INSTALL) -d -m 0755 "$(DESTDIR)$(INCDIR)"
$(INSTALL) -m 0644 include/GL/wglew.h "$(DESTDIR)$(INCDIR)/"
$(INSTALL) -m 0644 include/GL/glew.h "$(DESTDIR)$(INCDIR)/"
$(INSTALL) -m 0644 include/GL/glxew.h "$(DESTDIR)$(INCDIR)/"
$(INSTALL) -m 0644 include/GL/eglew.h "$(DESTDIR)$(INCDIR)/"
install.pkgconfig: glew.pc
$(INSTALL) -d -m 0755 "$(DESTDIR)$(PKGDIR)"
$(INSTALL) -d -m 0755 "$(DESTDIR)$(PKGDIR)"
$(INSTALL) -m 0644 glew.pc "$(DESTDIR)$(PKGDIR)/"
uninstall:
$(RM) $(INCDIR)/wglew.h
$(RM) $(INCDIR)/glew.h
$(RM) $(INCDIR)/glxew.h
$(RM) $(LIBDIR)/$(LIB.DEVLNK)
ifeq ($(patsubst mingw%,mingw,$(SYSTEM)), mingw)
$(RM) $(BINDIR)/$(LIB.SHARED)
$(RM) "$(DESTDIR)$(INCDIR)/wglew.h"
$(RM) "$(DESTDIR)$(INCDIR)/glew.h"
$(RM) "$(DESTDIR)$(INCDIR)/glxew.h"
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK)"
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
$(RM) "$(DESTDIR)$(BINDIR)/$(LIB.SHARED)"
else
$(RM) $(LIBDIR)/$(LIB.SONAME)
$(RM) $(LIBDIR)/$(LIB.SHARED)
$(RM) $(LIBDIR)/$(LIB.STATIC)
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME)"
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SHARED)"
endif
$(RM) $(BINDIR)/$(GLEWINFO.BIN) $(BINDIR)/$(VISUALINFO.BIN)
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.STATIC)"
$(RM) "$(DESTDIR)$(BINDIR)/$(GLEWINFO.BIN)" "$(DESTDIR)$(BINDIR)/$(VISUALINFO.BIN)"
clean:
$(RM) $(LIB.OBJS)
$(RM) $(LIB.SOBJS)
$(RM) lib/$(LIB.STATIC) lib/$(LIB.SHARED) lib/$(LIB.DEVLNK) lib/$(LIB.SONAME) $(LIB.STATIC)
$(RM) $(GLEWINFO.BIN.OBJS) bin/$(GLEWINFO.BIN) $(VISUALINFO.BIN.OBJS) bin/$(VISUALINFO.BIN)
# Compiler droppings
$(RM) so_locations
$(RM) -r tmp/
$(RM) -r lib/
$(RM) -r bin/
$(RM) glew.pc
distclean: clean
find . -name \*~ | xargs $(RM)
find . -name .\*.sw\? | xargs $(RM)
tardist:
$(RM) -r $(TARDIR)
mkdir $(TARDIR)
cp -a . $(TARDIR)
find $(TARDIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
find $(TARDIR) -name .svn | xargs $(RM) -r
$(MAKE) -C $(TARDIR) distclean
$(MAKE) -C $(TARDIR)
$(MAKE) -C $(TARDIR) distclean
$(RM) -r $(TARDIR)/auto/registry
env GZIP=-9 tar -C `dirname $(TARDIR)` -cvzf $(TARBALL) `basename $(TARDIR)`
# Distributions
dist-win32:
$(RM) -r $(TARDIR)
mkdir -p $(TARDIR)
mkdir -p $(TARDIR)/bin
mkdir -p $(TARDIR)/lib
cp -a include $(TARDIR)
cp -a doc $(TARDIR)
cp -a *.txt $(TARDIR)
cp -a lib/glew32.lib $(TARDIR)/lib
cp -a lib/glew32s.lib $(TARDIR)/lib
cp -a bin/glew32.dll $(TARDIR)/bin
cp -a bin/glewinfo.exe $(TARDIR)/bin
cp -a bin/visualinfo.exe $(TARDIR)/bin
find $(TARDIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
find $(TARDIR) -name .svn | xargs $(RM) -r
unix2dos $(TARDIR)/include/GL/*.h
unix2dos $(TARDIR)/doc/*.txt
unix2dos $(TARDIR)/doc/*.html
unix2dos $(TARDIR)/*.txt
rm -f ../$(DIST_WIN32)
cd .. && zip -rv9 $(DIST_WIN32) $(DIST_DIR)
$(RM) -r $(DIST_DIR)
mkdir -p $(DIST_DIR)
cp -a include $(DIST_DIR)
cp -a doc $(DIST_DIR)
cp -a *.txt $(DIST_DIR)
cp -a bin $(DIST_DIR)
cp -a lib $(DIST_DIR)
$(RM) -f $(DIST_DIR)/bin/*/*/*.pdb $(DIST_DIR)/bin/*/*/*.exp
$(RM) -f $(DIST_DIR)/bin/*/*/glewinfo-*.exe $(DIST_DIR)/bin/*/*/visualinfo-*.exe
$(RM) -f $(DIST_DIR)/lib/*/*/*.pdb $(DIST_DIR)/lib/*/*/*.exp
$(UNIX2DOS) $(DIST_DIR)/include/GL/*.h
$(UNIX2DOS) $(DIST_DIR)/doc/*.txt
$(UNIX2DOS) $(DIST_DIR)/doc/*.html
$(UNIX2DOS) $(DIST_DIR)/*.txt
rm -f $(DIST_WIN32)
cd $(DIST_DIR)/.. && zip -rq9 $(DIST_WIN32) $(DIST_NAME)
$(RM) -r $(DIST_DIR)
dist-src:
$(RM) -r $(TARDIR)
mkdir -p $(TARDIR)
mkdir -p $(TARDIR)/bin
mkdir -p $(TARDIR)/lib
cp -a auto $(TARDIR)
$(RM) -Rf $(TARDIR)/auto/registry
cp -a build $(TARDIR)
cp -a config $(TARDIR)
cp -a src $(TARDIR)
cp -a doc $(TARDIR)
cp -a include $(TARDIR)
cp -a *.txt $(TARDIR)
cp -a Makefile $(TARDIR)
find $(TARDIR) -name '*.o' | xargs $(RM) -r
find $(TARDIR) -name '*.pic_o' | xargs $(RM) -r
find $(TARDIR) -name '*~' | xargs $(RM) -r
find $(TARDIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
find $(TARDIR) -name .svn | xargs $(RM) -r
unix2dos $(TARDIR)/config/*
unix2dos $(TARDIR)/auto/core/*
unix2dos $(TARDIR)/auto/extensions/*
find $(TARDIR) -name '*.h' | xargs unix2dos
find $(TARDIR) -name '*.c' | xargs unix2dos
find $(TARDIR) -name '*.txt' | xargs unix2dos
find $(TARDIR) -name '*.html' | xargs unix2dos
find $(TARDIR) -name '*.sh' | xargs unix2dos
find $(TARDIR) -name '*.pl' | xargs unix2dos
find $(TARDIR) -name 'Makefile' | xargs unix2dos
rm -f ../$(DIST_SRC_ZIP)
cd .. && zip -rv9 $(DIST_SRC_ZIP) $(DIST_DIR)
dos2unix $(TARDIR)/config/*
dos2unix $(TARDIR)/auto/core/*
dos2unix $(TARDIR)/auto/extensions/*
find $(TARDIR) -name '*.h' | xargs dos2unix
find $(TARDIR) -name '*.c' | xargs dos2unix
find $(TARDIR) -name '*.txt' | xargs dos2unix
find $(TARDIR) -name '*.html' | xargs dos2unix
find $(TARDIR) -name '*.sh' | xargs dos2unix
find $(TARDIR) -name '*.pl' | xargs dos2unix
find $(TARDIR) -name 'Makefile' | xargs dos2unix
cd .. && env GZIP=-9 tar cvzf $(DIST_SRC_TGZ) $(DIST_DIR)
$(RM) -r $(DIST_DIR)
mkdir -p $(DIST_DIR)
mkdir -p $(DIST_DIR)/bin
mkdir -p $(DIST_DIR)/lib
cp -a auto $(DIST_DIR)
$(RM) -Rf $(DIST_DIR)/auto/registry
$(RM) -Rf $(DIST_DIR)/auto/glfixes
$(RM) -Rf $(DIST_DIR)/auto/OpenGL-Registry
$(RM) -Rf $(DIST_DIR)/auto/EGL-Registry
cp -a build $(DIST_DIR)
cp -a config $(DIST_DIR)
cp -a src $(DIST_DIR)
cp -a doc $(DIST_DIR)
cp -a include $(DIST_DIR)
cp -a *.md $(DIST_DIR)
cp -a *.txt $(DIST_DIR)
cp -a Makefile $(DIST_DIR)
cp -a glew.pc.in $(DIST_DIR)
find $(DIST_DIR) -name '*.o' | xargs $(RM) -r
find $(DIST_DIR) -name '*~' | xargs $(RM) -r
find $(DIST_DIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
find $(DIST_DIR) -name .svn | xargs $(RM) -r
find $(DIST_DIR) -name "*.patch" | xargs $(RM) -r
$(DOS2UNIX) $(DIST_DIR)/Makefile
$(DOS2UNIX) $(DIST_DIR)/auto/Makefile
$(DOS2UNIX) $(DIST_DIR)/config/*
$(UNIX2DOS) $(DIST_DIR)/auto/core/*
$(UNIX2DOS) $(DIST_DIR)/auto/extensions/*
find $(DIST_DIR) -name '*.h' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.c' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.md' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.txt' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.html' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.css' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.sh' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.pl' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name 'Makefile' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.in' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.pm' | xargs $(UNIX2DOS)
find $(DIST_DIR) -name '*.rc' | xargs $(UNIX2DOS)
rm -f $(DIST_SRC_ZIP)
cd $(DIST_DIR)/.. && zip -rq9 $(DIST_SRC_ZIP) $(DIST_NAME)
$(DOS2UNIX) $(DIST_DIR)/Makefile
$(DOS2UNIX) $(DIST_DIR)/auto/Makefile
$(DOS2UNIX) $(DIST_DIR)/config/*
$(DOS2UNIX) $(DIST_DIR)/auto/core/*
$(DOS2UNIX) $(DIST_DIR)/auto/extensions/*
find $(DIST_DIR) -name '*.h' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.c' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.md' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.txt' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.html' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.css' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.sh' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.pl' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name 'Makefile' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.in' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.pm' | xargs $(DOS2UNIX)
find $(DIST_DIR) -name '*.rc' | xargs $(DOS2UNIX)
rm -f $(DIST_SRC_TGZ)
cd $(DIST_DIR)/.. && env GZIP=-9 tar czf $(DIST_SRC_TGZ) $(DIST_NAME)
$(RM) -r $(DIST_DIR)
extensions:
$(MAKE) -C auto

29
README.md Normal file
View File

@ -0,0 +1,29 @@
# GLEW-cmake - nightly pre-generated snapshot with old unofficial cmake support
[GLEW](https://github.com/nigels-com/glew) is upstream of this project.
But *GLEW* repository does not contain generated sources. Only releases include generated sources.
*GLEW-cmake* has generated sources based on the latest *GLEW*. Sources are generated nightly.
If you need only the latest snapshot of *GLEW*, try the build system of *GLEW*. It is placed under the `build` directory. Official `CMakeLists.txt` is placed in `build/cmake`.
Please check [README_glew.md](./README_glew.md) for using build system of *GLEW*.
Also, *GLEW-cmake* has unofficial cmake support - It is created when the official CMake support of *GLEW* does not exist.
You can see some CMake script examples in [`glew-cmake`](./glew-cmake/) directory. But, I **strongly** recommend using official CMakeLists of *GLEW*.
## Usage
This project provide `libglew_static` and `libglew_shared` library targets and `glewinfo` and `visualinfo` executable targets.
`libglew_static` provides a static library, and `libglew_shared` provides a shared library.
*glew-cmake* does not affected by [BUILD_SHARED_LIBS](https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html).
You can disable each library target by setting `glew-cmake_BUILD_SHARED` or `glew-cmake_BUILD_STATIC` falsy value (ex. `NO`, `FALSE`).
If you need only libraries, Please set `ONLY_LIBS` to `ON`. Otherwise, cmake generates executable targets also.
You can get pkg-config fils by setting `PKG_CONFIG_REPRESENTATIVE_TARGET` to `libglew_static` or `libglew_shared`.
Simply specify dependency of your target with `libglew_static` or `libglew_shared` by `target_link_libraries`.
It will set the additional include directory & the libraries to link to your target.
If you are not familiar with cmake, Some `sub-directory-test.cmake`, `fetch-content.cmake` in [`glew-cmake`](./glew-cmake/) could be helpful.

View File

@ -1,18 +0,0 @@
See doc/index.html for more information.
If you downloaded the tarball from the GLEW website, you just need to:
Unix:
make
Windows:
use the project file in build/vc6/
If you wish to build GLEW from scratch (update the extension data from
the net or add your own extension information), you need a Unix
environment (including wget, perl, and GNU make). The extension data
is regenerated from the top level source directory with:
make extensions

256
README_glew.md Normal file
View File

@ -0,0 +1,256 @@
# GLEW - The OpenGL Extension Wrangler Library
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
![](http://glew.sourceforge.net/glew.png)
http://glew.sourceforge.net/
https://github.com/nigels-com/glew
[![Gitter](https://badges.gitter.im/nigels-com/glew.svg)](https://gitter.im/nigels-com/glew?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[![Download](https://img.shields.io/sourceforge/dm/glew.svg)](https://sourceforge.net/projects/glew/files/latest/download)
[![Health](https://codebuild.ap-southeast-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiZ0cxMFNORFBPTGQ5Z1MyRUsxRnU5V1ZyOUNUWmZZRFJwNWdBNng5MnNtdFFObGNsTEJkQkxZa0lHYmtMNEZRREZaZmdvMUh2bDMxVjhFc3c2L29odFQ4PSIsIml2UGFyYW1ldGVyU3BlYyI6InhLVlFqWXVaMEZRVFh6c1QiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master)](https://ap-southeast-2.codebuild.aws.amazon.com/project/eyJlbmNyeXB0ZWREYXRhIjoiK3RLWndGOVVkMWthbXRQZCtVTTNOQ0w2dEpxakZ1cVBTNDZ1UldGODdqUERSdkx0U21Nd0RFaGhQL1kycVlmNzh2OXpEYnRKV3hXTVJJdjUvVStCbTl0dkliZm5jRTFsc0VBPSIsIml2UGFyYW1ldGVyU3BlYyI6ImZ0ekRoMkNjaU0rRUt5K2UiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D)
## Table of Contents
* [Downloads](#downloads)
* [Recent snapshots](#recent-snapshots)
* [Build](#build)
* [Linux and Mac](#linux-and-mac)
* [Using GNU Make](#using-gnu-make)
* [Install build tools](#install-build-tools)
* [Build](#build-1)
* [Linux EGL](#linux-egl)
* [Linux OSMesa](#linux-osmesa)
* [Linux mingw-w64](#linux-mingw-w64)
* [Using cmake](#using-cmake)
* [Install build tools](#install-build-tools-1)
* [Build](#build-2)
* [Windows](#windows)
* [Visual Studio](#visual-studio)
* [MSYS/Mingw](#msysmingw)
* [MSYS2/Mingw-w64](#msys2mingw-w64)
* [glewinfo](#glewinfo)
* [Code Generation](#code-generation)
* [Authors](#authors)
* [Contributions](#contributions)
* [Copyright and Licensing](#copyright-and-licensing)
## Downloads
Current release is [2.2.0](https://github.com/nigels-com/glew/releases/tag/glew-2.2.0).
[(Change Log)](http://glew.sourceforge.net/log.html)
Sources available as
[ZIP](https://github.com/nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0.zip) or
[TGZ](https://github.com/nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0.tgz).
Windows binaries for [32-bit and 64-bit](https://github.com/nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0-win32.zip).
### Recent snapshots
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
[glew-20220402.tgz](https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20220402.tgz/download) *GLEW 2.2.0 - with fix for glCreateProgressFenceNVX*
## Build
It is highly recommended to build from a tgz or zip release snapshot.
The code generation workflow is a complex brew of gnu make, perl and python, that works best on Linux or Mac.
The code generation is known to work on Windows using [MSYS2](https://www.msys2.org/).
For most end-users of GLEW the official releases are the best choice, with first class support.
### Linux and Mac
#### Using GNU Make
GNU make is the primary build system for GLEW, historically.
It includes targets for building the sources and headers, for maintenance purposes.
##### Install build tools
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev`
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel`
FreeBSD: `# pkg install xorg lang/gcc git cmake gmake bash python perl5`
##### Build
$ make
$ sudo make install
$ make clean
Targets: `all, glew.lib (sub-targets: glew.lib.shared, glew.lib.static), glew.bin, clean, install, uninstall`
Variables: `SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=`
_Note: you may need to call `make` in the **auto** folder first_
##### Linux EGL
$ sudo apt install libegl1-mesa-dev
$ make SYSTEM=linux-egl
##### Linux OSMesa
$ sudo apt install libosmesa-dev
$ make SYSTEM=linux-osmesa
##### Linux mingw-w64
$ sudo apt install mingw-w64
$ make SYSTEM=linux-mingw32
$ make SYSTEM=linux-mingw64
#### Using cmake
The cmake build is mostly contributor maintained.
Due to the multitude of use cases this is maintained on a _best effort_ basis.
Pull requests are welcome.
*CMake 3.16 or higher is required.*
##### Install build tools
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev cmake git`
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel cmake git`
##### 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
#### Visual Studio
Use the provided Visual Studio project file in build/vc15/
Projects for vc6, vc10, vc12 and vc14 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 `glewinfo.txt`
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
A Unix or Mac environment is needed for building GLEW from scratch to
include new extensions, or customize the code generation. The extension
data is regenerated from the top level source directory with:
make extensions
An alternative to generating the GLEW sources from scratch is to
download a pre-generated (unsupported) snapshot:
https://sourceforge.net/projects/glew/files/glew/snapshots/
## 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&auml;rkk&auml;inen identified and fixed several problems with
GLX and SDL. Nate Robins created the `wglinfo` utility, to
which modifications were made by Michael Wimmer.
## Contributions
GLEW welcomes community contributions. Typically these are co-ordinated
via [Issues](https://github.com/nigels-com/glew/issues) or
[Pull Requests](https://github.com/nigels-com/glew/pulls) in the
GitHub web interface.
Be sure to mention platform and compiler toolchain details when filing
a bug report. The output of `glewinfo` can be quite useful for discussion
also.
Generally GLEW is usually released once a year, around the time of the Siggraph
computer graphics conference. If you're not using the current release
version of GLEW, be sure to check if the issue or bug is fixed there.
## 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).

View File

@ -1,12 +0,0 @@
Major:
- add support for windows mini-client drivers
- add windows installer (msi)
- separate build of static and shared object files (for mingw and
cygwin)
- start designing GLEW 2.0
Minor:
- make auto scripts work with text mode cygwin mounts
- add support for all SUN, MTX, and OML extensions
- make auto/Makefile more robust against auto/core/*~ mistakes
- web poll on separating glew, glxew and wglew

View File

@ -10,27 +10,34 @@ include ../config/version
#GLEW_SPLIT_SOURCE = yes
SHELL = bash
REGISTRY = registry
REGISTRY_URL = http://www.opengl.org/registry/
#http://oss.sgi.com/projects/ogl-sample/registry/
PYTHON ?= python
EXT = extensions/gl
CORE = core/gl
REPO_OPENGL ?= https://github.com/KhronosGroup/OpenGL-Registry.git
REPO_EGL ?= https://github.com/KhronosGroup/EGL-Registry.git
REPO_GLFIXES ?= https://github.com/nigels-com/glfixes
BIN = bin
SRC = src
CORE = core
EXT = extensions
BLACKLIST = blacklist
GL_CORE_SPEC := $(CORE)/GL_VERSION*
GLX_CORE_SPEC := $(CORE)/GLX_VERSION*
EGL_CORE_SPEC := $(CORE)/EGL_VERSION*
ifeq (custom,$(MAKECMDGOALS))
#GL_CORE_SPEC := $(shell grep GL_VERSION custom.txt | sed -e 's/\(.*\)/$(CORE)\/\1/g;')
GL_EXT_SPEC := $(shell grep "^[ \t]*GL_" custom.txt | grep -v GL_VERSION | sed -e 's/\(.*\)/$(EXT)\/\1/g;')
WGL_EXT_SPEC := $(shell grep "^[ \t]*WGL_" custom.txt | sed -e 's/\(.*\)/$(EXT)\/\1/g;')
#GLX_CORE_SPEC := $(shell grep GLX_VERSION custom.txt | sed -e 's/\(.*\)/$(CORE)\/\1/g;')
GLX_EXT_SPEC := $(shell grep "^[ \t]*GLX_" custom.txt | grep -v GLX_VERSION | grep -v GLX_OML_sync_control | sed -e 's/\(.*\)/$(EXT)\/\1/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;")
WGL_EXT_SPEC := $(shell grep "^[ \t]*WGL_" custom.txt | perl -pi -e "s=^=$(EXT)/=g;")
#GLX_CORE_SPEC := $(shell grep GLX_VERSION custom.txt | perl -pi -e "s=^=$(CORE)/=g;")
GLX_EXT_SPEC := $(shell grep "^[ \t]*GLX_" custom.txt | grep -v GLX_VERSION | perl -pi -e "s=^=$(EXT)/=g;")
EGL_EXT_SPEC := $(shell grep "^[ \t]*EGL_" custom.txt | grep -v EGL_VERSION | perl -pi -e "s=^=$(EXT)/=g;")
else
GL_EXT_SPEC := $(EXT)/GL_*
WGL_EXT_SPEC := $(EXT)/WGL_*
GLX_EXT_SPEC := $(EXT)/GLX_*
EGL_EXT_SPEC := $(EXT)/EGL_*
endif
PARSE_SPEC = parse_spec.pl
@ -40,12 +47,13 @@ TOP = ..
I.DEST = $(TOP)/include/GL
S.DEST = $(TOP)/src
D.DEST = $(TOP)/doc
B.DEST = $(TOP)/build/vc6
B.DEST = $(TOP)/build
I.TARGETS = \
$(I.DEST)/glew.h \
$(I.DEST)/wglew.h \
$(I.DEST)/glxew.h
$(I.DEST)/glxew.h \
$(I.DEST)/eglew.h
ifeq (yes,$(GLEW_SPLIT_SOURCE))
S.TARGETS = \
@ -64,6 +72,7 @@ D.TARGETS = \
$(D.DEST)/install.html \
$(D.DEST)/basic.html \
$(D.DEST)/advanced.html \
$(D.DEST)/build.html \
$(D.DEST)/credits.html \
$(D.DEST)/log.html \
$(D.DEST)/glew.html \
@ -77,28 +86,55 @@ B.TARGETS = \
all custom: $(I.TARGETS) $(S.TARGETS) $(D.TARGETS) $(B.TARGETS)
registry: $(REGISTRY)/.dummy
ext: $(EXT)/.dummy
$(REGISTRY)/.dummy: $(BIN)/update_registry.sh
OpenGL-Registry/.dummy:
@echo "--------------------------------------------------------------------"
@echo "Downloading registry"
@echo "Downloading OpenGL-Registry"
@echo "--------------------------------------------------------------------"
$(BIN)/update_registry.sh $(REGISTRY) $(REGISTRY_URL)
git clone --depth=1 $(REPO_OPENGL) OpenGL-Registry
git clone --depth=1 --branch glew $(REPO_GLFIXES) glfixes
touch $@
$(EXT)/.dummy: $(REGISTRY)/.dummy
EGL-Registry/.dummy:
@echo "--------------------------------------------------------------------"
@echo "Creating descriptors"
@echo "Downloading EGL-Registry"
@echo "--------------------------------------------------------------------"
git clone --depth=1 $(REPO_EGL) EGL-Registry
touch $@
$(EXT)/.dummy: OpenGL-Registry/.dummy EGL-Registry/.dummy
@echo "--------------------------------------------------------------------"
@echo "OpenGL descriptors"
@echo "--------------------------------------------------------------------"
rm -rf $(EXT)
$(BIN)/update_ext.sh $(EXT) $(REGISTRY) $(BLACKLIST)
cp -r glfixes/gl/specs/ANGLE OpenGL-Registry/extensions
cp -r glfixes/gl/specs/REGAL OpenGL-Registry/extensions
$(BIN)/update_ext.sh $(EXT) OpenGL-Registry/extensions $(BLACKLIST)
@echo "--------------------------------------------------------------------"
@echo "WGL descriptors"
@echo "--------------------------------------------------------------------"
rm -f $(EXT)/WGL_*
$(PYTHON) $(BIN)/parse_xml.py OpenGL-Registry/xml/wgl.xml --api wgl --extensions extensions/gl
@echo "--------------------------------------------------------------------"
@echo "GLX descriptors"
@echo "--------------------------------------------------------------------"
rm -f $(EXT)/GLX_*
$(PYTHON) $(BIN)/parse_xml.py OpenGL-Registry/xml/glx.xml --api glx --extensions extensions/gl
@echo "--------------------------------------------------------------------"
@echo "EGL descriptors"
@echo "--------------------------------------------------------------------"
$(PYTHON) $(BIN)/parse_xml.py EGL-Registry/api/egl.xml --api egl --extensions extensions/gl
@echo "--------------------------------------------------------------------"
@echo "filter descriptors"
@echo "--------------------------------------------------------------------"
$(BIN)/filter_gl_ext.sh $(EXT)
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
xargs -J % cp % $(EXT)
else
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
xargs cp --target-directory=$(EXT)
xargs -I % -n 1 cp % $(EXT)
endif
touch $@
@ -113,16 +149,16 @@ $(I.DEST)/glew.h: $(EXT)/.dummy
cat $(SRC)/glew_head.h >> $@
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_CORE_SPEC) >> $@
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_EXT_SPEC) >> $@
echo -e "/* ------------------------------------------------------------------------- */\n\n#if defined(GLEW_MX) && defined(_WIN32)\n#define GLEW_FUN_EXPORT\n#else\n#define GLEW_FUN_EXPORT GLEWAPI\n#endif /* GLEW_MX */\n" >> $@
echo -e "#if defined(GLEW_MX)\n#define GLEW_VAR_EXPORT\n#else\n#define GLEW_VAR_EXPORT GLEWAPI\n#endif /* GLEW_MX */\n" >> $@
echo -e "#if defined(GLEW_MX) && defined(_WIN32)\nstruct GLEWContextStruct\n{\n#endif /* GLEW_MX */" >> $@
echo -e "/* ------------------------------------------------------------------------- */\n\n" >> $@
$(BIN)/make_struct_fun.pl GLEW_FUN_EXPORT $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
echo -e "\n#if defined(GLEW_MX) && !defined(_WIN32)\nstruct GLEWContextStruct\n{\n#endif /* GLEW_MX */\n" >> $@
$(BIN)/make_struct_var.pl GLEW_VAR_EXPORT $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
echo -e "\n#ifdef GLEW_MX\n}; /* GLEWContextStruct */\n#endif /* GLEW_MX */\n" >> $@
perl -e 's/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1;\nGLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/' -pi $@
rm -f $@.bak
perl -e "s/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1;\nGLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/" -pi $@
cat $(SRC)/glew_tail.h >> $@
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
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_MICRO_STRING/$(GLEW_MICRO)/g" -pi $@
rm -f $@.bak
$(I.DEST)/wglew.h: $(EXT)/.dummy
@echo "--------------------------------------------------------------------"
@ -132,10 +168,9 @@ $(I.DEST)/wglew.h: $(EXT)/.dummy
cat $(SRC)/khronos_license.h >> $@
cat $(SRC)/wglew_head.h >> $@
$(BIN)/make_header.pl WINAPI WGL $(WGL_EXT_SPEC) >> $@
echo -e "/* ------------------------------------------------------------------------- */\n\n#ifdef GLEW_MX\n#define WGLEW_EXPORT\n#else\n#define WGLEW_EXPORT GLEWAPI\n#endif /* GLEW_MX */\n\n#ifdef GLEW_MX\nstruct WGLEWContextStruct\n{\n#endif /* GLEW_MX */" >> $@
$(BIN)/make_struct_fun.pl WGLEW_EXPORT $(WGL_EXT_SPEC) >> $@
$(BIN)/make_struct_var.pl WGLEW_EXPORT $(WGL_EXT_SPEC) >> $@
echo -e "\n#ifdef GLEW_MX\n}; /* WGLEWContextStruct */\n#endif /* GLEW_MX */\n" >> $@
cat $(SRC)/wglew_mid.h >> $@
$(BIN)/make_struct_fun.pl WGLEW_FUN_EXPORT $(WGL_EXT_SPEC) >> $@
$(BIN)/make_struct_var.pl WGLEW_VAR_EXPORT $(WGL_EXT_SPEC) >> $@
cat $(SRC)/wglew_tail.h >> $@
$(I.DEST)/glxew.h: $(EXT)/.dummy
@ -146,16 +181,28 @@ $(I.DEST)/glxew.h: $(EXT)/.dummy
cat $(SRC)/mesa_license.h >> $@
cat $(SRC)/khronos_license.h >> $@
cat $(SRC)/glxew_head.h >> $@
$(BIN)/make_header.pl '' GLX $(GLX_CORE_SPEC) >> $@
$(BIN)/make_header.pl '' GLX $(GLX_EXT_SPEC) >> $@
echo -e "/* ------------------------------------------------------------------------- */\n\n#ifdef GLEW_MX\n#define GLXEW_EXPORT\n#else\n#define GLXEW_EXPORT extern\n#endif /* GLEW_MX */" >> $@
$(BIN)/make_struct_fun.pl extern $(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_EXPORT $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
echo -e "\n#ifdef GLEW_MX\n}; /* GLXEWContextStruct */\n#endif /* GLEW_MX */\n" >> $@
perl -e 's/GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;/GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0;\nGLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1;\nGLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;/' -pi $@
$(BIN)/make_header.pl "" GLX $(GLX_CORE_SPEC) >> $@
$(BIN)/make_header.pl "" GLX $(GLX_EXT_SPEC) >> $@
cat $(SRC)/glxew_mid.h >> $@
$(BIN)/make_struct_fun.pl GLXEW_FUN_EXPORT $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
$(BIN)/make_struct_var.pl GLXEW_VAR_EXPORT $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
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 >> $@
$(BIN)/fix_OML_sync_control.sh $@
$(I.DEST)/eglew.h: $(EXT)/.dummy
@echo "--------------------------------------------------------------------"
@echo "Creating eglew.h"
@echo "--------------------------------------------------------------------"
cp -f $(SRC)/glew_license.h $@
cat $(SRC)/mesa_license.h >> $@
cat $(SRC)/khronos_license.h >> $@
cat $(SRC)/eglew_head.h >> $@
$(BIN)/make_header.pl "" EGL $(EGL_CORE_SPEC) >> $@
$(BIN)/make_header.pl "" EGL $(EGL_EXT_SPEC) >> $@
cat $(SRC)/eglew_mid.h >> $@
$(BIN)/make_struct_fun.pl EGLEW_FUN_EXPORT $(EGL_CORE_SPEC) $(EGL_EXT_SPEC) >> $@
$(BIN)/make_struct_var.pl EGLEW_VAR_EXPORT $(EGL_CORE_SPEC) $(EGL_EXT_SPEC) >> $@
cat $(SRC)/eglew_tail.h >> $@
$(S.DEST)/glew.c: $(EXT)/.dummy
@echo "--------------------------------------------------------------------"
@ -163,46 +210,58 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
@echo "--------------------------------------------------------------------"
cp -f $(SRC)/glew_license.h $@
cat $(SRC)/glew_head.c >> $@
echo -e "\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) >> $@
$(BIN)/make_def_fun.pl GL $(GL_EXT_SPEC) >> $@
echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@
echo -e "\n#if !defined(GLEW_MX)" >> $@;
echo -e "\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
$(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@
$(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
echo -e "\nstatic const char * _glewExtensionLookup[] = {" >> $@;
$(BIN)/make_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
echo -e " NULL\n};\n\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_EXT_SPEC) >> $@
cat $(SRC)/glew_init_gl.c >> $@
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
$(BIN)/make_list2.pl $(GL_EXT_SPEC) >> $@
echo -e "\n return GLEW_OK;\n}\n" >> $@
echo -e "\n#if defined(_WIN32)" >> $@
echo -e "\n#if !defined(GLEW_MX)" >> $@
echo -e "\n#if defined(GLEW_OSMESA)" >> $@
echo -e "\n#elif defined(GLEW_EGL)" >> $@
$(BIN)/make_def_fun.pl EGL $(EGL_CORE_SPEC) >> $@
$(BIN)/make_def_fun.pl EGL $(EGL_EXT_SPEC) >> $@
$(BIN)/make_def_var.pl EGL $(EGL_CORE_SPEC) >> $@
$(BIN)/make_def_var.pl EGL $(EGL_EXT_SPEC) >> $@
$(BIN)/make_init.pl EGL $(EGL_CORE_SPEC) >> $@
$(BIN)/make_init.pl EGL $(EGL_EXT_SPEC) >> $@
cat $(SRC)/glew_init_egl.c >> $@
$(BIN)/make_list.pl $(EGL_CORE_SPEC) >> $@
$(BIN)/make_list.pl $(EGL_EXT_SPEC) >> $@
echo -e "\n return GLEW_OK;\n}" >> $@
echo -e "\n#elif defined(_WIN32)" >> $@
$(BIN)/make_def_fun.pl WGL $(WGL_EXT_SPEC) >> $@
$(BIN)/make_def_var.pl WGL $(WGL_EXT_SPEC) >> $@
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
$(BIN)/make_init.pl WGL $(WGL_EXT_SPEC) >> $@
cat $(SRC)/glew_init_wgl.c >> $@
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
echo -e "\n return GLEW_OK;\n}" >> $@;
echo -e "\n#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)" >> $@
echo -e "\n#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))" >> $@
$(BIN)/make_def_fun.pl GLX $(GLX_CORE_SPEC) >> $@
$(BIN)/make_def_fun.pl GLX $(GLX_EXT_SPEC) >> $@
echo -e "\n#if !defined(GLEW_MX)" >> $@;
echo -e "\nGLboolean __GLXEW_VERSION_1_0 = GL_FALSE;" >> $@
echo -e "GLboolean __GLXEW_VERSION_1_1 = GL_FALSE;" >> $@
$(BIN)/make_def_var.pl GLX $(GLX_CORE_SPEC) >> $@
$(BIN)/make_def_var.pl GLX $(GLX_EXT_SPEC) >> $@
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
$(BIN)/make_init.pl GLX $(GLX_CORE_SPEC) >> $@
$(BIN)/make_init.pl GLX $(GLX_EXT_SPEC) >> $@
cat $(SRC)/glew_init_glx.c >> $@
$(BIN)/make_list.pl $(CORE)/GLX_VERSION_1_3 | grep -v '\"GLX_VERSION' >> $@
$(BIN)/make_list.pl $(GLX_EXT_SPEC) >> $@
echo -e "\n return GLEW_OK;\n}" >> $@
echo -e "\n#endif /* !__APPLE__ || GLEW_APPLE_GLX */\n" >> $@;
echo -e "\n#endif /* !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) */\n" >> $@;
cat $(SRC)/glew_init_tail.c >> $@
cat $(SRC)/glew_str_head.c >> $@
$(BIN)/make_str.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
@ -210,85 +269,15 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
$(BIN)/make_str.pl $(WGL_EXT_SPEC) >> $@
cat $(SRC)/glew_str_glx.c >> $@
$(BIN)/make_str.pl $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
cat $(SRC)/glew_str_egl.c >> $@
$(BIN)/make_str.pl $(EGL_CORE_SPEC) $(EGL_EXT_SPEC) >> $@
cat $(SRC)/glew_str_tail.c >> $@
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
perl -e "s/GLEW_VERSION_MAJOR_STRING/$(GLEW_MAJOR)/g" -pi $@
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_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 $@
$(BIN)/fix_OML_sync_control.sh $@
rm -f $@.bak
$(S.DEST)/glew_def.c: $(EXT)/.dummy
cp -f $(SRC)/glew_license.h $@
echo -e "#include \"glew_utils.h\"\n\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) >> $@
$(BIN)/make_def_fun.pl GL $(GL_EXT_SPEC) >> $@
echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@
echo -e "\n#if !defined(GLEW_MX)\n\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
$(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@
$(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@
echo -e "\n#if defined(_WIN32)" >> $@
$(BIN)/make_def_fun.pl WGL $(WGL_EXT_SPEC) >> $@
$(BIN)/make_def_var.pl WGL $(WGL_EXT_SPEC) >> $@
echo -e "\n#endif /* _WIN32 */" >> $@
echo -e "\n#endif /* !GLEW_MX */" >> $@;
echo -e "\n#if !defined(_WIN32) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))" >> $@
$(BIN)/make_def_fun.pl GLX $(GLX_CORE_SPEC) >> $@
$(BIN)/make_def_fun.pl GLX $(GLX_EXT_SPEC) >> $@
echo -e "\n#if !defined(GLEW_MX)" >> $@;
echo -e "\nGLboolean __GLXEW_VERSION_1_0 = GL_FALSE;" >> $@
echo -e "GLboolean __GLXEW_VERSION_1_1 = GL_FALSE;" >> $@
$(BIN)/make_def_var.pl GLX $(GLX_CORE_SPEC) >> $@
$(BIN)/make_def_var.pl GLX $(GLX_EXT_SPEC) >> $@
echo -e "\n#endif /* !GLEW_MX */" >> $@;
echo -e "\n#endif /* !__APPLE__ || GLEW_APPLE_GLX */" >> $@;
rm -f $@.bak
$(S.DEST)/glew_init.c: $(EXT)/.dummy
cp -f $(SRC)/glew_license.h $@
echo -e "#include \"glew_utils.h\"\n" >> $@
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
cat $(SRC)/glew_init_gl.c >> $@
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
echo -e "\n return GLEW_OK;\n}\n\n#if defined(_WIN32)\n" >> $@;
$(BIN)/make_init.pl WGL $(WGL_EXT_SPEC) >> $@
cat $(SRC)/glew_init_wgl.c >> $@
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
echo -e "\n return GLEW_OK;\n}\n\n" >> $@;
echo -e "\n#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)\n" >> $@
$(BIN)/make_init.pl GLX $(GLX_CORE_SPEC) >> $@
$(BIN)/make_init.pl GLX $(GLX_EXT_SPEC) >> $@
cat $(SRC)/glew_init_glx.c >> $@
$(BIN)/make_list.pl $(CORE)/GLX_VERSION_1_3 | grep -v '\"GLX_VERSION' >> $@
$(BIN)/make_list.pl $(GLX_EXT_SPEC) >> $@
echo -e "\n return GLEW_OK;\n}\n\n#endif /* !__APPLE__ || GLEW_APPLE_GLX */\n" >> $@;
cat $(SRC)/glew_init_tail.c >> $@
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_MINOR_STRING/$(GLEW_MINOR)/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/\(\(glBlendColor = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glBlendColor = /g" -pi $@
$(BIN)/fix_OML_sync_control.sh $@
rm -f $@.bak
$(S.DEST)/glew_str.c: $(EXT)/.dummy
cp -f $(SRC)/glew_license.h $@
echo -e "\n#include \"glew_utils.h\"\n" >> $@
cat $(SRC)/glew_str_head.c >> $@
$(BIN)/make_str.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
cat $(SRC)/glew_str_wgl.c >> $@
$(BIN)/make_str.pl $(WGL_EXT_SPEC) >> $@
cat $(SRC)/glew_str_glx.c >> $@
$(BIN)/make_str.pl $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
cat $(SRC)/glew_str_tail.c >> $@
# $(BIN)/fix_OML_sync_control.sh $@
# perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/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 $@
rm -f $@.bak
$(S.DEST)/glewinfo.c: $(EXT)/.dummy
@ -299,7 +288,10 @@ $(S.DEST)/glewinfo.c: $(EXT)/.dummy
cat $(SRC)/glewinfo_head.c >> $@
$(BIN)/make_info.pl $(GL_CORE_SPEC) >> $@
$(BIN)/make_info.pl $(GL_EXT_SPEC) >> $@
echo -e "#ifdef _WIN32\n" >> $@
echo -e "#if defined(GLEW_EGL)\n" >> $@
$(BIN)/make_info.pl $(EGL_CORE_SPEC) >> $@
$(BIN)/make_info.pl $(EGL_EXT_SPEC) >> $@
echo -e "#elif _WIN32\n" >> $@
$(BIN)/make_info.pl $(WGL_EXT_SPEC) >> $@
echo -e "#else /* _UNIX */\n" >> $@
$(BIN)/make_info.pl $(GLX_CORE_SPEC) >> $@
@ -314,9 +306,11 @@ $(S.DEST)/glewinfo.c: $(EXT)/.dummy
cat $(SRC)/glewinfo_glx.c >> $@
$(BIN)/make_info_list.pl $(GLX_CORE_SPEC) >> $@
$(BIN)/make_info_list.pl $(GLX_EXT_SPEC) >> $@
cat $(SRC)/glewinfo_egl.c >> $@
$(BIN)/make_info_list.pl $(EGL_CORE_SPEC) >> $@
$(BIN)/make_info_list.pl $(EGL_EXT_SPEC) >> $@
cat $(SRC)/glewinfo_tail.c >> $@
$(BIN)/fix_OML_sync_control.sh $@
perl -e 's/"glColorSubTable"/"glBlendEquation", glBlendEquation == NULL);\n glewInfoFunc("glColorSubTable"/g' -pi $@
perl -e 's/"glColorSubTable"/"glBlendEquation", glBlendEquation == NULL);\n glewInfoFunc(fi, "glColorSubTable"/g' -pi $@
rm -f $@.bak
# Update documentation
@ -326,7 +320,7 @@ $(D.DEST)/%.html: doc/%.html
@echo "Creating $(@F)"
@echo "--------------------------------------------------------------------"
cat $(SRC)/header.html $< $(SRC)/footer.html | \
sed 's#<a href="$(@F)">\(.*\)</a>#\1#' > $@
perl -pe 's#<a href="$(@F)">(.*)</a>#\1#' > $@
$(D.DEST)/glew.html: $(EXT)/.dummy
@echo "--------------------------------------------------------------------"
@ -336,7 +330,7 @@ $(D.DEST)/glew.html: $(EXT)/.dummy
echo -e "<h2>Supported OpenGL Extensions</h2>\n" >> $@
$(BIN)/make_html.pl $(GL_EXT_SPEC) >> $@
cat $(SRC)/footer.html >> $@
sed -i 's#<a href="$(@F)">\(.*\)</a>#\1#' $@
perl -i -pe 's#<a href="$(@F)">(.*)</a>#\1#' $@
$(D.DEST)/wglew.html: $(EXT)/.dummy
@echo "--------------------------------------------------------------------"
@ -346,7 +340,7 @@ $(D.DEST)/wglew.html: $(EXT)/.dummy
echo -e "<h2>Supported WGL Extensions</h2>\n" >> $@
$(BIN)/make_html.pl $(WGL_EXT_SPEC) >> $@
cat $(SRC)/footer.html >> $@
sed -i 's#<a href="$(@F)">\(.*\)</a>#\1#' $@
perl -i -pe 's#<a href="$(@F)">(.*)</a>#\1#' $@
$(D.DEST)/glxew.html: $(EXT)/.dummy
@echo "--------------------------------------------------------------------"
@ -356,7 +350,7 @@ $(D.DEST)/glxew.html: $(EXT)/.dummy
echo -e "<h2>Supported GLX Extensions</h2>\n" >> $@
$(BIN)/make_html.pl $(GLX_EXT_SPEC) >> $@
cat $(SRC)/footer.html >> $@
sed -i 's#<a href="$(@F)">\(.*\)</a>#\1#' $@
perl -i -pe 's#<a href="$(@F)">(.*)</a>#\1#' $@
$(B.DEST)/%.rc: src/%.rc $(EXT)/.dummy
perl -e "s/GLEW_MAJOR/$(GLEW_MAJOR)/g;s/GLEW_MINOR/$(GLEW_MINOR)/g;s/GLEW_MICRO/$(GLEW_MICRO)/g;" -p $< > $@
@ -368,4 +362,4 @@ clobber: clean
rm -rf $(EXT)
destroy: clobber
rm -rf $(REGISTRY)
rm -rf registry

614
auto/bin/filter_gl_ext.sh Executable file
View File

@ -0,0 +1,614 @@
#!/usr/bin/env bash
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## 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.
##
## Parameters:
##
## $1: Extensions directory
set -e
# fix GL_NV_texture_compression_vtc
grep -v EXT $1/GL_NV_texture_compression_vtc > tmp
mv tmp $1/GL_NV_texture_compression_vtc
# remove duplicates from GL_ARB_vertex_program and GL_ARB_fragment_program
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
# remove duplicates from GLX_EXT_visual_rating and GLX_EXT_visual_info
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
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetBooleanIndexedvEXT but with different parameter names
grep -v glGetBooleanIndexedvEXT $1/GL_EXT_transform_feedback > tmp
mv tmp $1/GL_EXT_transform_feedback
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetIntegerIndexedvEXT but with different parameter names
grep -v glGetIntegerIndexedvEXT $1/GL_EXT_transform_feedback > tmp
mv tmp $1/GL_EXT_transform_feedback
# remove duplicates from GL_NV_video_capture and GLX_NV_video_capture
grep -v glX $1/GL_NV_video_capture > tmp
mv tmp $1/GL_NV_video_capture
# add missing functions to GL_NV_video_capture
cat >> $1/GL_NV_video_capture <<EOT
void glGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params)
void glGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params)
void glGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params)
void glVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params)
void glVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params)
void glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params)
EOT
# fix WGL_NV_video_capture
cat >> $1/WGL_NV_video_capture <<EOT
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
EOT
# fix GLX_NV_video_capture
cat >> $1/GLX_NV_video_capture <<EOT
typedef XID GLXVideoCaptureDeviceNV
EOT
# remove duplicates from GL_NV_present_video and GLX_NV_present_video
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
# fix WGL_NV_present_video
cat >> $1/WGL_NV_present_video <<EOT
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
EOT
# fix WGL_NV_video_output
cat >> $1/WGL_NV_video_output <<EOT
DECLARE_HANDLE(HPVIDEODEV);
EOT
# fix GL_NV_occlusion_query and GL_HP_occlusion_test
grep -v '_HP' $1/GL_NV_occlusion_query > tmp
mv tmp $1/GL_NV_occlusion_query
# add deprecated constants to GL_ATI_fragment_shader
cat >> $1/GL_ATI_fragment_shader <<EOT
GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
GL_NUM_PASSES_ATI 0x8970
GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
GL_COLOR_ALPHA_PAIRING_ATI 0x8975
GL_SWIZZLE_STRQ_ATI 0x897A
GL_SWIZZLE_STRQ_DQ_ATI 0x897B
EOT
# add deprecated constants to GL_NV_texture_shader
cat >> $1/GL_NV_texture_shader <<EOT
GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1
GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3
GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2
EOT
# fix WGL_ATI_pixel_format_float
cat >> $1/WGL_ATI_pixel_format_float <<EOT
GL_RGBA_FLOAT_MODE_ATI 0x8820
GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
EOT
# fix WGL_ARB_make_current_read
cat >> $1/WGL_ARB_make_current_read <<EOT
ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
EOT
# fix WGL_EXT_make_current_read
cat >> $1/WGL_EXT_make_current_read <<EOT
ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
EOT
# add typedefs to GL_ARB_vertex_buffer_object; (from personal communication
# with Marco Fabbricatore).
#
# Rationale. The spec says:
#
# "Both types are defined as signed integers large enough to contain
# any pointer value [...] The idea of making these types unsigned was
# considered, but was ultimately rejected ..."
cat >> $1/GL_ARB_vertex_buffer_object <<EOT
typedef ptrdiff_t GLsizeiptrARB
typedef ptrdiff_t GLintptrARB
EOT
# add typedefs to GLX_EXT_import_context
cat >> $1/GLX_EXT_import_context <<EOT
typedef XID GLXContextID
EOT
# add tokens to GLX_OML_swap_method
cat >> $1/GLX_OML_swap_method <<EOT
GLX_SWAP_EXCHANGE_OML 0x8061
GLX_SWAP_COPY_OML 0x8062
GLX_SWAP_UNDEFINED_OML 0x8063
EOT
# add typedefs to GLX_SGIX_fbconfig
cat >> $1/GLX_SGIX_fbconfig <<EOT
typedef XID GLXFBConfigIDSGIX
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX
EOT
# Skip GLX_SGIX_dmbuffer and GLX_SGIX_video_source
# unknown DMparams, DMbuffer, etc
rm -f $1/GLX_SGIX_dmbuffer
rm -f $1/GLX_SGIX_video_source
# add typedefs to GLX_SGIX_pbuffer
cat >> $1/GLX_SGIX_pbuffer <<EOT
typedef XID GLXPbufferSGIX
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX
EOT
# add typedef to GL_NV_half_float
cat >> $1/GL_NV_half_float <<EOT
typedef unsigned short GLhalf
EOT
# add handle to WGL_ARB_pbuffer
cat >> $1/WGL_ARB_pbuffer <<EOT
DECLARE_HANDLE(HPBUFFERARB);
EOT
# add handle to WGL_EXT_pbuffer
cat >> $1/WGL_EXT_pbuffer <<EOT
DECLARE_HANDLE(HPBUFFEREXT);
EOT
# get rid of GL_SUN_multi_draw_arrays
rm -f $1/GL_SUN_multi_draw_arrays
# change variable names in GL_ARB_vertex_shader
perl -e 's/v0/x/g' -pi $1/GL_ARB_vertex_shader
perl -e 's/v1/y/g' -pi $1/GL_ARB_vertex_shader
perl -e 's/v2/z/g' -pi $1/GL_ARB_vertex_shader
perl -e 's/v3/w/g' -pi $1/GL_ARB_vertex_shader
# remove triplicates in GL_ARB_shader_objects, GL_ARB_fragment_shader,
# and GL_ARB_vertex_shader
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
grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp
mv tmp $1/GL_ARB_vertex_shader
# remove duplicates in GL_ARB_vertex_program and GL_ARB_vertex_shader
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
# remove triplicates in GL_ARB_fragment_program, GL_ARB_fragment_shader,
# and GL_ARB_vertex_shader
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
grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp
mv tmp $1/GL_ARB_vertex_shader
# remove duplicates in GL_EXT_direct_state_access
grep -v "glGetBooleanIndexedvEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
grep -v "glGetIntegerIndexedvEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
grep -v "glDisableIndexedEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
grep -v "glEnableIndexedEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
grep -v "glIsEnabledIndexedEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
# remove duplicates in GL_NV_explicit_multisample
grep -v "glGetBooleanIndexedvEXT" $1/GL_NV_explicit_multisample > tmp
mv tmp $1/GL_NV_explicit_multisample
grep -v "glGetIntegerIndexedvEXT" $1/GL_NV_explicit_multisample > tmp
mv tmp $1/GL_NV_explicit_multisample
# fix bugs in GL_ARB_vertex_shader
grep -v "GL_FLOAT" $1/GL_ARB_vertex_shader > tmp
mv tmp $1/GL_ARB_vertex_shader
perl -e 's/handle /GLhandleARB /g' -pi $1/GL_ARB_vertex_shader
# fix bugs in GL_ARB_shader_objects
grep -v "GL_FLOAT " $1/GL_ARB_shader_objects > tmp
mv tmp $1/GL_ARB_shader_objects
grep -v "GL_INT " $1/GL_ARB_shader_objects > tmp
mv tmp $1/GL_ARB_shader_objects
# add typedefs to GL_ARB_shader_objects
cat >> $1/GL_ARB_shader_objects <<EOT
typedef char GLcharARB
typedef unsigned int GLhandleARB
EOT
# add missing functions to GL_ARB_transpose_matrix
cat >> $1/GL_ARB_transpose_matrix <<EOT
void glLoadTransposeMatrixfARB (GLfloat m[16])
void glLoadTransposeMatrixdARB (GLdouble m[16])
void glMultTransposeMatrixfARB (GLfloat m[16])
void glMultTransposeMatrixdARB (GLdouble m[16])
EOT
# add missing tokens to GL_EXT_framebuffer_multisample
cat >> $1/GL_EXT_framebuffer_multisample <<EOT
GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
GL_MAX_SAMPLES_EXT 0x8D57
EOT
# Filter out GL_NV_gpu_program_fp64 enums and functions
head -n4 $1/GL_NV_gpu_program_fp64 > tmp
mv tmp $1/GL_NV_gpu_program_fp64
# Filter glGetUniformui64vNV from GL_NV_shader_buffer_load
grep -v "glGetUniformui64vNV" $1/GL_NV_shader_buffer_load > tmp
mv tmp $1/GL_NV_shader_buffer_load
# Filter out profile enumerations from GLX_ARB_create_context
grep -v "_PROFILE_" $1/GLX_ARB_create_context > tmp
mv tmp $1/GLX_ARB_create_context
# Filter only profile related enumerations for GLX_ARB_create_context_profile
head -n4 $1/GLX_ARB_create_context_profile > tmp
grep "_PROFILE_" $1/GLX_ARB_create_context_profile >> tmp
mv tmp $1/GLX_ARB_create_context_profile
# Filter out profile enumerations from WGL_ARB_create_context
grep -v "_PROFILE_" $1/WGL_ARB_create_context > tmp
mv tmp $1/WGL_ARB_create_context
# Filter only profile related enumerations for WGL_ARB_create_context_profile
head -n4 $1/WGL_ARB_create_context_profile > tmp
grep "_PROFILE_" $1/WGL_ARB_create_context_profile >> tmp
mv tmp $1/WGL_ARB_create_context_profile
# add missing function to GLX_NV_copy_image
cat >> $1/GLX_NV_copy_image <<EOT
void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
EOT
# add missing function to WGL_NV_copy_image
cat >> $1/WGL_NV_copy_image <<EOT
BOOL wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
EOT
# Filter glProgramUniform from GL_EXT_separate_shader_objects
cat $1/GL_EXT_separate_shader_objects | grep -v "glProgramUniform" | grep -v "glProgramParameteri" > tmp
mv tmp $1/GL_EXT_separate_shader_objects
# Filter out EXT functions from GL_ARB_viewport_array
grep -v "EXT" $1/GL_ARB_viewport_array > tmp
mv tmp $1/GL_ARB_viewport_array
# Additional enumerations for GL_NV_vertex_buffer_unified_memory
# These are mentioned in GL_ARB_draw_indirect.txt
cat >> $1/GL_NV_vertex_buffer_unified_memory <<EOT
GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40
GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41
GL_DRAW_INDIRECT_LENGTH_NV 0x8F42
EOT
# Filter glGetPointerv from GL_ARB_debug_output
# It's part of OpenGL 1.1, after all
grep -v "glGetPointerv" $1/GL_ARB_debug_output > tmp
mv tmp $1/GL_ARB_debug_output
# Filter glGetPointerv from GL_EXT_vertex_array
# It's part of OpenGL 1.1, after all
grep -v "glGetPointerv" $1/GL_EXT_vertex_array > tmp
mv tmp $1/GL_EXT_vertex_array
# add typedef to GL_AMD_debug_output
# parse_spec.pl can't parse typedefs from New Types section, but ought to
cat >> $1/GL_AMD_debug_output <<EOT
typedef void (GLAPIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, void* userParam)
EOT
# add typedef to GL_ARB_debug_output
# parse_spec.pl can't parse typedefs from New Types section, but ought to
cat >> $1/GL_ARB_debug_output <<EOT
typedef void (GLAPIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam)
EOT
# add typedef to GL_KHR_debug
# parse_spec.pl can't parse typedefs from New Types section, but ought to
cat >> $1/GL_KHR_debug <<EOT
typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam)
EOT
# Remove glGetPointerv from GL_KHR_debug
grep -v "glGetPointerv" $1/GL_KHR_debug > tmp
mv tmp $1/GL_KHR_debug
# add typedefs to GL_ARB_cl_event
# parse_spec.pl can't parse typedefs from New Types section, but ought to
cat >> $1/GL_ARB_cl_event <<EOT
typedef struct _cl_context *cl_context
typedef struct _cl_event *cl_event
EOT
# Filter out EXT functions from GL_ARB_gpu_shader_fp64
grep -v 'EXT ' $1/GL_ARB_gpu_shader_fp64 > tmp
mv tmp $1/GL_ARB_gpu_shader_fp64
# add missing functions to GL_EXT_direct_state_access (GL_ARB_gpu_shader_fp64 related)
cat >> $1/GL_EXT_direct_state_access <<EOT
void glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x)
void glProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y)
void glProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z)
void glProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
void glProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
void glProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
void glProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
void glProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
void glProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
void glProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
void glProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
void glProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
void glProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
void glProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
void glProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
void glProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
void glProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
EOT
# add missing functions to GL_EXT_direct_state_access (GL_ARB_instanced_arrays related)
# https://sourceforge.net/p/glew/bugs/242/
cat >> $1/GL_EXT_direct_state_access <<EOT
void glVertexArrayVertexAttribDivisorEXT (GLuint vaobj, GLuint index, GLuint divisor)
EOT
# Filter out GL_UNSIGNED_INT and GL_FLOAT from GL_AMD_performance_monitor
grep -v 'GL_UNSIGNED_INT ' $1/GL_AMD_performance_monitor > tmp
mv tmp $1/GL_AMD_performance_monitor
grep -v 'GL_FLOAT ' $1/GL_AMD_performance_monitor > tmp
mv tmp $1/GL_AMD_performance_monitor
# Filter out GL_STORAGE_CACHED_APPLE and GL_STORAGE_SHARED_APPLE from GL_APPLE_texture_range
grep -v 'GL_STORAGE_CACHED_APPLE ' $1/GL_APPLE_texture_range > tmp
mv tmp $1/GL_APPLE_texture_range
grep -v 'GL_STORAGE_SHARED_APPLE ' $1/GL_APPLE_texture_range > tmp
mv tmp $1/GL_APPLE_texture_range
# Filter out GL_RED from GL_ARB_texture_rg
grep -v 'GL_RED ' $1/GL_ARB_texture_rg > tmp
mv tmp $1/GL_ARB_texture_rg
# Filter out _EXT enums from GL_ARB_texture_storage
grep -v '_EXT ' $1/GL_ARB_texture_storage > tmp
mv tmp $1/GL_ARB_texture_storage
# Filter out TEXTURE_3D enums from GL_EXT_paletted_texture
grep -v 'TEXTURE_3D' $1/GL_EXT_paletted_texture > tmp
mv tmp $1/GL_EXT_paletted_texture
# Filter out GL_VERSION_1_1 enums from GL_AMD_stencil_operation_extended
grep -v '0x150' $1/GL_AMD_stencil_operation_extended > tmp
mv tmp $1/GL_AMD_stencil_operation_extended
# Filter out from GL_APPLE_ycbcr_422
grep -v 'GL_UNSIGNED_SHORT_8_8_APPLE' $1/GL_APPLE_ycbcr_422 > tmp
mv tmp $1/GL_APPLE_ycbcr_422
grep -v 'GL_UNSIGNED_SHORT_8_8_REV_APPLE' $1/GL_APPLE_ycbcr_422 > tmp
mv tmp $1/GL_APPLE_ycbcr_422
# Filter out GL_FRAGMENT_DEPTH_EXT from GL_EXT_light_texture
grep -v 'GL_FRAGMENT_DEPTH_EXT' $1/GL_EXT_light_texture > tmp
mv tmp $1/GL_EXT_light_texture
# Filter out GL_MULTISAMPLE_BIT_EXT from GL_SGIS_multisample
grep -v 'GL_MULTISAMPLE_BIT_EXT' $1/GL_SGIS_multisample > tmp
mv tmp $1/GL_SGIS_multisample
# Filter out GL_COMPRESSED_RGB_S3TC_DXT1_EXT from GL_EXT_texture_compression_dxt1
grep -v 'GL_COMPRESSED_RGB_S3TC_DXT1_EXT' $1/GL_EXT_texture_compression_dxt1 > tmp
mv tmp $1/GL_EXT_texture_compression_dxt1
# Filter out GL_COMPRESSED_RGBA_S3TC_DXT1_EXT from GL_EXT_texture_compression_dxt1
grep -v 'GL_COMPRESSED_RGBA_S3TC_DXT1_EXT' $1/GL_EXT_texture_compression_dxt1 > tmp
mv tmp $1/GL_EXT_texture_compression_dxt1
# Append GLfixed to GL_ARB_ES2_compatibility
# Probably ought to be explicitly mentioned in the spec language
cat >> $1/GL_ARB_ES2_compatibility <<EOT
typedef int GLfixed
EOT
# Append GLclampx to GL_REGAL_ES1_0_compatibility
# Probably ought to be explicitly mentioned in the spec language
cat >> $1/GL_REGAL_ES1_0_compatibility <<EOT
typedef int GLclampx
EOT
# Append GLLOGPROCREGAL to GL_REGAL_log
# Probably ought to be explicitly mentioned in the spec language
cat >> $1/GL_REGAL_log <<EOT
typedef void (APIENTRY *LOGPROCREGAL)(GLenum stream, GLsizei length, const GLchar *message, void *context)
EOT
# Fixup LOGPROCREGAL -> GLLOGPROCREGAL
perl -e 's/LOGPROCREGAL/GLLOGPROCREGAL/g' -pi $1/GL_REGAL_log
# Filter out GL_BYTE from GL_OES_byte_coordinates
grep -v 'GL_BYTE' $1/GL_OES_byte_coordinates > tmp
mv tmp $1/GL_OES_byte_coordinates
# Filter out fp64 (not widely supported) from GL_EXT_direct_state_access
egrep -v 'glProgramUniform.*[1234]d[v]?EXT' $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
# Filter out all enums from GL_ANGLE_depth_texture
grep -v '0x' $1/GL_ANGLE_depth_texture > tmp
mv tmp $1/GL_ANGLE_depth_texture
# Filter out GL_NONE enum from GL_ANGLE_depth_texture
grep -v 'GL_NONE' $1/GL_ANGLE_texture_usage > tmp
mv tmp $1/GL_ANGLE_texture_usage
# Fixup REGAL and ANGLE urls
for i in $1/GL_REGAL_*; do perl -e 's#http://www.opengl.org/registry/specs/REGAL/.*#https://github.com/p3/regal/tree/master/doc/extensions#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
head -n4 $1/GL_NV_blend_equation_advanced_coherent > tmp
mv tmp $1/GL_NV_blend_equation_advanced_coherent
# Filter out GL_AMD_gpu_shader_int64 enums and functions
head -n4 $1/GL_AMD_gpu_shader_int64 > tmp
mv tmp $1/GL_AMD_gpu_shader_int64
# Filter out GL_NO_ERROR enum and glGetGraphicsResetStatus from GL_KHR_robustness
grep -v 'GL_NO_ERROR' $1/GL_KHR_robustness |
grep -v 'glGetGraphicsResetStatus' > tmp
mv tmp $1/GL_KHR_robustness
# Filter out all enums from GL_KHR_blend_equation_advanced_coherent
grep -v '0x' $1/GL_KHR_blend_equation_advanced_coherent > tmp
mv tmp $1/GL_KHR_blend_equation_advanced_coherent
# Filter out glBlendBarrierKHR enum from GL_KHR_blend_equation_advanced_coherent
grep -v 'glBlendBarrierKHR' $1/GL_KHR_blend_equation_advanced_coherent > tmp
mv tmp $1/GL_KHR_blend_equation_advanced_coherent
# Filter out GL_NONE enum from GL_KHR_context_flush_control
grep -v 'GL_NONE' $1/GL_KHR_context_flush_control > tmp
mv tmp $1/GL_KHR_context_flush_control
# Filter out CoverageModulation from NV_framebuffer_mixed_samples
# Superset of EXT_raster_multisample
grep -v "CoverageModulation" $1/GL_NV_framebuffer_mixed_samples > tmp
mv tmp $1/GL_NV_framebuffer_mixed_samples
# Filter out glRasterSamplesEXT from NV_framebuffer_mixed_samples
# Superset of EXT_raster_multisample
grep -v "RasterSamplesEXT" $1/GL_NV_framebuffer_mixed_samples > tmp
mv tmp $1/GL_NV_framebuffer_mixed_samples
# Filter out glNamedBufferStorageEXT from GL_ARB_buffer_storage
grep -v "glNamedBufferStorageEXT" $1/GL_ARB_buffer_storage > tmp
mv tmp $1/GL_ARB_buffer_storage
# Filter out glFramebufferTextureEXT from GL_EXT_geometry_point_size
# and GL_EXT_geometry_shader
grep -v "glFramebufferTextureEXT" $1/GL_EXT_geometry_point_size > tmp
mv tmp $1/GL_EXT_geometry_point_size
grep -v "glFramebufferTextureEXT" $1/GL_EXT_geometry_shader > tmp
mv tmp $1/GL_EXT_geometry_shader
# Filter out glBindFragDataLocationEXT from GL_EXT_blend_func_extended
grep -v "glBindFragDataLocationEXT" $1/GL_EXT_blend_func_extended > tmp
mv tmp $1/GL_EXT_blend_func_extended
# Filter out glDrawArraysInstancedEXT and glDrawElementsInstancedEXT from GL_EXT_blend_func_extended
grep -v "glDrawArraysInstancedEXT" $1/GL_EXT_instanced_arrays > tmp
mv tmp $1/GL_EXT_instanced_arrays
grep -v "glDrawElementsInstancedEXT" $1/GL_EXT_instanced_arrays > tmp
mv tmp $1/GL_EXT_instanced_arrays
# Filter out glRenderbufferStorageMultisampleEXT from GL_EXT_multisampled_render_to_texture
grep -v "glRenderbufferStorageMultisampleEXT" $1/GL_EXT_multisampled_render_to_texture > tmp
mv tmp $1/GL_EXT_multisampled_render_to_texture
# Filter out glTexturePageCommitmentEXT from GL_ARB_sparse_texture
grep -v "glTexturePageCommitmentEXT" $1/GL_ARB_sparse_texture > tmp
mv tmp $1/GL_ARB_sparse_texture
# Filter out TextureStorage* from GL_ARB_texture_storage
grep -v "TextureStorage" $1/GL_ARB_texture_storage > tmp
mv tmp $1/GL_ARB_texture_storage
# Filter out functions from GL_EXT_occlusion_query_boolean
grep -v "(" $1/GL_EXT_occlusion_query_boolean > tmp
mv tmp $1/GL_EXT_occlusion_query_boolean
# Filter out duplicate enums from GL_EXT_protected_textures
cat $1/GL_EXT_protected_textures | grep -v GL_TRUE | grep -v GL_FALSE > tmp
mv tmp $1/GL_EXT_protected_textures
# Filter out duplicate enums from GL_EXT_robustness
cat $1/GL_EXT_robustness | grep -v GL_NO_ERROR > tmp
mv tmp $1/GL_EXT_robustness
# Filter GL_EXT_shader_framebuffer_fetch_non_coherent
grep -v "FramebufferFetchBarrierEXT" $1/GL_EXT_shader_framebuffer_fetch_non_coherent > tmp
mv tmp $1/GL_EXT_shader_framebuffer_fetch_non_coherent
# Filter GL_EXT_tessellation_shader
grep -v "PatchParameteriEXT" $1/GL_EXT_tessellation_shader > tmp
mv tmp $1/GL_EXT_tessellation_shader
# Filter GL_EXT_texture_buffer
grep -v "TexBuffer" $1/GL_EXT_texture_buffer > tmp
mv tmp $1/GL_EXT_texture_buffer
# Filter GL_EXT_texture_border_clamp
grep -v "TexParameter" $1/GL_EXT_texture_border_clamp > tmp
mv tmp $1/GL_EXT_texture_border_clamp
# Filter GL_EXT_disjoint_timer_query
cat $1/GL_EXT_disjoint_timer_query | grep -v GetQueryObjecti64v | grep -v GetQueryObjectui64v > tmp
mv tmp $1/GL_EXT_disjoint_timer_query
# Filter GL_NV_read_buffer_front
grep -v "ReadBufferNV" $1/GL_NV_read_buffer_front > tmp
mv tmp $1/GL_NV_read_buffer_front
# 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
# GLU extensions are not relevant here
rm -f $1/GL_GLU_*
# Not complete
rm -f $1/GL_SGIX_color_type
# clean up
rm -f patterns $1/*.bak

20
auto/bin/filter_gles_ext.sh Executable file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## 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.
##
## Parameters:
##
## $1: Extensions directory
## $2: Registry directory
## $3: The black list
set -e
# clean up
rm -f $1/*.bak

38
auto/bin/filter_spec.py Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/python
import re
section = re.compile('^(Name|Name Strings?|Contact|Notice|Number|Dependencies|Overview|Issues|IP Status|Status|Version|New Procedures and Functions|New Tokens|Additions to .*|Changes to .*|Modifications to .*|Add new Section .*)\s*$')
token = re.compile('^\s+(([A-Z0-9][A-Z0-9_x]*):?\s+((?:0x)?[0-9A-F]+)([^\?]*))?\s*$')
match = [ 'Name', 'Name String', 'Contact', 'Notice', 'Name Strings', 'Version', 'Number', 'Dependencies', 'New Procedures and Functions', 'New Tokens']
if __name__ == '__main__':
from optparse import OptionParser
import os
parser = OptionParser('usage: %prog [options] [SOURCES...]')
(options, args) = parser.parse_args()
for i in args:
lines = open(i).readlines()
f = open(i,'w')
# Keep track of the current section as we iterate over the input
current = ''
for j in lines:
# Detect the start of a new section
m = section.match(j)
if m:
current = m.group(1).strip()
if current in match:
print >>f, j,
continue
if current=='New Tokens':
if token.match(j):
print >>f, j,
elif current in match:
print >>f, j,

View File

@ -1,18 +0,0 @@
#!/bin/sh
##
## 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.
perl -e 's/#ifndef GLX_OML_sync_control/#if !defined(GLX_OML_sync_control) \&\& defined(__STDC_VERSION__) \&\& (__STDC_VERSION__ >= 199901L)\n#include <inttypes.h>/;' -pi $1
perl -e 's/#ifdef GLX_OML_sync_control/#if defined(GLX_OML_sync_control) \&\& defined(__STDC_VERSION__) \&\& (__STDC_VERSION__ >= 199901L)\n#include <inttypes.h>/;' -pi $1
perl -e 's/(extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;)/#ifdef GLX_OML_sync_control\n\1/' -pi $1
perl -e 's/(extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;)/\1\n#endif/' -pi $1
perl -e 's/(extern GLboolean __GLXEW_OML_sync_control;)/#ifdef GLX_OML_sync_control\n\1\n#endif/' -pi $1
perl -e 's/(PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML = NULL;)/#ifdef GLX_OML_sync_control\n\1/' -pi $1
perl -e 's/(PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML = NULL;)/\1\n#endif/' -pi $1
perl -e 's/(GLboolean __GLXEW_OML_sync_control = GL_FALSE;)/#ifdef GLX_OML_sync_control\n\1\n#endif/' -pi $1
rm -f $1.bak

View File

@ -1,4 +1,5 @@
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -9,9 +10,9 @@
my %regex = (
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
exturl => qr/^http.+$/,
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.+)\)$/i,
token => qr/^([A-Z][A-Z0-9_x]*)\s+((?:0x)?[0-9A-Fa-f]+|[A-Z][A-Z0-9_]*)$/,
type => qr/^typedef\s+(.+)\s+([\*A-Za-z0-9_]+)$/,
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.*)\)$/i,
token => qr/^([A-Z][A-Z0-9_x]*)\s+((?:0x)?[0-9A-Fa-f]+(u(ll)?)?|[A-Z][A-Z0-9_]*)$/,
type => qr/^typedef\s+(.+)$/,
exact => qr/.*;$/,
);
@ -19,7 +20,7 @@ my %regex = (
sub prefixname($)
{
my $name = $_[0];
$name =~ s/^(.*)gl/__$1glew/;
$name =~ s/^(.*?)gl/__$1glew/;
return $name;
}
@ -27,7 +28,7 @@ sub prefixname($)
sub prefix_varname($)
{
my $name = $_[0];
$name =~ s/^(.*)GL(X*)EW/__$1GL$2EW/;
$name =~ s/^(.*?)GL(X*?)EW/__$1GL$2EW/;
return $name;
}
@ -69,35 +70,51 @@ sub parse_ext($)
my $filename = shift;
my %functions = ();
my %tokens = ();
my %types = ();
my @reuse = (); # Extensions to reuse
my @types = ();
my @exacts = ();
my $extname = "";
my $exturl = "";
my $extname = ""; # Full extension name GL_FOO_extension
my $exturl = ""; # Info URL
my $extstring = ""; # Relevant extension string
open EXT, "<$filename" or return;
# As of GLEW 1.14.0 the first four lines _must_ be
# the extension name, the URL and the GL extension
# string (which might be different to the name),
# and the reused extensions
#
# For example GL_NV_geometry_program4 is available
# iff GL_NV_gpu_program4 appears in the extension
# string.
#
# For core OpenGL versions, the third line should
# be blank.
#
# If the URL is unknown, the second line should be
# blank.
$extname = readline(*EXT);
$exturl = readline(*EXT);
$extstring = readline(*EXT);
@reuse = split(" ", readline(*EXT));
chomp($extname);
chomp($exturl);
chomp($extstring);
while(<EXT>)
{
chomp;
if (/$regex{extname}/)
{
$extname = $_;
next;
}
elsif (/$regex{exturl}/)
{
$exturl = $_;
}
elsif (s/^\s+//)
if (s/^\s+//)
{
if (/$regex{exact}/)
{
push @exacts, $_;
push @exacts, $_;
}
elsif (/$regex{type}/)
{
my ($value, $name) = ($1, $2);
$types{$name} = $value;
push @types, $_;
}
elsif (/$regex{token}/)
{
@ -119,7 +136,7 @@ sub parse_ext($)
close EXT;
return ($extname, $exturl, \%types, \%tokens, \%functions, \@exacts);
return ($extname, $exturl, $extstring, \@reuse, \@types, \%tokens, \%functions, \@exacts);
}
sub output_tokens($$)
@ -129,7 +146,29 @@ sub output_tokens($$)
{
local $, = "\n";
print "\n";
print map { &{$fnc}($_, $tbl->{$_}) } sort { hex ${$tbl}{$a} <=> hex ${$tbl}{$b} } keys %{$tbl};
print map { &{$fnc}($_, $tbl->{$_}) } sort {
if (${$tbl}{$a} eq ${$tbl}{$b}) {
$a cmp $b
} else {
if (${$tbl}{$a} =~ /_/) {
if (${$tbl}{$b} =~ /_/) {
$a cmp $b
} else {
-1
}
} else {
if (${$tbl}{$b} =~ /_/) {
1
} else {
if (hex ${$tbl}{$a} eq hex ${$tbl}{$b}) {
$a cmp $b
} else {
hex ${$tbl}{$a} <=> hex ${$tbl}{$b}
}
}
}
}
} keys %{$tbl};
print "\n";
} else {
print STDERR "no keys in table!\n";
@ -139,11 +178,11 @@ sub output_tokens($$)
sub output_types($$)
{
my ($tbl, $fnc) = @_;
if (keys %{$tbl})
if (scalar @{$tbl})
{
local $, = "\n";
print "\n";
print map { &{$fnc}($_, $tbl->{$_}) } sort { ${$tbl}{$a} cmp ${$tbl}{$b} } keys %{$tbl};
print map { &{$fnc}($_) } sort @{$tbl};
print "\n";
}
}
@ -172,3 +211,14 @@ sub output_exacts($$)
}
}
sub output_reuse($$)
{
my ($tbl, $fnc) = @_;
if (scalar @{$tbl})
{
local $, = "\n";
print "\n";
print map { &{$fnc}($_) } sort @{$tbl};
print "\n";
}
}

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
# function pointer declaration
@ -29,7 +31,7 @@ if (@ARGV)
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $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);
}
}

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
my @extlist = ();
@ -19,11 +21,11 @@ our $type = shift;
if (@ARGV)
{
@extlist = @ARGV;
@extlist = @ARGV;
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my $extvar = $extname;
$extvar =~ s/GL(X*)_/GL$1EW_/;
print "GLboolean " . prefix_varname($extvar) . " = GL_FALSE;\n";

48
auto/bin/make_enable_index.pl Executable file
View File

@ -0,0 +1,48 @@
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## 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;
use File::Basename;
use lib '.';
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 { basename($a) cmp basename($b) } @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\n";
}

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
# token
@ -21,7 +23,7 @@ sub make_define($$)
# type declaration
sub make_type($$)
{
return "typedef $_[1] $_[0];"
return "@_;"
}
# function pointer type declaration
@ -52,7 +54,7 @@ if (@ARGV)
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
make_separator($extname);
print "#ifndef $extname\n#define $extname 1\n";

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
#---------------------------------------------------------------------------------------
@ -26,7 +28,7 @@ if (@ARGV)
print "<table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"0\" align=\"center\">\n";
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
$cur_group = $extname;
$cur_group =~ s/^(?:W?)GL(?:X?)_([A-Z0-9]+?)_.*$/$1/;
$extname =~ s/^(?:W?)GL(?:X?)_(.*)$/$1/;

41
auto/bin/make_index.pl Executable file
View File

@ -0,0 +1,41 @@
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## 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;
use File::Basename;
use lib '.';
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 { basename($a) cmp basename($b) } @extlist)
{
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
parse_ext($ext);
print "#ifdef $extname\n";
print " \"$extname\",\n";
print "#endif\n";
}
}

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
#---------------------------------------------------------------------------------------
@ -18,7 +20,7 @@ do 'bin/make.pl';
sub make_pfn_info($%)
{
my $name = $_[0];
return " glewInfoFunc(\"$_[0]\", $name == NULL);";
return " glewInfoFunc(fi, \"$_[0]\", $name == NULL);";
}
#---------------------------------------------------------------------------------------
@ -32,7 +34,7 @@ if (@ARGV)
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my $extvar = $extname;
$extvar =~ s/GL(X*)_/GL$1EW_/;
my $extpre = $extname;
@ -42,15 +44,25 @@ if (@ARGV)
#make_separator($extname);
print "#ifdef $extname\n\n";
print "static void _glewInfo_$extname (void)\n{\n";
if ($extvar =~ /VERSION/)
if (! %$functions)
{
print " glewPrintExt(\"$extname\", $extvar, $extvar, $extvar);\n";
print " ";
}
else
{
print " glewPrintExt(\"$extname\", $extvar, $extpre" .
print " GLboolean fi = ";
}
if ($extvar =~ /VERSION/)
{
print "glewPrintExt(\"$extname\", $extvar, $extvar, $extvar);\n";
}
else
{
print "glewPrintExt(\"$extname\", $extvar, $extpre" .
"ewIsSupported(\"$extname\"), $extpre" .
"ewGetExtension(\"$extname\"));\n";
"ewGetExtension(\"$extstring\"));\n";
}
output_decls($functions, \&make_pfn_info);
print "}\n\n";

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
#---------------------------------------------------------------------------------------
@ -38,7 +40,7 @@ if (@ARGV)
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
print "#ifdef $extname\n";
print " _glewInfo_$extname();\n";

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
#-------------------------------------------------------------------------------
@ -21,6 +23,11 @@ sub make_pfn_def_init($%)
return " r = ((" . $_[0] . " = (PFN" . (uc $_[0]) . "PROC)glewGetProcAddress((const GLubyte*)\"" . $_[0] . "\")) == NULL) || r;";
}
sub make_reuse_call($%)
{
return " r = _glewInit_" . $_[0] . "() || r;";
}
#-------------------------------------------------------------------------------
my @extlist = ();
@ -34,22 +41,21 @@ if (@ARGV)
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $types, $tokens, $functions, $exacts) =
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
parse_ext($ext);
#make_separator($extname);
print "#ifdef $extname\n\n";
my $extvar = $extname;
my $extvardef = $extname;
$extvar =~ s/GL(X*)_/GL$1EW_/;
if (keys %$functions)
if (keys %$functions or keys @$reuse)
{
print "static GLboolean _glewInit_$extname (" . $type .
"EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n";
print "#ifdef $extname\n\n";
print "static GLboolean _glewInit_$extname ()\n{\n GLboolean r = GL_FALSE;\n";
output_reuse($reuse, \&make_reuse_call);
output_decls($functions, \&make_pfn_def_init);
print "\n return r;\n}\n\n";
print "#endif /* $extname */\n\n";
}
#print "\nGLboolean " . prefix_varname($extvar) . " = GL_FALSE;\n\n";
print "#endif /* $extname */\n\n";
}
}

45
auto/bin/make_initd.pl Executable file
View File

@ -0,0 +1,45 @@
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## 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;
use lib '.';
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";
}
}

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
#---------------------------------------------------------------------------------------
@ -32,30 +34,42 @@ if (@ARGV)
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my $extvar = $extname;
$extvar =~ s/GL(X*)_/GL$1EW_/;
my $extpre = $extname;
$extpre =~ s/^(W?)GL(X?).*$/\l$1gl\l$2ew/;
$extpre =~ s/^(W?E?)GL(X?).*$/\l$1gl\l$2ew/;
#my $pextvar = prefix_varname($extvar);
print "#ifdef $extname\n";
print " CONST_CAST(" . $extvar . ") = " . $extpre . "GetExtension(\"$extname\");\n";
if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions)
{
print "#ifdef $extname\n";
}
if (length($extstring) && $extstring !~ /^GL_/)
{
print " " . $extvar . " = _glewSearchExtension(\"$extstring\", extStart, extEnd);\n";
}
if (keys %$functions)
{
if ($extname =~ /WGL_.*/)
{
print " if (glewExperimental || " . $extvar . "|| crippled) CONST_CAST(" . $extvar . ")= !_glewInit_$extname(GLEW_CONTEXT_ARG_VAR_INIT);\n";
print " if (glewExperimental || " . $extvar . "|| crippled) " . $extvar . "= !_glewInit_$extname();\n";
}
else
{
print " if (glewExperimental || " . $extvar . ") CONST_CAST(" . $extvar . ") = !_glewInit_$extname(GLEW_CONTEXT_ARG_VAR_INIT);\n";
print " if (glewExperimental || " . $extvar . ") " . $extvar . " = !_glewInit_$extname();\n";
}
}
print "#endif /* $extname */\n";
if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions)
{
print "#endif /* $extname */\n";
}
}
}

46
auto/bin/make_list2.pl Executable file
View File

@ -0,0 +1,46 @@
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## 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;
use lib '.';
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";
}
}
}

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
my @extlist = ();
@ -22,13 +24,13 @@ if (@ARGV)
my $curexttype = "";
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my $exttype = $extname;
$exttype =~ s/(W*?)GL(X*?)_(.*?_)(.*)/$3/;
$exttype =~ s/(W?E?)GL(X?)_(.*?_)(.*)/$3/;
my $extrem = $extname;
$extrem =~ s/(W*?)GL(X*?)_(.*?_)(.*)/$4/;
$extrem =~ s/(W?E?)GL(X?)_(.*?_)(.*)/$4/;
my $extvar = $extname;
$extvar =~ s/(W*)GL(X*)_/$1GL$2EW_/;
$extvar =~ s/(W?E?)GL(X?)_/$1GL$2EW_/;
if(!($exttype =~ $curexttype))
{
if(length($curexttype) > 0)

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
# function pointer declaration
@ -30,7 +32,7 @@ if (@ARGV)
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $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);
}
}

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -10,6 +11,7 @@
use strict;
use warnings;
use lib '.';
do 'bin/make.pl';
my @extlist = ();
@ -23,7 +25,7 @@ if (@ARGV)
foreach my $ext (sort @extlist)
{
my ($extname, $exturl, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
my $extvar = $extname;
$extvar =~ s/GL(X*)_/GL$1EW_/;
print $export . " GLboolean " . prefix_varname($extvar) . ";\n";

View File

@ -1,5 +1,6 @@
#!/usr/bin/perl
#!/usr/bin/env perl
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -20,7 +21,8 @@ my @sections = (
"Name",
"Name Strings?",
"New Procedures and Functions",
"New Tokens",
"New Tokens.*", # Optional (GL/WGL/GLX/...) suffix
"Additions to Chapter.*",
);
my %typemap = (
@ -60,12 +62,34 @@ my %typemap = (
charARB => "GLcharARB",
handleARB => "GLhandleARB",
char => "GLchar",
# OpenGL 3.2 and GL_ARB_sync
int64 => "GLint64",
uint64 => "GLuint64",
sync => "GLsync",
# GL_EXT_EGL_image_storage
eglImageOES => "GLeglImageOES",
# AMD_debug_output
DEBUGPROCAMD => "GLDEBUGPROCAMD",
# ARB_debug_output
DEBUGPROCARB => "GLDEBUGPROCARB",
# KHR_debug
DEBUGPROC => "GLDEBUGPROC",
VULKANPROCNV => "GLVULKANPROCNV",
vdpauSurfaceNV => "GLvdpauSurfaceNV",
# GLX 1.3 defines new types which might not be available at compile time
#GLXFBConfig => "void*",
@ -90,7 +114,7 @@ my %taboo_tokens = (
);
# list of function definitions to be ignored, unless they are being defined in
# the given spec. This is an ugly hack arround the fact that people writing
# the given spec. This is an ugly hack around the fact that people writing
# spec files seem to shut down all brain activity while they are at this task.
#
# This will be moved to its own file eventually.
@ -118,6 +142,14 @@ my %fnc_ignore_list = (
"ProgramLocalParameter4fARB" => "ARB_vertex_program",
"ProgramLocalParameter4fvARB" => "ARB_vertex_program",
"ProgramStringARB" => "ARB_vertex_program",
"EGLImageTargetTexture2DOES" => "OES_EGL_image",
"FramebufferTextureOES" => "GL_OES_geometry_shader",
"PatchParameteriOES" => "GL_OES_tessellation_shader",
"PointSizePointerOES" => "GL_OES_point_size_array",
"LockArraysEXT" => "EXT_compiled_vertex_array",
"UnlockArraysEXT" => "EXT_compiled_vertex_array",
"CoverageMaskNV" => "NV_coverage_sample",
"CoverageOperationNV" => "NV_coverage_sample",
"glXCreateContextAttribsARB" => "ARB_create_context_profile",
"wglCreateContextAttribsARB" => "WGL_ARB_create_context_profile",
);
@ -125,11 +157,12 @@ my %fnc_ignore_list = (
my %regex = (
eofnc => qr/(?:\);?$|^$)/, # )$ | );$ | ^$
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.+)\)$/i,
prefix => qr/^(?:[aw]?gl|glX)/, # gl | agl | wgl | glX
tprefix => qr/^(?:[AW]?GL|GLX)_/, # GL_ | AGL_ | WGL_ | GLX_
none => qr/^\(none\)$/,
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.*)\)$/i,
prefix => qr/^(?:[aw]?gl|glX|egl)/, # gl | agl | wgl | glX
tprefix => qr/^(?:[AW]?GL|GLX|EGL)_/, # GL_ | AGL_ | WGL_ | GLX_
section => compile_regex('^(', join('|', @sections), ')$'), # sections in spec
token => qr/^([A-Z0-9][A-Z0-9_]*):?\s+((?:0x)?[0-9A-F]+)(.*)$/, # define tokens
token => qr/^([A-Z0-9][A-Z0-9_x]*):?\s+((?:0x)?[0-9A-Fa-f]+(u(ll)?)?)(|\s[^\?]*)$/, # define tokens
types => compile_regex('\b(', join('|', keys %typemap), ')\b'), # var types
voidtype => compile_regex('\b(', keys %voidtypemap, ')\b '), # void type
);
@ -141,6 +174,7 @@ sub normalize_prototype
s/\s+/ /g; # multiple whitespace -> single space
s/\<.*\>//g; # remove <comments> from direct state access extension
s/\<.*$//g; # remove incomplete <comments> from direct state access extension
s#/\*.*\*/##g; # remove /* ... */ comments
s/\s*\(\s*/ \(/; # exactly one space before ( and none after
s/\s*\)\s*/\)/; # no space before or after )
s/\s*\*([a-zA-Z])/\* $1/; # "* identifier"
@ -151,7 +185,7 @@ sub normalize_prototype
return $_;
}
# Ugly hack to work arround the fact that functions are declared in more
# Ugly hack to work around the fact that functions are declared in more
# than one spec file.
sub ignore_function($$)
{
@ -181,7 +215,13 @@ sub parse_spec($)
"Name Strings" => sub {
# Add extension name to extension list
# Does this look even plausible?
# Initially use $extname if (none) specified
if (/$regex{none}/)
{
$_ = $extname;
}
if (/$regex{extname}/)
{
# prefix with "GL_" if prefix not present
@ -212,9 +252,16 @@ sub parse_spec($)
{
# apply typemaps
$return =~ s/$regex{types}/$typemap{$1}/og;
$return =~ s/void\*/GLvoid */og;
$return =~ s/GLvoid/void/og;
$return =~ s/void\*/void */og;
$parms =~ s/$regex{types}/$typemap{$1}/og;
$parms =~ s/$regex{voidtype}/$voidtypemap{$1}/og;
$parms =~ s/GLvoid/void/og;
$parms =~ s/ void\* / void */og;
if ($parms eq "")
{
$parms = "void"; # NVX_progress_fence and others
}
}
# add to functions hash
$functions{$name} = {
@ -281,8 +328,7 @@ my @speclist = ();
my %extensions = ();
my $ext_dir = shift;
my $reg_http = "http://www.opengl.org/registry/specs/";
#my $reg_http = "http://oss.sgi.com/projects/ogl-sample/";
my $reg_http = "https://www.khronos.org/registry/OpenGL/extensions/";
# Take command line arguments or read list from file
if (@ARGV)
@ -301,15 +347,52 @@ foreach my $spec (sort @speclist)
{
my $info = "$ext_dir/" . $ext;
open EXT, ">$info";
print EXT $ext . "\n";
my $specname = $spec;
$specname =~ s/registry\///;
print EXT $reg_http . $specname . "\n";
print EXT $ext . "\n"; # Extension name
my $specname = $spec;
$specname =~ s/OpenGL-Registry\/extensions\///;
print EXT $reg_http . $specname . "\n"; # Extension info URL
print EXT $ext . "\n"; # Extension string
print EXT "\n"; # Resuses nothing by default
my $prefix = $ext;
$prefix =~ s/^(.+?)(_.+)$/$1/;
foreach my $token (sort { hex ${$tokens}{$a} <=> hex ${$tokens}{$b} } keys %{$tokens})
{
foreach my $token (sort {
if (${$tokens}{$a} eq ${$tokens}{$b}) {
$a cmp $b
} else {
if (${$tokens}{$a} =~ /_/) {
if (${$tokens}{$b} =~ /_/) {
$a cmp $b
} else {
-1
}
} else {
if (${$tokens}{$b} =~ /_/) {
1
} else {
if (${$tokens}{$a} =~ /u(ll)?$/) {
if (${$tokens}{$b} =~ /u(ll)?$/) {
$a cmp $b
} else {
-1
}
} else {
if (${$tokens}{$b} =~ /u(ll)?$/) {
1
} else {
if (hex ${$tokens}{$a} eq hex ${$tokens}{$b})
{
$a cmp $b
} else {
hex ${$tokens}{$a} <=> hex ${$tokens}{$b}
}
}
}
}
}
}
} keys %{$tokens})
{
if ($token =~ /^$prefix\_.*/i)
{
print EXT "\t" . $token . " " . ${\%{$tokens}}{$token} . "\n";

145
auto/bin/parse_xml.py Executable file
View File

@ -0,0 +1,145 @@
#!/usr/bin/env python
import re
import sys
from xml.dom.minidom import parse, Node
#
# DOM traversal utility functions
#
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) ]
isPointer = re.compile('(.*)([ ]+)([*]+)')
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
t.strip()
m = isPointer.match(t)
if m:
t = ('%s%s'%(m.group(1), m.group(3))).strip()
return ( t, n.strip())
def findEnums(dom):
return {i.getAttribute('name'): i.getAttribute('value') for i in findChildren(dom, [ 'registry', 'enums', 'enum' ])}
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 = [j.getAttribute("name") for j in findChildren(i, [ 'require', 'enum' ])]
c = [j.getAttribute("name") for j in findChildren(i, [ 'require', 'command' ])]
ret[n] = (e,c)
return ret
def findExtensions(dom):
ret = {}
for i in findChildren(dom, [ 'registry', 'extensions', 'extension' ]):
n = i.getAttribute('name')
e = [j.getAttribute("name") for j in findChildren(i, [ 'require', 'enum' ])]
c = [j.getAttribute("name") for j in findChildren(i, [ 'require', 'command' ])]
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)
#
#
#
isWGL = re.compile('WGL_([A-Z0-9]+)_.*')
def writeExtension(f, name, extension, enums, commands):
f.write(('%s\n'%name).encode())
url = 'https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf'
m = isWGL.match(name)
if m:
url = 'https://www.khronos.org/registry/OpenGL/extensions/%s/%s.txt'%(m.group(1), name)
f.write(('%s\n'%(url)).encode())
if name.find('_VERSION_')==-1:
f.write(('%s\n'%name).encode())
else:
f.write('\n'.encode())
f.write('\n'.encode())
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])).encode())
commands = [ (j, commands[j]) for j in extension[1] ]
for c in sorted(commands):
params = ', '.join( [ '%s %s'%(j[0].strip(), j[1].strip()) for j in c[1][1] ] )
if len(params)==0:
params = 'void'
f.write(('\t%s %s (%s)\n'%(c[1][0].strip(), c[0].strip(), params)).encode())
if __name__ == '__main__':
from argparse import ArgumentParser
import os
parser = ArgumentParser(description='usage: %prog [options] [XML specs...]')
parser.add_argument("--core", dest="core", help="location for core outputs", default='')
parser.add_argument("--api", dest="name", help="API name: egl, wgl, glx, etc", default='')
parser.add_argument("--extensions", dest="extensions", help="location for extensions outputs", default='')
(options, args) = parser.parse_known_args()
options = vars(options)
for i in args:
dom = parse(i)
api = findApi(dom, options['name'])
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():
with open(os.path.join(options['core'], i), 'wb') as f:
writeExtension(f, i, api[2][i], api[0], api[1])
if len(options['extensions']):
for i in api[3].keys():
with open(os.path.join(options['extensions'], i), 'wb') as f:
writeExtension(f, i, api[3][i], api[0], api[1])

View File

@ -1,5 +1,6 @@
#!/bin/bash
#!/usr/bin/env bash
##
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
@ -16,256 +17,10 @@
set -e
if [ ! -d $1 ] ; then
mkdir $1
mkdir -p $1
# Parse each of the extensions in the registry
find $2 -name doc -type d -prune -o -name \*.txt -print | \
find $2 -name doc -type d -prune -o -name "*.txt" -print | \
grep -v -f $3 | sort | bin/parse_spec.pl $1
# fix GL_NV_texture_compression_vtc
grep -v EXT $1/GL_NV_texture_compression_vtc > tmp
mv tmp $1/GL_NV_texture_compression_vtc
# 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
mv tmp $1/GL_ARB_fragment_program
# 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
mv tmp $1/GLX_EXT_visual_rating
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetBooleanIndexedvEXT but with different parameter names
grep -v glGetBooleanIndexedvEXT $1/GL_EXT_transform_feedback > tmp
mv tmp $1/GL_EXT_transform_feedback
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetIntegerIndexedvEXT but with different parameter names
grep -v glGetIntegerIndexedvEXT $1/GL_EXT_transform_feedback > tmp
mv tmp $1/GL_EXT_transform_feedback
# 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
mv tmp $1/GL_NV_present_video
# fix WGL_NV_present_video
cat >> $1/WGL_NV_present_video <<EOT
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
EOT
# fix WGL_NV_video_output
cat >> $1/WGL_NV_video_output <<EOT
DECLARE_HANDLE(HPVIDEODEV);
EOT
# fix GL_NV_occlusion_query and GL_HP_occlusion_test
grep -v '_HP' $1/GL_NV_occlusion_query > tmp
mv tmp $1/GL_NV_occlusion_query
perl -e's/OCCLUSION_TEST_HP.*/OCCLUSION_TEST_HP 0x8165/' -pi \
$1/GL_HP_occlusion_test
perl -e's/OCCLUSION_TEST_RESULT_HP.*/OCCLUSION_TEST_RESULT_HP 0x8166/' -pi \
$1/GL_HP_occlusion_test
# fix GLvoid in GL_ARB_vertex_buffer_objects
perl -e 's/ void\*/ GLvoid\*/g' -pi \
$1/GL_ARB_vertex_buffer_object
# add deprecated constants to GL_ATI_fragment_shader
cat >> $1/GL_ATI_fragment_shader <<EOT
GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
GL_NUM_PASSES_ATI 0x8970
GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
GL_COLOR_ALPHA_PAIRING_ATI 0x8975
GL_SWIZZLE_STRQ_ATI 0x897A
GL_SWIZZLE_STRQ_DQ_ATI 0x897B
EOT
# add deprecated constants to GL_NV_texture_shader
cat >> $1/GL_NV_texture_shader <<EOT
GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1
GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3
GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2
EOT
# fix WGL_ATI_pixel_format_float
cat >> $1/WGL_ATI_pixel_format_float <<EOT
GL_RGBA_FLOAT_MODE_ATI 0x8820
GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
EOT
# fix WGL_ARB_make_current_read
cat >> $1/WGL_ARB_make_current_read <<EOT
ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
EOT
# fix WGL_EXT_make_current_read
cat >> $1/WGL_EXT_make_current_read <<EOT
ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
EOT
# add typedefs to GL_ARB_vertex_buffer_object; (from personal communication
# with Marco Fabbricatore).
#
# Rationale. The spec says:
#
# "Both types are defined as signed integers large enough to contain
# any pointer value [...] The idea of making these types unsigned was
# considered, but was ultimately rejected ..."
cat >> $1/GL_ARB_vertex_buffer_object <<EOT
typedef ptrdiff_t GLsizeiptrARB
typedef ptrdiff_t GLintptrARB
EOT
# add typedefs to GLX_EXT_import_context
cat >> $1/GLX_EXT_import_context <<EOT
typedef XID GLXContextID
EOT
# add tokens to GLX_OML_swap_method
cat >> $1/GLX_OML_swap_method <<EOT
GLX_SWAP_EXCHANGE_OML 0x8061
GLX_SWAP_COPY_OML 0x8062
GLX_SWAP_UNDEFINED_OML 0x8063
EOT
# add typedefs to GLX_SGIX_fbconfig
cat >> $1/GLX_SGIX_fbconfig <<EOT
typedef XID GLXFBConfigIDSGIX
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX
EOT
# add typedefs to GLX_SGIX_pbuffer
cat >> $1/GLX_SGIX_pbuffer <<EOT
typedef XID GLXPbufferSGIX
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX
EOT
# add typedef to GL_NV_half_float
cat >> $1/GL_NV_half_float <<EOT
typedef unsigned short GLhalf
EOT
# add handle to WGL_ARB_pbuffer
cat >> $1/WGL_ARB_pbuffer <<EOT
DECLARE_HANDLE(HPBUFFERARB);
EOT
# add handle to WGL_EXT_pbuffer
cat >> $1/WGL_EXT_pbuffer <<EOT
DECLARE_HANDLE(HPBUFFEREXT);
EOT
# get rid of GL_SUN_multi_draw_arrays
rm -f $1/GL_SUN_multi_draw_arrays
# change variable names in GL_ARB_vertex_shader
perl -e 's/v0/x/g' -pi $1/GL_ARB_vertex_shader
perl -e 's/v1/y/g' -pi $1/GL_ARB_vertex_shader
perl -e 's/v2/z/g' -pi $1/GL_ARB_vertex_shader
perl -e 's/v3/w/g' -pi $1/GL_ARB_vertex_shader
# remove triplicates in GL_ARB_shader_objects, GL_ARB_fragment_shader,
# and GL_ARB_vertex_shader
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_fragment_shader > tmp
mv tmp $1/GL_ARB_fragment_shader
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_vertex_shader > tmp
mv tmp $1/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
mv tmp $1/GL_ARB_vertex_shader
# remove triplicates in GL_ARB_fragment_program, GL_ARB_fragment_shader,
# and GL_ARB_vertex_shader
grep -v -F -f $1/GL_ARB_fragment_program $1/GL_ARB_fragment_shader > tmp
mv tmp $1/GL_ARB_fragment_shader
grep -v -F -f $1/GL_ARB_fragment_program $1/GL_ARB_vertex_shader > tmp
mv tmp $1/GL_ARB_vertex_shader
# remove duplicates in GL_EXT_direct_state_access
grep -v "glGetBooleanIndexedvEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
grep -v "glGetIntegerIndexedvEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
grep -v "glDisableIndexedEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
grep -v "glEnableIndexedEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
grep -v "glIsEnabledIndexedEXT" $1/GL_EXT_direct_state_access > tmp
mv tmp $1/GL_EXT_direct_state_access
# remove duplicates in GL_NV_explicit_multisample
grep -v "glGetBooleanIndexedvEXT" $1/GL_NV_explicit_multisample > tmp
mv tmp $1/GL_NV_explicit_multisample
grep -v "glGetIntegerIndexedvEXT" $1/GL_NV_explicit_multisample > tmp
mv tmp $1/GL_NV_explicit_multisample
# fix bugs in GL_ARB_vertex_shader
grep -v "GL_FLOAT" $1/GL_ARB_vertex_shader > tmp
mv tmp $1/GL_ARB_vertex_shader
perl -e 's/handle /GLhandleARB /g' -pi $1/GL_ARB_vertex_shader
# fix bugs in GL_ARB_shader_objects
grep -v "GL_FLOAT " $1/GL_ARB_shader_objects > tmp
mv tmp $1/GL_ARB_shader_objects
grep -v "GL_INT " $1/GL_ARB_shader_objects > tmp
mv tmp $1/GL_ARB_shader_objects
# add typedefs to GL_ARB_shader_objects
cat >> $1/GL_ARB_shader_objects <<EOT
typedef char GLcharARB
typedef unsigned int GLhandleARB
EOT
# add missing functions to GL_ARB_transpose_matrix
cat >> $1/GL_ARB_transpose_matrix <<EOT
void glLoadTransposeMatrixfARB (GLfloat m[16])
void glLoadTransposeMatrixdARB (GLdouble m[16])
void glMultTransposeMatrixfARB (GLfloat m[16])
void glMultTransposeMatrixdARB (GLdouble m[16])
EOT
# add missing tokens to GL_EXT_framebuffer_multisample
cat >> $1/GL_EXT_framebuffer_multisample <<EOT
GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
GL_MAX_SAMPLES_EXT 0x8D57
EOT
# fix const correctness in GL_ARB_shader_objects
# perl -e 's/(.+glUniform.*(fv|iv).+)(GLfloat\*.+|GLint\*.+)/\1const \3/;' -pi $1/GL_ARB_shader_objects
# Filter out profile enumerations from GLX_ARB_create_context
grep -v "_PROFILE_" $1/GLX_ARB_create_context > tmp
mv tmp $1/GLX_ARB_create_context
# Filter only profile related enumerations for GLX_ARB_create_context_profile
head -n2 $1/GLX_ARB_create_context_profile > tmp
grep "_PROFILE_" $1/GLX_ARB_create_context_profile >> tmp
mv tmp $1/GLX_ARB_create_context_profile
# Filter out profile enumerations from WGL_ARB_create_context
grep -v "_PROFILE_" $1/WGL_ARB_create_context > tmp
mv tmp $1/WGL_ARB_create_context
# Filter only profile related enumerations for WGL_ARB_create_context_profile
head -n2 $1/WGL_ARB_create_context_profile > tmp
grep "_PROFILE_" $1/WGL_ARB_create_context_profile >> tmp
mv tmp $1/WGL_ARB_create_context_profile
# add missing function to GLX_NV_copy_image
cat >> $1/GLX_NV_copy_image <<EOT
void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
EOT
# add missing function to WGL_NV_copy_image
cat >> $1/WGL_NV_copy_image <<EOT
BOOL wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
EOT
# clean up
rm -f $1/*.bak
fi

View File

@ -1,24 +0,0 @@
#!/bin/sh
##
## 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.
set -e
if [ ! -d $1 ] ; then
mkdir $1
fi
cd $1
wget \
--mirror \
--no-parent \
--no-host-directories \
--cut-dirs=2 \
--accept=txt,html \
$2

View File

@ -4,12 +4,25 @@ EXT/vertex_array_set.alt.txt
EXT/vertex_array_set.txt
EXT/nurbs_tessellator.txt
EXT/object_space_tess.txt
MESA/MESA_sampler_objects.txt
SGI/filter4_parameters.txt
SGIS/texture_color_mask.txt
SGIX/dmbuffer.txt
SGIX/instruments.txt
SGIX/video_source.txt
SGIX/hyperpipe_group.txt
SGIS/SGIS_texture_color_mask.txt
SGIX/SGIX_dmbuffer.txt
SGIX/SGIX_instruments.txt
SGIX/SGIX_video_source.txt
SGIX/SGIX_hyperpipe_group.txt
OES/OES_fixed_point.txt
OES/OES_query_matrix.txt
NV/video_capture.txt
IMG/IMG_user_clip_plane.txt
NV/NV_query_resource.txt
NV/EGL_NV_coverage_sample.txt
OES/OES_draw_elements_base_vertex.txt
OES/OES_viewport_array.txt
OES/EGL_KHR_fence_sync.txt
EXT/EXT_texenv_op.txt
EXT/EXT_transform_feedback2.txt
EXT/EXT_vertex_array_set.txt
EXT/EXT_separate_shader_objects.gles.txt
IGLOO/IGLOO_swap_triangle_strip_vertex_pointerXXX.txt
IGLOO/IGLOO_viewport_offsetXXX.txt
IGLOO/IGLOO_toggle_color_and_lightXXX.txt

View File

@ -1,4 +0,0 @@
GLX_EXT_fbconfig_packed_float
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt
GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008

View File

@ -1,3 +0,0 @@
GLX_EXT_framebuffer_sRGB
http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt
GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2

View File

@ -1,3 +0,0 @@
GLX_NV_float_buffer
http://cvs1.nvidia.com/inc/GL/glxtokens.h
GLX_FLOAT_COMPONENTS_NV 0x20B0

View File

@ -1,3 +0,0 @@
GLX_SGIS_shared_multisample
GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027

View File

@ -1,4 +0,0 @@
GLX_SGIX_swap_barrier
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_barrier.txt
void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier)
Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max)

View File

@ -1,3 +0,0 @@
GLX_SGIX_swap_group
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_group.txt
void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member)

View File

@ -1,2 +0,0 @@
GLX_VERSION_1_2
Display* glXGetCurrentDisplay (void)

View File

@ -1,4 +0,0 @@
GL_ATI_map_object_buffer
http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ATI_map_object_buffer.txt
void* glMapObjectBufferATI (GLuint buffer)
void glUnmapObjectBufferATI (GLuint buffer)

View File

@ -1 +0,0 @@
GL_ATI_shader_texture_lod

View File

@ -1,10 +0,0 @@
GL_KTX_buffer_region
GL_KTX_FRONT_REGION 0x0
GL_KTX_BACK_REGION 0x1
GL_KTX_Z_REGION 0x2
GL_KTX_STENCIL_REGION 0x3
GLuint glBufferRegionEnabledEXT (void)
GLuint glNewBufferRegionEXT (GLenum region)
void glDeleteBufferRegionEXT (GLenum region)
void glReadBufferRegionEXT (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height)
void glDrawBufferRegionEXT (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest)

View File

@ -1,165 +0,0 @@
GL_VERSION_3_0
http://www.opengl.org/registry/doc/glspec30.20080811.pdf
GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB
GL_CLIP_DISTANCE0 GL_CLIP_PLANE0
GL_CLIP_DISTANCE1 GL_CLIP_PLANE1
GL_CLIP_DISTANCE2 GL_CLIP_PLANE2
GL_CLIP_DISTANCE3 GL_CLIP_PLANE3
GL_CLIP_DISTANCE4 GL_CLIP_PLANE4
GL_CLIP_DISTANCE5 GL_CLIP_PLANE5
GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES
GL_MAJOR_VERSION 0x821B
GL_MINOR_VERSION 0x821C
GL_NUM_EXTENSIONS 0x821D
GL_CONTEXT_FLAGS 0x821E
GL_DEPTH_BUFFER 0x8223
GL_STENCIL_BUFFER 0x8224
GL_COMPRESSED_RED 0x8225
GL_COMPRESSED_RG 0x8226
GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
GL_RGBA32F 0x8814
GL_RGB32F 0x8815
GL_RGBA16F 0x881A
GL_RGB16F 0x881B
GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
GL_CLAMP_VERTEX_COLOR 0x891A
GL_CLAMP_FRAGMENT_COLOR 0x891B
GL_CLAMP_READ_COLOR 0x891C
GL_FIXED_ONLY 0x891D
GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS
GL_TEXTURE_RED_TYPE 0x8C10
GL_TEXTURE_GREEN_TYPE 0x8C11
GL_TEXTURE_BLUE_TYPE 0x8C12
GL_TEXTURE_ALPHA_TYPE 0x8C13
GL_TEXTURE_LUMINANCE_TYPE 0x8C14
GL_TEXTURE_INTENSITY_TYPE 0x8C15
GL_TEXTURE_DEPTH_TYPE 0x8C16
GL_UNSIGNED_NORMALIZED 0x8C17
GL_TEXTURE_1D_ARRAY 0x8C18
GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
GL_TEXTURE_2D_ARRAY 0x8C1A
GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
GL_R11F_G11F_B10F 0x8C3A
GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
GL_RGB9_E5 0x8C3D
GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
GL_TEXTURE_SHARED_SIZE 0x8C3F
GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
GL_PRIMITIVES_GENERATED 0x8C87
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
GL_RASTERIZER_DISCARD 0x8C89
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
GL_INTERLEAVED_ATTRIBS 0x8C8C
GL_SEPARATE_ATTRIBS 0x8C8D
GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
GL_RGBA32UI 0x8D70
GL_RGB32UI 0x8D71
GL_RGBA16UI 0x8D76
GL_RGB16UI 0x8D77
GL_RGBA8UI 0x8D7C
GL_RGB8UI 0x8D7D
GL_RGBA32I 0x8D82
GL_RGB32I 0x8D83
GL_RGBA16I 0x8D88
GL_RGB16I 0x8D89
GL_RGBA8I 0x8D8E
GL_RGB8I 0x8D8F
GL_RED_INTEGER 0x8D94
GL_GREEN_INTEGER 0x8D95
GL_BLUE_INTEGER 0x8D96
GL_ALPHA_INTEGER 0x8D97
GL_RGB_INTEGER 0x8D98
GL_RGBA_INTEGER 0x8D99
GL_BGR_INTEGER 0x8D9A
GL_BGRA_INTEGER 0x8D9B
GL_SAMPLER_1D_ARRAY 0x8DC0
GL_SAMPLER_2D_ARRAY 0x8DC1
GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
GL_SAMPLER_CUBE_SHADOW 0x8DC5
GL_UNSIGNED_INT_VEC2 0x8DC6
GL_UNSIGNED_INT_VEC3 0x8DC7
GL_UNSIGNED_INT_VEC4 0x8DC8
GL_INT_SAMPLER_1D 0x8DC9
GL_INT_SAMPLER_2D 0x8DCA
GL_INT_SAMPLER_3D 0x8DCB
GL_INT_SAMPLER_CUBE 0x8DCC
GL_INT_SAMPLER_1D_ARRAY 0x8DCE
GL_INT_SAMPLER_2D_ARRAY 0x8DCF
GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
GL_QUERY_WAIT 0x8E13
GL_QUERY_NO_WAIT 0x8E14
GL_QUERY_BY_REGION_WAIT 0x8E15
GL_QUERY_BY_REGION_NO_WAIT 0x8E16
void glColorMaski (GLuint, GLboolean, GLboolean, GLboolean, GLboolean)
void glGetBooleani_v (GLenum, GLuint, GLboolean*)
void glEnablei (GLenum, GLuint)
void glDisablei (GLenum, GLuint)
GLboolean glIsEnabledi (GLenum, GLuint)
void glBeginTransformFeedback (GLenum)
void glEndTransformFeedback (void)
void glTransformFeedbackVaryings (GLuint, GLsizei, const GLchar **, GLenum)
void glGetTransformFeedbackVarying (GLuint, GLuint, GLint*)
void glClampColor (GLenum, GLenum)
void glBeginConditionalRender (GLuint, GLenum)
void glEndConditionalRender (void)
void glVertexAttribI1i (GLuint, GLint)
void glVertexAttribI2i (GLuint, GLint, GLint)
void glVertexAttribI3i (GLuint, GLint, GLint, GLint)
void glVertexAttribI4i (GLuint, GLint, GLint, GLint, GLint)
void glVertexAttribI1ui (GLuint, GLuint)
void glVertexAttribI2ui (GLuint, GLuint, GLuint)
void glVertexAttribI3ui (GLuint, GLuint, GLuint, GLuint)
void glVertexAttribI4ui (GLuint, GLuint, GLuint, GLuint, GLuint)
void glVertexAttribI1iv (GLuint, const GLint*)
void glVertexAttribI2iv (GLuint, const GLint*)
void glVertexAttribI3iv (GLuint, const GLint*)
void glVertexAttribI4iv (GLuint, const GLint*)
void glVertexAttribI1uiv (GLuint, const GLuint*)
void glVertexAttribI2uiv (GLuint, const GLuint*)
void glVertexAttribI3uiv (GLuint, const GLuint*)
void glVertexAttribI4uiv (GLuint, const GLuint*)
void glVertexAttribI4bv (GLuint, const GLbyte*)
void glVertexAttribI4sv (GLuint, const GLshort*)
void glVertexAttribI4ubv (GLuint, const GLubyte*)
void glVertexAttribI4usv (GLuint, const GLushort*)
void glVertexAttribIPointer (GLuint, GLint, GLenum, GLsizei, const GLvoid*)
void glGetVertexAttribIiv (GLuint, GLenum, GLint*)
void glGetVertexAttribIuiv (GLuint, GLenum, GLuint*)
void glGetUniformuiv (GLuint, GLint, GLuint*)
void glBindFragDataLocation (GLuint, GLuint, const GLchar*)
GLint glGetFragDataLocation (GLuint, const GLchar*)
void glUniform1ui (GLint, GLuint)
void glUniform2ui (GLint, GLuint, GLuint)
void glUniform3ui (GLint, GLuint, GLuint, GLuint)
void glUniform4ui (GLint, GLuint, GLuint, GLuint, GLuint)
void glUniform1uiv (GLint, GLsizei, const GLuint*)
void glUniform2uiv (GLint, GLsizei, const GLuint*)
void glUniform3uiv (GLint, GLsizei, const GLuint*)
void glUniform4uiv (GLint, GLsizei, const GLuint*)
void glTexParameterIiv (GLenum, GLenum, const GLint*)
void glTexParameterIuiv (GLenum, GLenum, const GLuint*)
void glGetTexParameterIiv (GLenum, GLenum, GLint*)
void glGetTexParameterIuiv (GLenum, GLenum, GLuint*)
void glClearBufferiv (GLenum, GLint, const GLint*)
void glClearBufferuiv (GLenum, GLint, const GLuint*)
void glClearBufferfv (GLenum, GLint, const GLfloat*)
void glClearBufferfi (GLenum, GLint, GLfloat, GLint)
const GLubyte* glGetStringi (GLenum, GLuint)

View File

@ -1,2 +0,0 @@
WGL_ATI_render_texture_rectangle
WGL_TEXTURE_RECTANGLE_ATI 0x21A5

View File

@ -1,3 +0,0 @@
WGL_EXT_framebuffer_sRGB
http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt
WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9

View File

@ -1,3 +0,0 @@
WGL_EXT_pixel_format_packed_float
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt
WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8

View File

@ -1,4 +0,0 @@
WGL_NV_vertex_array_range
http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt
void * wglAllocateMemoryNV (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority)
void wglFreeMemoryNV (void *pointer)

View File

@ -0,0 +1,7 @@
EGL_EXT_device_base
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_EXT_device_base
EGL_BAD_DEVICE_EXT 0x322B
EGL_DEVICE_EXT 0x322C
EGL_NO_DEVICE_EXT EGL_CAST(EGLDeviceEXT,0)

View File

@ -0,0 +1,7 @@
EGL_KHR_fence_sync
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_KHR_fence_sync
EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
EGL_SYNC_CONDITION_KHR 0x30F8
EGL_SYNC_FENCE_KHR 0x30F9

View File

@ -0,0 +1,6 @@
EGL_KHR_image_base
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_KHR_image_base
EGL_IMAGE_PRESERVED_KHR 0x30D2
EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0)

View File

@ -0,0 +1,27 @@
EGL_KHR_lock_surface3
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_KHR_lock_surface3
EGL_READ_SURFACE_BIT_KHR 0x0001
EGL_WRITE_SURFACE_BIT_KHR 0x0002
EGL_LOCK_SURFACE_BIT_KHR 0x0080
EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100
EGL_MATCH_FORMAT_KHR 0x3043
EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0
EGL_FORMAT_RGB_565_KHR 0x30C1
EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2
EGL_FORMAT_RGBA_8888_KHR 0x30C3
EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4
EGL_LOCK_USAGE_HINT_KHR 0x30C5
EGL_BITMAP_POINTER_KHR 0x30C6
EGL_BITMAP_PITCH_KHR 0x30C7
EGL_BITMAP_ORIGIN_KHR 0x30C8
EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9
EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB
EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
EGL_LOWER_LEFT_KHR 0x30CE
EGL_UPPER_LEFT_KHR 0x30CF
EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
EGLBoolean eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR * value)

View File

@ -0,0 +1,86 @@
EGL_VERSION_1_0
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_FALSE 0
EGL_PBUFFER_BIT 0x0001
EGL_PIXMAP_BIT 0x0002
EGL_WINDOW_BIT 0x0004
EGL_SUCCESS 0x3000
EGL_NOT_INITIALIZED 0x3001
EGL_BAD_ACCESS 0x3002
EGL_BAD_ALLOC 0x3003
EGL_BAD_ATTRIBUTE 0x3004
EGL_BAD_CONFIG 0x3005
EGL_BAD_CONTEXT 0x3006
EGL_BAD_CURRENT_SURFACE 0x3007
EGL_BAD_DISPLAY 0x3008
EGL_BAD_MATCH 0x3009
EGL_BAD_NATIVE_PIXMAP 0x300A
EGL_BAD_NATIVE_WINDOW 0x300B
EGL_BAD_PARAMETER 0x300C
EGL_BAD_SURFACE 0x300D
EGL_BUFFER_SIZE 0x3020
EGL_ALPHA_SIZE 0x3021
EGL_BLUE_SIZE 0x3022
EGL_GREEN_SIZE 0x3023
EGL_RED_SIZE 0x3024
EGL_DEPTH_SIZE 0x3025
EGL_STENCIL_SIZE 0x3026
EGL_CONFIG_CAVEAT 0x3027
EGL_CONFIG_ID 0x3028
EGL_LEVEL 0x3029
EGL_MAX_PBUFFER_HEIGHT 0x302A
EGL_MAX_PBUFFER_PIXELS 0x302B
EGL_MAX_PBUFFER_WIDTH 0x302C
EGL_NATIVE_RENDERABLE 0x302D
EGL_NATIVE_VISUAL_ID 0x302E
EGL_NATIVE_VISUAL_TYPE 0x302F
EGL_SAMPLES 0x3031
EGL_SAMPLE_BUFFERS 0x3032
EGL_SURFACE_TYPE 0x3033
EGL_TRANSPARENT_TYPE 0x3034
EGL_TRANSPARENT_BLUE_VALUE 0x3035
EGL_TRANSPARENT_GREEN_VALUE 0x3036
EGL_TRANSPARENT_RED_VALUE 0x3037
EGL_NONE 0x3038
EGL_SLOW_CONFIG 0x3050
EGL_NON_CONFORMANT_CONFIG 0x3051
EGL_TRANSPARENT_RGB 0x3052
EGL_VENDOR 0x3053
EGL_VERSION 0x3054
EGL_EXTENSIONS 0x3055
EGL_HEIGHT 0x3056
EGL_WIDTH 0x3057
EGL_LARGEST_PBUFFER 0x3058
EGL_DRAW 0x3059
EGL_READ 0x305A
EGL_CORE_NATIVE_ENGINE 0x305B
EGL_TRUE 1
EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0)
EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
EGL_DONT_CARE EGL_CAST(EGLint,-1)
EGLBoolean eglChooseConfig (EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config)
EGLBoolean eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target)
EGLContext eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list)
EGLSurface eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list)
EGLSurface eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list)
EGLSurface eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list)
EGLBoolean eglDestroyContext (EGLDisplay dpy, EGLContext ctx)
EGLBoolean eglDestroySurface (EGLDisplay dpy, EGLSurface surface)
EGLBoolean eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value)
EGLBoolean eglGetConfigs (EGLDisplay dpy, EGLConfig * configs, EGLint config_size, EGLint * num_config)
EGLDisplay eglGetCurrentDisplay ( void )
EGLSurface eglGetCurrentSurface (EGLint readdraw)
EGLDisplay eglGetDisplay (EGLNativeDisplayType display_id)
EGLint eglGetError ( void )
EGLBoolean eglInitialize (EGLDisplay dpy, EGLint * major, EGLint * minor)
EGLBoolean eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
EGLBoolean eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint * value)
const char * eglQueryString (EGLDisplay dpy, EGLint name)
EGLBoolean eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint * value)
EGLBoolean eglSwapBuffers (EGLDisplay dpy, EGLSurface surface)
EGLBoolean eglTerminate (EGLDisplay dpy)
EGLBoolean eglWaitGL ( void )
EGLBoolean eglWaitNative (EGLint engine)

View File

@ -0,0 +1,22 @@
EGL_VERSION_1_1
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_CONTEXT_LOST 0x300E
EGL_BIND_TO_TEXTURE_RGB 0x3039
EGL_BIND_TO_TEXTURE_RGBA 0x303A
EGL_MIN_SWAP_INTERVAL 0x303B
EGL_MAX_SWAP_INTERVAL 0x303C
EGL_NO_TEXTURE 0x305C
EGL_TEXTURE_RGB 0x305D
EGL_TEXTURE_RGBA 0x305E
EGL_TEXTURE_2D 0x305F
EGL_TEXTURE_FORMAT 0x3080
EGL_TEXTURE_TARGET 0x3081
EGL_MIPMAP_TEXTURE 0x3082
EGL_MIPMAP_LEVEL 0x3083
EGL_BACK_BUFFER 0x3084
EGLBoolean eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer)
EGLBoolean eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer)
EGLBoolean eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value)
EGLBoolean eglSwapInterval (EGLDisplay dpy, EGLint interval)

View File

@ -0,0 +1,38 @@
EGL_VERSION_1_2
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_OPENGL_ES_BIT 0x0001
EGL_OPENVG_BIT 0x0002
EGL_LUMINANCE_SIZE 0x303D
EGL_ALPHA_MASK_SIZE 0x303E
EGL_COLOR_BUFFER_TYPE 0x303F
EGL_RENDERABLE_TYPE 0x3040
EGL_SINGLE_BUFFER 0x3085
EGL_RENDER_BUFFER 0x3086
EGL_COLORSPACE 0x3087
EGL_ALPHA_FORMAT 0x3088
EGL_COLORSPACE_sRGB 0x3089
EGL_COLORSPACE_LINEAR 0x308A
EGL_ALPHA_FORMAT_NONPRE 0x308B
EGL_ALPHA_FORMAT_PRE 0x308C
EGL_CLIENT_APIS 0x308D
EGL_RGB_BUFFER 0x308E
EGL_LUMINANCE_BUFFER 0x308F
EGL_HORIZONTAL_RESOLUTION 0x3090
EGL_VERTICAL_RESOLUTION 0x3091
EGL_PIXEL_ASPECT_RATIO 0x3092
EGL_SWAP_BEHAVIOR 0x3093
EGL_BUFFER_PRESERVED 0x3094
EGL_BUFFER_DESTROYED 0x3095
EGL_OPENVG_IMAGE 0x3096
EGL_CONTEXT_CLIENT_TYPE 0x3097
EGL_OPENGL_ES_API 0x30A0
EGL_OPENVG_API 0x30A1
EGL_DISPLAY_SCALING 10000
EGL_UNKNOWN EGL_CAST(EGLint,-1)
EGLBoolean eglBindAPI (EGLenum api)
EGLSurface eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list)
EGLenum eglQueryAPI ( void )
EGLBoolean eglReleaseThread ( void )
EGLBoolean eglWaitClient ( void )

View File

@ -0,0 +1,16 @@
EGL_VERSION_1_3
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_OPENGL_ES2_BIT 0x0004
EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
EGL_MATCH_NATIVE_PIXMAP 0x3041
EGL_CONFORMANT 0x3042
EGL_VG_COLORSPACE 0x3087
EGL_VG_ALPHA_FORMAT 0x3088
EGL_VG_COLORSPACE_sRGB 0x3089
EGL_VG_COLORSPACE_LINEAR 0x308A
EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
EGL_VG_ALPHA_FORMAT_PRE 0x308C
EGL_CONTEXT_CLIENT_VERSION 0x3098

View File

@ -0,0 +1,13 @@
EGL_VERSION_1_4
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_OPENGL_BIT 0x0008
EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
EGL_MULTISAMPLE_RESOLVE 0x3099
EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
EGL_OPENGL_API 0x30A2
EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0)
EGLContext eglGetCurrentContext ( void )

View File

@ -0,0 +1,59 @@
EGL_VERSION_1_5
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
EGL_OPENGL_ES3_BIT 0x00000040
EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
EGL_GL_COLORSPACE_SRGB 0x3089
EGL_GL_COLORSPACE_LINEAR 0x308A
EGL_CONTEXT_MAJOR_VERSION 0x3098
EGL_CL_EVENT_HANDLE 0x309C
EGL_GL_COLORSPACE 0x309D
EGL_GL_TEXTURE_2D 0x30B1
EGL_GL_TEXTURE_3D 0x30B2
EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
EGL_GL_RENDERBUFFER 0x30B9
EGL_GL_TEXTURE_LEVEL 0x30BC
EGL_GL_TEXTURE_ZOFFSET 0x30BD
EGL_IMAGE_PRESERVED 0x30D2
EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
EGL_SYNC_STATUS 0x30F1
EGL_SIGNALED 0x30F2
EGL_UNSIGNALED 0x30F3
EGL_TIMEOUT_EXPIRED 0x30F5
EGL_CONDITION_SATISFIED 0x30F6
EGL_SYNC_TYPE 0x30F7
EGL_SYNC_CONDITION 0x30F8
EGL_SYNC_FENCE 0x30F9
EGL_CONTEXT_MINOR_VERSION 0x30FB
EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
EGL_SYNC_CL_EVENT 0x30FE
EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
EGL_CONTEXT_OPENGL_DEBUG 0x31B0
EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
EGL_NO_RESET_NOTIFICATION 0x31BE
EGL_LOSE_CONTEXT_ON_RESET 0x31BF
EGL_FOREVER 0xFFFFFFFFFFFFFFFF
EGL_NO_IMAGE EGL_CAST(EGLImage,0)
EGL_NO_SYNC EGL_CAST(EGLSync,0)
EGLint eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout)
EGLImage eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib * attrib_list)
EGLSurface eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLAttrib * attrib_list)
EGLSurface eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void * native_window, const EGLAttrib * attrib_list)
EGLSync eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib * attrib_list)
EGLBoolean eglDestroyImage (EGLDisplay dpy, EGLImage image)
EGLBoolean eglDestroySync (EGLDisplay dpy, EGLSync sync)
EGLDisplay eglGetPlatformDisplay (EGLenum platform, void * native_display, const EGLAttrib * attrib_list)
EGLBoolean eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib * value)
EGLBoolean eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags)

View File

@ -1,3 +1,5 @@
GLX_ARB_get_proc_address
http://oss.sgi.com/projects/ogl-sample/registry/ARB/get_proc_address.txt
GLX_ARB_get_proc_address
extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);

View File

@ -1,2 +1,5 @@
GLX_ATI_pixel_format_float
GLX_ATI_pixel_format_float
GLX_RGBA_FLOAT_ATI_BIT 0x00000100

View File

@ -1,4 +1,7 @@
GLX_ATI_render_texture
GLX_ATI_render_texture
GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
GLX_TEXTURE_FORMAT_ATI 0x9802

View File

@ -0,0 +1,4 @@
GLX_EXT_scene_marker
https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_scene_marker.txt
GLX_EXT_scene_marker

View File

@ -1,4 +1,6 @@
GLX_NV_vertex_array_range
http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt
GLX_NV_vertex_array_range
void * glXAllocateMemoryNV (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority)
void glXFreeMemoryNV (void *pointer)

View File

@ -0,0 +1,4 @@
GLX_SGIS_color_range
https://www.khronos.org/registry/OpenGL/extensions/SGIS/GLX_SGIS_color_range.txt
GLX_SGIS_color_range

View File

@ -1,5 +1,7 @@
GLX_SGIX_hyperpipe
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/hyperpipe_group.txt
GLX_SGIX_hyperpipe
GLX_HYPERPIPE_ID_SGIX 0x8030
GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001

View File

@ -1,5 +1,7 @@
GLX_SUN_video_resize
http://wwws.sun.com/software/graphics/opengl/extensions/glx_sun_video_resize.txt
GLX_SUN_video_resize
GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
GLX_VIDEO_RESIZE_SUN 0x8171
int glXVideoResizeSUN (Display* display, GLXDrawable window, float factor)

View File

@ -0,0 +1,5 @@
GLX_VERSION_1_2
http://www.opengl.org/documentation/specs/glx/glx1.2.ps
GLX_VERSION_1_2
Display* glXGetCurrentDisplay (void)

View File

@ -1,4 +1,7 @@
GLX_VERSION_1_3
http://www.opengl.org/documentation/specs/glx/glx1.3.pdf
GLX_VERSION_1_3
GLX_WINDOW_BIT 0x00000001
GLX_PIXMAP_BIT 0x00000002
GLX_PBUFFER_BIT 0x00000004

View File

@ -1,4 +1,7 @@
GLX_VERSION_1_4
http://www.opengl.org/documentation/specs/glx/glx1.4.pdf
GLX_VERSION_1_4
GLX_SAMPLE_BUFFERS 100000
GLX_SAMPLES 100001
extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);

View File

@ -1,5 +1,7 @@
GL_APPLE_float_pixels
http://developer.apple.com/opengl/extensions/apple_float_pixels.html
http://www.opengl.org/registry/specs/APPLE/float_pixels.txt
GL_APPLE_float_pixels
GL_HALF_APPLE 0x140B
GL_COLOR_FLOAT_APPLE 0x8A0F
GL_RGBA_FLOAT32_APPLE 0x8814

View File

@ -1,2 +1,5 @@
GL_APPLE_pixel_buffer
GL_APPLE_pixel_buffer
GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10

View File

@ -1,11 +1,13 @@
GL_APPLE_texture_range
http://developer.apple.com/opengl/extensions/apple_texture_range.html
http://www.opengl.org/registry/specs/APPLE/texture_range.txt
GL_APPLE_texture_range
GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
GL_STORAGE_PRIVATE_APPLE 0x85BD
GL_STORAGE_CACHED_APPLE 0x85BE
GL_STORAGE_SHARED_APPLE 0x85BF
GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7
GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8
void glTextureRangeAPPLE (GLenum target, GLsizei length, GLvoid *pointer)
void glGetTexParameterPointervAPPLE (GLenum target, GLenum pname, GLvoid **params)
void glTextureRangeAPPLE (GLenum target, GLsizei length, void *pointer)
void glGetTexParameterPointervAPPLE (GLenum target, GLenum pname, void **params)

View File

@ -0,0 +1,4 @@
GL_ARB_draw_instanced
http://www.opengl.org/registry/specs/ARB/draw_instanced.txt
GL_ARB_draw_instanced

View File

@ -1,4 +1,7 @@
GL_ARB_imaging
GL_ARB_imaging
GL_CONSTANT_COLOR 0x8001
GL_ONE_MINUS_CONSTANT_COLOR 0x8002
GL_CONSTANT_ALPHA 0x8003
@ -76,35 +79,35 @@ GL_ARB_imaging
GL_WRAP_BORDER 0x8152
GL_REPLICATE_BORDER 0x8153
GL_CONVOLUTION_BORDER_COLOR 0x8154
void glColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
void glColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)
void glColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table)
void glColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data)
void glColorTableParameteriv (GLenum target, GLenum pname, const GLint *params)
void glColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params)
void glCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
void glCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
void glGetColorTable (GLenum target, GLenum format, GLenum type, GLvoid *table)
void glGetColorTable (GLenum target, GLenum format, GLenum type, void *table)
void glGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params)
void glGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params)
void glHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
void glResetHistogram (GLenum target)
void glGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
void glGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values)
void glGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params)
void glGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params)
void glMinmax (GLenum target, GLenum internalformat, GLboolean sink)
void glResetMinmax (GLenum target)
void glGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params)
void glGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params)
void glConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
void glConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
void glConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image)
void glConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image)
void glConvolutionParameterf (GLenum target, GLenum pname, GLfloat params)
void glConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params)
void glConvolutionParameteri (GLenum target, GLenum pname, GLint params)
void glConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params)
void glCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
void glCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
void glGetConvolutionFilter (GLenum target, GLenum format, GLenum type, GLvoid *image)
void glGetConvolutionFilter (GLenum target, GLenum format, GLenum type, void *image)
void glGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params)
void glGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params)
void glSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
void glGetSeparableFilter (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)
void glGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values)
void glSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column)
void glGetSeparableFilter (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span)
void glGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum types, void *values)

View File

@ -0,0 +1,8 @@
GL_ARB_instanced_arrays
http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt
GL_ARB_instanced_arrays
GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
void glVertexAttribDivisorARB (GLuint index, GLuint divisor)
void glDrawArraysInstancedARB (GLenum mode, GLint first, GLsizei count, GLsizei primcount)
void glDrawElementsInstancedARB (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount)

View File

@ -0,0 +1,104 @@
GL_ARB_internalformat_query2
http://www.opengl.org/registry/specs/ARB/internalformat_query2.txt
GL_ARB_internalformat_query2
GL_INTERNALFORMAT_SUPPORTED 0x826F
GL_INTERNALFORMAT_PREFERRED 0x8270
GL_INTERNALFORMAT_RED_SIZE 0x8271
GL_INTERNALFORMAT_GREEN_SIZE 0x8272
GL_INTERNALFORMAT_BLUE_SIZE 0x8273
GL_INTERNALFORMAT_ALPHA_SIZE 0x8274
GL_INTERNALFORMAT_DEPTH_SIZE 0x8275
GL_INTERNALFORMAT_STENCIL_SIZE 0x8276
GL_INTERNALFORMAT_SHARED_SIZE 0x8277
GL_INTERNALFORMAT_RED_TYPE 0x8278
GL_INTERNALFORMAT_GREEN_TYPE 0x8279
GL_INTERNALFORMAT_BLUE_TYPE 0x827A
GL_INTERNALFORMAT_ALPHA_TYPE 0x827B
GL_INTERNALFORMAT_DEPTH_TYPE 0x827C
GL_INTERNALFORMAT_STENCIL_TYPE 0x827D
GL_MAX_WIDTH 0x827E
GL_MAX_HEIGHT 0x827F
GL_MAX_DEPTH 0x8280
GL_MAX_LAYERS 0x8281
GL_MAX_COMBINED_DIMENSIONS 0x8282
GL_COLOR_COMPONENTS 0x8283
GL_DEPTH_COMPONENTS 0x8284
GL_STENCIL_COMPONENTS 0x8285
GL_COLOR_RENDERABLE 0x8286
GL_DEPTH_RENDERABLE 0x8287
GL_STENCIL_RENDERABLE 0x8288
GL_FRAMEBUFFER_RENDERABLE 0x8289
GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A
GL_FRAMEBUFFER_BLEND 0x828B
GL_READ_PIXELS 0x828C
GL_READ_PIXELS_FORMAT 0x828D
GL_READ_PIXELS_TYPE 0x828E
GL_TEXTURE_IMAGE_FORMAT 0x828F
GL_TEXTURE_IMAGE_TYPE 0x8290
GL_GET_TEXTURE_IMAGE_FORMAT 0x8291
GL_GET_TEXTURE_IMAGE_TYPE 0x8292
GL_MIPMAP 0x8293
GL_MANUAL_GENERATE_MIPMAP 0x8294
GL_AUTO_GENERATE_MIPMAP 0x8295
GL_COLOR_ENCODING 0x8296
GL_SRGB_READ 0x8297
GL_SRGB_WRITE 0x8298
GL_SRGB_DECODE_ARB 0x8299
GL_FILTER 0x829A
GL_VERTEX_TEXTURE 0x829B
GL_TESS_CONTROL_TEXTURE 0x829C
GL_TESS_EVALUATION_TEXTURE 0x829D
GL_GEOMETRY_TEXTURE 0x829E
GL_FRAGMENT_TEXTURE 0x829F
GL_COMPUTE_TEXTURE 0x82A0
GL_TEXTURE_SHADOW 0x82A1
GL_TEXTURE_GATHER 0x82A2
GL_TEXTURE_GATHER_SHADOW 0x82A3
GL_SHADER_IMAGE_LOAD 0x82A4
GL_SHADER_IMAGE_STORE 0x82A5
GL_SHADER_IMAGE_ATOMIC 0x82A6
GL_IMAGE_TEXEL_SIZE 0x82A7
GL_IMAGE_COMPATIBILITY_CLASS 0x82A8
GL_IMAGE_PIXEL_FORMAT 0x82A9
GL_IMAGE_PIXEL_TYPE 0x82AA
GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC
GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD
GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE
GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF
GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1
GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2
GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3
GL_CLEAR_BUFFER 0x82B4
GL_TEXTURE_VIEW 0x82B5
GL_VIEW_COMPATIBILITY_CLASS 0x82B6
GL_FULL_SUPPORT 0x82B7
GL_CAVEAT_SUPPORT 0x82B8
GL_IMAGE_CLASS_4_X_32 0x82B9
GL_IMAGE_CLASS_2_X_32 0x82BA
GL_IMAGE_CLASS_1_X_32 0x82BB
GL_IMAGE_CLASS_4_X_16 0x82BC
GL_IMAGE_CLASS_2_X_16 0x82BD
GL_IMAGE_CLASS_1_X_16 0x82BE
GL_IMAGE_CLASS_4_X_8 0x82BF
GL_IMAGE_CLASS_2_X_8 0x82C0
GL_IMAGE_CLASS_1_X_8 0x82C1
GL_IMAGE_CLASS_11_11_10 0x82C2
GL_IMAGE_CLASS_10_10_10_2 0x82C3
GL_VIEW_CLASS_128_BITS 0x82C4
GL_VIEW_CLASS_96_BITS 0x82C5
GL_VIEW_CLASS_64_BITS 0x82C6
GL_VIEW_CLASS_48_BITS 0x82C7
GL_VIEW_CLASS_32_BITS 0x82C8
GL_VIEW_CLASS_24_BITS 0x82C9
GL_VIEW_CLASS_16_BITS 0x82CA
GL_VIEW_CLASS_8_BITS 0x82CB
GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC
GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD
GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE
GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF
GL_VIEW_CLASS_RGTC1_RED 0x82D0
GL_VIEW_CLASS_RGTC2_RG 0x82D1
GL_VIEW_CLASS_BPTC_UNORM 0x82D2
GL_VIEW_CLASS_BPTC_FLOAT 0x82D3
void glGetInternalformati64v (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params)

View File

@ -1,5 +1,7 @@
GL_ARB_matrix_palette
http://oss.sgi.com/projects/ogl-sample/registry/ARB/matrix_palette.txt
GL_ARB_matrix_palette
GL_MATRIX_PALETTE_ARB 0x8840
GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
GL_MAX_PALETTE_MATRICES_ARB 0x8842
@ -11,7 +13,7 @@ http://oss.sgi.com/projects/ogl-sample/registry/ARB/matrix_palette.txt
GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
void glCurrentPaletteMatrixARB (GLint index)
void glMatrixIndexPointerARB (GLint size, GLenum type, GLsizei stride, GLvoid *pointer)
void glMatrixIndexPointerARB (GLint size, GLenum type, GLsizei stride, void *pointer)
void glMatrixIndexubvARB (GLint size, GLubyte *indices)
void glMatrixIndexusvARB (GLint size, GLushort *indices)
void glMatrixIndexuivARB (GLint size, GLuint *indices)

View File

@ -1,5 +1,7 @@
GL_ARB_multitexture
http://oss.sgi.com/projects/ogl-sample/registry/ARB/multitexture.txt
GL_ARB_multitexture
GL_TEXTURE0_ARB 0x84C0
GL_TEXTURE1_ARB 0x84C1
GL_TEXTURE2_ARB 0x84C2

View File

@ -0,0 +1,31 @@
GL_ARB_robustness
http://www.opengl.org/registry/specs/ARB/robustness.txt
GL_ARB_robustness
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004
GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
GL_GUILTY_CONTEXT_RESET_ARB 0x8253
GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
GL_NO_RESET_NOTIFICATION_ARB 0x8261
GLenum glGetGraphicsResetStatusARB (void)
void glGetnColorTableARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table)
void glGetnCompressedTexImageARB (GLenum target, GLint lod, GLsizei bufSize, void* img)
void glGetnConvolutionFilterARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image)
void glGetnHistogramARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values)
void glGetnMapdvARB (GLenum target, GLenum query, GLsizei bufSize, GLdouble* v)
void glGetnMapfvARB (GLenum target, GLenum query, GLsizei bufSize, GLfloat* v)
void glGetnMapivARB (GLenum target, GLenum query, GLsizei bufSize, GLint* v)
void glGetnMinmaxARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values)
void glGetnPixelMapfvARB (GLenum map, GLsizei bufSize, GLfloat* values)
void glGetnPixelMapuivARB (GLenum map, GLsizei bufSize, GLuint* values)
void glGetnPixelMapusvARB (GLenum map, GLsizei bufSize, GLushort* values)
void glGetnPolygonStippleARB (GLsizei bufSize, GLubyte* pattern)
void glGetnSeparableFilterARB (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, void*column, void*span)
void glGetnTexImageARB (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img)
void glGetnUniformdvARB (GLuint program, GLint location, GLsizei bufSize, GLdouble* params)
void glGetnUniformfvARB (GLuint program, GLint location, GLsizei bufSize, GLfloat* params)
void glGetnUniformivARB (GLuint program, GLint location, GLsizei bufSize, GLint* params)
void glGetnUniformuivARB (GLuint program, GLint location, GLsizei bufSize, GLuint* params)
void glReadnPixelsARB (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data)

View File

@ -0,0 +1,73 @@
GL_ARB_separate_shader_objects
http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt
GL_ARB_separate_shader_objects
GL_VERTEX_SHADER_BIT 0x00000001
GL_FRAGMENT_SHADER_BIT 0x00000002
GL_GEOMETRY_SHADER_BIT 0x00000004
GL_TESS_CONTROL_SHADER_BIT 0x00000008
GL_TESS_EVALUATION_SHADER_BIT 0x00000010
GL_PROGRAM_SEPARABLE 0x8258
GL_ACTIVE_PROGRAM 0x8259
GL_PROGRAM_PIPELINE_BINDING 0x825A
GL_ALL_SHADER_BITS 0xFFFFFFFF
void glActiveShaderProgram (GLuint pipeline, GLuint program)
void glBindProgramPipeline (GLuint pipeline)
GLuint glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar * const * strings)
void glDeleteProgramPipelines (GLsizei n, const GLuint* pipelines)
void glGenProgramPipelines (GLsizei n, GLuint* pipelines)
void glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar *infoLog)
void glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint* params)
GLboolean glIsProgramPipeline (GLuint pipeline)
void glProgramUniform1d (GLuint program, GLint location, GLdouble x)
void glProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble* value)
void glProgramUniform1f (GLuint program, GLint location, GLfloat x)
void glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat* value)
void glProgramUniform1i (GLuint program, GLint location, GLint x)
void glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint* value)
void glProgramUniform1ui (GLuint program, GLint location, GLuint x)
void glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint* value)
void glProgramUniform2d (GLuint program, GLint location, GLdouble x, GLdouble y)
void glProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble* value)
void glProgramUniform2f (GLuint program, GLint location, GLfloat x, GLfloat y)
void glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat* value)
void glProgramUniform2i (GLuint program, GLint location, GLint x, GLint y)
void glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint* value)
void glProgramUniform2ui (GLuint program, GLint location, GLuint x, GLuint y)
void glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint* value)
void glProgramUniform3d (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z)
void glProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble* value)
void glProgramUniform3f (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z)
void glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat* value)
void glProgramUniform3i (GLuint program, GLint location, GLint x, GLint y, GLint z)
void glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint* value)
void glProgramUniform3ui (GLuint program, GLint location, GLuint x, GLuint y, GLuint z)
void glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint* value)
void glProgramUniform4d (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
void glProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble* value)
void glProgramUniform4f (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
void glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat* value)
void glProgramUniform4i (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w)
void glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint* value)
void glProgramUniform4ui (GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w)
void glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint* value)
void glProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
void glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
void glProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
void glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
void glProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
void glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
void glProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
void glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
void glProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
void glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
void glProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
void glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
void glProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
void glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
void glProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
void glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
void glProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
void glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
void glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program)
void glValidateProgramPipeline (GLuint pipeline)

View File

@ -0,0 +1,14 @@
GL_ARB_vertex_attrib_64bit
http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt
GL_ARB_vertex_attrib_64bit
void glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble* params)
void glVertexAttribL1d (GLuint index, GLdouble x)
void glVertexAttribL1dv (GLuint index, const GLdouble* v)
void glVertexAttribL2d (GLuint index, GLdouble x, GLdouble y)
void glVertexAttribL2dv (GLuint index, const GLdouble* v)
void glVertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z)
void glVertexAttribL3dv (GLuint index, const GLdouble* v)
void glVertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
void glVertexAttribL4dv (GLuint index, const GLdouble* v)
void glVertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer)

View File

@ -1,5 +1,7 @@
GL_ARB_vertex_blend
http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_blend.txt
GL_ARB_vertex_blend
GL_MAX_VERTEX_UNITS_ARB 0x86A4
GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
GL_WEIGHT_SUM_UNITY_ARB 0x86A6
@ -50,5 +52,5 @@ http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_blend.txt
void glWeightubvARB (GLint size, GLubyte *weights)
void glWeightusvARB (GLint size, GLushort *weights)
void glWeightuivARB (GLint size, GLuint *weights)
void glWeightPointerARB (GLint size, GLenum type, GLsizei stride, GLvoid *pointer)
void glWeightPointerARB (GLint size, GLenum type, GLsizei stride, void *pointer)
void glVertexBlendARB (GLint count)

View File

@ -1,5 +1,7 @@
GL_ATIX_point_sprites
http://www.ati.com/developer/atiopengl.pdf
GL_ATIX_point_sprites
GL_TEXTURE_POINT_MODE_ATIX 0x60B0
GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1
GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2

View File

@ -1,5 +1,7 @@
GL_ATIX_texture_env_combine3
http://www.ati.com/developer/atiopengl.pdf
GL_ATIX_texture_env_combine3
GL_MODULATE_ADD_ATIX 0x8744
GL_MODULATE_SIGNED_ADD_ATIX 0x8745
GL_MODULATE_SUBTRACT_ATIX 0x8746

View File

@ -1,5 +1,7 @@
GL_ATIX_texture_env_route
http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATIX_texture_env_route.txt
GL_ATIX_texture_env_route
GL_SECONDARY_COLOR_ATIX 0x8747
GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748
GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749

View File

@ -1,3 +1,5 @@
GL_ATIX_vertex_shader_output_point_size
http://www.ati.com/developer/atiopengl.pdf
GL_ATIX_vertex_shader_output_point_size
GL_OUTPUT_POINT_SIZE_ATIX 0x610E

View File

@ -1,5 +1,7 @@
GL_ATI_envmap_bumpmap
http://oss.sgi.com/projects/ogl-sample/registry/ATI/envmap_bumpmap.txt
GL_ATI_envmap_bumpmap
GL_BUMP_ROT_MATRIX_ATI 0x8775
GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
GL_BUMP_NUM_TEX_UNITS_ATI 0x8777

View File

@ -0,0 +1,6 @@
GL_ATI_map_object_buffer
http://www.opengl.org/registry/specs/ATI/map_object_buffer.txt
GL_ATI_map_object_buffer
void * glMapObjectBufferATI (GLuint buffer)
void glUnmapObjectBufferATI (GLuint buffer)

View File

@ -1,5 +1,7 @@
GL_ATI_pn_triangles
http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ati_pn_triangles.txt
http://www.opengl.org/registry/specs/ATI/pn_triangles.txt
GL_ATI_pn_triangles
GL_PN_TRIANGLES_ATI 0x87F0
GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2

View File

@ -1,5 +1,7 @@
GL_ATI_separate_stencil
http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATI_separate_stencil.txt
http://www.opengl.org/registry/specs/ATI/separate_stencil.txt
GL_ATI_separate_stencil
GL_STENCIL_BACK_FUNC_ATI 0x8800
GL_STENCIL_BACK_FAIL_ATI 0x8801
GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802

View File

@ -0,0 +1,4 @@
GL_ATI_shader_texture_lod
GL_ATI_shader_texture_lod

View File

@ -1,2 +1,5 @@
GL_ATI_texture_compression_3dc
GL_ATI_texture_compression_3dc
GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837

View File

@ -1,5 +1,7 @@
GL_ATI_vertex_streams
http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ATI_vertex_streams.txt
http://www.opengl.org/registry/specs/ATI/vertex_streams.txt
GL_ATI_vertex_streams
GL_MAX_VERTEX_STREAMS_ATI 0x876B
GL_VERTEX_SOURCE_ATI 0x876C
GL_VERTEX_STREAM0_ATI 0x876D
@ -13,37 +15,45 @@ http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ATI_vertex_streams.txt
void glClientActiveVertexStreamATI (GLenum stream)
void glVertexBlendEnviATI (GLenum pname, GLint param)
void glVertexBlendEnvfATI (GLenum pname, GLfloat param)
void glVertexStream1sATI (GLenum stream, GLshort x)
void glVertexStream1svATI (GLenum stream, const GLshort *coords)
void glVertexStream1iATI (GLenum stream, GLint x)
void glVertexStream1ivATI (GLenum stream, const GLint *coords)
void glVertexStream1fATI (GLenum stream, GLfloat x)
void glVertexStream1fvATI (GLenum stream, const GLfloat *coords)
void glVertexStream1dATI (GLenum stream, GLdouble x)
void glVertexStream1dvATI (GLenum stream, const GLdouble *coords)
void glVertexStream2sATI (GLenum stream, GLshort x, GLshort y)
void glVertexStream2svATI (GLenum stream, const GLshort *v)
void glVertexStream2svATI (GLenum stream, const GLshort *coords)
void glVertexStream2iATI (GLenum stream, GLint x, GLint y)
void glVertexStream2ivATI (GLenum stream, const GLint *v)
void glVertexStream2ivATI (GLenum stream, const GLint *coords)
void glVertexStream2fATI (GLenum stream, GLfloat x, GLfloat y)
void glVertexStream2fvATI (GLenum stream, const GLfloat *v)
void glVertexStream2fvATI (GLenum stream, const GLfloat *coords)
void glVertexStream2dATI (GLenum stream, GLdouble x, GLdouble y)
void glVertexStream2dvATI (GLenum stream, const GLdouble *v)
void glVertexStream2dvATI (GLenum stream, const GLdouble *coords)
void glVertexStream3sATI (GLenum stream, GLshort x, GLshort y, GLshort z)
void glVertexStream3svATI (GLenum stream, const GLshort *v)
void glVertexStream3svATI (GLenum stream, const GLshort *coords)
void glVertexStream3iATI (GLenum stream, GLint x, GLint y, GLint z)
void glVertexStream3ivATI (GLenum stream, const GLint *v)
void glVertexStream3ivATI (GLenum stream, const GLint *coords)
void glVertexStream3fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z)
void glVertexStream3fvATI (GLenum stream, const GLfloat *v)
void glVertexStream3fvATI (GLenum stream, const GLfloat *coords)
void glVertexStream3dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z)
void glVertexStream3dvATI (GLenum stream, const GLdouble *v)
void glVertexStream3dvATI (GLenum stream, const GLdouble *coords)
void glVertexStream4sATI (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w)
void glVertexStream4svATI (GLenum stream, const GLshort *v)
void glVertexStream4svATI (GLenum stream, const GLshort *coords)
void glVertexStream4iATI (GLenum stream, GLint x, GLint y, GLint z, GLint w)
void glVertexStream4ivATI (GLenum stream, const GLint *v)
void glVertexStream4ivATI (GLenum stream, const GLint *coords)
void glVertexStream4fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
void glVertexStream4fvATI (GLenum stream, const GLfloat *v)
void glVertexStream4fvATI (GLenum stream, const GLfloat *coords)
void glVertexStream4dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
void glVertexStream4dvATI (GLenum stream, const GLdouble *v)
void glVertexStream4dvATI (GLenum stream, const GLdouble *coords)
void glNormalStream3bATI (GLenum stream, GLbyte x, GLbyte y, GLbyte z)
void glNormalStream3bvATI (GLenum stream, const GLbyte *v)
void glNormalStream3bvATI (GLenum stream, const GLbyte *coords)
void glNormalStream3sATI (GLenum stream, GLshort x, GLshort y, GLshort z)
void glNormalStream3svATI (GLenum stream, const GLshort *v)
void glNormalStream3svATI (GLenum stream, const GLshort *coords)
void glNormalStream3iATI (GLenum stream, GLint x, GLint y, GLint z)
void glNormalStream3ivATI (GLenum stream, const GLint *v)
void glNormalStream3ivATI (GLenum stream, const GLint *coords)
void glNormalStream3fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z)
void glNormalStream3fvATI (GLenum stream, const GLfloat *v)
void glNormalStream3fvATI (GLenum stream, const GLfloat *coords)
void glNormalStream3dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z)
void glNormalStream3dvATI (GLenum stream, const GLdouble *v)
void glNormalStream3dvATI (GLenum stream, const GLdouble *coords)

View File

@ -1,4 +1,6 @@
GL_EXT_Cg_shader
http://download.nvidia.com/developer/GLSL/GLSL%20Release%20Notes%20for%20Release%2060.pdf
GL_EXT_Cg_shader
GL_CG_VERTEX_SHADER_EXT 0x890E
GL_CG_FRAGMENT_SHADER_EXT 0x890F

View File

@ -1,5 +1,7 @@
GL_EXT_bindable_uniform
http://developer.download.nvidia.com/opengl/specs/GL_EXT_bindable_uniform.txt
GL_EXT_bindable_uniform
GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4

Some files were not shown because too many files have changed in this diff Show More