xserver: Branch 'glucose-2'

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Oct 3 05:00:03 PDT 2007


 configure.ac       |    2 
 glucose/glitz_gl.h |  578 ------------------------------
 glucose/glitzint.h |  995 -----------------------------------------------------
 3 files changed, 1 insertion(+), 1574 deletions(-)

New commits:
diff-tree d4653198ddad5882c2646d8bbec7a1e1b6250ce7 (from 381be46465fcecf32043629f4fdae3ff7fc7338c)
Author: José Fonseca <jrfonseca at tungstengraphics.com>
Date:   Wed Oct 3 12:45:24 2007 +0100

    Do not include glitz private headers. Depend on new glitz instead, which
    has better support for out-of-tree glitz backends.

diff --git a/configure.ac b/configure.ac
index f986dd5..4ab3771 100644
--- a/configure.ac
+++ b/configure.ac
@@ -727,7 +727,7 @@ else
 	XVMC=no
 fi
 
-PKG_CHECK_MODULES([GLUCOSE], [glitz >= 0.5.4], [GLUCOSE=yes], [GLUCOSE=no])
+PKG_CHECK_MODULES([GLUCOSE], [glitz >= 0.5.7], [GLUCOSE=yes], [GLUCOSE=no])
 AC_SUBST(GLUCOSE_CFLAGS)
 AC_SUBST(GLUCOSE_LIBS)
 AM_CONDITIONAL(GLUCOSE, [test "x$GLUCOSE" = xyes])
