reactos/dll/opengl/mesa/dlist.h
Jérôme Gardou 5f2bebf7a5 [OPENGL32][MESA] Downgrade Mesa library to version 2.6
With this commit, we now use a forked version of MESA which only supports OpenGL 1.1, like the windows implementation does.
It exposes :
  - The same pixel formats
  - The same set of extensions
  - Nothing more
All of this without taking 10% of your build time.
If you need a more modern option, look at the MESA package from Rapps, which is (and must be) maintained outside of this code tree.
CORE-7499
2019-01-19 14:23:54 +01:00

433 lines
15 KiB
C

/* $Id: dlist.h,v 1.15 1997/12/06 18:06:50 brianp Exp $ */
/*
* Mesa 3-D graphics library
* Version: 2.5
* Copyright (C) 1995-1997 Brian Paul
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*
* $Log: dlist.h,v $
* Revision 1.15 1997/12/06 18:06:50 brianp
* moved several static display list vars into GLcontext
*
* Revision 1.14 1997/10/29 01:29:09 brianp
* added GL_EXT_point_parameters extension from Daniel Barrero
*
* Revision 1.13 1997/09/27 00:13:44 brianp
* added GL_EXT_paletted_texture extension
*
* Revision 1.12 1997/06/20 01:57:57 brianp
* added gl_save_Color4ubv()
*
* Revision 1.11 1997/06/06 02:59:12 brianp
* added gl_destroy_list()
*
* Revision 1.10 1997/04/24 01:50:53 brianp
* optimized glColor3f, glColor3fv, glColor4fv
*
* Revision 1.9 1997/04/21 01:21:33 brianp
* added gl_save_Rectf()
*
* Revision 1.8 1997/04/20 16:18:15 brianp
* added glOrtho and glFrustum API pointers
*
* Revision 1.7 1997/04/16 23:55:33 brianp
* added optimized glTexCoord2f code
*
* Revision 1.6 1997/04/14 22:18:23 brianp
* added optimized glVertex3fv code
*
* Revision 1.5 1997/04/07 02:58:49 brianp
* added gl_save_Vertex[23]f() and related code
*
* Revision 1.4 1997/04/01 04:26:02 brianp
* added code for glLoadIdentity(), changed #include's
*
* Revision 1.3 1997/02/09 18:50:18 brianp
* added GL_EXT_texture3D support
*
* Revision 1.2 1996/11/07 04:12:45 brianp
* texture images are now gl_image structs, not gl_texture_image structs
*
* Revision 1.1 1996/09/13 01:38:16 brianp
* Initial revision
*
*/
#ifndef DLIST_H
#define DLIST_H
#include "types.h"
extern void gl_init_lists( void );
extern void gl_destroy_list( GLcontext *ctx, GLuint list );
extern void gl_CallList( GLcontext *ctx, GLuint list );
extern void gl_CallLists( GLcontext *ctx,
GLsizei n, GLenum type, const GLvoid *lists );
extern void gl_DeleteLists( GLcontext *ctx, GLuint list, GLsizei range );
extern void gl_EndList( GLcontext *ctx );
extern GLuint gl_GenLists( GLcontext *ctx, GLsizei range );
extern GLboolean gl_IsList( GLcontext *ctx, GLuint list );
extern void gl_ListBase( GLcontext *ctx, GLuint base );
extern void gl_NewList( GLcontext *ctx, GLuint list, GLenum mode );
extern void gl_save_Accum( GLcontext *ctx, GLenum op, GLfloat value );
extern void gl_save_AlphaFunc( GLcontext *ctx, GLenum func, GLclampf ref );
extern void gl_save_BlendFunc( GLcontext *ctx,
GLenum sfactor, GLenum dfactor );
extern void gl_save_Begin( GLcontext *ctx, GLenum mode );
extern void gl_save_BindTexture( GLcontext *ctx,
GLenum target, GLuint texture );
extern void gl_save_Bitmap( GLcontext *ctx, GLsizei width, GLsizei height,
GLfloat xorig, GLfloat yorig,
GLfloat xmove, GLfloat ymove,
const struct gl_image *bitmap );
extern void gl_save_CallList( GLcontext *ctx, GLuint list );
extern void gl_save_CallLists( GLcontext *ctx,
GLsizei n, GLenum type, const GLvoid *lists );
extern void gl_save_Clear( GLcontext *ctx, GLbitfield mask );
extern void gl_save_ClearAccum( GLcontext *ctx, GLfloat red, GLfloat green,
GLfloat blue, GLfloat alpha );
extern void gl_save_ClearColor( GLcontext *ctx, GLclampf red, GLclampf green,
GLclampf blue, GLclampf alpha );
extern void gl_save_ClearDepth( GLcontext *ctx, GLclampd depth );
extern void gl_save_ClearIndex( GLcontext *ctx, GLfloat c );
extern void gl_save_ClearStencil( GLcontext *ctx, GLint s );
extern void gl_save_ClipPlane( GLcontext *ctx,
GLenum plane, const GLfloat *equ );
extern void gl_save_Color3f( GLcontext *ctx, GLfloat r, GLfloat g, GLfloat b );
extern void gl_save_Color3fv( GLcontext *ctx, const GLfloat *c );
extern void gl_save_Color4f( GLcontext *ctx, GLfloat r, GLfloat g,
GLfloat b, GLfloat a );
extern void gl_save_Color4fv( GLcontext *ctx, const GLfloat *c );
extern void gl_save_Color4ub( GLcontext *ctx, GLubyte r, GLubyte g,
GLubyte b, GLubyte a );
extern void gl_save_Color4ubv( GLcontext *ctx, const GLubyte *c );
extern void gl_save_ColorMask( GLcontext *ctx, GLboolean red, GLboolean green,
GLboolean blue, GLboolean alpha );
extern void gl_save_ColorMaterial( GLcontext *ctx, GLenum face, GLenum mode );
extern void gl_save_ColorTable( GLcontext *ctx, GLenum target,
GLenum internalFormat,
struct gl_image *table );
extern void gl_save_ColorSubTable( GLcontext *ctx, GLenum target,
GLsizei start, struct gl_image *data );
extern void gl_save_CopyPixels( GLcontext *ctx, GLint x, GLint y,
GLsizei width, GLsizei height, GLenum type );
extern void gl_save_CopyTexImage1D( GLcontext *ctx,
GLenum target, GLint level,
GLenum internalformat,
GLint x, GLint y, GLsizei width,
GLint border );
extern void gl_save_CopyTexImage2D( GLcontext *ctx,
GLenum target, GLint level,
GLenum internalformat,
GLint x, GLint y, GLsizei width,
GLsizei height, GLint border );
extern void gl_save_CopyTexSubImage1D( GLcontext *ctx,
GLenum target, GLint level,
GLint xoffset, GLint x, GLint y,
GLsizei width );
extern void gl_save_CopyTexSubImage2D( GLcontext *ctx,
GLenum target, GLint level,
GLint xoffset, GLint yoffset,
GLint x, GLint y,
GLsizei width, GLint height );
extern void gl_save_CullFace( GLcontext *ctx, GLenum mode );
extern void gl_save_DepthFunc( GLcontext *ctx, GLenum func );
extern void gl_save_DepthMask( GLcontext *ctx, GLboolean mask );
extern void gl_save_DepthRange( GLcontext *ctx,
GLclampd nearval, GLclampd farval );
extern void gl_save_Disable( GLcontext *ctx, GLenum cap );
extern void gl_save_DrawBuffer( GLcontext *ctx, GLenum mode );
extern void gl_save_DrawPixels( GLcontext *ctx,
GLsizei width, GLsizei height, GLenum format,
GLenum type, const GLvoid *pixels );
extern void gl_save_EdgeFlag( GLcontext *ctx, GLboolean flag );
extern void gl_save_Enable( GLcontext *ctx, GLenum cap );
extern void gl_save_End( GLcontext *ctx );
extern void gl_save_EvalCoord1f( GLcontext *ctx, GLfloat u );
extern void gl_save_EvalCoord2f( GLcontext *ctx, GLfloat u, GLfloat v );
extern void gl_save_EvalMesh1( GLcontext *ctx,
GLenum mode, GLint i1, GLint i2 );
extern void gl_save_EvalMesh2( GLcontext *ctx, GLenum mode, GLint i1, GLint i2,
GLint j1, GLint j2 );
extern void gl_save_EvalPoint1( GLcontext *ctx, GLint i );
extern void gl_save_EvalPoint2( GLcontext *ctx, GLint i, GLint j );
extern void gl_save_Fogfv( GLcontext *ctx,
GLenum pname, const GLfloat *params );
extern void gl_save_FrontFace( GLcontext *ctx, GLenum mode );
extern void gl_save_Frustum( GLcontext *ctx, GLdouble left, GLdouble right,
GLdouble bottom, GLdouble top,
GLdouble nearval, GLdouble farval );
extern void gl_save_Hint( GLcontext *ctx, GLenum target, GLenum mode );
extern void gl_save_Indexf( GLcontext *ctx, GLfloat index );
extern void gl_save_Indexi( GLcontext *ctx, GLint index );
extern void gl_save_IndexMask( GLcontext *ctx, GLuint mask );
extern void gl_save_InitNames( GLcontext *ctx );
extern void gl_save_Lightfv( GLcontext *ctx, GLenum light, GLenum pname,
const GLfloat *params, GLint numparams );
extern void gl_save_LightModelfv( GLcontext *ctx, GLenum pname,
const GLfloat *params );
extern void gl_save_LineWidth( GLcontext *ctx, GLfloat width );
extern void gl_save_LineStipple( GLcontext *ctx, GLint factor,
GLushort pattern );
extern void gl_save_ListBase( GLcontext *ctx, GLuint base );
extern void gl_save_LoadIdentity( GLcontext *ctx );
extern void gl_save_LoadMatrixf( GLcontext *ctx, const GLfloat *m );
extern void gl_save_LoadName( GLcontext *ctx, GLuint name );
extern void gl_save_LogicOp( GLcontext *ctx, GLenum opcode );
extern void gl_save_Map1f( GLcontext *ctx, GLenum target,
GLfloat u1, GLfloat u2, GLint stride,
GLint order, const GLfloat *points,
GLboolean retain );
extern void gl_save_Map2f( GLcontext *ctx, GLenum target,
GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
const GLfloat *points,
GLboolean retain );
extern void gl_save_MapGrid1f( GLcontext *ctx, GLint un,
GLfloat u1, GLfloat u2 );
extern void gl_save_MapGrid2f( GLcontext *ctx,
GLint un, GLfloat u1, GLfloat u2,
GLint vn, GLfloat v1, GLfloat v2 );
extern void gl_save_Materialfv( GLcontext *ctx, GLenum face, GLenum pname,
const GLfloat *params );
extern void gl_save_MatrixMode( GLcontext *ctx, GLenum mode );
extern void gl_save_MultMatrixf( GLcontext *ctx, const GLfloat *m );
extern void gl_save_NewList( GLcontext *ctx, GLuint list, GLenum mode );
extern void gl_save_Normal3fv( GLcontext *ctx, const GLfloat n[3] );
extern void gl_save_Normal3f( GLcontext *ctx,
GLfloat nx, GLfloat ny, GLfloat nz );
extern void gl_save_Ortho( GLcontext *ctx, GLdouble left, GLdouble right,
GLdouble bottom, GLdouble top,
GLdouble nearval, GLdouble farval );
extern void gl_save_PassThrough( GLcontext *ctx, GLfloat token );
extern void gl_save_PixelMapfv( GLcontext *ctx, GLenum map, GLint mapsize,
const GLfloat *values );
extern void gl_save_PixelTransferf( GLcontext *ctx,
GLenum pname, GLfloat param );
extern void gl_save_PixelZoom( GLcontext *ctx,
GLfloat xfactor, GLfloat yfactor );
extern void gl_save_PointSize( GLcontext *ctx, GLfloat size );
extern void gl_save_PolygonMode( GLcontext *ctx, GLenum face, GLenum mode );
extern void gl_save_PolygonStipple( GLcontext *ctx, const GLubyte *mask );
extern void gl_save_PolygonOffset( GLcontext *ctx,
GLfloat factor, GLfloat units );
extern void gl_save_PopAttrib( GLcontext *ctx );
extern void gl_save_PopMatrix( GLcontext *ctx );
extern void gl_save_PopName( GLcontext *ctx );
extern void gl_save_PrioritizeTextures( GLcontext *ctx,
GLsizei n, const GLuint *textures,
const GLclampf *priorities );
extern void gl_save_PushAttrib( GLcontext *ctx, GLbitfield mask );
extern void gl_save_PushMatrix( GLcontext *ctx );
extern void gl_save_PushName( GLcontext *ctx, GLuint name );
extern void gl_save_RasterPos4f( GLcontext *ctx,
GLfloat x, GLfloat y, GLfloat z, GLfloat w );
extern void gl_save_ReadBuffer( GLcontext *ctx, GLenum mode );
extern void gl_save_Rectf( GLcontext *ctx,
GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
extern void gl_save_Rotatef( GLcontext *ctx, GLfloat angle,
GLfloat x, GLfloat y, GLfloat z );
extern void gl_save_Scalef( GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z );
extern void gl_save_Scissor( GLcontext *ctx,
GLint x, GLint y, GLsizei width, GLsizei height );
extern void gl_save_ShadeModel( GLcontext *ctx, GLenum mode );
extern void gl_save_StencilFunc( GLcontext *ctx,
GLenum func, GLint ref, GLuint mask );
extern void gl_save_StencilMask( GLcontext *ctx, GLuint mask );
extern void gl_save_StencilOp( GLcontext *ctx,
GLenum fail, GLenum zfail, GLenum zpass );
extern void gl_save_TexCoord2f( GLcontext *ctx, GLfloat s, GLfloat t );
extern void gl_save_TexCoord4f( GLcontext *ctx, GLfloat s, GLfloat t,
GLfloat r, GLfloat q );
extern void gl_save_TexEnvfv( GLcontext *ctx, GLenum target, GLenum pname,
const GLfloat *params );
extern void gl_save_TexParameterfv( GLcontext *ctx, GLenum target,
GLenum pname, const GLfloat *params );
extern void gl_save_TexGenfv( GLcontext *ctx, GLenum coord, GLenum pname,
const GLfloat *params );
extern void gl_save_TexImage1D( GLcontext *ctx, GLenum target,
GLint level, GLint components,
GLsizei width, GLint border,
GLenum format, GLenum type,
struct gl_image *teximage );
extern void gl_save_TexImage2D( GLcontext *ctx, GLenum target,
GLint level, GLint components,
GLsizei width, GLsizei height, GLint border,
GLenum format, GLenum type,
struct gl_image *teximage );
extern void gl_save_TexSubImage1D( GLcontext *ctx,
GLenum target, GLint level,
GLint xoffset, GLsizei width,
GLenum format, GLenum type,
struct gl_image *image );
extern void gl_save_TexSubImage2D( GLcontext *ctx,
GLenum target, GLint level,
GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height,
GLenum format, GLenum type,
struct gl_image *image );
extern void gl_save_Translatef( GLcontext *ctx,
GLfloat x, GLfloat y, GLfloat z );
extern void gl_save_Vertex2f( GLcontext *ctx,
GLfloat x, GLfloat y );
extern void gl_save_Vertex3f( GLcontext *ctx,
GLfloat x, GLfloat y, GLfloat z );
extern void gl_save_Vertex4f( GLcontext *ctx,
GLfloat x, GLfloat y, GLfloat z, GLfloat w );
extern void gl_save_Vertex3fv( GLcontext *ctx, const GLfloat *v );
extern void gl_save_Viewport( GLcontext *ctx, GLint x, GLint y,
GLsizei width, GLsizei height );
#endif