mirror of
https://github.com/nigels-com/glew.git
synced 2025-01-31 08:50:26 +00:00
Mostly formatting and documentation noops.
For VBO: typedef ptrdiff_t GLsizeiptrARB; typedef ptrdiff_t GLintptrARB; as per email discussion with Marco Fabbricatore. See argumentation in auto/bin/update_ext.sh and auto/src/glew_pre.h. Windows needs to get this fixed. See glew_pre.h. git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@184 783a27ee-832a-0410-bc00-9f386506c6dd
This commit is contained in:
parent
184ed8c7d2
commit
e4057d5b33
@ -45,11 +45,7 @@ my %typemap = (
|
|||||||
ushort => "GLushort",
|
ushort => "GLushort",
|
||||||
DMbuffer => "void *",
|
DMbuffer => "void *",
|
||||||
|
|
||||||
# ARB VBO introduces these, no idea how to handle them properly. The spec
|
# ARB VBO introduces these.
|
||||||
# file babbles about how great this will be on 64 bit systems, but doesn't
|
|
||||||
# actually say how to define this nor how to detect that this has been
|
|
||||||
# defined (i.e., is this tied to the VBO spec or not?). For now I'll just
|
|
||||||
# use GLEWtype and have it defined in a preamble. (mem, 2003-03-23)
|
|
||||||
|
|
||||||
sizeiptrARB => "GLsizeiptrARB",
|
sizeiptrARB => "GLsizeiptrARB",
|
||||||
intptrARB => "GLintptrARB",
|
intptrARB => "GLintptrARB",
|
||||||
@ -57,8 +53,8 @@ my %typemap = (
|
|||||||
# ARB shader objects introduces these, charARB is at least 8 bits,
|
# ARB shader objects introduces these, charARB is at least 8 bits,
|
||||||
# handleARB is at least 32 bits
|
# handleARB is at least 32 bits
|
||||||
charARB => "GLcharARB",
|
charARB => "GLcharARB",
|
||||||
handleARB => "GLhandleARB",
|
handleARB => "GLhandleARB",
|
||||||
|
|
||||||
# GLX 1.3 defines new types which might not be available at compile time
|
# GLX 1.3 defines new types which might not be available at compile time
|
||||||
|
|
||||||
#GLXFBConfig => "void*",
|
#GLXFBConfig => "void*",
|
||||||
|
@ -1,91 +1,147 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (C) 2003 Marcelo E. Magallon <mmagallo@debian.org>
|
# Copyright (C) 2003-2004 Marcelo E. Magallon <mmagallo@debian.org>
|
||||||
# Copyright (C) 2003 Milan Ikits <milan.ikits@ieee.org>
|
# Copyright (C) 2003-2004 Milan Ikits <milan.ikits@ieee.org>
|
||||||
#
|
#
|
||||||
# This program is distributed under the terms and conditions of the GNU
|
# This program is distributed under the terms and conditions of the GNU
|
||||||
# General Public License Version 2 as published by the Free Software
|
# General Public License Version 2 as published by the Free Software
|
||||||
# Foundation or, at your option, any later version.
|
# Foundation or, at your option, any later version.
|
||||||
|
#
|
||||||
|
# Parameters:
|
||||||
|
#
|
||||||
|
# $1: Extensions directory
|
||||||
|
# $2: Registry directory
|
||||||
|
# $3: The black list
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ ! -d $1 ] ; then
|
if [ ! -d $1 ] ; then
|
||||||
mkdir $1
|
mkdir $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
|
grep -v -f $3 | sort | bin/parse_spec.pl $1
|
||||||
|
|
||||||
# fix GL_NV_texture_compression_vtc
|
# fix GL_NV_texture_compression_vtc
|
||||||
grep -v EXT $1/GL_NV_texture_compression_vtc > tmp; \
|
grep -v EXT $1/GL_NV_texture_compression_vtc > tmp
|
||||||
mv tmp $1/GL_NV_texture_compression_vtc
|
mv tmp $1/GL_NV_texture_compression_vtc
|
||||||
|
|
||||||
# remove duplicates from GL_ARB_vertex_program and GL_ARB_fragment_program
|
# remove duplicates from GL_ARB_vertex_program and GL_ARB_fragment_program
|
||||||
grep -v -F -f $1/GL_ARB_vertex_program $1/GL_ARB_fragment_program > tmp; \
|
grep -v -F -f $1/GL_ARB_vertex_program $1/GL_ARB_fragment_program > tmp
|
||||||
mv tmp $1/GL_ARB_fragment_program
|
mv tmp $1/GL_ARB_fragment_program
|
||||||
|
|
||||||
# remove duplicates from GLX_EXT_visual_rating and GLX_EXT_visual_info
|
# remove duplicates from GLX_EXT_visual_rating and GLX_EXT_visual_info
|
||||||
grep -v -F -f $1/GLX_EXT_visual_info $1/GLX_EXT_visual_rating > tmp; \
|
grep -v -F -f $1/GLX_EXT_visual_info $1/GLX_EXT_visual_rating > tmp
|
||||||
mv tmp $1/GLX_EXT_visual_rating
|
mv tmp $1/GLX_EXT_visual_rating
|
||||||
|
|
||||||
# fix GL_NV_occlusion_query and GL_HP_occlusion_test
|
# fix GL_NV_occlusion_query and GL_HP_occlusion_test
|
||||||
grep -v '_HP' $1/GL_NV_occlusion_query > tmp; \
|
grep -v '_HP' $1/GL_NV_occlusion_query > tmp
|
||||||
mv tmp $1/GL_NV_occlusion_query
|
mv tmp $1/GL_NV_occlusion_query
|
||||||
|
|
||||||
sed -i -e's/OCCLUSION_TEST_HP.*/OCCLUSION_TEST_HP 0x8165/' \
|
sed -i -e's/OCCLUSION_TEST_HP.*/OCCLUSION_TEST_HP 0x8165/' \
|
||||||
$1/GL_HP_occlusion_test
|
$1/GL_HP_occlusion_test
|
||||||
sed -i -e's/OCCLUSION_TEST_RESULT_HP.*/OCCLUSION_TEST_RESULT_HP 0x8166/' \
|
sed -i -e's/OCCLUSION_TEST_RESULT_HP.*/OCCLUSION_TEST_RESULT_HP 0x8166/' \
|
||||||
$1/GL_HP_occlusion_test
|
$1/GL_HP_occlusion_test
|
||||||
|
|
||||||
# fix WGL_ATI_pixel_format_float
|
# fix WGL_ATI_pixel_format_float
|
||||||
echo -e "\tGL_RGBA_FLOAT_MODE_ATI 0x8820" >> $1/WGL_ATI_pixel_format_float
|
cat >> $1/WGL_ATI_pixel_format_float <<EOT
|
||||||
echo -e "\tGL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835" >> $1/WGL_ATI_pixel_format_float
|
GL_RGBA_FLOAT_MODE_ATI 0x8820
|
||||||
# add typedefs to GL_ARB_vertex_buffer_object
|
GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835i
|
||||||
echo -e "\ttypedef int GLsizeiptrARB" >> $1/GL_ARB_vertex_buffer_object
|
EOT
|
||||||
echo -e "\ttypedef int GLintptrARB" >> $1/GL_ARB_vertex_buffer_object
|
|
||||||
|
# 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
|
# add typedefs to GLX_EXT_import_context
|
||||||
echo -e "\ttypedef XID GLXContextID" >> $1/GLX_EXT_import_context
|
cat >> $1/GLX_EXT_import_context <<EOT
|
||||||
|
typedef XID GLXContextID
|
||||||
|
EOT
|
||||||
|
|
||||||
# add tokens to GLX_OML_swap_method
|
# add tokens to GLX_OML_swap_method
|
||||||
echo -e "\tGLX_SWAP_EXCHANGE_OML 0x8061" >> $1/GLX_OML_swap_method
|
cat >> $1/GLX_OML_swap_method <<EOT
|
||||||
echo -e "\tGLX_SWAP_COPY_OML 0x8062" >> $1/GLX_OML_swap_method
|
GLX_SWAP_EXCHANGE_OML 0x8061
|
||||||
echo -e "\tGLX_SWAP_UNDEFINED_OML 0x8063" >> $1/GLX_OML_swap_method
|
GLX_SWAP_COPY_OML 0x8062
|
||||||
|
GLX_SWAP_UNDEFINED_OML 0x8063
|
||||||
|
EOT
|
||||||
|
|
||||||
# add typedefs to GLX_SGIX_fbconfig
|
# add typedefs to GLX_SGIX_fbconfig
|
||||||
echo -e "\ttypedef XID GLXFBConfigIDSGIX" >> $1/GLX_SGIX_fbconfig
|
cat >> $1/GLX_SGIX_fbconfig <<EOT
|
||||||
echo -e "\ttypedef struct __GLXFBConfigRec *GLXFBConfigSGIX" >> $1/GLX_SGIX_fbconfig
|
typedef XID GLXFBConfigIDSGIX
|
||||||
|
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX
|
||||||
|
EOT
|
||||||
|
|
||||||
# add typedefs to GLX_SGIX_pbuffer
|
# add typedefs to GLX_SGIX_pbuffer
|
||||||
echo -e "\ttypedef XID GLXPbufferSGIX" >> $1/GLX_SGIX_pbuffer
|
cat >> $1/GLX_SGIX_pbuffer <<EOT
|
||||||
echo -e "\ttypedef 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" >> $1/GLX_SGIX_pbuffer
|
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
|
# add typedef to GL_NV_half_float
|
||||||
echo -e "\ttypedef unsigned short GLhalf" >> $1/GL_NV_half_float
|
cat >> $1/GL_NV_half_float <<EOT
|
||||||
|
typedef unsigned short GLhalf
|
||||||
|
EOT
|
||||||
|
|
||||||
# add handle to WGL_ARB_pbuffer
|
# add handle to WGL_ARB_pbuffer
|
||||||
echo -e "\tDECLARE_HANDLE(HPBUFFERARB);" >> $1/WGL_ARB_pbuffer
|
cat >> $1/WGL_ARB_pbuffer <<EOT
|
||||||
|
DECLARE_HANDLE(HPBUFFERARB);
|
||||||
|
EOT
|
||||||
|
|
||||||
# add handle to WGL_EXT_pbuffer
|
# add handle to WGL_EXT_pbuffer
|
||||||
echo -e "\tDECLARE_HANDLE(HPBUFFEREXT);" >> $1/WGL_EXT_pbuffer
|
cat >> $1/WGL_EXT_pbuffer <<EOT
|
||||||
|
DECLARE_HANDLE(HPBUFFEREXT);
|
||||||
|
EOT
|
||||||
|
|
||||||
# get rid of GL_SUN_multi_draw_arrays
|
# get rid of GL_SUN_multi_draw_arrays
|
||||||
rm -f $1/GL_SUN_multi_draw_arrays
|
rm -f $1/GL_SUN_multi_draw_arrays
|
||||||
|
|
||||||
# change variable names in GL_ARB_vertex_shader
|
# change variable names in GL_ARB_vertex_shader
|
||||||
sed -i -e 's/v0/x/g' $1/GL_ARB_vertex_shader
|
sed -i -e 's/v0/x/g' $1/GL_ARB_vertex_shader
|
||||||
sed -i -e 's/v1/y/g' $1/GL_ARB_vertex_shader
|
sed -i -e 's/v1/y/g' $1/GL_ARB_vertex_shader
|
||||||
sed -i -e 's/v2/z/g' $1/GL_ARB_vertex_shader
|
sed -i -e 's/v2/z/g' $1/GL_ARB_vertex_shader
|
||||||
sed -i -e 's/v3/w/g' $1/GL_ARB_vertex_shader
|
sed -i -e 's/v3/w/g' $1/GL_ARB_vertex_shader
|
||||||
|
|
||||||
# remove triplicates in GL_ARB_shader_objects, GL_ARB_fragment_shader,
|
# remove triplicates in GL_ARB_shader_objects, GL_ARB_fragment_shader,
|
||||||
# and GL_ARB_vertex_shader
|
# and GL_ARB_vertex_shader
|
||||||
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_fragment_shader > tmp; \
|
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_fragment_shader > tmp
|
||||||
mv tmp $1/GL_ARB_fragment_shader
|
mv tmp $1/GL_ARB_fragment_shader
|
||||||
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_vertex_shader > tmp; \
|
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_vertex_shader > tmp
|
||||||
mv tmp $1/GL_ARB_vertex_shader
|
mv tmp $1/GL_ARB_vertex_shader
|
||||||
# remove duplicates in GL_ARB_vertex_program and GL_ARB_vertex_shader
|
|
||||||
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
|
|
||||||
# fix bugs in GL_ARB_vertex_shader
|
|
||||||
grep -v "GL_FLOAT" $1/GL_ARB_vertex_shader > tmp; \
|
|
||||||
mv tmp $1/GL_ARB_vertex_shader
|
|
||||||
sed -i -e 's/handle /GLhandleARB /g' $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
|
|
||||||
echo -e "\ttypedef char GLcharARB" >> $1/GL_ARB_shader_objects
|
|
||||||
echo -e "\ttypedef int GLhandleARB" >> $1/GL_ARB_shader_objects
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
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
|
||||||
|
|
||||||
|
# fix bugs in GL_ARB_vertex_shader
|
||||||
|
grep -v "GL_FLOAT" $1/GL_ARB_vertex_shader > tmp
|
||||||
|
mv tmp $1/GL_ARB_vertex_shader
|
||||||
|
sed -i -e 's/handle /GLhandleARB /g' $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 int GLhandleARB
|
||||||
|
EOT
|
||||||
|
fi
|
||||||
|
@ -125,6 +125,19 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FIXME: the definition of ptrdiff_t is needed here, it's found in
|
||||||
|
* stddef.h.
|
||||||
|
*
|
||||||
|
* Since Windows doesn't actually _run_ on anything but PCs this will do
|
||||||
|
* for now.
|
||||||
|
*
|
||||||
|
* What does the compiler define when the target is a 64 bit platform
|
||||||
|
* anyway? WIN64?
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef int ptrdiff_t;
|
||||||
|
|
||||||
#ifndef GLAPI
|
#ifndef GLAPI
|
||||||
# if defined(__CYGWIN__) || defined(__MINGW32__)
|
# if defined(__CYGWIN__) || defined(__MINGW32__)
|
||||||
# define GLAPI extern
|
# define GLAPI extern
|
||||||
@ -153,6 +166,17 @@
|
|||||||
|
|
||||||
#else /* _UNIX */
|
#else /* _UNIX */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Needed for ptrdiff_t in turn needed by VBO. This is defined by ISO
|
||||||
|
* C. On my system, this amounts to _3 lines_ of included code, all of
|
||||||
|
* them pretty much harmless. If you know of a way of detecting 32 vs
|
||||||
|
* 64 _targets_ at compile time you are free to replace this with
|
||||||
|
* something that's portable. For now, _this_ is the portable solution.
|
||||||
|
* (mem, 2004-01-04)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
#define GLEW_APIENTRY_DEFINED
|
#define GLEW_APIENTRY_DEFINED
|
||||||
#define APIENTRY
|
#define APIENTRY
|
||||||
#define GLEWAPI extern
|
#define GLEWAPI extern
|
||||||
|
Loading…
Reference in New Issue
Block a user