Commit 6d3c5f0d authored by Matteo F. Vescovi's avatar Matteo F. Vescovi

Merge tag 'upstream/1.13.0'

Upstream version 1.13.0

# gpg: Signature made Tue 20 Oct 2015 02:08:43 PM CEST
# gpg:                using RSA key 0x0612F4944ECDCD5A
# gpg: Good signature from "Matteo F. Vescovi <mfv@debian.org>" [unknown]
# gpg:                 aka "Matteo F. Vescovi <mfvescovi@gmail.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 4E8E 810A 6B44 5FDE 68DA  D025 8062 3989 83B2 CF7A
#      Subkey fingerprint: F3DD 09F8 DA87 D1DF 5046  C99B 0612 F494 4ECD CD5A
parents c7b818a2 6c8281c4
project(GLEW)
cmake_minimum_required(VERSION 2.4)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
set(GLEW_VERSION "1.11.0")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(GLEW_LIB_NAME glew32)
else(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(GLEW_LIB_NAME GLEW)
set(DLL_PREFIX lib)
endif(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
#
# All platforms need OpenGL
#
include(FindPkgConfig)
pkg_check_modules( OpenGL REQUIRED gl )
#
# Linux needs X11
#
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
find_package(X11 REQUIRED)
endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(CMAKE_C_FLAGS "${CFLAGS} ${CMAKE_C_FLAGS} -DGLEW_BUILD -DGLEW_NO_GLU -O2 -Wall -W" )
include_directories( ${PROJECT_SOURCE_DIR}/include )
add_library(GLEW_static STATIC src/glew.c )
add_library(GLEW_shared SHARED src/glew.c )
set_target_properties(GLEW_static PROPERTIES OUTPUT_NAME ${GLEW_LIB_NAME} PREFIX lib)
set_target_properties(GLEW_shared PROPERTIES OUTPUT_NAME ${GLEW_LIB_NAME} PREFIX "${DLL_PREFIX}")
target_link_libraries(GLEW_shared ${OpenGL_LDFLAGS})
add_library(GLEW_MX_static STATIC src/glew.c )
add_library(GLEW_MX_shared SHARED src/glew.c )
set_target_properties(GLEW_MX_static PROPERTIES OUTPUT_NAME ${GLEW_LIB_NAME}mx COMPILE_FLAGS "-DGLEW_MX" PREFIX lib)
set_target_properties(GLEW_MX_shared PROPERTIES OUTPUT_NAME ${GLEW_LIB_NAME}mx COMPILE_FLAGS "-DGLEW_MX" PREFIX "${DLL_PREFIX}")
target_link_libraries(GLEW_MX_shared ${OpenGL_LDFLAGS})
add_executable(glewinfo src/glewinfo.c)
target_link_libraries(glewinfo GLEW_shared ${OpenGL_LDFLAGS})
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
target_link_libraries(glewinfo ${X11_LIBRARIES})
endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
add_executable(visualinfo src/visualinfo.c)
target_link_libraries(visualinfo GLEW_shared ${OpenGL_LDFLAGS})
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
target_link_libraries(visualinfo ${X11_LIBRARIES})
endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(
TARGETS
GLEW_static
GLEW_shared
GLEW_MX_static
GLEW_MX_shared
glewinfo
visualinfo
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
install(CODE "execute_process( COMMAND bash -x -c \"sed -e 's%@prefix@%${CMAKE_INSTALL_PREFIX}%g' -e 's%@exec_prefix@%\\\${prefix}%g' -e 's%@libdir@%\\\${prefix}/lib%g' -e 's%@includedir@%\\\${prefix}/include%g' -e 's/\@version\@/${GLEW_VERSION}/g' -e 's/\@cflags\@//g' -e 's/\@libname\@/${GLEW_LIB_NAME}/g' -e 's|@requireslib@|glu|g' < ${CMAKE_SOURCE_DIR}/glew.pc.in > ${CMAKE_BINARY_DIR}/glew.pc\" )" )
install(CODE "execute_process( COMMAND bash -x -c \"sed -e 's%@prefix@%${CMAKE_INSTALL_PREFIX}%g' -e 's%@exec_prefix@%\\\${prefix}%g' -e 's%@libdir@%\\\${prefix}/lib%g' -e 's%@includedir@%\\\${prefix}/include%g' -e 's/\@version\@/${GLEW_VERSION}/g' -e 's/\@cflags\@/-DGLEW_MX/g' -e 's/\@libname\@/${GLEW_LIB_NAME}mx/g' -e 's|@requireslib@|glu|g' < ${CMAKE_SOURCE_DIR}/glew.pc.in > ${CMAKE_BINARY_DIR}/glewmx.pc\" )" )
install(FILES ${CMAKE_BINARY_DIR}/glew.pc ${CMAKE_BINARY_DIR}/glewmx.pc DESTINATION lib/pkgconfig)
......@@ -65,6 +65,7 @@ DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME)
# - use LN= on gmake command-line
AR ?= ar
ARFLAGS ?= cr
INSTALL ?= install
STRIP ?= strip
RM ?= rm -f
......@@ -104,7 +105,11 @@ lib:
mkdir lib
lib/$(LIB.STATIC): $(LIB.OBJS)
$(AR) cr $@ $^
ifneq ($(AR),)
$(AR) $(ARFLAGS) $@ $^
else ifneq ($(LIBTOOL),)
$(LIBTOOL) $@ $^
endif
ifneq ($(STRIP),)
$(STRIP) -x $@
endif
......@@ -148,7 +153,14 @@ glew.pc: glew.pc.in
glew.lib.mx: lib lib/$(LIB.SHARED.MX) lib/$(LIB.STATIC.MX) glewmx.pc
lib/$(LIB.STATIC.MX): $(LIB.OBJS.MX)
$(AR) cr $@ $^
ifneq ($(AR),)
$(AR) $(ARFLAGS) $@ $^
else ifneq ($(LIBTOOL),)
$(LIBTOOL) $@ $^
endif
ifneq ($(STRIP),)
$(STRIP) -x $@
endif
lib/$(LIB.SHARED.MX): $(LIB.SOBJS.MX)
$(LD) $(LDFLAGS.SO.MX) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS)
......
......@@ -143,8 +143,12 @@ $(I.DEST)/glew.h: $(EXT)/.dummy
$(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
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 "--------------------------------------------------------------------"
......@@ -241,75 +245,6 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
perl -e "s/\(\(glColorSubTable = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glColorSubTable = /g" -pi $@
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(__ANDROID__) && !defined(__native_client__) && (!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 /* !defined(_WIN32) && !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(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 $@
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 >> $@
# 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
@echo "--------------------------------------------------------------------"
@echo "Creating glewinfo.c"
......
......@@ -2,8 +2,9 @@
import re
section = re.compile('^(Name|Name Strings?|Number|Dependencies|New Procedures and Functions|New Tokens|Additions to .*|Changes to .*|Modifications to .*|Add new Section .*)\s*$')
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__':
......@@ -16,17 +17,22 @@ if __name__ == '__main__':
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 [ 'Name', 'Name String', 'Name Strings', 'Number', 'Dependencies', 'New Procedures and Functions', 'New Tokens']:
if current in match:
print >>f, j,
continue
if current=='New Tokens':
if token.match(j):
print >>f, j,
elif current in [ 'Name', 'Name String', 'Name Strings', 'Number', 'Dependencies', 'New Procedures and Functions']:
elif current in match:
print >>f, j,
......@@ -19,7 +19,7 @@ our $type = shift;
if (@ARGV)
{
@extlist = @ARGV;
@extlist = @ARGV;
foreach my $ext (sort @extlist)
{
......
......@@ -38,18 +38,17 @@ if (@ARGV)
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)
{
print "#ifdef $extname\n\n";
print "static GLboolean _glewInit_$extname (" . $type .
"EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n";
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";
}
}
......@@ -3,6 +3,8 @@ https://www.opengl.org/registry/doc/glspec42.compatibility.20120427.pdf
GL_COPY_READ_BUFFER_BINDING 0x8F36
GL_COPY_WRITE_BUFFER_BINDING 0x8F37
GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C
GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D
GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E
......
GL_VERSION_4_5
https://www.opengl.org/registry/doc/glspec45.compatibility.pdf
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004
GLenum glGetGraphicsResetStatus (void)
void glGetnTexImage (GLenum tex, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels)
void glGetnCompressedTexImage (GLenum target, GLint lod, GLsizei bufSize, GLvoid *pixels)
void glGetnUniformdv (GLuint program, GLint location, GLsizei bufSize, GLdouble *params)
......@@ -13,7 +13,7 @@ Mac OS X, FreeBSD, Irix, and Solaris.
<a href="http://sourceforge.net/projects/glew/">GLEW</a> is distributed
as source and precompiled binaries.<br/>
The latest release is
<a href="https://sourceforge.net/projects/glew/files/glew/1.12.0/">1.12.0</a>[26-01-15]:
<a href="https://sourceforge.net/projects/glew/files/glew/1.13.0/">1.13.0</a>[08-10-15]:
</p>
<p>
</p>
......@@ -27,8 +27,8 @@ The latest release is
<td align="right"><b>Source</b></td>
<td></td>
<td align="left">
<a href="https://sourceforge.net/projects/glew/files/glew/1.12.0/glew-1.12.0.zip/download">ZIP</a>&nbsp;|&nbsp;
<a href="https://sourceforge.net/projects/glew/files/glew/1.12.0/glew-1.12.0.tgz/download">TGZ</a></td>
<a href="https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0.zip/download">ZIP</a>&nbsp;|&nbsp;
<a href="https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0.tgz/download">TGZ</a></td>
<td></td>
</tr>
<tr>
......@@ -36,7 +36,7 @@ The latest release is
<td align="right"><b>Binaries</b></td>
<td></td>
<td align="left">
<a href="https://sourceforge.net/projects/glew/files/glew/1.12.0/glew-1.12.0-win32.zip/download">Windows 32-bit and 64-bit</a>
<a href="https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0-win32.zip/download">Windows 32-bit and 64-bit</a>
</td>
<td></td>
</tr>
......@@ -60,8 +60,8 @@ An up-to-date copy is also available using <a href="http://git-scm.com/">git</a>
<a href="https://sourceforge.net/projects/glew/files/glew/snapshots/">Unsupported snapshots</a> are also available:
</p>
<ul>
<li><a href="http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20150805.tgz/download">glew-20150805.tgz</a></li>
<li><a href="http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20150124.tgz/download">glew-20150124.tgz</a></li>
<li><a href="http://sourceforge.net/projects/glew/files/glew/snapshots/glew-20140918.tgz/download">glew-20140918.tgz</a></li>
</ul>
<h2>Supported Extensions</h2>
......@@ -76,6 +76,7 @@ The latest release contains support for OpenGL 4.5 and the following extensions:
<h2>News</h2>
<ul>
<li>[08-10-15] <a href="https://sourceforge.net/projects/glew/files/glew/1.13.0/">GLEW 1.13.0</a> adds support for new extensions, fixes minor bugs</li>
<li>[26-01-15] <a href="https://sourceforge.net/projects/glew/files/glew/1.12.0/">GLEW 1.12.0</a> fixes minor bugs and adds new extensions</li>
<li>[08-11-14] <a href="https://sourceforge.net/projects/glew/files/glew/1.11.0/">GLEW 1.11.0</a> adds support for OpenGL 4.5, new extensions</li>
<li>[07-22-13] <a href="https://sourceforge.net/projects/glew/files/glew/1.10.0/">GLEW 1.10.0</a> adds support for OpenGL 4.4, new extensions</li>
......
......@@ -2,7 +2,42 @@
<hr align="center">
<ul class="none">
<li><b>1.12.0</b> [26-01-15]
<li><b>1.13.0</b> [08-10-15]
<ul>
<li> Enhancements:
<ul>
<li> glxewInit, wglewInit
<li> glewinfo adds support for -version, -profile core|compatibility and -flag debug|forward parameters
<li> Improved cmake build support
<ul>
<li> New extensions:
<ul>
<li> GL_ARB_ES3_2_compatibility
<li> GL_ARB_fragment_shader_interlock
<li> GL_ARB_gpu_shader_int64
<li> GL_ARB_parallel_shader_compile
<li> GL_ARB_post_depth_coverage
<li> GL_ARB_sample_locations
<li> GL_ARB_shader_atomic_counter_ops
<li> GL_ARB_shader_ballot
<li> GL_ARB_shader_clock
<li> GL_ARB_shader_viewport_layer_array
<li> GL_ARB_sparse_texture2
<li> GL_ARB_sparse_texture_clamp
<li> GL_ARB_texture_filter_minmax
<li> GL_INTEL_framebuffer_CMAA
<li> GL_KHR_no_error
<li> GL_NV_conservative_raster_dilate
<li> GL_OVR_multiview
<li> GL_OVR_multiview2
</ul>
<li> <a href="http://sourceforge.net/p/glew/bugs/milestone/1.13.0/">Bug fixes</a>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.12.0</b> [01-26-15]
<ul>
<li> New extensions:
<ul>
......
GLX_ARB_fbconfig_float
http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt
GLX_ARB_fbconfig_float
GLX_RGBA_FLOAT_BIT 0x00000004
GLX_RGBA_FLOAT_TYPE 0x20B9
GLX_RGBA_FLOAT_BIT_ARB 0x00000004
GLX_RGBA_FLOAT_TYPE_ARB 0x20B9
GL_ARB_ES3_2_compatibility
http://www.opengl.org/registry/specs/ARB/ES3_2_compatibility.txt
GL_ARB_ES3_2_compatibility
GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE
GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381
GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382
void glPrimitiveBoundingBoxARB (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW)
......@@ -3,7 +3,6 @@ http://www.opengl.org/registry/specs/ARB/direct_state_access.txt
GL_ARB_direct_state_access
GL_TEXTURE_TARGET 0x1006
GL_QUERY_TARGET 0x82EA
GL_TEXTURE_BINDING 0x82EB
void glBindTextureUnit (GLuint unit, GLuint texture)
void glBlitNamedFramebuffer (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
GLenum glCheckNamedFramebufferStatus (GLuint framebuffer, GLenum target)
......
GL_ARB_fragment_shader_interlock
http://www.opengl.org/registry/specs/ARB/fragment_shader_interlock.txt
GL_ARB_fragment_shader_interlock
GL_ARB_gpu_shader_int64
http://www.opengl.org/registry/specs/ARB/gpu_shader_int64.txt
GL_ARB_gpu_shader_int64
GL_INT64_ARB 0x140E
GL_UNSIGNED_INT64_ARB 0x140F
GL_INT64_VEC2_ARB 0x8FE9
GL_INT64_VEC3_ARB 0x8FEA
GL_INT64_VEC4_ARB 0x8FEB
GL_UNSIGNED_INT64_VEC2_ARB 0x8FF5
GL_UNSIGNED_INT64_VEC3_ARB 0x8FF6
GL_UNSIGNED_INT64_VEC4_ARB 0x8FF7
void glGetUniformi64vARB (GLuint program, GLint location, GLint64* params)
void glGetUniformui64vARB (GLuint program, GLint location, GLuint64* params)
void glGetnUniformi64vARB (GLuint program, GLint location, GLsizei bufSize, GLint64* params)
void glGetnUniformui64vARB (GLuint program, GLint location, GLsizei bufSize, GLuint64* params)
void glProgramUniform1i64ARB (GLuint program, GLint location, GLint64 x)
void glProgramUniform1i64vARB (GLuint program, GLint location, GLsizei count, const GLint64* value)
void glProgramUniform1ui64ARB (GLuint program, GLint location, GLuint64 x)
void glProgramUniform1ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64* value)
void glProgramUniform2i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y)
void glProgramUniform2i64vARB (GLuint program, GLint location, GLsizei count, const GLint64* value)
void glProgramUniform2ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y)
void glProgramUniform2ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64* value)
void glProgramUniform3i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z)
void glProgramUniform3i64vARB (GLuint program, GLint location, GLsizei count, const GLint64* value)
void glProgramUniform3ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z)
void glProgramUniform3ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64* value)
void glProgramUniform4i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w)
void glProgramUniform4i64vARB (GLuint program, GLint location, GLsizei count, const GLint64* value)
void glProgramUniform4ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w)
void glProgramUniform4ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64* value)
void glUniform1i64ARB (GLint location, GLint64 x)
void glUniform1i64vARB (GLint location, GLsizei count, const GLint64* value)
void glUniform1ui64ARB (GLint location, GLuint64 x)
void glUniform1ui64vARB (GLint location, GLsizei count, const GLuint64* value)
void glUniform2i64ARB (GLint location, GLint64 x, GLint64 y)
void glUniform2i64vARB (GLint location, GLsizei count, const GLint64* value)
void glUniform2ui64ARB (GLint location, GLuint64 x, GLuint64 y)
void glUniform2ui64vARB (GLint location, GLsizei count, const GLuint64* value)
void glUniform3i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z)
void glUniform3i64vARB (GLint location, GLsizei count, const GLint64* value)
void glUniform3ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z)
void glUniform3ui64vARB (GLint location, GLsizei count, const GLuint64* value)
void glUniform4i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w)
void glUniform4i64vARB (GLint location, GLsizei count, const GLint64* value)
void glUniform4ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w)
void glUniform4ui64vARB (GLint location, GLsizei count, const GLuint64* value)
GL_ARB_parallel_shader_compile
http://www.opengl.org/registry/specs/ARB/parallel_shader_compile.txt
GL_ARB_parallel_shader_compile
GL_MAX_SHADER_COMPILER_THREADS_ARB 0x91B0
GL_COMPLETION_STATUS_ARB 0x91B1
void glMaxShaderCompilerThreadsARB (GLuint count)
GL_ARB_post_depth_coverage
http://www.opengl.org/registry/specs/ARB/post_depth_coverage.txt
GL_ARB_post_depth_coverage
GL_ARB_sample_locations
http://www.opengl.org/registry/specs/ARB/sample_locations.txt
GL_ARB_sample_locations
GL_SAMPLE_LOCATION_ARB 0x8E50
GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB 0x933D
GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB 0x933E
GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB 0x933F
GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB 0x9340
GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB 0x9341
GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB 0x9342
GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB 0x9343
void glFramebufferSampleLocationsfvARB (GLenum target, GLuint start, GLsizei count, const GLfloat* v)
void glNamedFramebufferSampleLocationsfvARB (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat* v)
GL_ARB_shader_atomic_counter_ops
http://www.opengl.org/registry/specs/ARB/shader_atomic_counter_ops.txt
GL_ARB_shader_atomic_counter_ops
GL_ARB_shader_ballot
http://www.opengl.org/registry/specs/ARB/shader_ballot.txt
GL_ARB_shader_ballot
GL_ARB_shader_clock
http://www.opengl.org/registry/specs/ARB/shader_clock.txt
GL_ARB_shader_clock
GL_ARB_shader_viewport_layer_array
http://www.opengl.org/registry/specs/ARB/shader_viewport_layer_array.txt
GL_ARB_shader_viewport_layer_array
GL_ARB_sparse_texture2
http://www.opengl.org/registry/specs/ARB/sparse_texture2.txt
GL_ARB_sparse_texture2
GL_ARB_sparse_texture_clamp
http://www.opengl.org/registry/specs/ARB/sparse_texture_clamp.txt
GL_ARB_sparse_texture_clamp
GL_ARB_texture_filter_minmax
http://www.opengl.org/registry/specs/ARB/texture_filter_minmax.txt
GL_ARB_texture_filter_minmax
GL_TEXTURE_REDUCTION_MODE_ARB 0x9366
GL_WEIGHTED_AVERAGE_ARB 0x9367
GL_INTEL_framebuffer_CMAA
http://www.opengl.org/registry/specs/INTEL/framebuffer_CMAA.txt
GL_INTEL_framebuffer_CMAA
GL_KHR_no_error
http://www.opengl.org/registry/specs/KHR/no_error.txt
GL_KHR_no_error
GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
GL_NV_conservative_raster_dilate
http://www.opengl.org/registry/specs/NV/conservative_raster_dilate.txt
GL_NV_conservative_raster_dilate
GL_CONSERVATIVE_RASTER_DILATE_NV 0x9379
GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A
GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B
void glConservativeRasterParameterfNV (GLenum pname, GLfloat value)
GL_OVR_multiview
http://www.opengl.org/registry/specs/OVR/multiview.txt
GL_OVR_multiview
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630
GL_MAX_VIEWS_OVR 0x9631
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632
GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633
void glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews)
GL_OVR_multiview2
http://www.opengl.org/registry/specs/OVR/multiview2.txt
GL_OVR_multiview2
......@@ -12,7 +12,11 @@ GLboolean glxewGetExtension (const char* name)
return _glewSearchExtension(name, start, end);
}
#ifdef GLEW_MX
GLenum glxewContextInit (GLXEW_CONTEXT_ARG_DEF_LIST)
#else
GLenum glxewInit (GLXEW_CONTEXT_ARG_DEF_LIST)
#endif
{
int major, minor;
const GLubyte* extStart;
......
......@@ -34,21 +34,15 @@ GLboolean glewExperimental = GL_FALSE;
#if !defined(GLEW_MX)
#if defined(_WIN32)
extern GLenum GLEWAPIENTRY wglewContextInit (void);
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))
extern GLenum GLEWAPIENTRY glxewContextInit (void);
#endif /* _WIN32 */
GLenum GLEWAPIENTRY glewInit (void)
{
GLenum r;
r = glewContextInit();
if ( r != 0 ) return r;
#if defined(_WIN32)
return wglewContextInit();
return wglewInit();
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) /* _UNIX */
return glxewContextInit();
return glxewInit();
#else
return r;
#endif /* _WIN32 */
......
......@@ -20,7 +20,11 @@ GLboolean GLEWAPIENTRY wglewGetExtension (const char* name)
return _glewSearchExtension(name, start, end);
}
#ifdef GLEW_MX
GLenum GLEWAPIENTRY wglewContextInit (WGLEW_CONTEXT_ARG_DEF_LIST)
#else
GLenum GLEWAPIENTRY wglewInit (WGLEW_CONTEXT_ARG_DEF_LIST)
#endif
{
GLboolean crippled;
const GLubyte* extStart;
......
......@@ -13,6 +13,17 @@
#define GLEW_VERSION_MINOR 3
#define GLEW_VERSION_MICRO 4
/* ------------------------------------------------------------------------- */
/* GLEW version info */
/*
VERSION GLEW_VERSION_STRING
VERSION_MAJOR GLEW_VERSION_MAJOR_STRING
VERSION_MINOR GLEW_VERSION_MINOR_STRING
VERSION_MICRO GLEW_VERSION_MICRO_STRING
*/
/* API */
#ifdef GLEW_MX
......
/*
** The OpenGL Extension Wrangler Library
** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
** Copyright (C) 2002, Lev Povalahev
** All rights reserved.
**
** Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are met:
**
** * Redistributions of source code must retain the above copyright notice,
** this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright notice,
** this list of conditions and the following disclaimer in the documentation
** and/or other materials provided with the distribution.
** * The name of the author may be used to endorse or promote products
** derived from this software without specific prior written permission.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
** THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <GL/glew.h>
#if defined(_WIN32)
# include <GL/wglew.h>
#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))
# include <GL/glxew.h>
#endif
#include "glew_utils.h"
#if defined(__APPLE__)
#include <mach-o/dyld.h>
#include <stdlib.h>
#include <string.h>
void* NSGLGetProcAddress (const GLubyte *name)
{
NSSymbol symbol;
char* symbolName;
/* prepend a '_' for the Unix C symbol mangling convention */
symbolName = malloc(strlen((const char*)name) + 2);
strcpy(symbolName+1, (const char*)name);
symbolName[0] = '_';
symbol = NULL;
if (NSIsSymbolNameDefined(symbolName))
symbol = NSLookupAndBindSymbol(symbolName);
free(symbolName);
return symbol ? NSAddressOfSymbol(symbol) : NULL;
}
#endif /* __APPLE__ */
#if defined(__sgi) || defined (__sun)
#include <dlfcn.h>
#include <stdio.h>
#include <stdlib.h>
void* dlGetProcAddress (const GLubyte* name)
{
static void* h = NULL;
static void* gpa;
if (h == NULL)
{
if ((h = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL)) == NULL) return NULL;
gpa = dlsym(h, "glXGetProcAddress");
}
if (gpa != NULL)
return ((void*(*)(const GLubyte*))gpa)(name);
else
return dlsym(h, (const char*)name);
}
#endif /* __sgi || __sun */
/*
* GLEW, just like OpenGL or GLU, does not rely on the standard C library.
* These functions implement the functionality required in this file.
*/