diff --git a/glucose/glitz_gl.h b/glucose/glitz_gl.h
deleted file mode 100644
index 3036bc6..0000000
--- a/glucose/glitz_gl.h
+++ /dev/null
@@ -1,578 +0,0 @@
-/*
- * Copyright © 2004 David Reveman, Peter Nilsson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the names of
- * David Reveman and Peter Nilsson not be used in advertising or
- * publicity pertaining to distribution of the software without
- * specific, written prior permission. David Reveman and Peter Nilsson
- * makes no representations about the suitability of this software for
- * any purpose. It is provided "as is" without express or implied warranty.
- *
- * DAVID REVEMAN AND PETER NILSSON DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DAVID REVEMAN AND
- * PETER NILSSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
- * OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- *
- * Authors: David Reveman <davidr at novell.com>
- *          Peter Nilsson <c99pnn at cs.umu.se>
- */
-
-#ifndef GLITZ_GL_H_INCLUDED
-#define GLITZ_GL_H_INCLUDED
-
-#include <stddef.h>
-
-#ifdef _WIN32
-#define GLITZ_GL_API_ATTRIBUTE __stdcall
-#else
-#define GLITZ_GL_API_ATTRIBUTE
-#endif
-
-typedef unsigned int glitz_gl_enum_t;
-typedef unsigned char glitz_gl_boolean_t;
-typedef void glitz_gl_void_t;
-typedef int glitz_gl_int_t;
-typedef unsigned int glitz_gl_uint_t;
-typedef int glitz_gl_sizei_t;
-typedef double glitz_gl_double_t;
-typedef float glitz_gl_float_t;
-typedef unsigned short glitz_gl_ushort_t;
-typedef short glitz_gl_short_t;
-typedef unsigned int glitz_gl_bitfield_t;
-typedef double glitz_gl_clampd_t;
-typedef float glitz_gl_clampf_t;
-typedef unsigned char glitz_gl_ubyte_t;
-typedef ptrdiff_t glitz_gl_intptr_t;
-typedef ptrdiff_t glitz_gl_sizeiptr_t;
-
-
-#define GLITZ_GL_FALSE 0x0
-#define GLITZ_GL_TRUE  0x1
-
-#define GLITZ_GL_NO_ERROR          0x0
-#define GLITZ_GL_INVALID_OPERATION 0x0502
-
-#define GLITZ_GL_VENDOR                      0x1F00
-#define GLITZ_GL_RENDERER                    0x1F01
-#define GLITZ_GL_VERSION                     0x1F02
-#define GLITZ_GL_EXTENSIONS                  0x1F03
-
-#define GLITZ_GL_UNSIGNED_BYTE               0x1401
-#define GLITZ_GL_UNSIGNED_BYTE_3_3_2         0x8032
-#define GLITZ_GL_UNSIGNED_BYTE_2_3_3_REV     0x8362
-#define GLITZ_GL_UNSIGNED_SHORT_5_6_5        0x8363
-#define GLITZ_GL_UNSIGNED_SHORT_5_6_5_REV    0x8364
-#define GLITZ_GL_UNSIGNED_SHORT_4_4_4_4      0x8033
-#define GLITZ_GL_UNSIGNED_SHORT_4_4_4_4_REV  0x8365
-#define GLITZ_GL_UNSIGNED_SHORT_5_5_5_1      0x8034
-#define GLITZ_GL_UNSIGNED_SHORT_1_5_5_5_REV  0x8366
-#define GLITZ_GL_UNSIGNED_INT_8_8_8_8_REV    0x8367
-#define GLITZ_GL_UNSIGNED_INT_10_10_10_2     0x8036
-#define GLITZ_GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
-
-#define GLITZ_GL_MODELVIEW  0x1700
-#define GLITZ_GL_PROJECTION 0x1701
-
-#define GLITZ_GL_SHORT  0x1402
-#define GLITZ_GL_INT    0x1404
-#define GLITZ_GL_FLOAT  0x1406
-#define GLITZ_GL_DOUBLE 0x140A
-
-#define GLITZ_GL_POINTS         0x0000
-#define GLITZ_GL_LINES          0x0001
-#define GLITZ_GL_LINE_LOOP      0x0002
-#define GLITZ_GL_LINE_STRIP     0x0003
-#define GLITZ_GL_TRIANGLES      0x0004
-#define GLITZ_GL_TRIANGLE_STRIP 0x0005
-#define GLITZ_GL_TRIANGLE_FAN   0x0006
-#define GLITZ_GL_QUADS          0x0007
-#define GLITZ_GL_QUAD_STRIP     0x0008
-#define GLITZ_GL_POLYGON        0x0009
-
-#define GLITZ_GL_VERTEX_ARRAY        0x8074
-#define GLITZ_GL_TEXTURE_COORD_ARRAY 0x8078
-
-#define GLITZ_GL_FILL           0x1B02
-#define GLITZ_GL_FRONT          0x0404
-#define GLITZ_GL_BACK           0x0405
-#define GLITZ_GL_CULL_FACE      0x0B44
-
-#define GLITZ_GL_POINT_SMOOTH   0x0B10
-#define GLITZ_GL_LINE_SMOOTH    0x0B20
-#define GLITZ_GL_POLYGON_SMOOTH 0x0B41
-
-#define GLITZ_GL_SCISSOR_TEST 0x0C11
-
-#define GLITZ_GL_MAX_TEXTURE_SIZE  0x0D33
-#define GLITZ_GL_MAX_VIEWPORT_DIMS 0x0D3A
-
-#define GLITZ_GL_TEXTURE_WIDTH        0x1000
-#define GLITZ_GL_TEXTURE_HEIGHT       0x1001
-#define GLITZ_GL_TEXTURE_BORDER_COLOR 0x1004
-
-#define GLITZ_GL_TEXTURE_BINDING_2D        0x8069
-#define GLITZ_GL_TEXTURE_BINDING_RECTANGLE 0x84F6
-
-#define GLITZ_GL_TEXTURE_ENV            0x2300
-#define GLITZ_GL_TEXTURE_ENV_MODE       0x2200
-#define GLITZ_GL_TEXTURE_2D             0x0DE1
-#define GLITZ_GL_PROXY_TEXTURE_2D       0x8064
-#define GLITZ_GL_TEXTURE_WRAP_S         0x2802
-#define GLITZ_GL_TEXTURE_WRAP_T         0x2803
-#define GLITZ_GL_TEXTURE_MAG_FILTER     0x2800
-#define GLITZ_GL_TEXTURE_MIN_FILTER     0x2801
-#define GLITZ_GL_TEXTURE_ENV_COLOR      0x2201
-#define GLITZ_GL_TEXTURE_GEN_S          0x0C60
-#define GLITZ_GL_TEXTURE_GEN_T          0x0C61
-#define GLITZ_GL_TEXTURE_GEN_MODE       0x2500
-#define GLITZ_GL_EYE_LINEAR             0x2400
-#define GLITZ_GL_EYE_PLANE              0x2502
-#define GLITZ_GL_S                      0x2000
-#define GLITZ_GL_T                      0x2001
-
-#define GLITZ_GL_MODULATE               0x2100
-#define GLITZ_GL_NEAREST                0x2600
-#define GLITZ_GL_LINEAR                 0x2601
-#define GLITZ_GL_CLAMP                  0x2900
-#define GLITZ_GL_REPEAT                 0x2901
-#define GLITZ_GL_CLAMP_TO_EDGE          0x812F
-#define GLITZ_GL_CLAMP_TO_BORDER        0x812D
-#define GLITZ_GL_TEXTURE_RED_SIZE       0x805C
-#define GLITZ_GL_TEXTURE_GREEN_SIZE     0x805D
-#define GLITZ_GL_TEXTURE_BLUE_SIZE      0x805E
-#define GLITZ_GL_TEXTURE_ALPHA_SIZE     0x805F
-
-#define GLITZ_GL_NEAREST_MIPMAP_NEAREST 0x2700
-#define GLITZ_GL_LINEAR_MIPMAP_NEAREST  0x2701
-#define GLITZ_GL_NEAREST_MIPMAP_LINEAR  0x2702
-#define GLITZ_GL_LINEAR_MIPMAP_LINEAR   0x2703
-
-#define GLITZ_GL_TEXTURE        0x1702
-#define GLITZ_GL_SRC_COLOR      0x0300
-
-#define GLITZ_GL_COMBINE        0x8570
-#define GLITZ_GL_COMBINE_RGB    0x8571
-#define GLITZ_GL_COMBINE_ALPHA  0x8572
-#define GLITZ_GL_SOURCE0_RGB    0x8580
-#define GLITZ_GL_SOURCE1_RGB    0x8581
-#define GLITZ_GL_SOURCE2_RGB    0x8582
-#define GLITZ_GL_SOURCE0_ALPHA  0x8588
-#define GLITZ_GL_SOURCE1_ALPHA  0x8589
-#define GLITZ_GL_SOURCE2_ALPHA  0x858A
-#define GLITZ_GL_OPERAND0_RGB   0x8590
-#define GLITZ_GL_OPERAND1_RGB   0x8591
-#define GLITZ_GL_OPERAND2_RGB   0x8592
-#define GLITZ_GL_OPERAND0_ALPHA	0x8598
-#define GLITZ_GL_OPERAND1_ALPHA	0x8599
-#define GLITZ_GL_OPERAND2_ALPHA	0x859A
-#define GLITZ_GL_RGB_SCALE      0x8573
-#define GLITZ_GL_ADD_SIGNED     0x8574
-#define GLITZ_GL_INTERPOLATE    0x8575
-#define GLITZ_GL_SUBTRACT       0x84E7
-#define GLITZ_GL_CONSTANT       0x8576
-#define GLITZ_GL_PRIMARY_COLOR  0x8577
-#define GLITZ_GL_PREVIOUS       0x8578
-#define GLITZ_GL_DOT3_RGB       0x86AE
-#define GLITZ_GL_DOT3_RGBA      0x86AF
-
-#define GLITZ_GL_STENCIL_TEST 0x0B90
-#define GLITZ_GL_KEEP         0x1E00
-#define GLITZ_GL_REPLACE      0x1E01
-#define GLITZ_GL_INCR         0x1E02
-#define GLITZ_GL_DECR         0x1E03
-
-#define GLITZ_GL_LESS       0x0201
-#define GLITZ_GL_EQUAL      0x0202
-#define GLITZ_GL_LEQUAL     0x0203
-#define GLITZ_GL_ALWAYS     0x0207
-#define GLITZ_GL_DEPTH_TEST 0x0B71
-
-#define GLITZ_GL_STENCIL_BUFFER_BIT 0x00000400
-#define GLITZ_GL_VIEWPORT_BIT       0x00000800
-#define GLITZ_GL_TRANSFORM_BIT      0x00001000
-#define GLITZ_GL_COLOR_BUFFER_BIT   0x00004000
-
-#define GLITZ_GL_STENCIL_INDEX   0x1901
-#define GLITZ_GL_DEPTH_COMPONENT 0x1902
-
-#define GLITZ_GL_ALPHA     0x1906
-#define GLITZ_GL_RGB       0x1907
-#define GLITZ_GL_LUMINANCE 0x1909
-#define GLITZ_GL_COLOR     0x1800
-#define GLITZ_GL_DITHER    0x0BD0
-#define GLITZ_GL_RGBA      0x1908
-#define GLITZ_GL_BGR       0x80E0
-#define GLITZ_GL_BGRA      0x80E1
-
-#define GLITZ_GL_ALPHA4     0x803B
-#define GLITZ_GL_ALPHA8     0x803C
-#define GLITZ_GL_ALPHA12    0x803D
-#define GLITZ_GL_ALPHA16    0x803E
-#define GLITZ_GL_LUMINANCE8 0x8040
-#define GLITZ_GL_R3_G3_B2   0x2A10
-#define GLITZ_GL_RGB4       0x804F
-#define GLITZ_GL_RGB5       0x8050
-#define GLITZ_GL_RGB8       0x8051
-#define GLITZ_GL_RGB10      0x8052
-#define GLITZ_GL_RGB12      0x8053
-#define GLITZ_GL_RGB16      0x8054
-#define GLITZ_GL_RGBA2      0x8055
-#define GLITZ_GL_RGBA4      0x8056
-#define GLITZ_GL_RGB5_A1    0x8057
-#define GLITZ_GL_RGBA8      0x8058
-#define GLITZ_GL_RGB10_A2   0x8059
-#define GLITZ_GL_RGBA12     0x805A
-#define GLITZ_GL_RGBA16     0x805B
-
-#define GLITZ_GL_FRONT_AND_BACK 0x0408
-#define GLITZ_GL_FLAT           0x1D00
-#define GLITZ_GL_SMOOTH         0x1D01
-
-#define GLITZ_GL_BLEND               0x0BE2
-#define GLITZ_GL_ZERO                0x0000
-#define GLITZ_GL_ONE                 0x0001
-#define GLITZ_GL_ONE_MINUS_SRC_COLOR 0x0301
-#define GLITZ_GL_SRC_ALPHA           0x0302
-#define GLITZ_GL_ONE_MINUS_SRC_ALPHA 0x0303
-#define GLITZ_GL_DST_ALPHA           0x0304
-#define GLITZ_GL_ONE_MINUS_DST_ALPHA 0x0305
-#define GLITZ_GL_SRC_ALPHA_SATURATE  0x0308
-#define GLITZ_GL_CONSTANT_COLOR      0x8001
-
-#define GLITZ_GL_PACK_ALIGNMENT      0x0D05
-#define GLITZ_GL_PACK_LSB_FIRST      0x0D01
-#define GLITZ_GL_PACK_ROW_LENGTH     0x0D02
-#define GLITZ_GL_PACK_SKIP_PIXELS    0x0D04
-#define GLITZ_GL_PACK_SKIP_ROWS      0x0D03
-#define GLITZ_GL_UNPACK_ALIGNMENT    0x0CF5
-#define GLITZ_GL_UNPACK_LSB_FIRST    0x0CF1
-#define GLITZ_GL_UNPACK_ROW_LENGTH   0x0CF2
-#define GLITZ_GL_UNPACK_SKIP_PIXELS  0x0CF4
-#define GLITZ_GL_UNPACK_SKIP_ROWS    0x0CF3
-
-#define GLITZ_GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
-#define GLITZ_GL_FASTEST                     0x1101
-#define GLITZ_GL_NICEST                      0x1102
-
-#define GLITZ_GL_COMPILE 0x1300
-
-#define GLITZ_GL_TEXTURE_RECTANGLE          0x84F5
-#define GLITZ_GL_PROXY_TEXTURE_RECTANGLE    0x84F7
-#define GLITZ_GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
-
-#define GLITZ_GL_MIRRORED_REPEAT 0x8370
-
-#define GLITZ_GL_TEXTURE0          0x84C0
-#define GLITZ_GL_TEXTURE1          0x84C1
-#define GLITZ_GL_TEXTURE2          0x84C2
-#define GLITZ_GL_ACTIVE_TEXTURE    0x84E0
-#define GLITZ_GL_MAX_TEXTURE_UNITS 0x84E2
-
-#define GLITZ_GL_MULTISAMPLE 0x809D
-
-#define GLITZ_GL_MULTISAMPLE_FILTER_HINT 0x8534
-
-#define GLITZ_GL_FRAGMENT_PROGRAM                    0x8804
-#define GLITZ_GL_PROGRAM_STRING                      0x8628
-#define GLITZ_GL_PROGRAM_FORMAT_ASCII                0x8875
-#define GLITZ_GL_PROGRAM_ERROR_POSITION              0x864B
-#define GLITZ_GL_MAX_PROGRAM_LOCAL_PARAMETERS        0x88B4
-#define GLITZ_GL_PROGRAM_INSTRUCTIONS                0x88A0
-#define GLITZ_GL_MAX_PROGRAM_INSTRUCTIONS            0x88A1
-#define GLITZ_GL_PROGRAM_NATIVE_INSTRUCTIONS         0x88A2
-#define GLITZ_GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS     0x88A3
-#define GLITZ_GL_PROGRAM_PARAMETERS                  0x88A8
-#define GLITZ_GL_MAX_PROGRAM_PARAMETERS              0x88A9
-#define GLITZ_GL_PROGRAM_NATIVE_PARAMETERS           0x88AA
-#define GLITZ_GL_MAX_PROGRAM_NATIVE_PARAMETERS       0x88AB
-#define GLITZ_GL_PROGRAM_UNDER_NATIVE_LIMITS         0x88B6
-#define GLITZ_GL_PROGRAM_ALU_INSTRUCTIONS            0x8805
-#define GLITZ_GL_PROGRAM_TEX_INSTRUCTIONS            0x8806
-#define GLITZ_GL_PROGRAM_TEX_INDIRECTIONS            0x8807
-#define GLITZ_GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS     0x8808
-#define GLITZ_GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS     0x8809
-#define GLITZ_GL_PROGRAM_NATIVE_TEX_INDIRECTIONS     0x880A
-#define GLITZ_GL_MAX_PROGRAM_ALU_INSTRUCTIONS        0x880B
-#define GLITZ_GL_MAX_PROGRAM_TEX_INSTRUCTIONS        0x880C
-#define GLITZ_GL_MAX_PROGRAM_TEX_INDIRECTIONS        0x880D
-#define GLITZ_GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS 0x880E
-#define GLITZ_GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS 0x880F
-#define GLITZ_GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS 0x8810
-
-#define GLITZ_GL_ARRAY_BUFFER         0x8892
-#define GLITZ_GL_PIXEL_PACK_BUFFER    0x88EB
-#define GLITZ_GL_PIXEL_UNPACK_BUFFER  0x88EC
-
-#define GLITZ_GL_STREAM_DRAW  0x88E0
-#define GLITZ_GL_STREAM_READ  0x88E1
-#define GLITZ_GL_STREAM_COPY  0x88E2
-#define GLITZ_GL_STATIC_DRAW  0x88E4
-#define GLITZ_GL_STATIC_READ  0x88E5
-#define GLITZ_GL_STATIC_COPY  0x88E6
-#define GLITZ_GL_DYNAMIC_DRAW 0x88E8
-#define GLITZ_GL_DYNAMIC_READ 0x88E9
-#define GLITZ_GL_DYNAMIC_COPY 0x88EA
-
-#define GLITZ_GL_READ_ONLY  0x88B8
-#define GLITZ_GL_WRITE_ONLY 0x88B9
-#define GLITZ_GL_READ_WRITE 0x88BA
-
-#define GLITZ_GL_FRAMEBUFFER  0x8D40
-#define GLITZ_GL_RENDERBUFFER 0x8D41
-
-#define GLITZ_GL_COLOR_ATTACHMENT0  0x8CE0
-#define GLITZ_GL_COLOR_ATTACHMENT1  0x8CE1
-#define GLITZ_GL_DEPTH_ATTACHMENT   0x8D00
-#define GLITZ_GL_STENCIL_ATTACHMENT 0x8D20
-
-#define GLITZ_GL_FRAMEBUFFER_COMPLETE                        0x8CD5
-#define GLITZ_GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT           0x8CD6
-#define GLITZ_GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT   0x8CD7
-#define GLITZ_GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT 0x8CD8
-#define GLITZ_GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS           0x8CD9
-#define GLITZ_GL_FRAMEBUFFER_INCOMPLETE_FORMATS              0x8CDA
-#define GLITZ_GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER          0x8CDB
-#define GLITZ_GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER          0x8CDC
-#define GLITZ_GL_FRAMEBUFFER_UNSUPPORTED                     0x8CDD
-#define GLITZ_GL_FRAMEBUFFER_STATUS_ERROR                    0x8CDE
-
-#define GLITZ_GL_RENDERBUFFER_RED_SIZE     0x8D50
-#define GLITZ_GL_RENDERBUFFER_GREEN_SIZE   0x8D51
-#define GLITZ_GL_RENDERBUFFER_BLUE_SIZE    0x8D52
-#define GLITZ_GL_RENDERBUFFER_ALPHA_SIZE   0x8D53
-#define GLITZ_GL_RENDERBUFFER_DEPTH_SIZE   0x8D54
-#define GLITZ_GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
-
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_enable_t)
-     (glitz_gl_enum_t cap);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_disable_t)
-     (glitz_gl_enum_t cap);
-typedef glitz_gl_enum_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_get_error_t)
-     (glitz_gl_void_t);
-typedef glitz_gl_ubyte_t *(GLITZ_GL_API_ATTRIBUTE * glitz_gl_get_string_t)
-     (glitz_gl_enum_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_enable_client_state_t)
-     (glitz_gl_enum_t cap);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_disable_client_state_t)
-     (glitz_gl_enum_t cap);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_vertex_pointer_t)
-     (glitz_gl_int_t size, glitz_gl_enum_t type, glitz_gl_sizei_t stride,
-      const glitz_gl_void_t *ptr);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_tex_coord_pointer_t)
-     (glitz_gl_int_t size, glitz_gl_enum_t type, glitz_gl_sizei_t stride,
-      const glitz_gl_void_t *ptr);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_draw_arrays_t)
-     (glitz_gl_enum_t mode, glitz_gl_int_t first, glitz_gl_sizei_t count);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_multi_draw_arrays_t)
-     (glitz_gl_enum_t mode, glitz_gl_int_t *first, glitz_gl_sizei_t *count,
-      glitz_gl_sizei_t primcount);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_tex_env_f_t)
-     (glitz_gl_enum_t target, glitz_gl_enum_t pname, glitz_gl_float_t param);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_tex_env_fv_t)
-     (glitz_gl_enum_t target, glitz_gl_enum_t pname,
-      const glitz_gl_float_t *params);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_tex_gen_i_t)
-     (glitz_gl_enum_t coord, glitz_gl_enum_t pname, glitz_gl_int_t param);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_tex_gen_fv_t)
-     (glitz_gl_enum_t coord, glitz_gl_enum_t pname,
-      const glitz_gl_float_t *params);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_scissor_t)
-     (glitz_gl_int_t x, glitz_gl_int_t y,
-      glitz_gl_sizei_t width, glitz_gl_sizei_t height);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_color_4us_t)
-     (glitz_gl_ushort_t red, glitz_gl_ushort_t green, glitz_gl_ushort_t blue,
-      glitz_gl_ushort_t alpha);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_color_4f_t)
-     (glitz_gl_float_t red, glitz_gl_float_t green, glitz_gl_float_t blue,
-      glitz_gl_float_t alpha);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_blend_func_t)
-     (glitz_gl_enum_t sfactor, glitz_gl_enum_t dfactor);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_blend_color_t)
-     (glitz_gl_clampf_t red, glitz_gl_clampf_t green, glitz_gl_clampf_t blue,
-      glitz_gl_clampf_t alpha);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_clear_t)
-     (glitz_gl_bitfield_t mask);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_clear_color_t)
-     (glitz_gl_clampf_t red, glitz_gl_clampf_t green,
-      glitz_gl_clampf_t blue, glitz_gl_clampf_t alpha);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_clear_stencil_t)
-     (glitz_gl_int_t s);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_stencil_func_t)
-     (glitz_gl_enum_t func, glitz_gl_int_t ref, glitz_gl_uint_t mask);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_stencil_op_t)
-     (glitz_gl_enum_t fail, glitz_gl_enum_t zfail, glitz_gl_enum_t zpass);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_push_attrib_t)
-     (glitz_gl_bitfield_t mask);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_pop_attrib_t)
-     (glitz_gl_void_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_matrix_mode_t)
-     (glitz_gl_enum_t mode);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_push_matrix_t)
-     (glitz_gl_void_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_pop_matrix_t)
-     (glitz_gl_void_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_load_identity_t)
-     (glitz_gl_void_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_load_matrix_f_t)
-     (const glitz_gl_float_t *m);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_depth_range_t)
-     (glitz_gl_clampd_t near_val, glitz_gl_clampd_t far_val);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_viewport_t)
-     (glitz_gl_int_t x, glitz_gl_int_t y,
-      glitz_gl_sizei_t width, glitz_gl_sizei_t height);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_raster_pos_2f_t)
-     (glitz_gl_float_t x, glitz_gl_float_t y);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_bitmap_t)
-     (glitz_gl_sizei_t width, glitz_gl_sizei_t height,
-      glitz_gl_float_t xorig, glitz_gl_float_t yorig,
-      glitz_gl_float_t xmove, glitz_gl_float_t ymove,
-      const glitz_gl_ubyte_t *bitmap);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_read_buffer_t)
-     (glitz_gl_enum_t mode);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_draw_buffer_t)
-     (glitz_gl_enum_t mode);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_copy_pixels_t)
-     (glitz_gl_int_t x, glitz_gl_int_t y,
-      glitz_gl_sizei_t width, glitz_gl_sizei_t height,
-      glitz_gl_enum_t type);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_flush_t)
-     (glitz_gl_void_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_finish_t)
-     (glitz_gl_void_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_pixel_store_i_t)
-     (glitz_gl_enum_t pname, glitz_gl_int_t param);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_ortho_t)
-     (glitz_gl_double_t left, glitz_gl_double_t right,
-      glitz_gl_double_t bottom, glitz_gl_double_t top,
-      glitz_gl_double_t near_val, glitz_gl_double_t far_val);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_scale_f_t)
-     (glitz_gl_float_t x, glitz_gl_float_t y, glitz_gl_float_t z);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_translate_f_t)
-     (glitz_gl_float_t x, glitz_gl_float_t y, glitz_gl_float_t z);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_hint_t)
-     (glitz_gl_enum_t target, glitz_gl_enum_t mode);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_depth_mask_t)
-     (glitz_gl_boolean_t flag);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_polygon_mode_t)
-     (glitz_gl_enum_t face, glitz_gl_enum_t mode);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_shade_model_t)
-     (glitz_gl_enum_t mode);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_color_mask_t)
-     (glitz_gl_boolean_t red,
-      glitz_gl_boolean_t green,
-      glitz_gl_boolean_t blue,
-      glitz_gl_boolean_t alpha);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_read_pixels_t)
-     (glitz_gl_int_t x, glitz_gl_int_t y,
-      glitz_gl_sizei_t width, glitz_gl_sizei_t height,
-      glitz_gl_enum_t format, glitz_gl_enum_t type,
-      glitz_gl_void_t *pixels);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_get_tex_image_t)
-     (glitz_gl_enum_t target, glitz_gl_int_t level,
-      glitz_gl_enum_t format, glitz_gl_enum_t type,
-      glitz_gl_void_t *pixels);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_tex_sub_image_2d_t)
-     (glitz_gl_enum_t target, glitz_gl_int_t level,
-      glitz_gl_int_t xoffset, glitz_gl_int_t yoffset,
-      glitz_gl_sizei_t width, glitz_gl_sizei_t height,
-      glitz_gl_enum_t format, glitz_gl_enum_t type,
-      const glitz_gl_void_t *pixels);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_gen_textures_t)
-     (glitz_gl_sizei_t n, glitz_gl_uint_t *textures);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_delete_textures_t)
-     (glitz_gl_sizei_t n, const glitz_gl_uint_t *textures);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_bind_texture_t)
-     (glitz_gl_enum_t target, glitz_gl_uint_t texture);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_tex_image_2d_t)
-     (glitz_gl_enum_t target, glitz_gl_int_t level,
-      glitz_gl_int_t internal_format,
-      glitz_gl_sizei_t width, glitz_gl_sizei_t height,
-      glitz_gl_int_t border, glitz_gl_enum_t format, glitz_gl_enum_t type,
-      const glitz_gl_void_t *pixels);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_tex_parameter_i_t)
-     (glitz_gl_enum_t target, glitz_gl_enum_t pname, glitz_gl_int_t param);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_tex_parameter_fv_t)
-     (glitz_gl_enum_t target, glitz_gl_enum_t pname,
-      const glitz_gl_float_t *parama);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_get_tex_level_parameter_iv_t)
-     (glitz_gl_enum_t target, glitz_gl_int_t level,
-      glitz_gl_enum_t pname, glitz_gl_int_t *param);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_copy_tex_sub_image_2d_t)
-     (glitz_gl_enum_t target, glitz_gl_int_t level,
-      glitz_gl_int_t xoffset, glitz_gl_int_t yoffset,
-      glitz_gl_int_t x, glitz_gl_int_t y,
-      glitz_gl_sizei_t width, glitz_gl_sizei_t height);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_get_integer_v_t)
-     (glitz_gl_enum_t pname, glitz_gl_int_t *params);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_get_pointer_v_t)
-     (glitz_gl_enum_t pname, glitz_gl_void_t **params);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_active_texture_t)
-     (glitz_gl_enum_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_client_active_texture_t)
-     (glitz_gl_enum_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_gen_programs_t)
-     (glitz_gl_sizei_t, glitz_gl_uint_t *);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_delete_programs_t)
-     (glitz_gl_sizei_t, const glitz_gl_uint_t *);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_program_string_t)
-     (glitz_gl_enum_t, glitz_gl_enum_t, glitz_gl_sizei_t,
-      const glitz_gl_void_t *);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_bind_program_t)
-     (glitz_gl_enum_t, glitz_gl_uint_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_program_local_param_4fv_t)
-     (glitz_gl_enum_t, glitz_gl_uint_t, const glitz_gl_float_t *);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_get_program_iv_t)
-     (glitz_gl_enum_t, glitz_gl_enum_t, glitz_gl_int_t *);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_gen_buffers_t)
-     (glitz_gl_sizei_t, glitz_gl_uint_t *buffers);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_delete_buffers_t)
-     (glitz_gl_sizei_t, const glitz_gl_uint_t *buffers);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_bind_buffer_t)
-     (glitz_gl_enum_t, glitz_gl_uint_t buffer);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_buffer_data_t)
-     (glitz_gl_enum_t, glitz_gl_sizeiptr_t, const glitz_gl_void_t *,
-      glitz_gl_enum_t);
-typedef glitz_gl_void_t *(GLITZ_GL_API_ATTRIBUTE * glitz_gl_buffer_sub_data_t)
-     (glitz_gl_enum_t, glitz_gl_intptr_t, glitz_gl_sizeiptr_t,
-      const glitz_gl_void_t *);
-typedef glitz_gl_void_t *(GLITZ_GL_API_ATTRIBUTE * glitz_gl_get_buffer_sub_data_t)
-     (glitz_gl_enum_t, glitz_gl_intptr_t, glitz_gl_sizeiptr_t,
-      glitz_gl_void_t *);
-typedef glitz_gl_void_t *(GLITZ_GL_API_ATTRIBUTE * glitz_gl_map_buffer_t)
-     (glitz_gl_enum_t, glitz_gl_enum_t);
-typedef glitz_gl_boolean_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_unmap_buffer_t)
-     (glitz_gl_enum_t);
-typedef void (GLITZ_GL_API_ATTRIBUTE * glitz_gl_gen_framebuffers_t)
-     (glitz_gl_sizei_t, glitz_gl_uint_t *);
-typedef void (GLITZ_GL_API_ATTRIBUTE * glitz_gl_delete_framebuffers_t)
-     (glitz_gl_sizei_t, const glitz_gl_uint_t *);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_bind_framebuffer_t)
-     (glitz_gl_enum_t, glitz_gl_uint_t);
-typedef void (GLITZ_GL_API_ATTRIBUTE * glitz_gl_framebuffer_renderbuffer_t)
-    (glitz_gl_enum_t, glitz_gl_enum_t, glitz_gl_enum_t,
-     glitz_gl_uint_t);
-typedef void (GLITZ_GL_API_ATTRIBUTE * glitz_gl_framebuffer_texture_2d_t)
-    (glitz_gl_enum_t, glitz_gl_enum_t, glitz_gl_enum_t,
-     glitz_gl_uint_t, glitz_gl_int_t);
-typedef glitz_gl_enum_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_check_framebuffer_status_t)
-     (glitz_gl_enum_t);
-typedef void (GLITZ_GL_API_ATTRIBUTE * glitz_gl_gen_renderbuffers_t)
-     (glitz_gl_sizei_t, glitz_gl_uint_t *);
-typedef void (GLITZ_GL_API_ATTRIBUTE * glitz_gl_delete_renderbuffers_t)
-     (glitz_gl_sizei_t, const glitz_gl_uint_t *);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_bind_renderbuffer_t)
-     (glitz_gl_enum_t, glitz_gl_uint_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_renderbuffer_storage_t)
-     (glitz_gl_enum_t, glitz_gl_enum_t, glitz_gl_sizei_t, glitz_gl_sizei_t);
-typedef glitz_gl_void_t (GLITZ_GL_API_ATTRIBUTE * glitz_gl_get_renderbuffer_parameter_iv_t)
-     (glitz_gl_enum_t, glitz_gl_enum_t, glitz_gl_int_t *);
-
-#endif /* GLITZ_GL_H_INCLUDED */
diff --git a/glucose/glitzint.h b/glucose/glitzint.h
deleted file mode 100644
index 1a04799..0000000
--- a/glucose/glitzint.h
+++ /dev/null
@@ -1,995 +0,0 @@
-/*
- * Copyright © 2004 David Reveman
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * David Reveman not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior permission.
- * David Reveman makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * DAVID REVEMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
- * NO EVENT SHALL DAVID REVEMAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
- * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: David Reveman <davidr at novell.com>
- */
-
-#ifndef GLITZINT_H_INCLUDED
-#define GLITZINT_H_INCLUDED
-
-#ifdef _MSC_VER
-#define _USE_MATH_DEFINES
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <limits.h>
-#include <math.h>
-
-#include "glitz.h"
-
-#if defined(__SVR4) && defined(__sun)
-#  include <sys/int_types.h>
-#elif defined(_MSC_VER)
-  typedef __int8 int8_t;
-  typedef unsigned __int8 uint8_t;
-  typedef __int16 int16_t;
-  typedef unsigned __int16 uint16_t;
-  typedef __int32 int32_t;
-  typedef unsigned __int32 uint32_t;
-  typedef __int64 int64_t;
-  typedef unsigned __int64 uint64_t;
-#else
-#  if defined(__OpenBSD__)
-#    include <inttypes.h>
-#  else
-#    include <stdint.h>
-#  endif
-#endif
-
-#if defined(__APPLE__) || defined(__sun__)
-# define floorf(a)    floor (a)
-# define ceilf(a)     ceil (a)
-# define sinf(a)      sin (a)
-# define cosf(a)      cos (a)
-# define tanf(a)      tan (a)
-# define asinf(a)     asin (a)
-# define acosf(a)     acos (a)
-# define atanf(a)     atan (a)
-# define atan2f(a, b) atan2 (a, b)
-# define sqrtf(a)     sqrt (a)
-#endif
-
-#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__)
-#define __internal_linkage	__attribute__((__visibility__("hidden")))
-#else
-#define __internal_linkage
-#endif
-
-#ifndef __GNUC__
-#define __attribute__(x)
-#endif
-
-#define GLITZ_STATUS_NO_MEMORY_MASK          (1L << 0)
-#define GLITZ_STATUS_BAD_COORDINATE_MASK     (1L << 1)
-#define GLITZ_STATUS_NOT_SUPPORTED_MASK      (1L << 2)
-#define GLITZ_STATUS_CONTENT_DESTROYED_MASK  (1L << 3)
-
-#define GLITZ_DRAWABLE_FORMAT_ALL_EXCEPT_ID_MASK ((1L << 11) - 2)
-
-#include "glitz_gl.h"
-
-#define GLITZ_CONTEXT_STACK_SIZE 16
-
-typedef struct _glitz_gl_proc_address_list_t {
-
-  /* core */
-  glitz_gl_enable_t                     enable;
-  glitz_gl_disable_t                    disable;
-  glitz_gl_get_error_t                  get_error;
-  glitz_gl_get_string_t                 get_string;
-  glitz_gl_enable_client_state_t        enable_client_state;
-  glitz_gl_disable_client_state_t       disable_client_state;
-  glitz_gl_vertex_pointer_t             vertex_pointer;
-  glitz_gl_tex_coord_pointer_t          tex_coord_pointer;
-  glitz_gl_draw_arrays_t                draw_arrays;
-  glitz_gl_tex_env_f_t                  tex_env_f;
-  glitz_gl_tex_env_fv_t                 tex_env_fv;
-  glitz_gl_tex_gen_i_t                  tex_gen_i;
-  glitz_gl_tex_gen_fv_t                 tex_gen_fv;
-  glitz_gl_color_4us_t                  color_4us;
-  glitz_gl_color_4f_t                   color_4f;
-  glitz_gl_scissor_t                    scissor;
-  glitz_gl_blend_func_t                 blend_func;
-  glitz_gl_clear_t                      clear;
-  glitz_gl_clear_color_t                clear_color;
-  glitz_gl_clear_stencil_t              clear_stencil;
-  glitz_gl_stencil_func_t               stencil_func;
-  glitz_gl_stencil_op_t                 stencil_op;
-  glitz_gl_push_attrib_t                push_attrib;
-  glitz_gl_pop_attrib_t                 pop_attrib;
-  glitz_gl_matrix_mode_t                matrix_mode;
-  glitz_gl_push_matrix_t                push_matrix;
-  glitz_gl_pop_matrix_t                 pop_matrix;
-  glitz_gl_load_identity_t              load_identity;
-  glitz_gl_load_matrix_f_t              load_matrix_f;
-  glitz_gl_depth_range_t                depth_range;
-  glitz_gl_viewport_t                   viewport;
-  glitz_gl_raster_pos_2f_t              raster_pos_2f;
-  glitz_gl_bitmap_t                     bitmap;
-  glitz_gl_read_buffer_t                read_buffer;
-  glitz_gl_draw_buffer_t                draw_buffer;
-  glitz_gl_copy_pixels_t                copy_pixels;
-  glitz_gl_flush_t                      flush;
-  glitz_gl_finish_t                     finish;
-  glitz_gl_pixel_store_i_t              pixel_store_i;
-  glitz_gl_ortho_t                      ortho;
-  glitz_gl_scale_f_t                    scale_f;
-  glitz_gl_translate_f_t                translate_f;
-  glitz_gl_hint_t                       hint;
-  glitz_gl_depth_mask_t                 depth_mask;
-  glitz_gl_polygon_mode_t               polygon_mode;
-  glitz_gl_shade_model_t                shade_model;
-  glitz_gl_color_mask_t                 color_mask;
-  glitz_gl_read_pixels_t                read_pixels;
-  glitz_gl_get_tex_image_t              get_tex_image;
-  glitz_gl_tex_sub_image_2d_t           tex_sub_image_2d;
-  glitz_gl_gen_textures_t               gen_textures;
-  glitz_gl_delete_textures_t            delete_textures;
-  glitz_gl_bind_texture_t               bind_texture;
-  glitz_gl_tex_image_2d_t               tex_image_2d;
-  glitz_gl_tex_parameter_i_t            tex_parameter_i;
-  glitz_gl_tex_parameter_fv_t           tex_parameter_fv;
-  glitz_gl_get_tex_level_parameter_iv_t get_tex_level_parameter_iv;
-  glitz_gl_copy_tex_sub_image_2d_t      copy_tex_sub_image_2d;
-  glitz_gl_get_integer_v_t              get_integer_v;
-
-  /* extensions */
-  glitz_gl_blend_color_t                blend_color;
-  glitz_gl_active_texture_t             active_texture;
-  glitz_gl_client_active_texture_t      client_active_texture;
-  glitz_gl_multi_draw_arrays_t          multi_draw_arrays;
-  glitz_gl_gen_programs_t               gen_programs;
-  glitz_gl_delete_programs_t            delete_programs;
-  glitz_gl_program_string_t             program_string;
-  glitz_gl_bind_program_t               bind_program;
-  glitz_gl_program_local_param_4fv_t    program_local_param_4fv;
-  glitz_gl_get_program_iv_t             get_program_iv;
-  glitz_gl_gen_buffers_t                gen_buffers;
-  glitz_gl_delete_buffers_t             delete_buffers;
-  glitz_gl_bind_buffer_t                bind_buffer;
-  glitz_gl_buffer_data_t                buffer_data;
-  glitz_gl_buffer_sub_data_t            buffer_sub_data;
-  glitz_gl_get_buffer_sub_data_t        get_buffer_sub_data;
-  glitz_gl_map_buffer_t                 map_buffer;
-  glitz_gl_unmap_buffer_t               unmap_buffer;
-  glitz_gl_gen_framebuffers_t           gen_framebuffers;
-  glitz_gl_delete_framebuffers_t        delete_framebuffers;
-  glitz_gl_bind_framebuffer_t           bind_framebuffer;
-  glitz_gl_framebuffer_renderbuffer_t   framebuffer_renderbuffer;
-  glitz_gl_framebuffer_texture_2d_t     framebuffer_texture_2d;
-  glitz_gl_check_framebuffer_status_t   check_framebuffer_status;
-  glitz_gl_gen_renderbuffers_t          gen_renderbuffers;
-  glitz_gl_delete_renderbuffers_t       delete_renderbuffers;
-  glitz_gl_bind_renderbuffer_t          bind_renderbuffer;
-  glitz_gl_renderbuffer_storage_t       renderbuffer_storage;
-  glitz_gl_get_renderbuffer_parameter_iv_t get_renderbuffer_parameter_iv;
-} glitz_gl_proc_address_list_t;
-
-typedef int glitz_surface_type_t;
-
-#define GLITZ_SURFACE_TYPE_NA    -1
-#define GLITZ_SURFACE_TYPE_NULL   0
-#define GLITZ_SURFACE_TYPE_ARGB   1
-#define GLITZ_SURFACE_TYPE_ARGBC  2
-#define GLITZ_SURFACE_TYPE_ARGBF  3
-#define GLITZ_SURFACE_TYPE_SOLID  4
-#define GLITZ_SURFACE_TYPE_SOLIDC 5
-#define GLITZ_SURFACE_TYPES       6
-
-typedef int glitz_combine_type_t;
-
-#define GLITZ_COMBINE_TYPE_NA             0
-#define GLITZ_COMBINE_TYPE_ARGB           1
-#define GLITZ_COMBINE_TYPE_ARGB_ARGB      2
-#define GLITZ_COMBINE_TYPE_ARGB_ARGBC     3
-#define GLITZ_COMBINE_TYPE_ARGB_ARGBF     4
-#define GLITZ_COMBINE_TYPE_ARGB_SOLID     5
-#define GLITZ_COMBINE_TYPE_ARGB_SOLIDC    6
-#define GLITZ_COMBINE_TYPE_ARGBF          7
-#define GLITZ_COMBINE_TYPE_ARGBF_ARGB     8
-#define GLITZ_COMBINE_TYPE_ARGBF_ARGBC    9
-#define GLITZ_COMBINE_TYPE_ARGBF_ARGBF   10
-#define GLITZ_COMBINE_TYPE_ARGBF_SOLID   11
-#define GLITZ_COMBINE_TYPE_ARGBF_SOLIDC  12
-#define GLITZ_COMBINE_TYPE_SOLID         13
-#define GLITZ_COMBINE_TYPE_SOLID_ARGB    14
-#define GLITZ_COMBINE_TYPE_SOLID_ARGBC   15
-#define GLITZ_COMBINE_TYPE_SOLID_ARGBF   16
-#define GLITZ_COMBINE_TYPE_SOLID_SOLID   17
-#define GLITZ_COMBINE_TYPE_SOLID_SOLIDC  18
-#define GLITZ_COMBINE_TYPES              19
-
-#define GLITZ_TEXTURE_NONE 0
-#define GLITZ_TEXTURE_2D   1
-#define GLITZ_TEXTURE_RECT 2
-#define GLITZ_TEXTURE_LAST 3
-
-#define GLITZ_FP_CONVOLUTION                 0
-#define GLITZ_FP_LINEAR_GRADIENT_TRANSPARENT 1
-#define GLITZ_FP_LINEAR_GRADIENT_NEAREST     2
-#define GLITZ_FP_LINEAR_GRADIENT_REPEAT      3
-#define GLITZ_FP_LINEAR_GRADIENT_REFLECT     4
-#define GLITZ_FP_RADIAL_GRADIENT_TRANSPARENT 5
-#define GLITZ_FP_RADIAL_GRADIENT_NEAREST     6
-#define GLITZ_FP_RADIAL_GRADIENT_REPEAT      7
-#define GLITZ_FP_RADIAL_GRADIENT_REFLECT     8
-#define GLITZ_FP_COLORSPACE_YV12             9
-#define GLITZ_FP_UNSUPPORTED                 10
-#define GLITZ_FP_TYPES                       11
-
-typedef struct _glitz_program_t {
-  glitz_gl_int_t *name;
-  unsigned int   size;
-} glitz_program_t;
-
-typedef struct _glitz_filter_map_t {
-  glitz_program_t fp[GLITZ_TEXTURE_LAST][GLITZ_TEXTURE_LAST][2];
-} glitz_filter_map_t;
-
-typedef struct _glitz_program_map_t {
-  glitz_filter_map_t filters[GLITZ_COMBINE_TYPES][GLITZ_FP_TYPES];
-} glitz_program_map_t;
-
-typedef enum {
-  GLITZ_NONE,
-  GLITZ_ANY_CONTEXT_CURRENT,
-  GLITZ_CONTEXT_CURRENT,
-  GLITZ_DRAWABLE_CURRENT
-} glitz_constraint_t;
-
-typedef struct _glitz_region_t {
-  glitz_box_t extents;
-  glitz_box_t *box;
-  int         n_box;
-  void        *data;
-  int         size;
-} glitz_region_t;
-
-extern glitz_status_t __internal_linkage
-glitz_region_union (glitz_region_t *region,
-		    glitz_box_t    *box);
-
-#define GLITZ_DRAWABLE_TYPE_WINDOW_MASK  (1L << 0)
-#define GLITZ_DRAWABLE_TYPE_PBUFFER_MASK (1L << 1)
-#define GLITZ_DRAWABLE_TYPE_FBO_MASK     (1L << 2)
-
-#define GLITZ_INT_FORMAT_WINDOW_MASK  (1L << 17)
-#define GLITZ_INT_FORMAT_PBUFFER_MASK (1L << 18)
-#define GLITZ_INT_FORMAT_FBO_MASK     (1L << 19)
-
-typedef struct _glitz_int_drawable_format_t {
-    glitz_drawable_format_t d;
-    unsigned int            types;
-    int                     caveat;
-    union {
-	void	  *ptr;
-	long	  val;
-	unsigned long uval;
-	void	  *(*fptr) (void);
-    } u;
-} glitz_int_drawable_format_t;
-
-typedef struct glitz_backend {
-  glitz_drawable_t *
-  (*create_pbuffer)            (void                    *drawable,
-				glitz_drawable_format_t *format,
-				unsigned int            width,
-				unsigned int            height);
-
-  void
-  (*destroy)                   (void *drawable);
-
-  glitz_bool_t
-  (*push_current)              (void               *drawable,
-				glitz_surface_t    *surface,
-				glitz_constraint_t constraint,
-				glitz_bool_t       *restore_state);
-
-  glitz_surface_t *
-  (*pop_current)               (void *drawable);
-
-  void
-  (*attach_notify)             (void            *drawable,
-				glitz_surface_t *surface);
-
-  void
-  (*detach_notify)             (void            *drawable,
-				glitz_surface_t *surface);
-
-  glitz_bool_t
-  (*swap_buffers)              (void *drawable);
-
-  glitz_bool_t
-  (*copy_sub_buffer)           (void *drawable,
-				int  x,
-				int  y,
-				int  width,
-				int  height);
-
-  glitz_context_t *
-  (*create_context)            (void                    *drawable,
-				glitz_drawable_format_t *format);
-
-  void
-  (*destroy_context)           (void *context);
-
-  void
-  (*copy_context)              (void          *src,
-				void          *dst,
-				unsigned long mask);
-
-  void
-  (*make_current)              (void *drawable,
-				void *context);
-
-  void
-  (*draw_buffer)               (void                  *drawable,
-				const glitz_gl_enum_t buffer);
-
-  void
-  (*read_buffer)               (void                  *drawable,
-				const glitz_gl_enum_t buffer);
-
-  glitz_function_pointer_t
-  (*get_proc_address)          (void       *context,
-				const char *name);
-
-  glitz_gl_proc_address_list_t *gl;
-
-  glitz_int_drawable_format_t  *drawable_formats;
-  int                          n_drawable_formats;
-
-  glitz_gl_int_t               *texture_formats;
-  glitz_format_t               *formats;
-  int                          n_formats;
-
-  glitz_gl_float_t             gl_version;
-  glitz_gl_int_t               max_viewport_dims[2];
-  glitz_gl_int_t               max_texture_2d_size;
-  glitz_gl_int_t               max_texture_rect_size;
-  unsigned long                feature_mask;
-
-  glitz_program_map_t          *program_map;
-} glitz_backend_t;
-
-struct _glitz_drawable {
-  glitz_backend_t             *backend;
-  int                         ref_count;
-  glitz_int_drawable_format_t *format;
-  int                         width, height;
-  glitz_rectangle_t           viewport;
-  glitz_bool_t                update_all;
-  glitz_bool_t                flushed;
-  glitz_bool_t                finished;
-  glitz_surface_t             *front;
-  glitz_surface_t             *back;
-};
-
-#define GLITZ_GL_DRAWABLE(drawable) \
-  glitz_gl_proc_address_list_t *gl = (drawable)->backend->gl;
-
-#define DRAWABLE_IS_FBO(drawable) \
-  ((drawable)->format->types == GLITZ_DRAWABLE_TYPE_FBO_MASK)
-
-typedef struct _glitz_vec2_t {
-  glitz_float_t v[2];
-} glitz_vec2_t;
-
-typedef struct _glitz_vec4_t {
-  glitz_float_t v[4];
-} glitz_vec4_t;
-
-#define GLITZ_TEXTURE_FLAG_ALLOCATED_MASK    (1L <<  0)
-#define GLITZ_TEXTURE_FLAG_CLAMPABLE_MASK    (1L <<  1)
-#define GLITZ_TEXTURE_FLAG_REPEATABLE_MASK   (1L <<  2)
-#define GLITZ_TEXTURE_FLAG_PADABLE_MASK      (1L <<  3)
-#define GLITZ_TEXTURE_FLAG_INVALID_SIZE_MASK (1L <<  4)
-
-#define TEXTURE_ALLOCATED(texture) \
-  ((texture)->flags & GLITZ_TEXTURE_FLAG_ALLOCATED_MASK)
-
-#define TEXTURE_CLAMPABLE(texture) \
-  ((texture)->flags & GLITZ_TEXTURE_FLAG_CLAMPABLE_MASK)
-
-#define TEXTURE_REPEATABLE(texture) \
-  ((texture)->flags & GLITZ_TEXTURE_FLAG_REPEATABLE_MASK)
-
-#define TEXTURE_PADABLE(texture) \
-  ((texture)->flags & GLITZ_TEXTURE_FLAG_PADABLE_MASK)
-
-#define TEXTURE_INVALID_SIZE(texture) \
-  ((texture)->flags & GLITZ_TEXTURE_FLAG_INVALID_SIZE_MASK)
-
-typedef struct _glitz_texture_parameters {
-    glitz_gl_enum_t filter[2];
-    glitz_gl_enum_t wrap[2];
-    glitz_color_t   border_color;
-} glitz_texture_parameters_t;
-
-typedef struct _glitz_texture {
-  glitz_gl_uint_t name;
-  glitz_gl_enum_t target;
-  glitz_gl_int_t  format;
-  glitz_fourcc_t  fourcc;
-  unsigned long   flags;
-
-  glitz_texture_parameters_t param;
-
-  int             width;
-  int             height;
-
-  glitz_box_t     box;
-
-  glitz_float_t   texcoord_width_unit;
-  glitz_float_t   texcoord_height_unit;
-} glitz_texture_t;
-
-struct _glitz_texture_object {
-  glitz_surface_t            *surface;
-  int                        ref_count;
-  glitz_texture_parameters_t param;
-};
-
-struct _glitz_buffer {
-  glitz_gl_uint_t  name;
-  glitz_gl_enum_t  target;
-  void             *data;
-  int              owns_data;
-  int              ref_count;
-  glitz_surface_t  *front_surface;
-  glitz_surface_t  *back_surface;
-  glitz_drawable_t *drawable;
-};
-
-struct _glitz_multi_array {
-  int ref_count;
-  int size;
-  int n_arrays;
-  int *first;
-  int *sizes;
-  int *count;
-  int *span, *current_span;
-  glitz_vec2_t *off;
-};
-
-typedef struct _glitz_int_coordinate {
-  glitz_gl_enum_t type;
-  int             size, offset;
-} glitz_int_coordinate_t;
-
-typedef struct _glitz_vertex_info {
-  glitz_gl_enum_t        prim;
-  glitz_gl_enum_t        type;
-  glitz_int_coordinate_t src;
-  glitz_int_coordinate_t mask;
-} glitz_vertex_info_t;
-
-typedef struct _glitz_bitmap_info {
-  glitz_bool_t     top_down;
-  glitz_gl_int_t   pad;
-  glitz_gl_ubyte_t *base;
-} glitz_bitmap_info_t;
-
-typedef struct _glitz_geometry {
-  glitz_geometry_type_t type;
-  glitz_buffer_t        *buffer;
-  glitz_gl_sizei_t      stride;
-  glitz_gl_float_t      data[8];
-  glitz_gl_int_t        first;
-  glitz_gl_int_t        size;
-  glitz_gl_sizei_t      count;
-  glitz_vec2_t          off;
-  glitz_multi_array_t   *array;
-  unsigned long         attributes;
-  union {
-    glitz_vertex_info_t v;
-    glitz_bitmap_info_t b;
-  } u;
-} glitz_geometry_t;
-
-#define GLITZ_SURFACE_FLAG_SOLID_MASK                   (1L <<  0)
-#define GLITZ_SURFACE_FLAG_REPEAT_MASK                  (1L <<  1)
-#define GLITZ_SURFACE_FLAG_MIRRORED_MASK                (1L <<  2)
-#define GLITZ_SURFACE_FLAG_PAD_MASK                     (1L <<  3)
-#define GLITZ_SURFACE_FLAG_COMPONENT_ALPHA_MASK         (1L <<  4)
-#define GLITZ_SURFACE_FLAG_DITHER_MASK                  (1L <<  5)
-#define GLITZ_SURFACE_FLAG_MULTISAMPLE_MASK             (1L <<  6)
-#define GLITZ_SURFACE_FLAG_NICEST_MULTISAMPLE_MASK      (1L <<  7)
-#define GLITZ_SURFACE_FLAG_SOLID_DAMAGE_MASK            (1L <<  8)
-#define GLITZ_SURFACE_FLAG_FRAGMENT_FILTER_MASK         (1L <<  9)
-#define GLITZ_SURFACE_FLAG_LINEAR_TRANSFORM_FILTER_MASK (1L << 10)
-#define GLITZ_SURFACE_FLAG_IGNORE_WRAP_MASK             (1L << 11)
-#define GLITZ_SURFACE_FLAG_EYE_COORDS_MASK              (1L << 12)
-#define GLITZ_SURFACE_FLAG_TRANSFORM_MASK               (1L << 13)
-#define GLITZ_SURFACE_FLAG_PROJECTIVE_TRANSFORM_MASK    (1L << 14)
-#define GLITZ_SURFACE_FLAG_GEN_S_COORDS_MASK            (1L << 15)
-#define GLITZ_SURFACE_FLAG_GEN_T_COORDS_MASK            (1L << 16)
-
-#define GLITZ_SURFACE_FLAGS_GEN_COORDS_MASK  \
-    (GLITZ_SURFACE_FLAG_GEN_S_COORDS_MASK | \
-     GLITZ_SURFACE_FLAG_GEN_T_COORDS_MASK)
-
-#define SURFACE_SOLID(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_SOLID_MASK)
-
-#define SURFACE_REPEAT(surface) \
-  (((surface)->flags & GLITZ_SURFACE_FLAG_REPEAT_MASK) && \
-   (!((surface)->flags & GLITZ_SURFACE_FLAG_IGNORE_WRAP_MASK)))
-
-#define SURFACE_MIRRORED(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_MIRRORED_MASK)
-
-#define SURFACE_PAD(surface) \
-  (((surface)->flags & GLITZ_SURFACE_FLAG_PAD_MASK) && \
-   (!((surface)->flags & GLITZ_SURFACE_FLAG_IGNORE_WRAP_MASK)))
-
-#define SURFACE_COMPONENT_ALPHA(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_COMPONENT_ALPHA_MASK)
-
-#define SURFACE_DITHER(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_DITHER_MASK)
-
-#define SURFACE_SOLID_DAMAGE(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_SOLID_DAMAGE_MASK)
-
-#define SURFACE_FRAGMENT_FILTER(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_FRAGMENT_FILTER_MASK)
-
-#define SURFACE_LINEAR_TRANSFORM_FILTER(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_LINEAR_TRANSFORM_FILTER_MASK)
-
-#define SURFACE_EYE_COORDS(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_EYE_COORDS_MASK)
-
-#define SURFACE_TRANSFORM(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_TRANSFORM_MASK)
-
-#define SURFACE_PROJECTIVE_TRANSFORM(surface) \
-  ((surface)->flags & GLITZ_SURFACE_FLAG_PROJECTIVE_TRANSFORM_MASK)
-
-typedef struct _glitz_filter_params_t glitz_filter_params_t;
-
-typedef struct _glitz_matrix {
-  glitz_float_t t[16];
-  glitz_float_t m[16];
-} glitz_matrix_t;
-
-#define GLITZ_DAMAGE_TEXTURE_MASK  (1 << 0)
-#define GLITZ_DAMAGE_DRAWABLE_MASK (1 << 1)
-#define GLITZ_DAMAGE_SOLID_MASK    (1 << 2)
-
-struct _glitz_surface {
-  int                   ref_count;
-  glitz_format_t        *format;
-  glitz_texture_t       texture;
-  glitz_drawable_t      *drawable;
-  glitz_drawable_t      *attached;
-  unsigned long         status_mask;
-  glitz_filter_t        filter;
-  glitz_filter_params_t *filter_params;
-  glitz_matrix_t        *transform;
-  int                   x, y;
-  glitz_box_t           box;
-  short                 x_clip, y_clip;
-  glitz_box_t           *clip;
-  int                   n_clip;
-  glitz_gl_enum_t       buffer;
-  unsigned long         flags;
-  glitz_color_t         solid;
-  glitz_geometry_t      geometry;
-  void                  *arrays;
-  int                   n_arrays;
-  int                   *first;
-  unsigned int          *count;
-  glitz_vec2_t          *off;
-  int                   default_first;
-  unsigned int          default_count;
-  glitz_vec2_t          default_off;
-  int                   *primcount;
-  glitz_region_t        texture_damage;
-  glitz_region_t        drawable_damage;
-  unsigned int          flip_count;
-  glitz_gl_int_t        fb;
-};
-
-#define GLITZ_GL_SURFACE(surface) \
-  glitz_gl_proc_address_list_t *gl = (surface)->drawable->backend->gl;
-
-struct _glitz_context {
-  int                           ref_count;
-  glitz_drawable_t              *drawable;
-  void                          *closure;
-  glitz_lose_current_function_t lose_current;
-};
-
-typedef struct _glitz_composite_op_t glitz_composite_op_t;
-
-typedef void (*glitz_combine_function_t) (glitz_composite_op_t *);
-
-typedef struct _glitz_combine_t {
-  glitz_combine_type_t     type;
-  glitz_combine_function_t enable;
-  int                      texture_units;
-  int                      source_shader;
-} glitz_combine_t;
-
-struct _glitz_composite_op_t {
-  glitz_combine_type_t         type;
-  glitz_combine_t              *combine;
-  glitz_gl_proc_address_list_t *gl;
-  glitz_operator_t             render_op;
-  glitz_surface_t              *src;
-  glitz_surface_t              *mask;
-  glitz_surface_t              *dst;
-  glitz_color_t                *solid;
-  glitz_color_t                alpha_mask;
-  int                          per_component;
-  glitz_gl_uint_t              fp;
-  int                          count;
-};
-
-typedef struct _glitz_extension_map {
-  glitz_gl_float_t version;
-  char             *name;
-  int              mask;
-} glitz_extension_map;
-
-extern void __internal_linkage
-glitz_set_operator (glitz_gl_proc_address_list_t *gl,
-		    glitz_operator_t             op);
-
-unsigned long
-glitz_extensions_query (glitz_gl_float_t    version,
-			const char          *extensions_string,
-			glitz_extension_map *extensions_map);
-
-typedef glitz_function_pointer_t (* glitz_get_proc_address_proc_t)
-     (const char *name, void *closure);
-
-void
-glitz_backend_init (glitz_backend_t               *backend,
-		    glitz_get_proc_address_proc_t get_proc_address,
-		    void                          *closure);
-
-extern unsigned int __internal_linkage
-glitz_uint_to_power_of_two (unsigned int x);
-
-extern void __internal_linkage
-glitz_set_raster_pos (glitz_gl_proc_address_list_t *gl,
-		      glitz_float_t                x,
-		      glitz_float_t                y);
-
-extern void __internal_linkage
-glitz_clamp_value (glitz_float_t *value,
-		   glitz_float_t min,
-		   glitz_float_t max);
-
-void
-glitz_initiate_state (glitz_gl_proc_address_list_t *gl);
-
-void
-glitz_create_surface_formats (glitz_gl_proc_address_list_t *gl,
-			      glitz_format_t               **formats,
-			      glitz_gl_int_t               **texture_formats,
-			      int                          *n_formats,
-                              unsigned long                features);
-
-extern void __internal_linkage
-_glitz_add_drawable_formats (glitz_gl_proc_address_list_t *gl,
-			     unsigned long		  feature_mask,
-			     glitz_int_drawable_format_t  **formats,
-			     int                          *n_formats);
-
-void
-glitz_drawable_format_copy (const glitz_drawable_format_t *src,
-			    glitz_drawable_format_t	  *dst,
-			    unsigned long		  mask);
-
-glitz_drawable_format_t *
-glitz_drawable_format_find (glitz_int_drawable_format_t       *formats,
-			    int                               n_formats,
-			    unsigned long                     mask,
-			    const glitz_int_drawable_format_t *templ,
-			    int                               count);
-
-void
-glitz_texture_init (glitz_texture_t *texture,
-		    int             width,
-		    int             height,
-		    glitz_gl_int_t  texture_format,
-		    glitz_fourcc_t  fourcc,
-		    unsigned long   feature_mask,
-		    glitz_bool_t    unnormalized);
-
-void
-glitz_texture_fini (glitz_gl_proc_address_list_t *gl,
-		    glitz_texture_t              *texture);
-
-void
-glitz_texture_size_check (glitz_gl_proc_address_list_t *gl,
-			  glitz_texture_t              *texture,
-			  glitz_gl_int_t               max_2d,
-			  glitz_gl_int_t               max_rect);
-
-void
-glitz_texture_allocate (glitz_gl_proc_address_list_t *gl,
-			glitz_texture_t              *texture);
-
-extern void __internal_linkage
-glitz_texture_ensure_parameters (glitz_gl_proc_address_list_t *gl,
-				 glitz_texture_t	      *texture,
-				 glitz_texture_parameters_t   *param);
-
-void
-glitz_texture_bind (glitz_gl_proc_address_list_t *gl,
-		    glitz_texture_t              *texture);
-
-void
-glitz_texture_unbind (glitz_gl_proc_address_list_t *gl,
-		      glitz_texture_t              *texture);
-
-void
-glitz_texture_copy_drawable (glitz_gl_proc_address_list_t *gl,
-			     glitz_texture_t              *texture,
-			     glitz_drawable_t             *drawable,
-			     int                          x_drawable,
-			     int                          y_drawable,
-			     int                          width,
-			     int                          height,
-			     int                          x_texture,
-			     int                          y_texture);
-
-void
-glitz_texture_set_tex_gen (glitz_gl_proc_address_list_t *gl,
-			   glitz_texture_t              *texture,
-			   glitz_geometry_t             *geometry,
-			   int                          x_src,
-			   int                          y_src,
-			   unsigned long                flags,
-			   glitz_int_coordinate_t       *coord);
-
-extern void __internal_linkage
-_glitz_surface_sync_texture (glitz_surface_t *surface);
-
-extern glitz_texture_t __internal_linkage *
-glitz_surface_get_texture (glitz_surface_t *surface,
-			   glitz_bool_t    allocate);
-
-extern void __internal_linkage
-glitz_surface_sync_solid (glitz_surface_t *surface);
-
-extern glitz_bool_t __internal_linkage
-glitz_surface_push_current (glitz_surface_t    *surface,
-			    glitz_constraint_t constraint);
-
-extern void __internal_linkage
-glitz_surface_pop_current (glitz_surface_t *surface);
-
-extern void __internal_linkage
-glitz_surface_damage (glitz_surface_t *surface,
-		      glitz_box_t     *box,
-		      int             what);
-
-extern void __internal_linkage
-glitz_surface_sync_drawable (glitz_surface_t *surface);
-
-extern void __internal_linkage
-glitz_surface_status_add (glitz_surface_t *surface,
-			  int             flags);
-
-extern unsigned long __internal_linkage
-glitz_status_to_status_mask (glitz_status_t status);
-
-extern glitz_status_t __internal_linkage
-glitz_status_pop_from_mask (unsigned long *mask);
-
-void
-glitz_program_map_init (glitz_program_map_t *map);
-
-void
-glitz_program_map_fini (glitz_gl_proc_address_list_t *gl,
-			glitz_program_map_t          *map);
-
-extern glitz_gl_uint_t __internal_linkage
-glitz_get_fragment_program (glitz_composite_op_t *op,
-			    int                  fp_type,
-			    int                  id);
-
-extern void __internal_linkage
-glitz_composite_op_init (glitz_composite_op_t *op,
-			 glitz_operator_t     render_op,
-			 glitz_surface_t      *src,
-			 glitz_surface_t      *mask,
-			 glitz_surface_t      *dst);
-
-extern void __internal_linkage
-glitz_composite_enable (glitz_composite_op_t *op);
-
-extern void __internal_linkage
-glitz_composite_disable (glitz_composite_op_t *op);
-
-extern void __internal_linkage *
-glitz_buffer_bind (glitz_buffer_t  *buffer,
-		   glitz_gl_enum_t target);
-
-extern void __internal_linkage
-glitz_buffer_unbind (glitz_buffer_t *buffer);
-
-extern glitz_status_t __internal_linkage
-glitz_filter_set_params (glitz_surface_t    *surface,
-			 glitz_filter_t     filter,
-			 glitz_fixed16_16_t *params,
-			 int                n_params);
-
-extern void __internal_linkage
-glitz_filter_set_type (glitz_surface_t *surface,
-		       glitz_filter_t  filter);
-
-extern glitz_gl_uint_t __internal_linkage
-glitz_filter_get_vertex_program (glitz_surface_t      *surface,
-				 glitz_composite_op_t *op);
-
-extern glitz_gl_uint_t __internal_linkage
-glitz_filter_get_fragment_program (glitz_surface_t      *surface,
-				   glitz_composite_op_t *op);
-
-extern void __internal_linkage
-glitz_filter_enable (glitz_surface_t      *surface,
-		     glitz_composite_op_t *op);
-
-extern void __internal_linkage
-glitz_geometry_enable_none (glitz_gl_proc_address_list_t *gl,
-			    glitz_surface_t              *dst,
-			    glitz_box_t                  *box);
-
-extern void __internal_linkage
-glitz_geometry_enable (glitz_gl_proc_address_list_t *gl,
-		       glitz_surface_t              *dst,
-		       glitz_box_t                  *box);
-
-extern void __internal_linkage
-glitz_geometry_disable (glitz_surface_t *dst);
-
-extern void __internal_linkage
-glitz_geometry_draw_arrays (glitz_gl_proc_address_list_t *gl,
-			    glitz_surface_t              *dst,
-			    glitz_geometry_type_t        type,
-			    glitz_box_t                  *bounds,
-			    int                          damage);
-
-void
-_glitz_drawable_init (glitz_drawable_t	          *drawable,
-		      glitz_int_drawable_format_t *format,
-		      glitz_backend_t	          *backend,
-		      int		          width,
-		      int		          height);
-
-void
-_glitz_drawable_draw_buffer (void                  *abstract_drawable,
-			     const glitz_gl_enum_t buffer);
-
-void
-_glitz_drawable_read_buffer (void                  *abstract_drawable,
-			     const glitz_gl_enum_t buffer);
-
-extern glitz_drawable_t __internal_linkage *
-_glitz_fbo_drawable_create (glitz_drawable_t	        *other,
-			    glitz_int_drawable_format_t *format,
-			    int	                        width,
-			    int	                        height);
-
-void
-_glitz_context_init (glitz_context_t  *context,
-		     glitz_drawable_t *drawable);
-
-void
-_glitz_context_fini (glitz_context_t *context);
-
-
-#define MAXSHORT SHRT_MAX
-#define MINSHORT SHRT_MIN
-
-#define MIN(a,b) ((a) < (b) ? (a) : (b))
-#define MAX(a,b) ((a) > (b) ? (a) : (b))
-
-#define LSBFirst 0
-#define MSBFirst 1
-
-#ifdef WORDS_BIGENDIAN
-#  define IMAGE_BYTE_ORDER MSBFirst
-#  define BITMAP_BIT_ORDER MSBFirst
-#else
-#  define IMAGE_BYTE_ORDER LSBFirst
-#  define BITMAP_BIT_ORDER LSBFirst
-#endif
-
-#define GLITZ_PI 3.14159265358979323846f
-
-/* Fixed point updates from Carl Worth, USC, Information Sciences Institute */
-
-#ifdef _MSC_VER
-typedef __int64 glitz_fixed_32_32;
-#else
-#  if defined(__alpha__) || defined(__alpha) || \
-      defined(ia64) || defined(__ia64__) || \
-      defined(__sparc64__) || \
-      defined(__s390x__) || \
-      defined(x86_64) || defined (__x86_64__)
-typedef long glitz_fixed_32_32;
-# else
-#  if defined(__GNUC__) && \
-    ((__GNUC__ > 2) || \
-     ((__GNUC__ == 2) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ > 7)))
-__extension__
-#  endif
-typedef long long int glitz_fixed_32_32;
-# endif
-#endif
-
-typedef uint32_t glitz_fixed_1_31;
-typedef uint32_t glitz_fixed_1_16;
-typedef int32_t glitz_fixed_16_16;
-
-/*
- * An unadorned "glitz_fixed" is the same as glitz_fixed_16_16,
- * (since it's quite common in the code)
- */
-typedef glitz_fixed_16_16 glitz_fixed;
-
-#define FIXED_BITS 16
-
-#define FIXED_TO_INT(f) (int) ((f) >> FIXED_BITS)
-#define INT_TO_FIXED(i) ((glitz_fixed) (i) << FIXED_BITS)
-#define FIXED_E ((glitz_fixed) 1)
-#define FIXED1 (INT_TO_FIXED (1))
-#define FIXED1_MINUS_E (FIXED1 - FIXED_E)
-#define FIXED_FRAC(f) ((f) & FIXED1_MINUS_E)
-#define FIXED_FLOOR(f) ((f) & ~FIXED1_MINUS_E)
-#define FIXED_CEIL(f) FIXED_FLOOR ((f) + FIXED1_MINUS_E)
-
-#define FIXED_FRACTION(f) ((f) & FIXED1_MINUS_E)
-#define FIXED_MOD2(f) ((f) & (FIXED1 | FIXED1_MINUS_E))
-
-#define FIXED_TO_FLOAT(f) (((glitz_float_t) (f)) / 65536)
-#define FLOAT_TO_FIXED(f) ((int) ((f) * 65536))
-
-#define SHORT_MULT(s1, s2) \
-  ((s1 == 0xffff)? s2: ((s2 == 0xffff)? s1: \
-  ((unsigned short) (((unsigned int) s1 * s2) / 0xffff))))
-
-#define POWER_OF_TWO(v) ((v & (v - 1)) == 0)
-
-/*
- * VC's math.h is pretty horrible
- */
-#ifdef _MSC_VER
-#define ceilf(_X)  ((float)ceil((double)(_X)))
-#define sqrtf(_X)  ((float)sqrt((double)(_X)))
-#define floorf(_X)  ((float)floor((double)(_X)))
-#define sinf(_X) ((float)sin((double)(_X)))
-#define cosf(_X) ((float)cos((double)(_X)))
-#define atan2f(_X,_Y) ((float)atan2((double)(_X),(double)(_Y)))
-#define sqrtf(_X) ((float)sqrt((double)(_X)))
-#endif
-
-#endif /* GLITZINT_H_INCLUDED */


More information about the xorg-commit mailing list