windows-nt/Source/XPSP1/NT/multimedia/opengl/inc/glsbmsgh.h
2020-09-26 16:20:57 +08:00

778 lines
12 KiB
C

/*
** Copyright 1991, 1992, Silicon Graphics, Inc.
** All Rights Reserved.
**
** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
** the contents of this file may not be disclosed to third parties, copied or
** duplicated in any form, in whole or in part, without the prior written
** permission of Silicon Graphics, Inc.
**
** RESTRICTED RIGHTS LEGEND:
** Use, duplication or disclosure by the Government is subject to restrictions
** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
** rights reserved under the Copyright Laws of the United States.
*/
/*
* Message for handcoded OpenGL functions going through the subbatch
*/
#ifndef __GLSBMSGH_H__
#define __GLSBMSGH_H__
typedef struct
{
ULONG ProcOffset;
GLenum pname;
GLfloat params[4];
} GLMSG_FOGFV, GLMSG_FOGF;
typedef struct
{
ULONG ProcOffset;
GLenum pname;
GLint params[4];
} GLMSG_FOGIV, GLMSG_FOGI;
typedef struct
{
ULONG ProcOffset;
GLenum light;
GLenum pname;
GLfloat params[4];
} GLMSG_LIGHTFV, GLMSG_LIGHTF;
typedef struct
{
ULONG ProcOffset;
GLenum light;
GLenum pname;
GLint params[4];
} GLMSG_LIGHTIV, GLMSG_LIGHTI;
typedef struct
{
ULONG ProcOffset;
GLenum pname;
GLfloat params[4];
} GLMSG_LIGHTMODELFV, GLMSG_LIGHTMODELF;
typedef struct
{
ULONG ProcOffset;
GLenum pname;
GLint params[4];
} GLMSG_LIGHTMODELIV, GLMSG_LIGHTMODELI;
typedef struct
{
ULONG ProcOffset;
GLenum face;
GLenum pname;
GLfloat params[4];
} GLMSG_MATERIALFV, GLMSG_MATERIALF;
typedef struct
{
ULONG ProcOffset;
GLenum face;
GLenum pname;
GLint params[4];
} GLMSG_MATERIALIV, GLMSG_MATERIALI;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
GLfloat params[4];
} GLMSG_TEXPARAMETERFV, GLMSG_TEXPARAMETERF;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
GLint params[4];
} GLMSG_TEXPARAMETERIV, GLMSG_TEXPARAMETERI;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
GLfloat params[4];
} GLMSG_TEXENVFV, GLMSG_TEXENVF;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
GLint params[4];
} GLMSG_TEXENVIV, GLMSG_TEXENVI;
typedef struct
{
ULONG ProcOffset;
GLenum coord;
GLenum pname;
GLdouble params[4];
} GLMSG_TEXGENDV, GLMSG_TEXGEND;
typedef struct
{
ULONG ProcOffset;
GLenum coord;
GLenum pname;
GLfloat params[4];
} GLMSG_TEXGENFV, GLMSG_TEXGENF;
typedef struct
{
ULONG ProcOffset;
GLenum coord;
GLenum pname;
GLint params[4];
} GLMSG_TEXGENIV, GLMSG_TEXGENI;
typedef struct
{
ULONG ProcOffset;
GLenum pname;
#ifdef _CLIENTSIDE_
GLboolean *params;
#else
GLboolean params[16];
#endif
} GLMSG_GETBOOLEANV;
typedef struct
{
ULONG ProcOffset;
GLenum pname;
#ifdef _CLIENTSIDE_
GLdouble *params;
#else
GLdouble params[16];
#endif
} GLMSG_GETDOUBLEV;
typedef struct
{
ULONG ProcOffset;
GLenum pname;
#ifdef _CLIENTSIDE_
GLfloat *params;
#else
GLfloat params[16];
#endif
} GLMSG_GETFLOATV;
typedef struct
{
ULONG ProcOffset;
GLenum pname;
#ifdef _CLIENTSIDE_
GLint *params;
#else
GLint params[16];
#endif
} GLMSG_GETINTEGERV;
typedef struct
{
ULONG ProcOffset;
GLenum light;
GLenum pname;
#ifdef _CLIENTSIDE_
GLfloat *params;
#else
GLfloat params[4];
#endif
} GLMSG_GETLIGHTFV;
typedef struct
{
ULONG ProcOffset;
GLenum light;
GLenum pname;
#ifdef _CLIENTSIDE_
GLint *params;
#else
GLint params[4];
#endif
} GLMSG_GETLIGHTIV;
typedef struct
{
ULONG ProcOffset;
GLenum face;
GLenum pname;
#ifdef _CLIENTSIDE_
GLfloat *params;
#else
GLfloat params[4];
#endif
} GLMSG_GETMATERIALFV;
typedef struct
{
ULONG ProcOffset;
GLenum face;
GLenum pname;
#ifdef _CLIENTSIDE_
GLint *params;
#else
GLint params[4];
#endif
} GLMSG_GETMATERIALIV;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
#ifdef _CLIENTSIDE_
GLfloat *params;
#else
GLfloat params[4];
#endif
} GLMSG_GETTEXENVFV;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
#ifdef _CLIENTSIDE_
GLint *params;
#else
GLint params[4];
#endif
} GLMSG_GETTEXENVIV;
typedef struct
{
ULONG ProcOffset;
GLenum coord;
GLenum pname;
#ifdef _CLIENTSIDE_
GLdouble *params;
#else
GLdouble params[4];
#endif
} GLMSG_GETTEXGENDV;
typedef struct
{
ULONG ProcOffset;
GLenum coord;
GLenum pname;
#ifdef _CLIENTSIDE_
GLfloat *params;
#else
GLfloat params[4];
#endif
} GLMSG_GETTEXGENFV;
typedef struct
{
ULONG ProcOffset;
GLenum coord;
GLenum pname;
#ifdef _CLIENTSIDE_
GLint *params;
#else
GLint params[4];
#endif
} GLMSG_GETTEXGENIV;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
#ifdef _CLIENTSIDE_
GLfloat *params;
#else
GLfloat params[4];
#endif
} GLMSG_GETTEXPARAMETERFV;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
#ifdef _CLIENTSIDE_
GLint *params;
#else
GLint params[4];
#endif
} GLMSG_GETTEXPARAMETERIV;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLint level;
GLenum pname;
#ifdef _CLIENTSIDE_
GLfloat *params;
#else
GLfloat params[1];
#endif
} GLMSG_GETTEXLEVELPARAMETERFV;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLint level;
GLenum pname;
#ifdef _CLIENTSIDE_
GLint *params;
#else
GLint params[1];
#endif
} GLMSG_GETTEXLEVELPARAMETERIV;
typedef struct
{
ULONG_PTR ProcOffset;
GLsizei size;
GLenum type;
ULONG_PTR bufferOff;
} GLMSG_FEEDBACKBUFFER;
typedef struct
{
ULONG ProcOffset;
GLsizei size;
ULONG_PTR bufferOff;
} GLMSG_SELECTBUFFER;
typedef struct
{
ULONG ProcOffset;
GLenum mode;
} GLMSG_RENDERMODE;
typedef struct
{
// This only used so that the code compiles.
// GetString is included in the proctables.
// However, GetString() is currently implemented
// on the client side.
ULONG ProcOffset;
} GLMSG_GETSTRING;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLdouble u1;
GLdouble u2;
GLint stride;
GLint order;
#ifndef _CLIENTSIDE_
ULONG MsgSize;
ULONG DataSize;
#endif
ULONG pointsOff;
} GLMSG_MAP1D;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLfloat u1;
GLfloat u2;
GLint stride;
GLint order;
#ifndef _CLIENTSIDE_
ULONG MsgSize;
ULONG DataSize;
#endif
ULONG pointsOff;
} GLMSG_MAP1F;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLdouble u1;
GLdouble u2;
GLint ustride;
GLint uorder;
GLdouble v1;
GLdouble v2;
GLint vstride;
GLint vorder;
#ifndef _CLIENTSIDE_
ULONG MsgSize;
ULONG DataSize;
#endif
ULONG pointsOff;
} GLMSG_MAP2D;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLfloat u1;
GLfloat u2;
GLint ustride;
GLint uorder;
GLfloat v1;
GLfloat v2;
GLint vstride;
GLint vorder;
#ifndef _CLIENTSIDE_
ULONG MsgSize;
ULONG DataSize;
#endif
ULONG pointsOff;
} GLMSG_MAP2F;
typedef struct
{
ULONG ProcOffset ;
GLint x ;
GLint y ;
GLsizei width ;
GLsizei height ;
GLenum format ;
GLenum type ;
ULONG_PTR pixelsOff ;
} GLMSG_READPIXELS;
typedef struct
{
ULONG ProcOffset ;
GLenum target ;
GLint level ;
GLenum format ;
GLenum type ;
ULONG_PTR pixelsOff ;
} GLMSG_GETTEXIMAGE;
typedef struct
{
ULONG ProcOffset ;
GLsizei width ;
GLsizei height ;
GLenum format ;
GLenum type ;
ULONG_PTR pixelsOff ;
GLboolean _IsDlist ;
} GLMSG_DRAWPIXELS;
typedef struct
{
ULONG ProcOffset ;
GLsizei width ;
GLsizei height ;
GLfloat xorig ;
GLfloat yorig ;
GLfloat xmove ;
GLfloat ymove ;
ULONG_PTR bitmapOff ;
GLboolean _IsDlist ;
} GLMSG_BITMAP;
typedef struct
{
ULONG ProcOffset ;
ULONG_PTR maskOff ;
GLboolean _IsDlist ;
} GLMSG_POLYGONSTIPPLE, GLMSG_GETPOLYGONSTIPPLE;
typedef struct
{
ULONG ProcOffset ;
GLenum target ;
GLint level ;
GLint components ;
GLsizei width ;
GLint border ;
GLenum format ;
GLenum type ;
ULONG_PTR pixelsOff ;
GLboolean _IsDlist ;
} GLMSG_TEXIMAGE1D;
typedef struct
{
ULONG ProcOffset ;
GLenum target ;
GLint level ;
GLint components ;
GLsizei width ;
GLsizei height ;
GLint border ;
GLenum format ;
GLenum type ;
ULONG_PTR pixelsOff ;
GLboolean _IsDlist ;
} GLMSG_TEXIMAGE2D;
typedef struct
{
ULONG ProcOffset;
GLsizei n;
const GLuint *textures;
GLboolean *residences;
} GLMSG_ARETEXTURESRESIDENT;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLuint texture;
} GLMSG_BINDTEXTURE;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLint level;
GLenum internalformat;
GLint x;
GLint y;
GLsizei width;
GLint border;
} GLMSG_COPYTEXIMAGE1D;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLint level;
GLenum internalformat;
GLint x;
GLint y;
GLsizei width;
GLsizei height;
GLint border;
} GLMSG_COPYTEXIMAGE2D;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLint level;
GLint xoffset;
GLint yoffset;
GLint x;
GLint y;
GLsizei width;
} GLMSG_COPYTEXSUBIMAGE1D;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLint level;
GLint xoffset;
GLint yoffset;
GLint x;
GLint y;
GLsizei width;
GLsizei height;
} GLMSG_COPYTEXSUBIMAGE2D;
typedef struct
{
ULONG ProcOffset;
GLsizei n;
const GLuint *textures;
} GLMSG_DELETETEXTURES;
typedef struct
{
ULONG ProcOffset;
GLsizei n;
GLuint *textures;
} GLMSG_GENTEXTURES;
typedef struct
{
ULONG ProcOffset;
GLuint texture;
} GLMSG_ISTEXTURE;
typedef struct
{
ULONG ProcOffset;
GLsizei n;
const GLuint *textures;
const GLclampf *priorities;
} GLMSG_PRIORITIZETEXTURES;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLint level;
GLint xoffset;
GLsizei width;
GLenum format;
GLenum type;
ULONG_PTR pixelsOff;
GLboolean _IsDlist ;
} GLMSG_TEXSUBIMAGE1D;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLint level;
GLint xoffset;
GLint yoffset;
GLsizei width;
GLsizei height;
GLenum format;
GLenum type;
ULONG_PTR pixelsOff;
GLboolean _IsDlist ;
} GLMSG_TEXSUBIMAGE2D;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum internalFormat;
GLsizei width;
GLenum format;
GLenum type;
const GLvoid *data;
GLboolean _IsDlist;
} GLMSG_COLORTABLEEXT;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLuint start;
GLsizei count;
GLenum format;
GLenum type;
const GLvoid *data;
GLboolean _IsDlist;
} GLMSG_COLORSUBTABLEEXT;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum format;
GLenum type;
GLvoid *data;
} GLMSG_GETCOLORTABLEEXT;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
GLint *params;
} GLMSG_GETCOLORTABLEPARAMETERIVEXT;
typedef struct
{
ULONG ProcOffset;
GLenum target;
GLenum pname;
GLfloat *params;
} GLMSG_GETCOLORTABLEPARAMETERFVEXT;
typedef struct
{
ULONG ProcOffset;
GLfloat factor;
GLfloat units;
} GLMSG_POLYGONOFFSET;
#ifdef GL_WIN_multiple_textures
typedef struct
{
ULONG ProcOffset;
GLuint index;
} GLMSG_CURRENTTEXTUREINDEXWIN;
typedef struct
{
ULONG ProcOffset;
GLuint index;
GLenum target;
GLuint texture;
} GLMSG_BINDNTHTEXTUREWIN;
typedef struct
{
ULONG ProcOffset;
GLuint index;
GLenum leftColorFactor;
GLenum colorOp;
GLenum rightColorFactor;
GLenum leftAlphaFactor;
GLenum alphaOp;
GLenum rightAlphaFactor;
} GLMSG_NTHTEXCOMBINEFUNCWIN;
#endif // GL_WIN_multiple_textures
#endif /* !__GLSBMSGH_H__ */