Commit Graph

546 Commits

Author SHA1 Message Date
Matthias Bentrup
ca4cfd556f Add optional deleter expression to GL function definitions.
The expression follows the function definition separated by a ~ character,
and is a simple boolean expression built with operators && and || from the
elementary expressions "core" "forward" or a GL version number like "3.2".

Parentheses are not supported, && binds stronger than || and may be ommited,
i.e. "3.2 core" is equivalent to "3.2 && core".
2015-12-16 21:16:04 +10:00
Matthias Bentrup
60f39ed9fd Pass context profile mask and context flags to init functions.
They will be needed to decide if GL functions are deprecated or removed.
2015-12-16 21:16:02 +10:00
Matthias Bentrup
bac20de049 Get GL extension strings via glGetStringi() if GL version is >= 3.0. 2015-12-16 21:11:58 +10:00
Matthias Bentrup
e935fcad83 Load core function pointers before checking the extension string.
For GL versions since 3.0 the glGetString() function is deprecated or removed,
and the right way to query extensions is glGetStringi(), but that has to be
loaded first.

Also instead of searching the whole extension string n times lookup the
known extensions in a static hash table. The hash table is built with
the gperf utility.
2015-12-16 21:10:52 +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
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
5ce6248594 Update GLEW website with link to glew-20151117.tgz 2015-12-06 11:47:55 +10:00
Nigel Stewart
06891ebb35 OSMesaMakeCurrent for glewCreateContext in GLEW_OSMESA mode. 2015-10-12 20:31:51 +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
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
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
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
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
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
Nigel Stewart
4c40805809 Sourceforge Bug 277 - OpenGL 4.5 glGetnTexImage is missing 2015-07-17 10:53:18 +10:00
Nigel Stewart
d932bc3eca Fixup: glxewContextInit now needed for glewinfo purposes. 2015-06-18 20:45:29 +10: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
9580ab4226 [CoreSupport] Whitespace fixup for make_def_var.pl 2015-06-13 09:59:38 +10: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
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
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
9fedd9e053 Bump version to 1.12.0, updated documentation. 2015-01-24 22:45:29 +10:00
Nigel Stewart
b52fa4654d Bump copyright year to 2015 2015-01-24 17:21:59 +10:00