mirror of
https://github.com/reactos/reactos.git
synced 2024-07-18 18:36:14 +00:00
[FORMATTING] tabs -> spaces. No code changes.
svn path=/trunk/; revision=38576
This commit is contained in:
parent
35f9beeabd
commit
01cb1291d8
|
@ -30,60 +30,60 @@ int WINAPI glEmptyFunc8( long l1, long l2 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc12( long l1, long l2, long l3 ) { return 0; }
|
int WINAPI glEmptyFunc12( long l1, long l2, long l3 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc16( long l1, long l2, long l3, long l4 ) { return 0; }
|
int WINAPI glEmptyFunc16( long l1, long l2, long l3, long l4 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc20( long l1, long l2, long l3, long l4, long l5 )
|
int WINAPI glEmptyFunc20( long l1, long l2, long l3, long l4, long l5 )
|
||||||
{ return 0; }
|
{ return 0; }
|
||||||
int WINAPI glEmptyFunc24( long l1, long l2, long l3, long l4, long l5,
|
int WINAPI glEmptyFunc24( long l1, long l2, long l3, long l4, long l5,
|
||||||
long l6 ) { return 0; }
|
long l6 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc28( long l1, long l2, long l3, long l4, long l5,
|
int WINAPI glEmptyFunc28( long l1, long l2, long l3, long l4, long l5,
|
||||||
long l6, long l7 ) { return 0; }
|
long l6, long l7 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc32( long l1, long l2, long l3, long l4, long l5,
|
int WINAPI glEmptyFunc32( long l1, long l2, long l3, long l4, long l5,
|
||||||
long l6, long l7, long l8 ) { return 0; }
|
long l6, long l7, long l8 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc36( long l1, long l2, long l3, long l4, long l5,
|
int WINAPI glEmptyFunc36( long l1, long l2, long l3, long l4, long l5,
|
||||||
long l6, long l7, long l8, long l9 ) { return 0; }
|
long l6, long l7, long l8, long l9 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc40( long l1, long l2, long l3, long l4, long l5,
|
int WINAPI glEmptyFunc40( long l1, long l2, long l3, long l4, long l5,
|
||||||
long l6, long l7, long l8, long l9, long l10 )
|
long l6, long l7, long l8, long l9, long l10 )
|
||||||
{ return 0; }
|
{ return 0; }
|
||||||
int WINAPI glEmptyFunc44( long l1, long l2, long l3, long l4, long l5,
|
int WINAPI glEmptyFunc44( long l1, long l2, long l3, long l4, long l5,
|
||||||
long l6, long l7, long l8, long l9, long l10,
|
long l6, long l7, long l8, long l9, long l10,
|
||||||
long l11 ) { return 0; }
|
long l11 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc48( long l1, long l2, long l3, long l4, long l5,
|
int WINAPI glEmptyFunc48( long l1, long l2, long l3, long l4, long l5,
|
||||||
long l6, long l7, long l8, long l9, long l10,
|
long l6, long l7, long l8, long l9, long l10,
|
||||||
long l11, long l12 ) { return 0; }
|
long l11, long l12 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc52( long l1, long l2, long l3, long l4, long l5,
|
int WINAPI glEmptyFunc52( long l1, long l2, long l3, long l4, long l5,
|
||||||
long l6, long l7, long l8, long l9, long l10,
|
long l6, long l7, long l8, long l9, long l10,
|
||||||
long l11, long l12, long l13 ) { return 0; }
|
long l11, long l12, long l13 ) { return 0; }
|
||||||
int WINAPI glEmptyFunc56( long l1, long l2, long l3, long l4, long l5,
|
int WINAPI glEmptyFunc56( long l1, long l2, long l3, long l4, long l5,
|
||||||
long l6, long l7, long l8, long l9, long l10,
|
long l6, long l7, long l8, long l9, long l10,
|
||||||
long l11, long l12, long l13, long l14 )
|
long l11, long l12, long l13, long l14 )
|
||||||
{ return 0; }
|
{ return 0; }
|
||||||
|
|
||||||
#if defined(_M_IX86)
|
#if defined(_M_IX86)
|
||||||
# define FOO(x) #x
|
# define FOO(x) #x
|
||||||
|
|
||||||
#if __MINGW32__
|
#if __MINGW32__
|
||||||
# define X(func, ret, typeargs, args, icdidx, tebidx, stack) \
|
# define X(func, ret, typeargs, args, icdidx, tebidx, stack) \
|
||||||
__asm__(".align 4" "\n\t" \
|
__asm__(".align 4" "\n\t" \
|
||||||
".globl _"#func"@"#stack "\n\t" \
|
".globl _"#func"@"#stack "\n\t" \
|
||||||
"_"#func"@"#stack":" "\n\t" \
|
"_"#func"@"#stack":" "\n\t" \
|
||||||
" movl %fs:0x18, %eax" "\n\t" \
|
" movl %fs:0x18, %eax" "\n\t" \
|
||||||
" movl 0xbe8(%eax), %eax" "\n\t" \
|
" movl 0xbe8(%eax), %eax" "\n\t" \
|
||||||
" jmp *"FOO((icdidx*4))"(%eax)" "\n\t");
|
" jmp *"FOO((icdidx*4))"(%eax)" "\n\t");
|
||||||
#else
|
#else
|
||||||
# define X(func, ret, typeargs, args, icdidx, tebidx, stack) \
|
# define X(func, ret, typeargs, args, icdidx, tebidx, stack) \
|
||||||
ret WINAPI func typeargs \
|
ret WINAPI func typeargs \
|
||||||
{ \
|
{ \
|
||||||
PROC *table; \
|
PROC *table; \
|
||||||
PROC fn; \
|
PROC fn; \
|
||||||
if (tebidx >= 0 && 0) \
|
if (tebidx >= 0 && 0) \
|
||||||
{ \
|
{ \
|
||||||
table = (PROC *)NtCurrentTeb()->glDispatchTable; \
|
table = (PROC *)NtCurrentTeb()->glDispatchTable; \
|
||||||
fn = table[tebidx]; \
|
fn = table[tebidx]; \
|
||||||
} \
|
} \
|
||||||
else \
|
else \
|
||||||
{ \
|
{ \
|
||||||
table = (PROC *)NtCurrentTeb()->glTable; \
|
table = (PROC *)NtCurrentTeb()->glTable; \
|
||||||
fn = table[icdidx]; \
|
fn = table[icdidx]; \
|
||||||
} \
|
} \
|
||||||
return (ret)((ret(*)typeargs)fn)args; \
|
return (ret)((ret(*)typeargs)fn)args; \
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -91,22 +91,22 @@ GLFUNCS_MACRO
|
||||||
# undef FOO
|
# undef FOO
|
||||||
# undef X
|
# undef X
|
||||||
#else /* defined(_M_IX86) */
|
#else /* defined(_M_IX86) */
|
||||||
# define X(func, ret, typeargs, args, icdidx, tebidx, stack) \
|
# define X(func, ret, typeargs, args, icdidx, tebidx, stack) \
|
||||||
ret WINAPI func typeargs \
|
ret WINAPI func typeargs \
|
||||||
{ \
|
{ \
|
||||||
PROC *table; \
|
PROC *table; \
|
||||||
PROC fn; \
|
PROC fn; \
|
||||||
if (tebidx >= 0 && 0) \
|
if (tebidx >= 0 && 0) \
|
||||||
{ \
|
{ \
|
||||||
table = (PROC *)NtCurrentTeb()->glDispatchTable; \
|
table = (PROC *)NtCurrentTeb()->glDispatchTable; \
|
||||||
fn = table[tebidx]; \
|
fn = table[tebidx]; \
|
||||||
} \
|
} \
|
||||||
else \
|
else \
|
||||||
{ \
|
{ \
|
||||||
table = (PROC *)NtCurrentTeb()->glTable; \
|
table = (PROC *)NtCurrentTeb()->glTable; \
|
||||||
fn = table[icdidx]; \
|
fn = table[icdidx]; \
|
||||||
} \
|
} \
|
||||||
return (ret)((ret(*)typeargs)fn)args; \
|
return (ret)((ret(*)typeargs)fn)args; \
|
||||||
}
|
}
|
||||||
|
|
||||||
GLFUNCS_MACRO
|
GLFUNCS_MACRO
|
||||||
|
|
|
@ -16,342 +16,342 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define GLFUNCS_MACRO \
|
#define GLFUNCS_MACRO \
|
||||||
X(glAccum, void, (GLenum op, GLfloat value), (op,value), 213, -1, 8) \
|
X(glAccum, void, (GLenum op, GLfloat value), (op,value), 213, -1, 8) \
|
||||||
X(glAlphaFunc, void, (GLenum func, GLclampf ref), (func,ref), 240, -1, 8) \
|
X(glAlphaFunc, void, (GLenum func, GLclampf ref), (func,ref), 240, -1, 8) \
|
||||||
X(glAreTexturesResident, GLboolean, (GLsizei n, const GLuint *textures, GLboolean *residences), (n,textures,residences), 322, -1, 12) \
|
X(glAreTexturesResident, GLboolean, (GLsizei n, const GLuint *textures, GLboolean *residences), (n,textures,residences), 322, -1, 12) \
|
||||||
X(glArrayElement, void, (GLint i), (i), 306, 144, 4) \
|
X(glArrayElement, void, (GLint i), (i), 306, 144, 4) \
|
||||||
X(glBegin, void, (GLenum mode), (mode), 7, 2, 4) \
|
X(glBegin, void, (GLenum mode), (mode), 7, 2, 4) \
|
||||||
X(glBindTexture, void, (GLenum target, GLuint texture), (target,texture), 307, 145, 8) \
|
X(glBindTexture, void, (GLenum target, GLuint texture), (target,texture), 307, 145, 8) \
|
||||||
X(glBitmap, void, (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap), (width,height,xorig,yorig,xmove,ymove,bitmap), 8, -1, 28) \
|
X(glBitmap, void, (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap), (width,height,xorig,yorig,xmove,ymove,bitmap), 8, -1, 28) \
|
||||||
X(glBlendFunc, void, (GLenum sfactor, GLenum dfactor), (sfactor,dfactor), 241, -1, 8) \
|
X(glBlendFunc, void, (GLenum sfactor, GLenum dfactor), (sfactor,dfactor), 241, -1, 8) \
|
||||||
X(glCallList, void, (GLuint list), (list), 2, 0, 4) \
|
X(glCallList, void, (GLuint list), (list), 2, 0, 4) \
|
||||||
X(glCallLists, void, (GLsizei n, GLenum type, const GLvoid *lists), (n,type,lists), 3, 1, 12) \
|
X(glCallLists, void, (GLsizei n, GLenum type, const GLvoid *lists), (n,type,lists), 3, 1, 12) \
|
||||||
X(glClear, void, (GLbitfield mask), (mask), 203, -1, 4) \
|
X(glClear, void, (GLbitfield mask), (mask), 203, -1, 4) \
|
||||||
X(glClearAccum, void, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), (red,green,blue,alpha), 204, -1, 16) \
|
X(glClearAccum, void, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), (red,green,blue,alpha), 204, -1, 16) \
|
||||||
X(glClearColor, void, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha), (red,green,blue,alpha), 206, -1, 16) \
|
X(glClearColor, void, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha), (red,green,blue,alpha), 206, -1, 16) \
|
||||||
X(glClearDepth, void, (GLclampd depth), (depth), 208, -1, 8) \
|
X(glClearDepth, void, (GLclampd depth), (depth), 208, -1, 8) \
|
||||||
X(glClearIndex, void, (GLfloat c), (c), 205, -1, 4) \
|
X(glClearIndex, void, (GLfloat c), (c), 205, -1, 4) \
|
||||||
X(glClearStencil, void, (GLint s), (s), 207, -1, 4) \
|
X(glClearStencil, void, (GLint s), (s), 207, -1, 4) \
|
||||||
X(glClipPlane, void, (GLenum plane, const GLdouble *equation), (plane,equation), 150, -1, 8) \
|
X(glClipPlane, void, (GLenum plane, const GLdouble *equation), (plane,equation), 150, -1, 8) \
|
||||||
X(glColor3b, void, (GLbyte red, GLbyte green, GLbyte blue), (red,green,blue), 9, 3, 12) \
|
X(glColor3b, void, (GLbyte red, GLbyte green, GLbyte blue), (red,green,blue), 9, 3, 12) \
|
||||||
X(glColor3bv, void, (const GLbyte *v), (v), 10, 4, 4) \
|
X(glColor3bv, void, (const GLbyte *v), (v), 10, 4, 4) \
|
||||||
X(glColor3d, void, (GLdouble red, GLdouble green, GLdouble blue), (red,green,blue), 11, 5, 24) \
|
X(glColor3d, void, (GLdouble red, GLdouble green, GLdouble blue), (red,green,blue), 11, 5, 24) \
|
||||||
X(glColor3dv, void, (const GLdouble *v), (v), 12, 6, 4) \
|
X(glColor3dv, void, (const GLdouble *v), (v), 12, 6, 4) \
|
||||||
X(glColor3f, void, (GLfloat red, GLfloat green, GLfloat blue), (red,green,blue), 13, 7, 12) \
|
X(glColor3f, void, (GLfloat red, GLfloat green, GLfloat blue), (red,green,blue), 13, 7, 12) \
|
||||||
X(glColor3fv, void, (const GLfloat *v), (v), 14, 8, 4) \
|
X(glColor3fv, void, (const GLfloat *v), (v), 14, 8, 4) \
|
||||||
X(glColor3i, void, (GLint red, GLint green, GLint blue), (red,green,blue), 15, 9, 12) \
|
X(glColor3i, void, (GLint red, GLint green, GLint blue), (red,green,blue), 15, 9, 12) \
|
||||||
X(glColor3iv, void, (const GLint *v), (v), 16, 10, 4) \
|
X(glColor3iv, void, (const GLint *v), (v), 16, 10, 4) \
|
||||||
X(glColor3s, void, (GLshort red, GLshort green, GLshort blue), (red,green,blue), 17, 11, 12) \
|
X(glColor3s, void, (GLshort red, GLshort green, GLshort blue), (red,green,blue), 17, 11, 12) \
|
||||||
X(glColor3sv, void, (const GLshort *v), (v), 18, 12, 4) \
|
X(glColor3sv, void, (const GLshort *v), (v), 18, 12, 4) \
|
||||||
X(glColor3ub, void, (GLubyte red, GLubyte green, GLubyte blue), (red,green,blue), 19, 13, 12) \
|
X(glColor3ub, void, (GLubyte red, GLubyte green, GLubyte blue), (red,green,blue), 19, 13, 12) \
|
||||||
X(glColor3ubv, void, (const GLubyte *v), (v), 20, 14, 4) \
|
X(glColor3ubv, void, (const GLubyte *v), (v), 20, 14, 4) \
|
||||||
X(glColor3ui, void, (GLuint red, GLuint green, GLuint blue), (red,green,blue), 21, 15, 12) \
|
X(glColor3ui, void, (GLuint red, GLuint green, GLuint blue), (red,green,blue), 21, 15, 12) \
|
||||||
X(glColor3uiv, void, (const GLuint *v), (v), 22, 16, 4) \
|
X(glColor3uiv, void, (const GLuint *v), (v), 22, 16, 4) \
|
||||||
X(glColor3us, void, (GLushort red, GLushort green, GLushort blue), (red,green,blue), 23, 17, 12) \
|
X(glColor3us, void, (GLushort red, GLushort green, GLushort blue), (red,green,blue), 23, 17, 12) \
|
||||||
X(glColor3usv, void, (const GLushort *v), (v), 24, 18, 4) \
|
X(glColor3usv, void, (const GLushort *v), (v), 24, 18, 4) \
|
||||||
X(glColor4b, void, (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha), (red,green,blue,alpha), 25, 19, 16) \
|
X(glColor4b, void, (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha), (red,green,blue,alpha), 25, 19, 16) \
|
||||||
X(glColor4bv, void, (const GLbyte *v), (v), 26, 20, 4) \
|
X(glColor4bv, void, (const GLbyte *v), (v), 26, 20, 4) \
|
||||||
X(glColor4d, void, (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha), (red,green,blue,alpha), 27, 21, 32) \
|
X(glColor4d, void, (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha), (red,green,blue,alpha), 27, 21, 32) \
|
||||||
X(glColor4dv, void, (const GLdouble *v), (v), 28, 22, 4) \
|
X(glColor4dv, void, (const GLdouble *v), (v), 28, 22, 4) \
|
||||||
X(glColor4f, void, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), (red,green,blue,alpha), 29, 23, 16) \
|
X(glColor4f, void, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), (red,green,blue,alpha), 29, 23, 16) \
|
||||||
X(glColor4fv, void, (const GLfloat *v), (v), 30, 24, 4) \
|
X(glColor4fv, void, (const GLfloat *v), (v), 30, 24, 4) \
|
||||||
X(glColor4i, void, (GLint red, GLint green, GLint blue, GLint alpha), (red,green,blue,alpha), 31, 25, 16) \
|
X(glColor4i, void, (GLint red, GLint green, GLint blue, GLint alpha), (red,green,blue,alpha), 31, 25, 16) \
|
||||||
X(glColor4iv, void, (const GLint *v), (v), 32, 26, 4) \
|
X(glColor4iv, void, (const GLint *v), (v), 32, 26, 4) \
|
||||||
X(glColor4s, void, (GLshort red, GLshort green, GLshort blue, GLshort alpha), (red,green,blue,alpha), 33, 27, 16) \
|
X(glColor4s, void, (GLshort red, GLshort green, GLshort blue, GLshort alpha), (red,green,blue,alpha), 33, 27, 16) \
|
||||||
X(glColor4sv, void, (const GLshort *v), (v), 34, 28, 4) \
|
X(glColor4sv, void, (const GLshort *v), (v), 34, 28, 4) \
|
||||||
X(glColor4ub, void, (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha), (red,green,blue,alpha), 35, 29, 16) \
|
X(glColor4ub, void, (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha), (red,green,blue,alpha), 35, 29, 16) \
|
||||||
X(glColor4ubv, void, (const GLubyte *v), (v), 36, 30, 4) \
|
X(glColor4ubv, void, (const GLubyte *v), (v), 36, 30, 4) \
|
||||||
X(glColor4ui, void, (GLuint red, GLuint green, GLuint blue, GLuint alpha), (red,green,blue,alpha), 37, 31, 16) \
|
X(glColor4ui, void, (GLuint red, GLuint green, GLuint blue, GLuint alpha), (red,green,blue,alpha), 37, 31, 16) \
|
||||||
X(glColor4uiv, void, (const GLuint *v), (v), 38, 32, 4) \
|
X(glColor4uiv, void, (const GLuint *v), (v), 38, 32, 4) \
|
||||||
X(glColor4us, void, (GLushort red, GLushort green, GLushort blue, GLushort alpha), (red,green,blue,alpha), 39, 33, 16) \
|
X(glColor4us, void, (GLushort red, GLushort green, GLushort blue, GLushort alpha), (red,green,blue,alpha), 39, 33, 16) \
|
||||||
X(glColor4usv, void, (const GLushort *v), (v), 40, 34, 4) \
|
X(glColor4usv, void, (const GLushort *v), (v), 40, 34, 4) \
|
||||||
X(glColorMask, void, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha), (red,green,blue,alpha), 210, -1, 16) \
|
X(glColorMask, void, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha), (red,green,blue,alpha), 210, -1, 16) \
|
||||||
X(glColorMaterial, void, (GLenum face, GLenum mode), (face,mode), 151, -1, 8) \
|
X(glColorMaterial, void, (GLenum face, GLenum mode), (face,mode), 151, -1, 8) \
|
||||||
X(glColorPointer, void, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), (size,type,stride,pointer), 308, 146, 16) \
|
X(glColorPointer, void, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), (size,type,stride,pointer), 308, 146, 16) \
|
||||||
X(glCopyPixels, void, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type), (x,y,width,height,type), 255, -1, 20) \
|
X(glCopyPixels, void, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type), (x,y,width,height,type), 255, -1, 20) \
|
||||||
X(glCopyTexImage1D, void, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border), (target,level,internalformat,x,y,width,border), 323, -1, 28) \
|
X(glCopyTexImage1D, void, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border), (target,level,internalformat,x,y,width,border), 323, -1, 28) \
|
||||||
X(glCopyTexImage2D, void, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border), (target,level,internalformat,x,y,width,height,border), 324, -1, 32) \
|
X(glCopyTexImage2D, void, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border), (target,level,internalformat,x,y,width,height,border), 324, -1, 32) \
|
||||||
X(glCopyTexSubImage1D, void, (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width), (target,level,xoffset,x,y,width), 325, -1, 24) \
|
X(glCopyTexSubImage1D, void, (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width), (target,level,xoffset,x,y,width), 325, -1, 24) \
|
||||||
X(glCopyTexSubImage2D, void, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height), (target,level,xoffset,yoffset,x,y,width,height), 326, -1, 32) \
|
X(glCopyTexSubImage2D, void, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height), (target,level,xoffset,yoffset,x,y,width,height), 326, -1, 32) \
|
||||||
X(glCullFace, void, (GLenum mode), (mode), 152, -1, 4) \
|
X(glCullFace, void, (GLenum mode), (mode), 152, -1, 4) \
|
||||||
X(glDeleteLists, void, (GLuint list, GLsizei range), (list,range), 4, -1, 8) \
|
X(glDeleteLists, void, (GLuint list, GLsizei range), (list,range), 4, -1, 8) \
|
||||||
X(glDeleteTextures, void, (GLsizei n, const GLuint *textures), (n,textures), 327, -1, 8) \
|
X(glDeleteTextures, void, (GLsizei n, const GLuint *textures), (n,textures), 327, -1, 8) \
|
||||||
X(glDepthFunc, void, (GLenum func), (func), 245, -1, 4) \
|
X(glDepthFunc, void, (GLenum func), (func), 245, -1, 4) \
|
||||||
X(glDepthMask, void, (GLboolean flag), (flag), 211, -1, 4) \
|
X(glDepthMask, void, (GLboolean flag), (flag), 211, -1, 4) \
|
||||||
X(glDepthRange, void, (GLclampd zNear, GLclampd zFar), (zNear,zFar), 288, -1, 16) \
|
X(glDepthRange, void, (GLclampd zNear, GLclampd zFar), (zNear,zFar), 288, -1, 16) \
|
||||||
X(glDisable, void, (GLenum cap), (cap), 214, 116, 4) \
|
X(glDisable, void, (GLenum cap), (cap), 214, 116, 4) \
|
||||||
X(glDisableClientState, void, (GLenum array), (array), 309, 147, 4) \
|
X(glDisableClientState, void, (GLenum array), (array), 309, 147, 4) \
|
||||||
X(glDrawArrays, void, (GLenum mode, GLint first, GLsizei count), (mode,first,count), 310, 148, 12) \
|
X(glDrawArrays, void, (GLenum mode, GLint first, GLsizei count), (mode,first,count), 310, 148, 12) \
|
||||||
X(glDrawBuffer, void, (GLenum mode), (mode), 202, -1, 4) \
|
X(glDrawBuffer, void, (GLenum mode), (mode), 202, -1, 4) \
|
||||||
X(glDrawElements, void, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices), (mode,count,type,indices), 311, 149, 16) \
|
X(glDrawElements, void, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices), (mode,count,type,indices), 311, 149, 16) \
|
||||||
X(glDrawPixels, void, (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels), (width,height,format,type,pixels), 257, -1, 20) \
|
X(glDrawPixels, void, (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels), (width,height,format,type,pixels), 257, -1, 20) \
|
||||||
X(glEdgeFlag, void, (GLboolean flag), (flag), 41, 35, 4) \
|
X(glEdgeFlag, void, (GLboolean flag), (flag), 41, 35, 4) \
|
||||||
X(glEdgeFlagPointer, void, (GLsizei stride, const GLboolean *pointer), (stride,pointer), 312, 150, 8) \
|
X(glEdgeFlagPointer, void, (GLsizei stride, const GLboolean *pointer), (stride,pointer), 312, 150, 8) \
|
||||||
X(glEdgeFlagv, void, (const GLboolean *flag), (flag), 42, 36, 4) \
|
X(glEdgeFlagv, void, (const GLboolean *flag), (flag), 42, 36, 4) \
|
||||||
X(glEnable, void, (GLenum cap), (cap), 215, 117, 4) \
|
X(glEnable, void, (GLenum cap), (cap), 215, 117, 4) \
|
||||||
X(glEnableClientState, void, (GLenum array), (array), 313, 151, 4) \
|
X(glEnableClientState, void, (GLenum array), (array), 313, 151, 4) \
|
||||||
X(glEnd, void, (void), (), 43, 37, 0) \
|
X(glEnd, void, (void), (), 43, 37, 0) \
|
||||||
X(glEndList, void, (void), (), 1, -1, 0) \
|
X(glEndList, void, (void), (), 1, -1, 0) \
|
||||||
X(glEvalCoord1d, void, (GLdouble u), (u), 228, 120, 8) \
|
X(glEvalCoord1d, void, (GLdouble u), (u), 228, 120, 8) \
|
||||||
X(glEvalCoord1dv, void, (const GLdouble *u), (u), 229, 121, 4) \
|
X(glEvalCoord1dv, void, (const GLdouble *u), (u), 229, 121, 4) \
|
||||||
X(glEvalCoord1f, void, (GLfloat u), (u), 230, 122, 4) \
|
X(glEvalCoord1f, void, (GLfloat u), (u), 230, 122, 4) \
|
||||||
X(glEvalCoord1fv, void, (const GLfloat *u), (u), 231, 123, 4) \
|
X(glEvalCoord1fv, void, (const GLfloat *u), (u), 231, 123, 4) \
|
||||||
X(glEvalCoord2d, void, (GLdouble u, GLdouble v), (u,v), 232, 124, 16) \
|
X(glEvalCoord2d, void, (GLdouble u, GLdouble v), (u,v), 232, 124, 16) \
|
||||||
X(glEvalCoord2dv, void, (const GLdouble *u), (u), 233, 125, 4) \
|
X(glEvalCoord2dv, void, (const GLdouble *u), (u), 233, 125, 4) \
|
||||||
X(glEvalCoord2f, void, (GLfloat u, GLfloat v), (u,v), 234, 126, 8) \
|
X(glEvalCoord2f, void, (GLfloat u, GLfloat v), (u,v), 234, 126, 8) \
|
||||||
X(glEvalCoord2fv, void, (const GLfloat *u), (u), 235, 127, 4) \
|
X(glEvalCoord2fv, void, (const GLfloat *u), (u), 235, 127, 4) \
|
||||||
X(glEvalMesh1, void, (GLenum mode, GLint i1, GLint i2), (mode,i1,i2), 236, -1, 12) \
|
X(glEvalMesh1, void, (GLenum mode, GLint i1, GLint i2), (mode,i1,i2), 236, -1, 12) \
|
||||||
X(glEvalMesh2, void, (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2), (mode,i1,i2,j1,j2), 238, -1, 20) \
|
X(glEvalMesh2, void, (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2), (mode,i1,i2,j1,j2), 238, -1, 20) \
|
||||||
X(glEvalPoint1, void, (GLint i), (i), 237, 128, 4) \
|
X(glEvalPoint1, void, (GLint i), (i), 237, 128, 4) \
|
||||||
X(glEvalPoint2, void, (GLint i, GLint j), (i,j), 239, 129, 8) \
|
X(glEvalPoint2, void, (GLint i, GLint j), (i,j), 239, 129, 8) \
|
||||||
X(glFeedbackBuffer, void, (GLsizei size, GLenum type, GLfloat *buffer), (size,type,buffer), 194, -1, 12) \
|
X(glFeedbackBuffer, void, (GLsizei size, GLenum type, GLfloat *buffer), (size,type,buffer), 194, -1, 12) \
|
||||||
X(glFinish, void, (void), (), 216, -1, 0) \
|
X(glFinish, void, (void), (), 216, -1, 0) \
|
||||||
X(glFlush, void, (void), (), 217, -1, 0) \
|
X(glFlush, void, (void), (), 217, -1, 0) \
|
||||||
X(glFogf, void, (GLenum pname, GLfloat param), (pname,param), 153, -1, 8) \
|
X(glFogf, void, (GLenum pname, GLfloat param), (pname,param), 153, -1, 8) \
|
||||||
X(glFogfv, void, (GLenum pname, const GLfloat *params), (pname,params), 154, -1, 8) \
|
X(glFogfv, void, (GLenum pname, const GLfloat *params), (pname,params), 154, -1, 8) \
|
||||||
X(glFogi, void, (GLenum pname, GLint param), (pname,param), 155, -1, 8) \
|
X(glFogi, void, (GLenum pname, GLint param), (pname,param), 155, -1, 8) \
|
||||||
X(glFogiv, void, (GLenum pname, const GLint *params), (pname,params), 156, -1, 8) \
|
X(glFogiv, void, (GLenum pname, const GLint *params), (pname,params), 156, -1, 8) \
|
||||||
X(glFrontFace, void, (GLenum mode), (mode), 157, -1, 4) \
|
X(glFrontFace, void, (GLenum mode), (mode), 157, -1, 4) \
|
||||||
X(glFrustum, void, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), (left,right,bottom,top,zNear,zFar), 289, -1, 48) \
|
X(glFrustum, void, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), (left,right,bottom,top,zNear,zFar), 289, -1, 48) \
|
||||||
X(glGenLists, GLuint, (GLsizei range), (range), 5, -1, 4) \
|
X(glGenLists, GLuint, (GLsizei range), (range), 5, -1, 4) \
|
||||||
X(glGenTextures, void, (GLsizei n, GLuint *textures), (n,textures), 328, -1, 8) \
|
X(glGenTextures, void, (GLsizei n, GLuint *textures), (n,textures), 328, -1, 8) \
|
||||||
X(glGetBooleanv, void, (GLenum pname, GLboolean *params), (pname,params), 258, -1, 8) \
|
X(glGetBooleanv, void, (GLenum pname, GLboolean *params), (pname,params), 258, -1, 8) \
|
||||||
X(glGetClipPlane, void, (GLenum plane, GLdouble *equation), (plane,equation), 259, -1, 8) \
|
X(glGetClipPlane, void, (GLenum plane, GLdouble *equation), (plane,equation), 259, -1, 8) \
|
||||||
X(glGetDoublev, void, (GLenum pname, GLdouble *params), (pname,params), 260, -1, 8) \
|
X(glGetDoublev, void, (GLenum pname, GLdouble *params), (pname,params), 260, -1, 8) \
|
||||||
X(glGetError, GLenum, (void), (), 261, -1, 0) \
|
X(glGetError, GLenum, (void), (), 261, -1, 0) \
|
||||||
X(glGetFloatv, void, (GLenum pname, GLfloat *params), (pname,params), 262, -1, 8) \
|
X(glGetFloatv, void, (GLenum pname, GLfloat *params), (pname,params), 262, -1, 8) \
|
||||||
X(glGetIntegerv, void, (GLenum pname, GLint *params), (pname,params), 263, -1, 8) \
|
X(glGetIntegerv, void, (GLenum pname, GLint *params), (pname,params), 263, -1, 8) \
|
||||||
X(glGetLightfv, void, (GLenum light, GLenum pname, GLfloat *params), (light,pname,params), 264, -1, 12) \
|
X(glGetLightfv, void, (GLenum light, GLenum pname, GLfloat *params), (light,pname,params), 264, -1, 12) \
|
||||||
X(glGetLightiv, void, (GLenum light, GLenum pname, GLint *params), (light,pname,params), 265, -1, 12) \
|
X(glGetLightiv, void, (GLenum light, GLenum pname, GLint *params), (light,pname,params), 265, -1, 12) \
|
||||||
X(glGetMapdv, void, (GLenum target, GLenum query, GLdouble *v), (target,query,v), 266, -1, 12) \
|
X(glGetMapdv, void, (GLenum target, GLenum query, GLdouble *v), (target,query,v), 266, -1, 12) \
|
||||||
X(glGetMapfv, void, (GLenum target, GLenum query, GLfloat *v), (target,query,v), 267, -1, 12) \
|
X(glGetMapfv, void, (GLenum target, GLenum query, GLfloat *v), (target,query,v), 267, -1, 12) \
|
||||||
X(glGetMapiv, void, (GLenum target, GLenum query, GLint *v), (target,query,v), 268, -1, 12) \
|
X(glGetMapiv, void, (GLenum target, GLenum query, GLint *v), (target,query,v), 268, -1, 12) \
|
||||||
X(glGetMaterialfv, void, (GLenum face, GLenum pname, GLfloat *params), (face,pname,params), 269, -1, 12) \
|
X(glGetMaterialfv, void, (GLenum face, GLenum pname, GLfloat *params), (face,pname,params), 269, -1, 12) \
|
||||||
X(glGetMaterialiv, void, (GLenum face, GLenum pname, GLint *params), (face,pname,params), 270, -1, 12) \
|
X(glGetMaterialiv, void, (GLenum face, GLenum pname, GLint *params), (face,pname,params), 270, -1, 12) \
|
||||||
X(glGetPixelMapfv, void, (GLenum map, GLfloat *values), (map,values), 271, -1, 8) \
|
X(glGetPixelMapfv, void, (GLenum map, GLfloat *values), (map,values), 271, -1, 8) \
|
||||||
X(glGetPixelMapuiv, void, (GLenum map, GLuint *values), (map,values), 272, -1, 8) \
|
X(glGetPixelMapuiv, void, (GLenum map, GLuint *values), (map,values), 272, -1, 8) \
|
||||||
X(glGetPixelMapusv, void, (GLenum map, GLushort *values), (map,values), 273, -1, 8) \
|
X(glGetPixelMapusv, void, (GLenum map, GLushort *values), (map,values), 273, -1, 8) \
|
||||||
X(glGetPointerv, void, (GLenum pname, GLvoid* *params), (pname,params), 329, 160, 8) \
|
X(glGetPointerv, void, (GLenum pname, GLvoid* *params), (pname,params), 329, 160, 8) \
|
||||||
X(glGetPolygonStipple, void, (GLubyte *mask), (mask), 274, -1, 4) \
|
X(glGetPolygonStipple, void, (GLubyte *mask), (mask), 274, -1, 4) \
|
||||||
X(glGetString, const GLubyte *, (GLenum name), (name), 275, -1, 4) \
|
X(glGetString, const GLubyte *, (GLenum name), (name), 275, -1, 4) \
|
||||||
X(glGetTexEnvfv, void, (GLenum target, GLenum pname, GLfloat *params), (target,pname,params), 276, -1, 12) \
|
X(glGetTexEnvfv, void, (GLenum target, GLenum pname, GLfloat *params), (target,pname,params), 276, -1, 12) \
|
||||||
X(glGetTexEnviv, void, (GLenum target, GLenum pname, GLint *params), (target,pname,params), 277, -1, 12) \
|
X(glGetTexEnviv, void, (GLenum target, GLenum pname, GLint *params), (target,pname,params), 277, -1, 12) \
|
||||||
X(glGetTexGendv, void, (GLenum coord, GLenum pname, GLdouble *params), (coord,pname,params), 278, -1, 12) \
|
X(glGetTexGendv, void, (GLenum coord, GLenum pname, GLdouble *params), (coord,pname,params), 278, -1, 12) \
|
||||||
X(glGetTexGenfv, void, (GLenum coord, GLenum pname, GLfloat *params), (coord,pname,params), 279, -1, 12) \
|
X(glGetTexGenfv, void, (GLenum coord, GLenum pname, GLfloat *params), (coord,pname,params), 279, -1, 12) \
|
||||||
X(glGetTexGeniv, void, (GLenum coord, GLenum pname, GLint *params), (coord,pname,params), 280, -1, 12) \
|
X(glGetTexGeniv, void, (GLenum coord, GLenum pname, GLint *params), (coord,pname,params), 280, -1, 12) \
|
||||||
X(glGetTexImage, void, (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels), (target,level,format,type,pixels), 281, -1, 20) \
|
X(glGetTexImage, void, (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels), (target,level,format,type,pixels), 281, -1, 20) \
|
||||||
X(glGetTexLevelParameterfv, void, (GLenum target, GLint level, GLenum pname, GLfloat *params), (target,level,pname,params), 284, -1, 16) \
|
X(glGetTexLevelParameterfv, void, (GLenum target, GLint level, GLenum pname, GLfloat *params), (target,level,pname,params), 284, -1, 16) \
|
||||||
X(glGetTexLevelParameteriv, void, (GLenum target, GLint level, GLenum pname, GLint *params), (target,level,pname,params), 285, -1, 16) \
|
X(glGetTexLevelParameteriv, void, (GLenum target, GLint level, GLenum pname, GLint *params), (target,level,pname,params), 285, -1, 16) \
|
||||||
X(glGetTexParameterfv, void, (GLenum target, GLenum pname, GLfloat *params), (target,pname,params), 282, -1, 12) \
|
X(glGetTexParameterfv, void, (GLenum target, GLenum pname, GLfloat *params), (target,pname,params), 282, -1, 12) \
|
||||||
X(glGetTexParameteriv, void, (GLenum target, GLenum pname, GLint *params), (target,pname,params), 283, -1, 12) \
|
X(glGetTexParameteriv, void, (GLenum target, GLenum pname, GLint *params), (target,pname,params), 283, -1, 12) \
|
||||||
X(glHint, void, (GLenum target, GLenum mode), (target,mode), 158, -1, 8) \
|
X(glHint, void, (GLenum target, GLenum mode), (target,mode), 158, -1, 8) \
|
||||||
X(glIndexMask, void, (GLuint mask), (mask), 212, -1, 4) \
|
X(glIndexMask, void, (GLuint mask), (mask), 212, -1, 4) \
|
||||||
X(glIndexPointer, void, (GLenum type, GLsizei stride, const GLvoid *pointer), (type,stride,pointer), 314, 152, 12) \
|
X(glIndexPointer, void, (GLenum type, GLsizei stride, const GLvoid *pointer), (type,stride,pointer), 314, 152, 12) \
|
||||||
X(glIndexd, void, (GLdouble c), (c), 44, 38, 8) \
|
X(glIndexd, void, (GLdouble c), (c), 44, 38, 8) \
|
||||||
X(glIndexdv, void, (const GLdouble *c), (c), 45, 39, 4) \
|
X(glIndexdv, void, (const GLdouble *c), (c), 45, 39, 4) \
|
||||||
X(glIndexf, void, (GLfloat c), (c), 46, 40, 4) \
|
X(glIndexf, void, (GLfloat c), (c), 46, 40, 4) \
|
||||||
X(glIndexfv, void, (const GLfloat *c), (c), 47, 41, 4) \
|
X(glIndexfv, void, (const GLfloat *c), (c), 47, 41, 4) \
|
||||||
X(glIndexi, void, (GLint c), (c), 48, 42, 4) \
|
X(glIndexi, void, (GLint c), (c), 48, 42, 4) \
|
||||||
X(glIndexiv, void, (const GLint *c), (c), 49, 43, 4) \
|
X(glIndexiv, void, (const GLint *c), (c), 49, 43, 4) \
|
||||||
X(glIndexs, void, (GLshort c), (c), 50, 44, 4) \
|
X(glIndexs, void, (GLshort c), (c), 50, 44, 4) \
|
||||||
X(glIndexsv, void, (const GLshort *c), (c), 51, 45, 4) \
|
X(glIndexsv, void, (const GLshort *c), (c), 51, 45, 4) \
|
||||||
X(glIndexub, void, (GLubyte c), (c), 315, 153, 4) \
|
X(glIndexub, void, (GLubyte c), (c), 315, 153, 4) \
|
||||||
X(glIndexubv, void, (const GLubyte *c), (c), 316, 154, 4) \
|
X(glIndexubv, void, (const GLubyte *c), (c), 316, 154, 4) \
|
||||||
X(glInitNames, void, (void), (), 197, -1, 0) \
|
X(glInitNames, void, (void), (), 197, -1, 0) \
|
||||||
X(glInterleavedArrays, void, (GLenum format, GLsizei stride, const GLvoid *pointer), (format,stride,pointer), 317, 155, 12) \
|
X(glInterleavedArrays, void, (GLenum format, GLsizei stride, const GLvoid *pointer), (format,stride,pointer), 317, 155, 12) \
|
||||||
X(glIsEnabled, GLboolean, (GLenum cap), (cap), 286, -1, 4) \
|
X(glIsEnabled, GLboolean, (GLenum cap), (cap), 286, -1, 4) \
|
||||||
X(glIsList, GLboolean, (GLuint list), (list), 287, -1, 4) \
|
X(glIsList, GLboolean, (GLuint list), (list), 287, -1, 4) \
|
||||||
X(glIsTexture, GLboolean, (GLuint texture), (texture), 330, -1, 4) \
|
X(glIsTexture, GLboolean, (GLuint texture), (texture), 330, -1, 4) \
|
||||||
X(glLightModelf, void, (GLenum pname, GLfloat param), (pname,param), 163, -1, 8) \
|
X(glLightModelf, void, (GLenum pname, GLfloat param), (pname,param), 163, -1, 8) \
|
||||||
X(glLightModelfv, void, (GLenum pname, const GLfloat *params), (pname,params), 164, -1, 8) \
|
X(glLightModelfv, void, (GLenum pname, const GLfloat *params), (pname,params), 164, -1, 8) \
|
||||||
X(glLightModeli, void, (GLenum pname, GLint param), (pname,param), 165, -1, 8) \
|
X(glLightModeli, void, (GLenum pname, GLint param), (pname,param), 165, -1, 8) \
|
||||||
X(glLightModeliv, void, (GLenum pname, const GLint *params), (pname,params), 166, -1, 8) \
|
X(glLightModeliv, void, (GLenum pname, const GLint *params), (pname,params), 166, -1, 8) \
|
||||||
X(glLightf, void, (GLenum light, GLenum pname, GLfloat param), (light,pname,param), 159, -1, 12) \
|
X(glLightf, void, (GLenum light, GLenum pname, GLfloat param), (light,pname,param), 159, -1, 12) \
|
||||||
X(glLightfv, void, (GLenum light, GLenum pname, const GLfloat *params), (light,pname,params), 160, -1, 12) \
|
X(glLightfv, void, (GLenum light, GLenum pname, const GLfloat *params), (light,pname,params), 160, -1, 12) \
|
||||||
X(glLighti, void, (GLenum light, GLenum pname, GLint param), (light,pname,param), 161, -1, 12) \
|
X(glLighti, void, (GLenum light, GLenum pname, GLint param), (light,pname,param), 161, -1, 12) \
|
||||||
X(glLightiv, void, (GLenum light, GLenum pname, const GLint *params), (light,pname,params), 162, -1, 12) \
|
X(glLightiv, void, (GLenum light, GLenum pname, const GLint *params), (light,pname,params), 162, -1, 12) \
|
||||||
X(glLineStipple, void, (GLint factor, GLushort pattern), (factor,pattern), 167, -1, 8) \
|
X(glLineStipple, void, (GLint factor, GLushort pattern), (factor,pattern), 167, -1, 8) \
|
||||||
X(glLineWidth, void, (GLfloat width), (width), 168, -1, 4) \
|
X(glLineWidth, void, (GLfloat width), (width), 168, -1, 4) \
|
||||||
X(glListBase, void, (GLuint base), (base), 6, -1, 4) \
|
X(glListBase, void, (GLuint base), (base), 6, -1, 4) \
|
||||||
X(glLoadIdentity, void, (void), (), 290, 130, 0) \
|
X(glLoadIdentity, void, (void), (), 290, 130, 0) \
|
||||||
X(glLoadMatrixd, void, (const GLdouble *m), (m), 292, 132, 4) \
|
X(glLoadMatrixd, void, (const GLdouble *m), (m), 292, 132, 4) \
|
||||||
X(glLoadMatrixf, void, (const GLfloat *m), (m), 291, 131, 4) \
|
X(glLoadMatrixf, void, (const GLfloat *m), (m), 291, 131, 4) \
|
||||||
X(glLoadName, void, (GLuint name), (name), 198, -1, 4) \
|
X(glLoadName, void, (GLuint name), (name), 198, -1, 4) \
|
||||||
X(glLogicOp, void, (GLenum opcode), (opcode), 242, -1, 4) \
|
X(glLogicOp, void, (GLenum opcode), (opcode), 242, -1, 4) \
|
||||||
X(glMap1d, void, (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points), (target,u1,u2,stride,order,points), 220, -1, 32) \
|
X(glMap1d, void, (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points), (target,u1,u2,stride,order,points), 220, -1, 32) \
|
||||||
X(glMap1f, void, (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points), (target,u1,u2,stride,order,points), 221, -1, 24) \
|
X(glMap1f, void, (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points), (target,u1,u2,stride,order,points), 221, -1, 24) \
|
||||||
X(glMap2d, void, (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points), (target,u1,u2,ustride,uorder,v1,v2,vstride,vorder,points), 222, -1, 56) \
|
X(glMap2d, void, (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points), (target,u1,u2,ustride,uorder,v1,v2,vstride,vorder,points), 222, -1, 56) \
|
||||||
X(glMap2f, void, (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points), (target,u1,u2,ustride,uorder,v1,v2,vstride,vorder,points), 223, -1, 40) \
|
X(glMap2f, void, (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points), (target,u1,u2,ustride,uorder,v1,v2,vstride,vorder,points), 223, -1, 40) \
|
||||||
X(glMapGrid1d, void, (GLint un, GLdouble u1, GLdouble u2), (un,u1,u2), 224, -1, 20) \
|
X(glMapGrid1d, void, (GLint un, GLdouble u1, GLdouble u2), (un,u1,u2), 224, -1, 20) \
|
||||||
X(glMapGrid1f, void, (GLint un, GLfloat u1, GLfloat u2), (un,u1,u2), 225, -1, 12) \
|
X(glMapGrid1f, void, (GLint un, GLfloat u1, GLfloat u2), (un,u1,u2), 225, -1, 12) \
|
||||||
X(glMapGrid2d, void, (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2), (un,u1,u2,vn,v1,v2), 226, -1, 40) \
|
X(glMapGrid2d, void, (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2), (un,u1,u2,vn,v1,v2), 226, -1, 40) \
|
||||||
X(glMapGrid2f, void, (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2), (un,u1,u2,vn,v1,v2), 227, -1, 24) \
|
X(glMapGrid2f, void, (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2), (un,u1,u2,vn,v1,v2), 227, -1, 24) \
|
||||||
X(glMaterialf, void, (GLenum face, GLenum pname, GLfloat param), (face,pname,param), 169, 112, 12) \
|
X(glMaterialf, void, (GLenum face, GLenum pname, GLfloat param), (face,pname,param), 169, 112, 12) \
|
||||||
X(glMaterialfv, void, (GLenum face, GLenum pname, const GLfloat *params), (face,pname,params), 170, 113, 12) \
|
X(glMaterialfv, void, (GLenum face, GLenum pname, const GLfloat *params), (face,pname,params), 170, 113, 12) \
|
||||||
X(glMateriali, void, (GLenum face, GLenum pname, GLint param), (face,pname,param), 171, 114, 12) \
|
X(glMateriali, void, (GLenum face, GLenum pname, GLint param), (face,pname,param), 171, 114, 12) \
|
||||||
X(glMaterialiv, void, (GLenum face, GLenum pname, const GLint *params), (face,pname,params), 172, 115, 12) \
|
X(glMaterialiv, void, (GLenum face, GLenum pname, const GLint *params), (face,pname,params), 172, 115, 12) \
|
||||||
X(glMatrixMode, void, (GLenum mode), (mode), 293, 133, 4) \
|
X(glMatrixMode, void, (GLenum mode), (mode), 293, 133, 4) \
|
||||||
X(glMultMatrixd, void, (const GLdouble *m), (m), 295, 135, 4) \
|
X(glMultMatrixd, void, (const GLdouble *m), (m), 295, 135, 4) \
|
||||||
X(glMultMatrixf, void, (const GLfloat *m), (m), 294, 134, 4) \
|
X(glMultMatrixf, void, (const GLfloat *m), (m), 294, 134, 4) \
|
||||||
X(glNewList, void, (GLuint list, GLenum mode), (list,mode), 0, -1, 8) \
|
X(glNewList, void, (GLuint list, GLenum mode), (list,mode), 0, -1, 8) \
|
||||||
X(glNormal3b, void, (GLbyte nx, GLbyte ny, GLbyte nz), (nx,ny,nz), 52, 46, 12) \
|
X(glNormal3b, void, (GLbyte nx, GLbyte ny, GLbyte nz), (nx,ny,nz), 52, 46, 12) \
|
||||||
X(glNormal3bv, void, (const GLbyte *v), (v), 53, 47, 4) \
|
X(glNormal3bv, void, (const GLbyte *v), (v), 53, 47, 4) \
|
||||||
X(glNormal3d, void, (GLdouble nx, GLdouble ny, GLdouble nz), (nx,ny,nz), 54, 48, 24) \
|
X(glNormal3d, void, (GLdouble nx, GLdouble ny, GLdouble nz), (nx,ny,nz), 54, 48, 24) \
|
||||||
X(glNormal3dv, void, (const GLdouble *v), (v), 55, 49, 4) \
|
X(glNormal3dv, void, (const GLdouble *v), (v), 55, 49, 4) \
|
||||||
X(glNormal3f, void, (GLfloat nx, GLfloat ny, GLfloat nz), (nx,ny,nz), 56, 50, 12) \
|
X(glNormal3f, void, (GLfloat nx, GLfloat ny, GLfloat nz), (nx,ny,nz), 56, 50, 12) \
|
||||||
X(glNormal3fv, void, (const GLfloat *v), (v), 57, 51, 4) \
|
X(glNormal3fv, void, (const GLfloat *v), (v), 57, 51, 4) \
|
||||||
X(glNormal3i, void, (GLint nx, GLint ny, GLint nz), (nx,ny,nz), 58, 52, 12) \
|
X(glNormal3i, void, (GLint nx, GLint ny, GLint nz), (nx,ny,nz), 58, 52, 12) \
|
||||||
X(glNormal3iv, void, (const GLint *v), (v), 59, 53, 4) \
|
X(glNormal3iv, void, (const GLint *v), (v), 59, 53, 4) \
|
||||||
X(glNormal3s, void, (GLshort nx, GLshort ny, GLshort nz), (nx,ny,nz), 60, 54, 12) \
|
X(glNormal3s, void, (GLshort nx, GLshort ny, GLshort nz), (nx,ny,nz), 60, 54, 12) \
|
||||||
X(glNormal3sv, void, (const GLshort *v), (v), 61, 55, 4) \
|
X(glNormal3sv, void, (const GLshort *v), (v), 61, 55, 4) \
|
||||||
X(glNormalPointer, void, (GLenum type, GLsizei stride, const GLvoid *pointer), (type,stride,pointer), 318, 156, 12) \
|
X(glNormalPointer, void, (GLenum type, GLsizei stride, const GLvoid *pointer), (type,stride,pointer), 318, 156, 12) \
|
||||||
X(glOrtho, void, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), (left,right,bottom,top,zNear,zFar), 296, -1, 48) \
|
X(glOrtho, void, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), (left,right,bottom,top,zNear,zFar), 296, -1, 48) \
|
||||||
X(glPassThrough, void, (GLfloat token), (token), 199, -1, 4) \
|
X(glPassThrough, void, (GLfloat token), (token), 199, -1, 4) \
|
||||||
X(glPixelMapfv, void, (GLenum map, GLint mapsize, const GLfloat *values), (map,mapsize,values), 251, -1, 12) \
|
X(glPixelMapfv, void, (GLenum map, GLint mapsize, const GLfloat *values), (map,mapsize,values), 251, -1, 12) \
|
||||||
X(glPixelMapuiv, void, (GLenum map, GLint mapsize, const GLuint *values), (map,mapsize,values), 252, -1, 12) \
|
X(glPixelMapuiv, void, (GLenum map, GLint mapsize, const GLuint *values), (map,mapsize,values), 252, -1, 12) \
|
||||||
X(glPixelMapusv, void, (GLenum map, GLint mapsize, const GLushort *values), (map,mapsize,values), 253, -1, 12) \
|
X(glPixelMapusv, void, (GLenum map, GLint mapsize, const GLushort *values), (map,mapsize,values), 253, -1, 12) \
|
||||||
X(glPixelStoref, void, (GLenum pname, GLfloat param), (pname,param), 249, -1, 8) \
|
X(glPixelStoref, void, (GLenum pname, GLfloat param), (pname,param), 249, -1, 8) \
|
||||||
X(glPixelStorei, void, (GLenum pname, GLint param), (pname,param), 250, -1, 8) \
|
X(glPixelStorei, void, (GLenum pname, GLint param), (pname,param), 250, -1, 8) \
|
||||||
X(glPixelTransferf, void, (GLenum pname, GLfloat param), (pname,param), 247, -1, 8) \
|
X(glPixelTransferf, void, (GLenum pname, GLfloat param), (pname,param), 247, -1, 8) \
|
||||||
X(glPixelTransferi, void, (GLenum pname, GLint param), (pname,param), 248, -1, 8) \
|
X(glPixelTransferi, void, (GLenum pname, GLint param), (pname,param), 248, -1, 8) \
|
||||||
X(glPixelZoom, void, (GLfloat xfactor, GLfloat yfactor), (xfactor,yfactor), 246, -1, 8) \
|
X(glPixelZoom, void, (GLfloat xfactor, GLfloat yfactor), (xfactor,yfactor), 246, -1, 8) \
|
||||||
X(glPointSize, void, (GLfloat size), (size), 173, -1, 4) \
|
X(glPointSize, void, (GLfloat size), (size), 173, -1, 4) \
|
||||||
X(glPolygonMode, void, (GLenum face, GLenum mode), (face,mode), 174, -1, 8) \
|
X(glPolygonMode, void, (GLenum face, GLenum mode), (face,mode), 174, -1, 8) \
|
||||||
X(glPolygonOffset, void, (GLfloat factor, GLfloat units), (factor,units), 319, 157, 8) \
|
X(glPolygonOffset, void, (GLfloat factor, GLfloat units), (factor,units), 319, 157, 8) \
|
||||||
X(glPolygonStipple, void, (const GLubyte *mask), (mask), 175, -1, 4) \
|
X(glPolygonStipple, void, (const GLubyte *mask), (mask), 175, -1, 4) \
|
||||||
X(glPopAttrib, void, (void), (), 218, 118, 0) \
|
X(glPopAttrib, void, (void), (), 218, 118, 0) \
|
||||||
X(glPopClientAttrib, void, (void), (), 334, 161, 0) \
|
X(glPopClientAttrib, void, (void), (), 334, 161, 0) \
|
||||||
X(glPopMatrix, void, (void), (), 297, 136, 0) \
|
X(glPopMatrix, void, (void), (), 297, 136, 0) \
|
||||||
X(glPopName, void, (void), (), 200, -1, 0) \
|
X(glPopName, void, (void), (), 200, -1, 0) \
|
||||||
X(glPrioritizeTextures, void, (GLsizei n, const GLuint *textures, const GLclampf *priorities), (n,textures,priorities), 331, -1, 12) \
|
X(glPrioritizeTextures, void, (GLsizei n, const GLuint *textures, const GLclampf *priorities), (n,textures,priorities), 331, -1, 12) \
|
||||||
X(glPushAttrib, void, (GLbitfield mask), (mask), 219, 119, 4) \
|
X(glPushAttrib, void, (GLbitfield mask), (mask), 219, 119, 4) \
|
||||||
X(glPushClientAttrib, void, (GLbitfield mask), (mask), 335, 162, 4) \
|
X(glPushClientAttrib, void, (GLbitfield mask), (mask), 335, 162, 4) \
|
||||||
X(glPushMatrix, void, (void), (), 298, 137, 0) \
|
X(glPushMatrix, void, (void), (), 298, 137, 0) \
|
||||||
X(glPushName, void, (GLuint name), (name), 201, -1, 4) \
|
X(glPushName, void, (GLuint name), (name), 201, -1, 4) \
|
||||||
X(glRasterPos2d, void, (GLdouble x, GLdouble y), (x,y), 62, -1, 16) \
|
X(glRasterPos2d, void, (GLdouble x, GLdouble y), (x,y), 62, -1, 16) \
|
||||||
X(glRasterPos2dv, void, (const GLdouble *v), (v), 63, -1, 4) \
|
X(glRasterPos2dv, void, (const GLdouble *v), (v), 63, -1, 4) \
|
||||||
X(glRasterPos2f, void, (GLfloat x, GLfloat y), (x,y), 64, -1, 8) \
|
X(glRasterPos2f, void, (GLfloat x, GLfloat y), (x,y), 64, -1, 8) \
|
||||||
X(glRasterPos2fv, void, (const GLfloat *v), (v), 65, -1, 4) \
|
X(glRasterPos2fv, void, (const GLfloat *v), (v), 65, -1, 4) \
|
||||||
X(glRasterPos2i, void, (GLint x, GLint y), (x,y), 66, -1, 8) \
|
X(glRasterPos2i, void, (GLint x, GLint y), (x,y), 66, -1, 8) \
|
||||||
X(glRasterPos2iv, void, (const GLint *v), (v), 67, -1, 4) \
|
X(glRasterPos2iv, void, (const GLint *v), (v), 67, -1, 4) \
|
||||||
X(glRasterPos2s, void, (GLshort x, GLshort y), (x,y), 68, -1, 8) \
|
X(glRasterPos2s, void, (GLshort x, GLshort y), (x,y), 68, -1, 8) \
|
||||||
X(glRasterPos2sv, void, (const GLshort *v), (v), 69, -1, 4) \
|
X(glRasterPos2sv, void, (const GLshort *v), (v), 69, -1, 4) \
|
||||||
X(glRasterPos3d, void, (GLdouble x, GLdouble y, GLdouble z), (x,y,z), 70, -1, 24) \
|
X(glRasterPos3d, void, (GLdouble x, GLdouble y, GLdouble z), (x,y,z), 70, -1, 24) \
|
||||||
X(glRasterPos3dv, void, (const GLdouble *v), (v), 71, -1, 4) \
|
X(glRasterPos3dv, void, (const GLdouble *v), (v), 71, -1, 4) \
|
||||||
X(glRasterPos3f, void, (GLfloat x, GLfloat y, GLfloat z), (x,y,z), 72, -1, 12) \
|
X(glRasterPos3f, void, (GLfloat x, GLfloat y, GLfloat z), (x,y,z), 72, -1, 12) \
|
||||||
X(glRasterPos3fv, void, (const GLfloat *v), (v), 73, -1, 4) \
|
X(glRasterPos3fv, void, (const GLfloat *v), (v), 73, -1, 4) \
|
||||||
X(glRasterPos3i, void, (GLint x, GLint y, GLint z), (x,y,z), 74, -1, 12) \
|
X(glRasterPos3i, void, (GLint x, GLint y, GLint z), (x,y,z), 74, -1, 12) \
|
||||||
X(glRasterPos3iv, void, (const GLint *v), (v), 75, -1, 4) \
|
X(glRasterPos3iv, void, (const GLint *v), (v), 75, -1, 4) \
|
||||||
X(glRasterPos3s, void, (GLshort x, GLshort y, GLshort z), (x,y,z), 76, -1, 12) \
|
X(glRasterPos3s, void, (GLshort x, GLshort y, GLshort z), (x,y,z), 76, -1, 12) \
|
||||||
X(glRasterPos3sv, void, (const GLshort *v), (v), 77, -1, 4) \
|
X(glRasterPos3sv, void, (const GLshort *v), (v), 77, -1, 4) \
|
||||||
X(glRasterPos4d, void, (GLdouble x, GLdouble y, GLdouble z, GLdouble w), (x,y,z,w), 78, -1, 32) \
|
X(glRasterPos4d, void, (GLdouble x, GLdouble y, GLdouble z, GLdouble w), (x,y,z,w), 78, -1, 32) \
|
||||||
X(glRasterPos4dv, void, (const GLdouble *v), (v), 79, -1, 4) \
|
X(glRasterPos4dv, void, (const GLdouble *v), (v), 79, -1, 4) \
|
||||||
X(glRasterPos4f, void, (GLfloat x, GLfloat y, GLfloat z, GLfloat w), (x,y,z,w), 80, -1, 16) \
|
X(glRasterPos4f, void, (GLfloat x, GLfloat y, GLfloat z, GLfloat w), (x,y,z,w), 80, -1, 16) \
|
||||||
X(glRasterPos4fv, void, (const GLfloat *v), (v), 81, -1, 4) \
|
X(glRasterPos4fv, void, (const GLfloat *v), (v), 81, -1, 4) \
|
||||||
X(glRasterPos4i, void, (GLint x, GLint y, GLint z, GLint w), (x,y,z,w), 82, -1, 16) \
|
X(glRasterPos4i, void, (GLint x, GLint y, GLint z, GLint w), (x,y,z,w), 82, -1, 16) \
|
||||||
X(glRasterPos4iv, void, (const GLint *v), (v), 83, -1, 4) \
|
X(glRasterPos4iv, void, (const GLint *v), (v), 83, -1, 4) \
|
||||||
X(glRasterPos4s, void, (GLshort x, GLshort y, GLshort z, GLshort w), (x,y,z,w), 84, -1, 16) \
|
X(glRasterPos4s, void, (GLshort x, GLshort y, GLshort z, GLshort w), (x,y,z,w), 84, -1, 16) \
|
||||||
X(glRasterPos4sv, void, (const GLshort *v), (v), 85, -1, 4) \
|
X(glRasterPos4sv, void, (const GLshort *v), (v), 85, -1, 4) \
|
||||||
X(glReadBuffer, void, (GLenum mode), (mode), 254, -1, 4) \
|
X(glReadBuffer, void, (GLenum mode), (mode), 254, -1, 4) \
|
||||||
X(glReadPixels, void, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels), (x,y,width,height,format,type,pixels), 256, -1, 28) \
|
X(glReadPixels, void, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels), (x,y,width,height,format,type,pixels), 256, -1, 28) \
|
||||||
X(glRectd, void, (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2), (x1,y1,x2,y2), 86, -1, 32) \
|
X(glRectd, void, (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2), (x1,y1,x2,y2), 86, -1, 32) \
|
||||||
X(glRectdv, void, (const GLdouble *v1, const GLdouble *v2), (v1,v2), 87, -1, 8) \
|
X(glRectdv, void, (const GLdouble *v1, const GLdouble *v2), (v1,v2), 87, -1, 8) \
|
||||||
X(glRectf, void, (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2), (x1,y1,x2,y2), 88, -1, 16) \
|
X(glRectf, void, (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2), (x1,y1,x2,y2), 88, -1, 16) \
|
||||||
X(glRectfv, void, (const GLfloat *v1, const GLfloat *v2), (v1,v2), 89, -1, 8) \
|
X(glRectfv, void, (const GLfloat *v1, const GLfloat *v2), (v1,v2), 89, -1, 8) \
|
||||||
X(glRecti, void, (GLint x1, GLint y1, GLint x2, GLint y2), (x1,y1,x2,y2), 90, -1, 16) \
|
X(glRecti, void, (GLint x1, GLint y1, GLint x2, GLint y2), (x1,y1,x2,y2), 90, -1, 16) \
|
||||||
X(glRectiv, void, (const GLint *v1, const GLint *v2), (v1,v2), 91, -1, 8) \
|
X(glRectiv, void, (const GLint *v1, const GLint *v2), (v1,v2), 91, -1, 8) \
|
||||||
X(glRects, void, (GLshort x1, GLshort y1, GLshort x2, GLshort y2), (x1,y1,x2,y2), 92, -1, 16) \
|
X(glRects, void, (GLshort x1, GLshort y1, GLshort x2, GLshort y2), (x1,y1,x2,y2), 92, -1, 16) \
|
||||||
X(glRectsv, void, (const GLshort *v1, const GLshort *v2), (v1,v2), 93, -1, 8) \
|
X(glRectsv, void, (const GLshort *v1, const GLshort *v2), (v1,v2), 93, -1, 8) \
|
||||||
X(glRenderMode, GLint, (GLenum mode), (mode), 196, -1, 4) \
|
X(glRenderMode, GLint, (GLenum mode), (mode), 196, -1, 4) \
|
||||||
X(glRotated, void, (GLdouble angle, GLdouble x, GLdouble y, GLdouble z), (angle,x,y,z), 299, 138, 32) \
|
X(glRotated, void, (GLdouble angle, GLdouble x, GLdouble y, GLdouble z), (angle,x,y,z), 299, 138, 32) \
|
||||||
X(glRotatef, void, (GLfloat angle, GLfloat x, GLfloat y, GLfloat z), (angle,x,y,z), 300, 139, 16) \
|
X(glRotatef, void, (GLfloat angle, GLfloat x, GLfloat y, GLfloat z), (angle,x,y,z), 300, 139, 16) \
|
||||||
X(glScaled, void, (GLdouble x, GLdouble y, GLdouble z), (x,y,z), 301, 140, 24) \
|
X(glScaled, void, (GLdouble x, GLdouble y, GLdouble z), (x,y,z), 301, 140, 24) \
|
||||||
X(glScalef, void, (GLfloat x, GLfloat y, GLfloat z), (x,y,z), 302, 141, 12) \
|
X(glScalef, void, (GLfloat x, GLfloat y, GLfloat z), (x,y,z), 302, 141, 12) \
|
||||||
X(glScissor, void, (GLint x, GLint y, GLsizei width, GLsizei height), (x,y,width,height), 176, -1, 16) \
|
X(glScissor, void, (GLint x, GLint y, GLsizei width, GLsizei height), (x,y,width,height), 176, -1, 16) \
|
||||||
X(glSelectBuffer, void, (GLsizei size, GLuint *buffer), (size,buffer), 195, -1, 8) \
|
X(glSelectBuffer, void, (GLsizei size, GLuint *buffer), (size,buffer), 195, -1, 8) \
|
||||||
X(glShadeModel, void, (GLenum mode), (mode), 177, -1, 4) \
|
X(glShadeModel, void, (GLenum mode), (mode), 177, -1, 4) \
|
||||||
X(glStencilFunc, void, (GLenum func, GLint ref, GLuint mask), (func,ref,mask), 243, -1, 12) \
|
X(glStencilFunc, void, (GLenum func, GLint ref, GLuint mask), (func,ref,mask), 243, -1, 12) \
|
||||||
X(glStencilMask, void, (GLuint mask), (mask), 209, -1, 4) \
|
X(glStencilMask, void, (GLuint mask), (mask), 209, -1, 4) \
|
||||||
X(glStencilOp, void, (GLenum fail, GLenum zfail, GLenum zpass), (fail,zfail,zpass), 244, -1, 12) \
|
X(glStencilOp, void, (GLenum fail, GLenum zfail, GLenum zpass), (fail,zfail,zpass), 244, -1, 12) \
|
||||||
X(glTexCoord1d, void, (GLdouble s), (s), 94, 56, 8) \
|
X(glTexCoord1d, void, (GLdouble s), (s), 94, 56, 8) \
|
||||||
X(glTexCoord1dv, void, (const GLdouble *v), (v), 95, 57, 4) \
|
X(glTexCoord1dv, void, (const GLdouble *v), (v), 95, 57, 4) \
|
||||||
X(glTexCoord1f, void, (GLfloat s), (s), 96, 58, 4) \
|
X(glTexCoord1f, void, (GLfloat s), (s), 96, 58, 4) \
|
||||||
X(glTexCoord1fv, void, (const GLfloat *v), (v), 97, 59, 4) \
|
X(glTexCoord1fv, void, (const GLfloat *v), (v), 97, 59, 4) \
|
||||||
X(glTexCoord1i, void, (GLint s), (s), 98, 60, 4) \
|
X(glTexCoord1i, void, (GLint s), (s), 98, 60, 4) \
|
||||||
X(glTexCoord1iv, void, (const GLint *v), (v), 99, 61, 4) \
|
X(glTexCoord1iv, void, (const GLint *v), (v), 99, 61, 4) \
|
||||||
X(glTexCoord1s, void, (GLshort s), (s), 100, 62, 4) \
|
X(glTexCoord1s, void, (GLshort s), (s), 100, 62, 4) \
|
||||||
X(glTexCoord1sv, void, (const GLshort *v), (v), 101, 63, 4) \
|
X(glTexCoord1sv, void, (const GLshort *v), (v), 101, 63, 4) \
|
||||||
X(glTexCoord2d, void, (GLdouble s, GLdouble t), (s,t), 102, 64, 16) \
|
X(glTexCoord2d, void, (GLdouble s, GLdouble t), (s,t), 102, 64, 16) \
|
||||||
X(glTexCoord2dv, void, (const GLdouble *v), (v), 103, 65, 4) \
|
X(glTexCoord2dv, void, (const GLdouble *v), (v), 103, 65, 4) \
|
||||||
X(glTexCoord2f, void, (GLfloat s, GLfloat t), (s,t), 104, 66, 8) \
|
X(glTexCoord2f, void, (GLfloat s, GLfloat t), (s,t), 104, 66, 8) \
|
||||||
X(glTexCoord2fv, void, (const GLfloat *v), (v), 105, 67, 4) \
|
X(glTexCoord2fv, void, (const GLfloat *v), (v), 105, 67, 4) \
|
||||||
X(glTexCoord2i, void, (GLint s, GLint t), (s,t), 106, 68, 8) \
|
X(glTexCoord2i, void, (GLint s, GLint t), (s,t), 106, 68, 8) \
|
||||||
X(glTexCoord2iv, void, (const GLint *v), (v), 107, 69, 4) \
|
X(glTexCoord2iv, void, (const GLint *v), (v), 107, 69, 4) \
|
||||||
X(glTexCoord2s, void, (GLshort s, GLshort t), (s,t), 108, 70, 8) \
|
X(glTexCoord2s, void, (GLshort s, GLshort t), (s,t), 108, 70, 8) \
|
||||||
X(glTexCoord2sv, void, (const GLshort *v), (v), 109, 71, 4) \
|
X(glTexCoord2sv, void, (const GLshort *v), (v), 109, 71, 4) \
|
||||||
X(glTexCoord3d, void, (GLdouble s, GLdouble t, GLdouble r), (s,t,r), 110, 72, 24) \
|
X(glTexCoord3d, void, (GLdouble s, GLdouble t, GLdouble r), (s,t,r), 110, 72, 24) \
|
||||||
X(glTexCoord3dv, void, (const GLdouble *v), (v), 111, 73, 4) \
|
X(glTexCoord3dv, void, (const GLdouble *v), (v), 111, 73, 4) \
|
||||||
X(glTexCoord3f, void, (GLfloat s, GLfloat t, GLfloat r), (s,t,r), 112, 74, 12) \
|
X(glTexCoord3f, void, (GLfloat s, GLfloat t, GLfloat r), (s,t,r), 112, 74, 12) \
|
||||||
X(glTexCoord3fv, void, (const GLfloat *v), (v), 113, 75, 4) \
|
X(glTexCoord3fv, void, (const GLfloat *v), (v), 113, 75, 4) \
|
||||||
X(glTexCoord3i, void, (GLint s, GLint t, GLint r), (s,t,r), 114, 76, 12) \
|
X(glTexCoord3i, void, (GLint s, GLint t, GLint r), (s,t,r), 114, 76, 12) \
|
||||||
X(glTexCoord3iv, void, (const GLint *v), (v), 115, 77, 4) \
|
X(glTexCoord3iv, void, (const GLint *v), (v), 115, 77, 4) \
|
||||||
X(glTexCoord3s, void, (GLshort s, GLshort t, GLshort r), (s,t,r), 116, 78, 12) \
|
X(glTexCoord3s, void, (GLshort s, GLshort t, GLshort r), (s,t,r), 116, 78, 12) \
|
||||||
X(glTexCoord3sv, void, (const GLshort *v), (v), 117, 79, 4) \
|
X(glTexCoord3sv, void, (const GLshort *v), (v), 117, 79, 4) \
|
||||||
X(glTexCoord4d, void, (GLdouble s, GLdouble t, GLdouble r, GLdouble q), (s,t,r,q), 118, 80, 32) \
|
X(glTexCoord4d, void, (GLdouble s, GLdouble t, GLdouble r, GLdouble q), (s,t,r,q), 118, 80, 32) \
|
||||||
X(glTexCoord4dv, void, (const GLdouble *v), (v), 119, 81, 4) \
|
X(glTexCoord4dv, void, (const GLdouble *v), (v), 119, 81, 4) \
|
||||||
X(glTexCoord4f, void, (GLfloat s, GLfloat t, GLfloat r, GLfloat q), (s,t,r,q), 120, 82, 16) \
|
X(glTexCoord4f, void, (GLfloat s, GLfloat t, GLfloat r, GLfloat q), (s,t,r,q), 120, 82, 16) \
|
||||||
X(glTexCoord4fv, void, (const GLfloat *v), (v), 121, 83, 4) \
|
X(glTexCoord4fv, void, (const GLfloat *v), (v), 121, 83, 4) \
|
||||||
X(glTexCoord4i, void, (GLint s, GLint t, GLint r, GLint q), (s,t,r,q), 122, 84, 16) \
|
X(glTexCoord4i, void, (GLint s, GLint t, GLint r, GLint q), (s,t,r,q), 122, 84, 16) \
|
||||||
X(glTexCoord4iv, void, (const GLint *v), (v), 123, 85, 4) \
|
X(glTexCoord4iv, void, (const GLint *v), (v), 123, 85, 4) \
|
||||||
X(glTexCoord4s, void, (GLshort s, GLshort t, GLshort r, GLshort q), (s,t,r,q), 124, 86, 16) \
|
X(glTexCoord4s, void, (GLshort s, GLshort t, GLshort r, GLshort q), (s,t,r,q), 124, 86, 16) \
|
||||||
X(glTexCoord4sv, void, (const GLshort *v), (v), 125, 87, 4) \
|
X(glTexCoord4sv, void, (const GLshort *v), (v), 125, 87, 4) \
|
||||||
X(glTexCoordPointer, void, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), (size,type,stride,pointer), 320, 158, 16) \
|
X(glTexCoordPointer, void, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), (size,type,stride,pointer), 320, 158, 16) \
|
||||||
X(glTexEnvf, void, (GLenum target, GLenum pname, GLfloat param), (target,pname,param), 184, -1, 12) \
|
X(glTexEnvf, void, (GLenum target, GLenum pname, GLfloat param), (target,pname,param), 184, -1, 12) \
|
||||||
X(glTexEnvfv, void, (GLenum target, GLenum pname, const GLfloat *params), (target,pname,params), 185, -1, 12) \
|
X(glTexEnvfv, void, (GLenum target, GLenum pname, const GLfloat *params), (target,pname,params), 185, -1, 12) \
|
||||||
X(glTexEnvi, void, (GLenum target, GLenum pname, GLint param), (target,pname,param), 186, -1, 12) \
|
X(glTexEnvi, void, (GLenum target, GLenum pname, GLint param), (target,pname,param), 186, -1, 12) \
|
||||||
X(glTexEnviv, void, (GLenum target, GLenum pname, const GLint *params), (target,pname,params), 187, -1, 12) \
|
X(glTexEnviv, void, (GLenum target, GLenum pname, const GLint *params), (target,pname,params), 187, -1, 12) \
|
||||||
X(glTexGend, void, (GLenum coord, GLenum pname, GLdouble param), (coord,pname,param), 188, -1, 16) \
|
X(glTexGend, void, (GLenum coord, GLenum pname, GLdouble param), (coord,pname,param), 188, -1, 16) \
|
||||||
X(glTexGendv, void, (GLenum coord, GLenum pname, const GLdouble *params), (coord,pname,params), 189, -1, 12) \
|
X(glTexGendv, void, (GLenum coord, GLenum pname, const GLdouble *params), (coord,pname,params), 189, -1, 12) \
|
||||||
X(glTexGenf, void, (GLenum coord, GLenum pname, GLfloat param), (coord,pname,param), 190, -1, 12) \
|
X(glTexGenf, void, (GLenum coord, GLenum pname, GLfloat param), (coord,pname,param), 190, -1, 12) \
|
||||||
X(glTexGenfv, void, (GLenum coord, GLenum pname, const GLfloat *params), (coord,pname,params), 191, -1, 12) \
|
X(glTexGenfv, void, (GLenum coord, GLenum pname, const GLfloat *params), (coord,pname,params), 191, -1, 12) \
|
||||||
X(glTexGeni, void, (GLenum coord, GLenum pname, GLint param), (coord,pname,param), 192, -1, 12) \
|
X(glTexGeni, void, (GLenum coord, GLenum pname, GLint param), (coord,pname,param), 192, -1, 12) \
|
||||||
X(glTexGeniv, void, (GLenum coord, GLenum pname, const GLint *params), (coord,pname,params), 193, -1, 12) \
|
X(glTexGeniv, void, (GLenum coord, GLenum pname, const GLint *params), (coord,pname,params), 193, -1, 12) \
|
||||||
X(glTexImage1D, void, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels), (target,level,internalformat,width,border,format,type,pixels), 182, -1, 32) \
|
X(glTexImage1D, void, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels), (target,level,internalformat,width,border,format,type,pixels), 182, -1, 32) \
|
||||||
X(glTexImage2D, void, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels), (target,level,internalformat,width,height,border,format,type,pixels), 183, -1, 36) \
|
X(glTexImage2D, void, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels), (target,level,internalformat,width,height,border,format,type,pixels), 183, -1, 36) \
|
||||||
X(glTexParameterf, void, (GLenum target, GLenum pname, GLfloat param), (target,pname,param), 178, -1, 12) \
|
X(glTexParameterf, void, (GLenum target, GLenum pname, GLfloat param), (target,pname,param), 178, -1, 12) \
|
||||||
X(glTexParameterfv, void, (GLenum target, GLenum pname, const GLfloat *params), (target,pname,params), 179, -1, 12) \
|
X(glTexParameterfv, void, (GLenum target, GLenum pname, const GLfloat *params), (target,pname,params), 179, -1, 12) \
|
||||||
X(glTexParameteri, void, (GLenum target, GLenum pname, GLint param), (target,pname,param), 180, -1, 12) \
|
X(glTexParameteri, void, (GLenum target, GLenum pname, GLint param), (target,pname,param), 180, -1, 12) \
|
||||||
X(glTexParameteriv, void, (GLenum target, GLenum pname, const GLint *params), (target,pname,params), 181, -1, 12) \
|
X(glTexParameteriv, void, (GLenum target, GLenum pname, const GLint *params), (target,pname,params), 181, -1, 12) \
|
||||||
X(glTexSubImage1D, void, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels), (target,level,xoffset,width,format,type,pixels), 332, -1, 28) \
|
X(glTexSubImage1D, void, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels), (target,level,xoffset,width,format,type,pixels), 332, -1, 28) \
|
||||||
X(glTexSubImage2D, void, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels), (target,level,xoffset,yoffset,width,height,format,type,pixels), 333, -1, 36) \
|
X(glTexSubImage2D, void, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels), (target,level,xoffset,yoffset,width,height,format,type,pixels), 333, -1, 36) \
|
||||||
X(glTranslated, void, (GLdouble x, GLdouble y, GLdouble z), (x,y,z), 303, 142, 24) \
|
X(glTranslated, void, (GLdouble x, GLdouble y, GLdouble z), (x,y,z), 303, 142, 24) \
|
||||||
X(glTranslatef, void, (GLfloat x, GLfloat y, GLfloat z), (x,y,z), 304, 143, 12) \
|
X(glTranslatef, void, (GLfloat x, GLfloat y, GLfloat z), (x,y,z), 304, 143, 12) \
|
||||||
X(glVertex2d, void, (GLdouble x, GLdouble y), (x,y), 126, 88, 16) \
|
X(glVertex2d, void, (GLdouble x, GLdouble y), (x,y), 126, 88, 16) \
|
||||||
X(glVertex2dv, void, (const GLdouble *v), (v), 127, 89, 4) \
|
X(glVertex2dv, void, (const GLdouble *v), (v), 127, 89, 4) \
|
||||||
X(glVertex2f, void, (GLfloat x, GLfloat y), (x,y), 128, 90, 8) \
|
X(glVertex2f, void, (GLfloat x, GLfloat y), (x,y), 128, 90, 8) \
|
||||||
X(glVertex2fv, void, (const GLfloat *v), (v), 129, 91, 4) \
|
X(glVertex2fv, void, (const GLfloat *v), (v), 129, 91, 4) \
|
||||||
X(glVertex2i, void, (GLint x, GLint y), (x,y), 130, 92, 8) \
|
X(glVertex2i, void, (GLint x, GLint y), (x,y), 130, 92, 8) \
|
||||||
X(glVertex2iv, void, (const GLint *v), (v), 131, 93, 4) \
|
X(glVertex2iv, void, (const GLint *v), (v), 131, 93, 4) \
|
||||||
X(glVertex2s, void, (GLshort x, GLshort y), (x,y), 132, 94, 8) \
|
X(glVertex2s, void, (GLshort x, GLshort y), (x,y), 132, 94, 8) \
|
||||||
X(glVertex2sv, void, (const GLshort *v), (v), 133, 95, 4) \
|
X(glVertex2sv, void, (const GLshort *v), (v), 133, 95, 4) \
|
||||||
X(glVertex3d, void, (GLdouble x, GLdouble y, GLdouble z), (x,y,z), 134, 96, 24) \
|
X(glVertex3d, void, (GLdouble x, GLdouble y, GLdouble z), (x,y,z), 134, 96, 24) \
|
||||||
X(glVertex3dv, void, (const GLdouble *v), (v), 135, 97, 4) \
|
X(glVertex3dv, void, (const GLdouble *v), (v), 135, 97, 4) \
|
||||||
X(glVertex3f, void, (GLfloat x, GLfloat y, GLfloat z), (x,y,z), 136, 98, 12) \
|
X(glVertex3f, void, (GLfloat x, GLfloat y, GLfloat z), (x,y,z), 136, 98, 12) \
|
||||||
X(glVertex3fv, void, (const GLfloat *v), (v), 137, 99, 4) \
|
X(glVertex3fv, void, (const GLfloat *v), (v), 137, 99, 4) \
|
||||||
X(glVertex3i, void, (GLint x, GLint y, GLint z), (x,y,z), 138, 100, 12) \
|
X(glVertex3i, void, (GLint x, GLint y, GLint z), (x,y,z), 138, 100, 12) \
|
||||||
X(glVertex3iv, void, (const GLint *v), (v), 139, 101, 4) \
|
X(glVertex3iv, void, (const GLint *v), (v), 139, 101, 4) \
|
||||||
X(glVertex3s, void, (GLshort x, GLshort y, GLshort z), (x,y,z), 140, 102, 12) \
|
X(glVertex3s, void, (GLshort x, GLshort y, GLshort z), (x,y,z), 140, 102, 12) \
|
||||||
X(glVertex3sv, void, (const GLshort *v), (v), 141, 103, 4) \
|
X(glVertex3sv, void, (const GLshort *v), (v), 141, 103, 4) \
|
||||||
X(glVertex4d, void, (GLdouble x, GLdouble y, GLdouble z, GLdouble w), (x,y,z,w), 142, 104, 32) \
|
X(glVertex4d, void, (GLdouble x, GLdouble y, GLdouble z, GLdouble w), (x,y,z,w), 142, 104, 32) \
|
||||||
X(glVertex4dv, void, (const GLdouble *v), (v), 143, 105, 4) \
|
X(glVertex4dv, void, (const GLdouble *v), (v), 143, 105, 4) \
|
||||||
X(glVertex4f, void, (GLfloat x, GLfloat y, GLfloat z, GLfloat w), (x,y,z,w), 144, 106, 16) \
|
X(glVertex4f, void, (GLfloat x, GLfloat y, GLfloat z, GLfloat w), (x,y,z,w), 144, 106, 16) \
|
||||||
X(glVertex4fv, void, (const GLfloat *v), (v), 145, 107, 4) \
|
X(glVertex4fv, void, (const GLfloat *v), (v), 145, 107, 4) \
|
||||||
X(glVertex4i, void, (GLint x, GLint y, GLint z, GLint w), (x,y,z,w), 146, 108, 16) \
|
X(glVertex4i, void, (GLint x, GLint y, GLint z, GLint w), (x,y,z,w), 146, 108, 16) \
|
||||||
X(glVertex4iv, void, (const GLint *v), (v), 147, 109, 4) \
|
X(glVertex4iv, void, (const GLint *v), (v), 147, 109, 4) \
|
||||||
X(glVertex4s, void, (GLshort x, GLshort y, GLshort z, GLshort w), (x,y,z,w), 148, 110, 16) \
|
X(glVertex4s, void, (GLshort x, GLshort y, GLshort z, GLshort w), (x,y,z,w), 148, 110, 16) \
|
||||||
X(glVertex4sv, void, (const GLshort *v), (v), 149, 111, 4) \
|
X(glVertex4sv, void, (const GLshort *v), (v), 149, 111, 4) \
|
||||||
X(glVertexPointer, void, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), (size,type,stride,pointer), 321, 159, 16) \
|
X(glVertexPointer, void, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), (size,type,stride,pointer), 321, 159, 16) \
|
||||||
X(glViewport, void, (GLint x, GLint y, GLsizei width, GLsizei height), (x,y,width,height), 305, -1, 16) \
|
X(glViewport, void, (GLint x, GLint y, GLsizei width, GLsizei height), (x,y,width,height), 305, -1, 16) \
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -5,17 +5,17 @@
|
||||||
|
|
||||||
enum icdoffsets_e
|
enum icdoffsets_e
|
||||||
{
|
{
|
||||||
ICDIDX_INVALID = -1,
|
ICDIDX_INVALID = -1,
|
||||||
#define ICD_ENTRY(x) ICDIDX_##x,
|
#define ICD_ENTRY(x) ICDIDX_##x,
|
||||||
#include "icdlist.h"
|
#include "icdlist.h"
|
||||||
#undef ICD_ENTRY
|
#undef ICD_ENTRY
|
||||||
ICDIDX_COUNT
|
ICDIDX_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct tagICDTable
|
typedef struct tagICDTable
|
||||||
{
|
{
|
||||||
DWORD num_funcs; /*!< Normally 336 (0x150) -- the number of functions in OpenGL 1.1 */
|
DWORD num_funcs; /*!< Normally 336 (0x150) -- the number of functions in OpenGL 1.1 */
|
||||||
PROC dispatch_table[812]; /*!< Table containing \a num_funcs pointers to OpenGL functions */
|
PROC dispatch_table[812]; /*!< Table containing \a num_funcs pointers to OpenGL functions */
|
||||||
} ICDTable, *PICDTable;
|
} ICDTable, *PICDTable;
|
||||||
|
|
||||||
#endif /* OPENGL32_PRIVATE_ICDTABLE_H */
|
#endif /* OPENGL32_PRIVATE_ICDTABLE_H */
|
||||||
|
|
|
@ -28,200 +28,200 @@ GLPROCESSDATA OPENGL32_processdata;
|
||||||
static BOOL
|
static BOOL
|
||||||
OPENGL32_ThreadAttach()
|
OPENGL32_ThreadAttach()
|
||||||
{
|
{
|
||||||
GLTHREADDATA* lpData = NULL;
|
GLTHREADDATA* lpData = NULL;
|
||||||
PROC *dispatchTable = NULL;
|
PROC *dispatchTable = NULL;
|
||||||
TEB *teb = NULL;
|
TEB *teb = NULL;
|
||||||
|
|
||||||
dispatchTable = (PROC*)HeapAlloc( GetProcessHeap(),
|
dispatchTable = (PROC*)HeapAlloc( GetProcessHeap(),
|
||||||
HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY,
|
HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY,
|
||||||
sizeof (((ICDTable *)(0))->dispatch_table) );
|
sizeof (((ICDTable *)(0))->dispatch_table) );
|
||||||
if (dispatchTable == NULL)
|
if (dispatchTable == NULL)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't allocate GL dispatch table" );
|
DBGPRINT( "Error: Couldn't allocate GL dispatch table" );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
lpData = (GLTHREADDATA*)HeapAlloc( GetProcessHeap(),
|
lpData = (GLTHREADDATA*)HeapAlloc( GetProcessHeap(),
|
||||||
HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY,
|
HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY,
|
||||||
sizeof (GLTHREADDATA) );
|
sizeof (GLTHREADDATA) );
|
||||||
if (lpData == NULL)
|
if (lpData == NULL)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't allocate GLTHREADDATA" );
|
DBGPRINT( "Error: Couldn't allocate GLTHREADDATA" );
|
||||||
HeapFree( GetProcessHeap(), 0, dispatchTable );
|
HeapFree( GetProcessHeap(), 0, dispatchTable );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
teb = NtCurrentTeb();
|
teb = NtCurrentTeb();
|
||||||
|
|
||||||
/* initialize dispatch table with empty functions */
|
/* initialize dispatch table with empty functions */
|
||||||
#define X(func, ret, typeargs, args, icdidx, tebidx, stack) \
|
#define X(func, ret, typeargs, args, icdidx, tebidx, stack) \
|
||||||
dispatchTable[icdidx] = (PROC)glEmptyFunc##stack; \
|
dispatchTable[icdidx] = (PROC)glEmptyFunc##stack; \
|
||||||
if (tebidx >= 0) \
|
if (tebidx >= 0) \
|
||||||
teb->glDispatchTable[tebidx] = (PVOID)glEmptyFunc##stack;
|
teb->glDispatchTable[tebidx] = (PVOID)glEmptyFunc##stack;
|
||||||
GLFUNCS_MACRO
|
GLFUNCS_MACRO
|
||||||
#undef X
|
#undef X
|
||||||
|
|
||||||
teb->glTable = dispatchTable;
|
teb->glTable = dispatchTable;
|
||||||
TlsSetValue( OPENGL32_tls, lpData );
|
TlsSetValue( OPENGL32_tls, lpData );
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
OPENGL32_ThreadDetach()
|
OPENGL32_ThreadDetach()
|
||||||
{
|
{
|
||||||
GLTHREADDATA* lpData = NULL;
|
GLTHREADDATA* lpData = NULL;
|
||||||
PROC *dispatchTable = NULL;
|
PROC *dispatchTable = NULL;
|
||||||
|
|
||||||
rosglMakeCurrent( NULL, NULL );
|
rosglMakeCurrent( NULL, NULL );
|
||||||
|
|
||||||
lpData = (GLTHREADDATA*)TlsGetValue( OPENGL32_tls );
|
lpData = (GLTHREADDATA*)TlsGetValue( OPENGL32_tls );
|
||||||
if (lpData != NULL)
|
if (lpData != NULL)
|
||||||
{
|
{
|
||||||
if (!HeapFree( GetProcessHeap(), 0, lpData ))
|
if (!HeapFree( GetProcessHeap(), 0, lpData ))
|
||||||
DBGPRINT( "Warning: HeapFree() on GLTHREADDATA failed (%d)",
|
DBGPRINT( "Warning: HeapFree() on GLTHREADDATA failed (%d)",
|
||||||
GetLastError() );
|
GetLastError() );
|
||||||
lpData = NULL;
|
lpData = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatchTable = NtCurrentTeb()->glTable;
|
dispatchTable = NtCurrentTeb()->glTable;
|
||||||
if (dispatchTable != NULL)
|
if (dispatchTable != NULL)
|
||||||
{
|
{
|
||||||
if (!HeapFree( GetProcessHeap(), 0, dispatchTable ))
|
if (!HeapFree( GetProcessHeap(), 0, dispatchTable ))
|
||||||
DBGPRINT( "Warning: HeapFree() on dispatch table failed (%d)",
|
DBGPRINT( "Warning: HeapFree() on dispatch table failed (%d)",
|
||||||
GetLastError() );
|
GetLastError() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
OPENGL32_ProcessAttach()
|
OPENGL32_ProcessAttach()
|
||||||
{
|
{
|
||||||
SECURITY_ATTRIBUTES attrib = { sizeof (SECURITY_ATTRIBUTES), /* nLength */
|
SECURITY_ATTRIBUTES attrib = { sizeof (SECURITY_ATTRIBUTES), /* nLength */
|
||||||
NULL, /* lpSecurityDescriptor */
|
NULL, /* lpSecurityDescriptor */
|
||||||
TRUE /* bInheritHandle */ };
|
TRUE /* bInheritHandle */ };
|
||||||
|
|
||||||
OPENGL32_tls = TlsAlloc();
|
OPENGL32_tls = TlsAlloc();
|
||||||
if (-1U == OPENGL32_tls)
|
if (-1U == OPENGL32_tls)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
memset( &OPENGL32_processdata, 0, sizeof (OPENGL32_processdata) );
|
memset( &OPENGL32_processdata, 0, sizeof (OPENGL32_processdata) );
|
||||||
|
|
||||||
/* create driver, glrc & dcdata list mutex */
|
/* create driver, glrc & dcdata list mutex */
|
||||||
OPENGL32_processdata.driver_mutex = CreateMutex( &attrib, FALSE, NULL );
|
OPENGL32_processdata.driver_mutex = CreateMutex( &attrib, FALSE, NULL );
|
||||||
if (OPENGL32_processdata.driver_mutex == NULL)
|
if (OPENGL32_processdata.driver_mutex == NULL)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't create driver_list mutex (%d)",
|
DBGPRINT( "Error: Couldn't create driver_list mutex (%d)",
|
||||||
GetLastError() );
|
GetLastError() );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
OPENGL32_processdata.glrc_mutex = CreateMutex( &attrib, FALSE, NULL );
|
OPENGL32_processdata.glrc_mutex = CreateMutex( &attrib, FALSE, NULL );
|
||||||
if (OPENGL32_processdata.glrc_mutex == NULL)
|
if (OPENGL32_processdata.glrc_mutex == NULL)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't create glrc_list mutex (%d)",
|
DBGPRINT( "Error: Couldn't create glrc_list mutex (%d)",
|
||||||
GetLastError() );
|
GetLastError() );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
OPENGL32_processdata.dcdata_mutex = CreateMutex( &attrib, FALSE, NULL );
|
OPENGL32_processdata.dcdata_mutex = CreateMutex( &attrib, FALSE, NULL );
|
||||||
if (OPENGL32_processdata.dcdata_mutex == NULL)
|
if (OPENGL32_processdata.dcdata_mutex == NULL)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't create dcdata_list mutex (%d)",
|
DBGPRINT( "Error: Couldn't create dcdata_list mutex (%d)",
|
||||||
GetLastError() );
|
GetLastError() );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
OPENGL32_ProcessDetach()
|
OPENGL32_ProcessDetach()
|
||||||
{
|
{
|
||||||
GLDRIVERDATA *icd, *icd2;
|
GLDRIVERDATA *icd, *icd2;
|
||||||
GLDCDATA *dcdata, *dcdata2;
|
GLDCDATA *dcdata, *dcdata2;
|
||||||
GLRC *glrc, *glrc2;
|
GLRC *glrc, *glrc2;
|
||||||
|
|
||||||
/* free lists */
|
/* free lists */
|
||||||
for (dcdata = OPENGL32_processdata.dcdata_list; dcdata != NULL;)
|
for (dcdata = OPENGL32_processdata.dcdata_list; dcdata != NULL;)
|
||||||
{
|
{
|
||||||
dcdata2 = dcdata;
|
dcdata2 = dcdata;
|
||||||
dcdata = dcdata->next;
|
dcdata = dcdata->next;
|
||||||
if (!HeapFree( GetProcessHeap(), 0, dcdata2 ))
|
if (!HeapFree( GetProcessHeap(), 0, dcdata2 ))
|
||||||
DBGPRINT( "Warning: HeapFree() on DCDATA 0x%08x failed (%d)",
|
DBGPRINT( "Warning: HeapFree() on DCDATA 0x%08x failed (%d)",
|
||||||
dcdata2, GetLastError() );
|
dcdata2, GetLastError() );
|
||||||
}
|
}
|
||||||
|
|
||||||
for (glrc = OPENGL32_processdata.glrc_list; glrc != NULL;)
|
for (glrc = OPENGL32_processdata.glrc_list; glrc != NULL;)
|
||||||
{
|
{
|
||||||
glrc2 = glrc;
|
glrc2 = glrc;
|
||||||
glrc = glrc->next;
|
glrc = glrc->next;
|
||||||
if (!HeapFree( GetProcessHeap(), 0, glrc2 ))
|
if (!HeapFree( GetProcessHeap(), 0, glrc2 ))
|
||||||
DBGPRINT( "Warning: HeapFree() on GLRC 0x%08x failed (%d)",
|
DBGPRINT( "Warning: HeapFree() on GLRC 0x%08x failed (%d)",
|
||||||
glrc2, GetLastError() );
|
glrc2, GetLastError() );
|
||||||
}
|
}
|
||||||
|
|
||||||
for (icd = OPENGL32_processdata.driver_list; icd != NULL;)
|
for (icd = OPENGL32_processdata.driver_list; icd != NULL;)
|
||||||
{
|
{
|
||||||
icd2 = icd;
|
icd2 = icd;
|
||||||
icd = icd->next;
|
icd = icd->next;
|
||||||
if (!HeapFree( GetProcessHeap(), 0, icd2 ))
|
if (!HeapFree( GetProcessHeap(), 0, icd2 ))
|
||||||
DBGPRINT( "Warning: HeapFree() on DRIVERDATA 0x%08x failed (%d)",
|
DBGPRINT( "Warning: HeapFree() on DRIVERDATA 0x%08x failed (%d)",
|
||||||
icd2, GetLastError() );
|
icd2, GetLastError() );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* free mutexes */
|
/* free mutexes */
|
||||||
if (OPENGL32_processdata.driver_mutex != NULL)
|
if (OPENGL32_processdata.driver_mutex != NULL)
|
||||||
CloseHandle( OPENGL32_processdata.driver_mutex );
|
CloseHandle( OPENGL32_processdata.driver_mutex );
|
||||||
if (OPENGL32_processdata.glrc_mutex != NULL)
|
if (OPENGL32_processdata.glrc_mutex != NULL)
|
||||||
CloseHandle( OPENGL32_processdata.glrc_mutex );
|
CloseHandle( OPENGL32_processdata.glrc_mutex );
|
||||||
if (OPENGL32_processdata.dcdata_mutex != NULL)
|
if (OPENGL32_processdata.dcdata_mutex != NULL)
|
||||||
CloseHandle( OPENGL32_processdata.dcdata_mutex );
|
CloseHandle( OPENGL32_processdata.dcdata_mutex );
|
||||||
|
|
||||||
/* free TLS */
|
/* free TLS */
|
||||||
if (OPENGL32_tls != -1U)
|
if (OPENGL32_tls != -1U)
|
||||||
TlsFree(OPENGL32_tls);
|
TlsFree(OPENGL32_tls);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
DllMain(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved)
|
DllMain(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Info: Called!" );
|
DBGPRINT( "Info: Called!" );
|
||||||
switch ( Reason )
|
switch ( Reason )
|
||||||
{
|
{
|
||||||
/* The DLL is loading due to process
|
/* The DLL is loading due to process
|
||||||
* initialization or a call to LoadLibrary.
|
* initialization or a call to LoadLibrary.
|
||||||
*/
|
*/
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
DBGTRACE( "Process attach" );
|
DBGTRACE( "Process attach" );
|
||||||
if (!OPENGL32_ProcessAttach())
|
if (!OPENGL32_ProcessAttach())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
/* No break: Initialize the index for first thread. */
|
/* No break: Initialize the index for first thread. */
|
||||||
|
|
||||||
/* The attached process creates a new thread. */
|
/* The attached process creates a new thread. */
|
||||||
case DLL_THREAD_ATTACH:
|
case DLL_THREAD_ATTACH:
|
||||||
DBGTRACE( "Thread attach" );
|
DBGTRACE( "Thread attach" );
|
||||||
if (!OPENGL32_ThreadAttach())
|
if (!OPENGL32_ThreadAttach())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* The thread of the attached process terminates. */
|
/* The thread of the attached process terminates. */
|
||||||
case DLL_THREAD_DETACH:
|
case DLL_THREAD_DETACH:
|
||||||
DBGTRACE( "Thread detach" );
|
DBGTRACE( "Thread detach" );
|
||||||
/* Release the allocated memory for this thread.*/
|
/* Release the allocated memory for this thread.*/
|
||||||
OPENGL32_ThreadDetach();
|
OPENGL32_ThreadDetach();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* DLL unload due to process termination or FreeLibrary. */
|
/* DLL unload due to process termination or FreeLibrary. */
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
DBGTRACE( "Process detach" );
|
DBGTRACE( "Process detach" );
|
||||||
OPENGL32_ThreadDetach();
|
OPENGL32_ThreadDetach();
|
||||||
OPENGL32_ProcessDetach();
|
OPENGL32_ProcessDetach();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -234,15 +234,15 @@ DllMain(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved)
|
||||||
static void
|
static void
|
||||||
OPENGL32_AppendICD( GLDRIVERDATA *icd )
|
OPENGL32_AppendICD( GLDRIVERDATA *icd )
|
||||||
{
|
{
|
||||||
if (OPENGL32_processdata.driver_list == NULL)
|
if (OPENGL32_processdata.driver_list == NULL)
|
||||||
OPENGL32_processdata.driver_list = icd;
|
OPENGL32_processdata.driver_list = icd;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GLDRIVERDATA *p = OPENGL32_processdata.driver_list;
|
GLDRIVERDATA *p = OPENGL32_processdata.driver_list;
|
||||||
while (p->next != NULL)
|
while (p->next != NULL)
|
||||||
p = p->next;
|
p = p->next;
|
||||||
p->next = icd;
|
p->next = icd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -255,22 +255,22 @@ OPENGL32_AppendICD( GLDRIVERDATA *icd )
|
||||||
static void
|
static void
|
||||||
OPENGL32_RemoveICD( GLDRIVERDATA *icd )
|
OPENGL32_RemoveICD( GLDRIVERDATA *icd )
|
||||||
{
|
{
|
||||||
if (icd == OPENGL32_processdata.driver_list)
|
if (icd == OPENGL32_processdata.driver_list)
|
||||||
OPENGL32_processdata.driver_list = icd->next;
|
OPENGL32_processdata.driver_list = icd->next;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GLDRIVERDATA *p = OPENGL32_processdata.driver_list;
|
GLDRIVERDATA *p = OPENGL32_processdata.driver_list;
|
||||||
while (p != NULL)
|
while (p != NULL)
|
||||||
{
|
{
|
||||||
if (p->next == icd)
|
if (p->next == icd)
|
||||||
{
|
{
|
||||||
p->next = icd->next;
|
p->next = icd->next;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
p = p->next;
|
p = p->next;
|
||||||
}
|
}
|
||||||
DBGPRINT( "Error: ICD 0x%08x not found in list!", icd );
|
DBGPRINT( "Error: ICD 0x%08x not found in list!", icd );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -286,52 +286,52 @@ OPENGL32_RemoveICD( GLDRIVERDATA *icd )
|
||||||
static GLDRIVERDATA *
|
static GLDRIVERDATA *
|
||||||
OPENGL32_LoadDriver( LPCWSTR driver )
|
OPENGL32_LoadDriver( LPCWSTR driver )
|
||||||
{
|
{
|
||||||
LONG ret;
|
LONG ret;
|
||||||
GLDRIVERDATA *icd;
|
GLDRIVERDATA *icd;
|
||||||
|
|
||||||
DBGPRINT( "Info: Loading driver %ws...", driver );
|
DBGPRINT( "Info: Loading driver %ws...", driver );
|
||||||
|
|
||||||
/* allocate driver data */
|
/* allocate driver data */
|
||||||
icd = (GLDRIVERDATA*)HeapAlloc( GetProcessHeap(),
|
icd = (GLDRIVERDATA*)HeapAlloc( GetProcessHeap(),
|
||||||
HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY,
|
HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY,
|
||||||
sizeof (GLDRIVERDATA) );
|
sizeof (GLDRIVERDATA) );
|
||||||
if (icd == NULL)
|
if (icd == NULL)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't allocate GLDRIVERDATA! (%d)", GetLastError() );
|
DBGPRINT( "Error: Couldn't allocate GLDRIVERDATA! (%d)", GetLastError() );
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = OPENGL32_RegGetDriverInfo( driver, icd );
|
ret = OPENGL32_RegGetDriverInfo( driver, icd );
|
||||||
if (ret != ERROR_SUCCESS)
|
if (ret != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't query driver information (%d)", ret );
|
DBGPRINT( "Error: Couldn't query driver information (%d)", ret );
|
||||||
if (!HeapFree( GetProcessHeap(), 0, icd ))
|
if (!HeapFree( GetProcessHeap(), 0, icd ))
|
||||||
DBGPRINT( "Error: HeapFree() returned false, error code = %d",
|
DBGPRINT( "Error: HeapFree() returned false, error code = %d",
|
||||||
GetLastError() );
|
GetLastError() );
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
DBGPRINT( "Info: Dll = %ws", icd->dll );
|
DBGPRINT( "Info: Dll = %ws", icd->dll );
|
||||||
DBGPRINT( "Info: Version = 0x%08x", icd->version );
|
DBGPRINT( "Info: Version = 0x%08x", icd->version );
|
||||||
DBGPRINT( "Info: DriverVersion = 0x%08x", icd->driver_version );
|
DBGPRINT( "Info: DriverVersion = 0x%08x", icd->driver_version );
|
||||||
DBGPRINT( "Info: Flags = 0x%08x", icd->flags );
|
DBGPRINT( "Info: Flags = 0x%08x", icd->flags );
|
||||||
|
|
||||||
/* load/initialize ICD */
|
/* load/initialize ICD */
|
||||||
ret = OPENGL32_InitializeDriver( icd );
|
ret = OPENGL32_InitializeDriver( icd );
|
||||||
if (ret != ERROR_SUCCESS)
|
if (ret != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldnt initialize ICD!" );
|
DBGPRINT( "Error: Couldnt initialize ICD!" );
|
||||||
if (!HeapFree( GetProcessHeap(), 0, icd ))
|
if (!HeapFree( GetProcessHeap(), 0, icd ))
|
||||||
DBGPRINT( "Error: HeapFree() returned false, error code = %d",
|
DBGPRINT( "Error: HeapFree() returned false, error code = %d",
|
||||||
GetLastError() );
|
GetLastError() );
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* append ICD to list */
|
/* append ICD to list */
|
||||||
OPENGL32_AppendICD( icd );
|
OPENGL32_AppendICD( icd );
|
||||||
DBGPRINT( "Info: ICD loaded." );
|
DBGPRINT( "Info: ICD loaded." );
|
||||||
|
|
||||||
return icd;
|
return icd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -343,74 +343,74 @@ OPENGL32_LoadDriver( LPCWSTR driver )
|
||||||
* \retval ERROR_SUCCESS Success
|
* \retval ERROR_SUCCESS Success
|
||||||
*/
|
*/
|
||||||
#define LOAD_DRV_PROC( icd, proc, required ) \
|
#define LOAD_DRV_PROC( icd, proc, required ) \
|
||||||
*(char**)&icd->proc = (char*)GetProcAddress( icd->handle, #proc ); \
|
*(char**)&icd->proc = (char*)GetProcAddress( icd->handle, #proc ); \
|
||||||
if (required && icd->proc == NULL) { \
|
if (required && icd->proc == NULL) { \
|
||||||
DBGPRINT( "Error: GetProcAddress(\"%s\") failed!", #proc ); \
|
DBGPRINT( "Error: GetProcAddress(\"%s\") failed!", #proc ); \
|
||||||
FreeLibrary( icd->handle ); \
|
FreeLibrary( icd->handle ); \
|
||||||
return GetLastError(); \
|
return GetLastError(); \
|
||||||
}
|
}
|
||||||
|
|
||||||
static DWORD
|
static DWORD
|
||||||
OPENGL32_InitializeDriver( GLDRIVERDATA *icd )
|
OPENGL32_InitializeDriver( GLDRIVERDATA *icd )
|
||||||
{
|
{
|
||||||
/* check version */
|
/* check version */
|
||||||
if (icd->version > 2)
|
if (icd->version > 2)
|
||||||
DBGPRINT( "Warning: ICD version > 2 (%d)", icd->version );
|
DBGPRINT( "Warning: ICD version > 2 (%d)", icd->version );
|
||||||
|
|
||||||
/* load dll */
|
/* load dll */
|
||||||
icd->handle = LoadLibraryW( icd->dll );
|
icd->handle = LoadLibraryW( icd->dll );
|
||||||
if (icd->handle == NULL)
|
if (icd->handle == NULL)
|
||||||
{
|
{
|
||||||
DWORD err = GetLastError();
|
DWORD err = GetLastError();
|
||||||
DBGPRINT( "Error: Couldn't load DLL! (%d)", err );
|
DBGPRINT( "Error: Couldn't load DLL! (%d)", err );
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* validate version */
|
/* validate version */
|
||||||
if (icd->driver_version > 1)
|
if (icd->driver_version > 1)
|
||||||
{
|
{
|
||||||
LOAD_DRV_PROC(icd, DrvValidateVersion, FALSE);
|
LOAD_DRV_PROC(icd, DrvValidateVersion, FALSE);
|
||||||
if (icd->DrvValidateVersion != NULL)
|
if (icd->DrvValidateVersion != NULL)
|
||||||
{
|
{
|
||||||
if (!icd->DrvValidateVersion( icd->driver_version ))
|
if (!icd->DrvValidateVersion( icd->driver_version ))
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: DrvValidateVersion failed!" );
|
DBGPRINT( "Error: DrvValidateVersion failed!" );
|
||||||
DBGBREAK();
|
DBGBREAK();
|
||||||
FreeLibrary( icd->handle );
|
FreeLibrary( icd->handle );
|
||||||
return ERROR_INVALID_FUNCTION; /* FIXME: use better error code */
|
return ERROR_INVALID_FUNCTION; /* FIXME: use better error code */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
DBGPRINT( "Info: DrvValidateVersion not exported by ICD" );
|
DBGPRINT( "Info: DrvValidateVersion not exported by ICD" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* load DrvXXX procs */
|
/* load DrvXXX procs */
|
||||||
LOAD_DRV_PROC(icd, DrvCopyContext, TRUE);
|
LOAD_DRV_PROC(icd, DrvCopyContext, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvCreateContext, FALSE);
|
LOAD_DRV_PROC(icd, DrvCreateContext, FALSE);
|
||||||
LOAD_DRV_PROC(icd, DrvCreateLayerContext, FALSE);
|
LOAD_DRV_PROC(icd, DrvCreateLayerContext, FALSE);
|
||||||
LOAD_DRV_PROC(icd, DrvDeleteContext, TRUE);
|
LOAD_DRV_PROC(icd, DrvDeleteContext, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvDescribeLayerPlane, TRUE);
|
LOAD_DRV_PROC(icd, DrvDescribeLayerPlane, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvDescribePixelFormat, TRUE);
|
LOAD_DRV_PROC(icd, DrvDescribePixelFormat, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvGetLayerPaletteEntries, TRUE);
|
LOAD_DRV_PROC(icd, DrvGetLayerPaletteEntries, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvGetProcAddress, TRUE);
|
LOAD_DRV_PROC(icd, DrvGetProcAddress, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvReleaseContext, TRUE);
|
LOAD_DRV_PROC(icd, DrvReleaseContext, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvRealizeLayerPalette, TRUE);
|
LOAD_DRV_PROC(icd, DrvRealizeLayerPalette, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvSetContext, TRUE);
|
LOAD_DRV_PROC(icd, DrvSetContext, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvSetLayerPaletteEntries, TRUE);
|
LOAD_DRV_PROC(icd, DrvSetLayerPaletteEntries, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvSetPixelFormat, TRUE);
|
LOAD_DRV_PROC(icd, DrvSetPixelFormat, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvShareLists, TRUE);
|
LOAD_DRV_PROC(icd, DrvShareLists, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvSwapBuffers, TRUE);
|
LOAD_DRV_PROC(icd, DrvSwapBuffers, TRUE);
|
||||||
LOAD_DRV_PROC(icd, DrvSwapLayerBuffers, TRUE);
|
LOAD_DRV_PROC(icd, DrvSwapLayerBuffers, TRUE);
|
||||||
|
|
||||||
/* we require at least one of DrvCreateContext and DrvCreateLayerContext */
|
/* we require at least one of DrvCreateContext and DrvCreateLayerContext */
|
||||||
if (icd->DrvCreateContext == NULL && icd->DrvCreateLayerContext == NULL)
|
if (icd->DrvCreateContext == NULL && icd->DrvCreateLayerContext == NULL)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: One of DrvCreateContext/DrvCreateLayerContext is required!" );
|
DBGPRINT( "Error: One of DrvCreateContext/DrvCreateLayerContext is required!" );
|
||||||
FreeLibrary( icd->handle );
|
FreeLibrary( icd->handle );
|
||||||
return ERROR_INVALID_FUNCTION; /* FIXME: use better error code... */
|
return ERROR_INVALID_FUNCTION; /* FIXME: use better error code... */
|
||||||
}
|
}
|
||||||
|
|
||||||
return ERROR_SUCCESS;
|
return ERROR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -422,30 +422,30 @@ OPENGL32_InitializeDriver( GLDRIVERDATA *icd )
|
||||||
static BOOL
|
static BOOL
|
||||||
OPENGL32_UnloadDriver( GLDRIVERDATA *icd )
|
OPENGL32_UnloadDriver( GLDRIVERDATA *icd )
|
||||||
{
|
{
|
||||||
BOOL allOk = TRUE;
|
BOOL allOk = TRUE;
|
||||||
|
|
||||||
DBGPRINT( "Info: Unloading driver %ws...", icd->driver_name );
|
DBGPRINT( "Info: Unloading driver %ws...", icd->driver_name );
|
||||||
if (icd->refcount != 0)
|
if (icd->refcount != 0)
|
||||||
DBGPRINT( "Warning: ICD refcount = %d (should be 0)", icd->refcount );
|
DBGPRINT( "Warning: ICD refcount = %d (should be 0)", icd->refcount );
|
||||||
|
|
||||||
/* unload dll */
|
/* unload dll */
|
||||||
if (!FreeLibrary( icd->handle ))
|
if (!FreeLibrary( icd->handle ))
|
||||||
{
|
{
|
||||||
allOk = FALSE;
|
allOk = FALSE;
|
||||||
DBGPRINT( "Warning: FreeLibrary on ICD %ws failed! (%d)", icd->dll,
|
DBGPRINT( "Warning: FreeLibrary on ICD %ws failed! (%d)", icd->dll,
|
||||||
GetLastError() );
|
GetLastError() );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* free resources */
|
/* free resources */
|
||||||
OPENGL32_RemoveICD( icd );
|
OPENGL32_RemoveICD( icd );
|
||||||
if (!HeapFree( GetProcessHeap(), 0, icd ))
|
if (!HeapFree( GetProcessHeap(), 0, icd ))
|
||||||
{
|
{
|
||||||
allOk = FALSE;
|
allOk = FALSE;
|
||||||
DBGPRINT( "Warning: HeapFree() returned FALSE, error code = %d",
|
DBGPRINT( "Warning: HeapFree() returned FALSE, error code = %d",
|
||||||
GetLastError() );
|
GetLastError() );
|
||||||
}
|
}
|
||||||
|
|
||||||
return allOk;
|
return allOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -457,41 +457,41 @@ OPENGL32_UnloadDriver( GLDRIVERDATA *icd )
|
||||||
GLDRIVERDATA *
|
GLDRIVERDATA *
|
||||||
OPENGL32_LoadICD( LPCWSTR driver )
|
OPENGL32_LoadICD( LPCWSTR driver )
|
||||||
{
|
{
|
||||||
GLDRIVERDATA *icd;
|
GLDRIVERDATA *icd;
|
||||||
|
|
||||||
/* synchronize */
|
/* synchronize */
|
||||||
if (WaitForSingleObject( OPENGL32_processdata.driver_mutex, INFINITE ) ==
|
if (WaitForSingleObject( OPENGL32_processdata.driver_mutex, INFINITE ) ==
|
||||||
WAIT_FAILED)
|
WAIT_FAILED)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: WaitForSingleObject() failed (%d)", GetLastError() );
|
DBGPRINT( "Error: WaitForSingleObject() failed (%d)", GetLastError() );
|
||||||
return NULL; /* FIXME: do we have to expect such an error and handle it? */
|
return NULL; /* FIXME: do we have to expect such an error and handle it? */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* look if ICD is already loaded */
|
/* look if ICD is already loaded */
|
||||||
for (icd = OPENGL32_processdata.driver_list; icd; icd = icd->next)
|
for (icd = OPENGL32_processdata.driver_list; icd; icd = icd->next)
|
||||||
{
|
{
|
||||||
if (!_wcsicmp( driver, icd->driver_name )) /* found */
|
if (!_wcsicmp( driver, icd->driver_name )) /* found */
|
||||||
{
|
{
|
||||||
icd->refcount++;
|
icd->refcount++;
|
||||||
|
|
||||||
/* release mutex */
|
/* release mutex */
|
||||||
if (!ReleaseMutex( OPENGL32_processdata.driver_mutex ))
|
if (!ReleaseMutex( OPENGL32_processdata.driver_mutex ))
|
||||||
DBGPRINT( "Error: ReleaseMutex() failed (%d)", GetLastError() );
|
DBGPRINT( "Error: ReleaseMutex() failed (%d)", GetLastError() );
|
||||||
|
|
||||||
return icd;
|
return icd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* not found - try to load */
|
/* not found - try to load */
|
||||||
icd = OPENGL32_LoadDriver( driver );
|
icd = OPENGL32_LoadDriver( driver );
|
||||||
if (icd != NULL)
|
if (icd != NULL)
|
||||||
icd->refcount = 1;
|
icd->refcount = 1;
|
||||||
|
|
||||||
/* release mutex */
|
/* release mutex */
|
||||||
if (!ReleaseMutex( OPENGL32_processdata.driver_mutex ))
|
if (!ReleaseMutex( OPENGL32_processdata.driver_mutex ))
|
||||||
DBGPRINT( "Error: ReleaseMutex() failed (%d)", GetLastError() );
|
DBGPRINT( "Error: ReleaseMutex() failed (%d)", GetLastError() );
|
||||||
|
|
||||||
return icd;
|
return icd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -503,24 +503,24 @@ OPENGL32_LoadICD( LPCWSTR driver )
|
||||||
BOOL
|
BOOL
|
||||||
OPENGL32_UnloadICD( GLDRIVERDATA *icd )
|
OPENGL32_UnloadICD( GLDRIVERDATA *icd )
|
||||||
{
|
{
|
||||||
BOOL ret = TRUE;
|
BOOL ret = TRUE;
|
||||||
|
|
||||||
/* synchronize */
|
/* synchronize */
|
||||||
if (WaitForSingleObject( OPENGL32_processdata.driver_mutex, INFINITE ) ==
|
if (WaitForSingleObject( OPENGL32_processdata.driver_mutex, INFINITE ) ==
|
||||||
WAIT_FAILED)
|
WAIT_FAILED)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: WaitForSingleObject() failed (%d)", GetLastError() );
|
DBGPRINT( "Error: WaitForSingleObject() failed (%d)", GetLastError() );
|
||||||
return FALSE; /* FIXME: do we have to expect such an error and handle it? */
|
return FALSE; /* FIXME: do we have to expect such an error and handle it? */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (--icd->refcount == 0)
|
if (--icd->refcount == 0)
|
||||||
ret = OPENGL32_UnloadDriver( icd );
|
ret = OPENGL32_UnloadDriver( icd );
|
||||||
|
|
||||||
/* release mutex */
|
/* release mutex */
|
||||||
if (!ReleaseMutex( OPENGL32_processdata.driver_mutex ))
|
if (!ReleaseMutex( OPENGL32_processdata.driver_mutex ))
|
||||||
DBGPRINT( "Error: ReleaseMutex() failed (%d)", GetLastError() );
|
DBGPRINT( "Error: ReleaseMutex() failed (%d)", GetLastError() );
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -540,40 +540,40 @@ OPENGL32_UnloadICD( GLDRIVERDATA *icd )
|
||||||
DWORD
|
DWORD
|
||||||
OPENGL32_RegEnumDrivers( DWORD idx, LPWSTR name, LPDWORD cName )
|
OPENGL32_RegEnumDrivers( DWORD idx, LPWSTR name, LPDWORD cName )
|
||||||
{
|
{
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
LPCWSTR subKey = OPENGL_DRIVERS_SUBKEY;
|
LPCWSTR subKey = OPENGL_DRIVERS_SUBKEY;
|
||||||
LONG ret;
|
LONG ret;
|
||||||
DWORD size;
|
DWORD size;
|
||||||
WCHAR driver[256];
|
WCHAR driver[256];
|
||||||
|
|
||||||
if (name == NULL)
|
if (name == NULL)
|
||||||
return ERROR_SUCCESS; /* nothing to do */
|
return ERROR_SUCCESS; /* nothing to do */
|
||||||
|
|
||||||
if (cName == NULL)
|
if (cName == NULL)
|
||||||
return ERROR_INVALID_FUNCTION; /* we need cName when name is given */
|
return ERROR_INVALID_FUNCTION; /* we need cName when name is given */
|
||||||
|
|
||||||
/* open OpenGLDrivers registry key */
|
/* open OpenGLDrivers registry key */
|
||||||
ret = RegOpenKeyExW( HKEY_LOCAL_MACHINE, subKey, 0, KEY_READ, &hKey );
|
ret = RegOpenKeyExW( HKEY_LOCAL_MACHINE, subKey, 0, KEY_READ, &hKey );
|
||||||
if (ret != ERROR_SUCCESS)
|
if (ret != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't open registry key '%ws'", subKey );
|
DBGPRINT( "Error: Couldn't open registry key '%ws'", subKey );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get subkey name */
|
/* get subkey name */
|
||||||
size = sizeof (driver) / sizeof (driver[0]);
|
size = sizeof (driver) / sizeof (driver[0]);
|
||||||
ret = RegEnumKeyW( hKey, idx, name, *cName );
|
ret = RegEnumKeyW( hKey, idx, name, *cName );
|
||||||
if (ret != ERROR_SUCCESS)
|
if (ret != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't get OpenGLDrivers subkey name (%d)", ret );
|
DBGPRINT( "Error: Couldn't get OpenGLDrivers subkey name (%d)", ret );
|
||||||
RegCloseKey( hKey );
|
RegCloseKey( hKey );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
*cName = wcslen( name );
|
*cName = wcslen( name );
|
||||||
|
|
||||||
/* close key */
|
/* close key */
|
||||||
RegCloseKey( hKey );
|
RegCloseKey( hKey );
|
||||||
return ERROR_SUCCESS;
|
return ERROR_SUCCESS;
|
||||||
}
|
}
|
||||||
#endif /* 0 -- unused */
|
#endif /* 0 -- unused */
|
||||||
|
|
||||||
|
@ -592,64 +592,64 @@ OPENGL32_RegEnumDrivers( DWORD idx, LPWSTR name, LPDWORD cName )
|
||||||
static DWORD
|
static DWORD
|
||||||
OPENGL32_RegGetDriverInfo( LPCWSTR driver, GLDRIVERDATA *icd )
|
OPENGL32_RegGetDriverInfo( LPCWSTR driver, GLDRIVERDATA *icd )
|
||||||
{
|
{
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
WCHAR subKey[1024] = OPENGL_DRIVERS_SUBKEY2;
|
WCHAR subKey[1024] = OPENGL_DRIVERS_SUBKEY2;
|
||||||
LONG ret;
|
LONG ret;
|
||||||
DWORD type, size;
|
DWORD type, size;
|
||||||
|
|
||||||
/* drivers registry values */
|
/* drivers registry values */
|
||||||
DWORD version = 1, driverVersion = 0, flags = 0;
|
DWORD version = 1, driverVersion = 0, flags = 0;
|
||||||
WCHAR dll[256];
|
WCHAR dll[256];
|
||||||
|
|
||||||
/* open driver registry key */
|
/* open driver registry key */
|
||||||
wcsncat( subKey, driver, 1024 );
|
wcsncat( subKey, driver, 1024 );
|
||||||
ret = RegOpenKeyExW( HKEY_LOCAL_MACHINE, subKey, 0, KEY_READ, &hKey );
|
ret = RegOpenKeyExW( HKEY_LOCAL_MACHINE, subKey, 0, KEY_READ, &hKey );
|
||||||
if (ret != ERROR_SUCCESS)
|
if (ret != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't open registry key '%ws'", subKey );
|
DBGPRINT( "Error: Couldn't open registry key '%ws'", subKey );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* query values */
|
/* query values */
|
||||||
size = sizeof (dll);
|
size = sizeof (dll);
|
||||||
ret = RegQueryValueExW( hKey, L"Dll", 0, &type, (LPBYTE)dll, &size );
|
ret = RegQueryValueExW( hKey, L"Dll", 0, &type, (LPBYTE)dll, &size );
|
||||||
if (ret != ERROR_SUCCESS || type != REG_SZ)
|
if (ret != ERROR_SUCCESS || type != REG_SZ)
|
||||||
{
|
{
|
||||||
DBGPRINT( "Error: Couldn't query Dll value or not a string" );
|
DBGPRINT( "Error: Couldn't query Dll value or not a string" );
|
||||||
RegCloseKey( hKey );
|
RegCloseKey( hKey );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
size = sizeof (DWORD);
|
size = sizeof (DWORD);
|
||||||
ret = RegQueryValueExW( hKey, L"Version", 0, &type, (LPBYTE)&version, &size );
|
ret = RegQueryValueExW( hKey, L"Version", 0, &type, (LPBYTE)&version, &size );
|
||||||
if (ret != ERROR_SUCCESS || type != REG_DWORD)
|
if (ret != ERROR_SUCCESS || type != REG_DWORD)
|
||||||
DBGPRINT( "Warning: Couldn't query Version value or not a DWORD" );
|
DBGPRINT( "Warning: Couldn't query Version value or not a DWORD" );
|
||||||
|
|
||||||
size = sizeof (DWORD);
|
size = sizeof (DWORD);
|
||||||
ret = RegQueryValueExW( hKey, L"DriverVersion", 0, &type,
|
ret = RegQueryValueExW( hKey, L"DriverVersion", 0, &type,
|
||||||
(LPBYTE)&driverVersion, &size );
|
(LPBYTE)&driverVersion, &size );
|
||||||
if (ret != ERROR_SUCCESS || type != REG_DWORD)
|
if (ret != ERROR_SUCCESS || type != REG_DWORD)
|
||||||
DBGPRINT( "Warning: Couldn't query DriverVersion value or not a DWORD" );
|
DBGPRINT( "Warning: Couldn't query DriverVersion value or not a DWORD" );
|
||||||
|
|
||||||
size = sizeof (DWORD);
|
size = sizeof (DWORD);
|
||||||
ret = RegQueryValueExW( hKey, L"Flags", 0, &type, (LPBYTE)&flags, &size );
|
ret = RegQueryValueExW( hKey, L"Flags", 0, &type, (LPBYTE)&flags, &size );
|
||||||
if (ret != ERROR_SUCCESS || type != REG_DWORD)
|
if (ret != ERROR_SUCCESS || type != REG_DWORD)
|
||||||
DBGPRINT( "Warning: Couldn't query Flags value or not a DWORD" );
|
DBGPRINT( "Warning: Couldn't query Flags value or not a DWORD" );
|
||||||
|
|
||||||
/* close key */
|
/* close key */
|
||||||
RegCloseKey( hKey );
|
RegCloseKey( hKey );
|
||||||
|
|
||||||
/* output data */
|
/* output data */
|
||||||
/* FIXME: NUL-terminate strings? */
|
/* FIXME: NUL-terminate strings? */
|
||||||
wcsncpy( icd->driver_name, driver,
|
wcsncpy( icd->driver_name, driver,
|
||||||
sizeof (icd->driver_name) / sizeof (icd->driver_name[0]) - 1 );
|
sizeof (icd->driver_name) / sizeof (icd->driver_name[0]) - 1 );
|
||||||
wcsncpy( icd->dll, dll,
|
wcsncpy( icd->dll, dll,
|
||||||
sizeof (icd->dll) / sizeof (icd->dll[0]) );
|
sizeof (icd->dll) / sizeof (icd->dll[0]) );
|
||||||
icd->version = version;
|
icd->version = version;
|
||||||
icd->driver_version = driverVersion;
|
icd->driver_version = driverVersion;
|
||||||
icd->flags = flags;
|
icd->flags = flags;
|
||||||
|
|
||||||
return ERROR_SUCCESS;
|
return ERROR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -134,75 +134,75 @@ typedef DWORD (WINAPI *SetContextCallBack)( const ICDTable * );
|
||||||
/* OpenGL ICD data */
|
/* OpenGL ICD data */
|
||||||
typedef struct tagGLDRIVERDATA
|
typedef struct tagGLDRIVERDATA
|
||||||
{
|
{
|
||||||
HMODULE handle; /*!< DLL handle */
|
HMODULE handle; /*!< DLL handle */
|
||||||
UINT refcount; /*!< Number of references to this ICD */
|
UINT refcount; /*!< Number of references to this ICD */
|
||||||
WCHAR driver_name[256]; /*!< Name of ICD driver */
|
WCHAR driver_name[256]; /*!< Name of ICD driver */
|
||||||
|
|
||||||
WCHAR dll[256]; /*!< Dll filename from registry */
|
WCHAR dll[256]; /*!< Dll filename from registry */
|
||||||
DWORD version; /*!< Version value from registry */
|
DWORD version; /*!< Version value from registry */
|
||||||
DWORD driver_version; /*!< DriverVersion value from registry */
|
DWORD driver_version; /*!< DriverVersion value from registry */
|
||||||
DWORD flags; /*!< Flags value from registry */
|
DWORD flags; /*!< Flags value from registry */
|
||||||
|
|
||||||
BOOL (WINAPI *DrvCopyContext)( HGLRC, HGLRC, UINT );
|
BOOL (WINAPI *DrvCopyContext)( HGLRC, HGLRC, UINT );
|
||||||
HGLRC (WINAPI *DrvCreateContext)( HDC );
|
HGLRC (WINAPI *DrvCreateContext)( HDC );
|
||||||
HGLRC (WINAPI *DrvCreateLayerContext)( HDC, int );
|
HGLRC (WINAPI *DrvCreateLayerContext)( HDC, int );
|
||||||
BOOL (WINAPI *DrvDeleteContext)( HGLRC );
|
BOOL (WINAPI *DrvDeleteContext)( HGLRC );
|
||||||
BOOL (WINAPI *DrvDescribeLayerPlane)( HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR );
|
BOOL (WINAPI *DrvDescribeLayerPlane)( HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR );
|
||||||
int (WINAPI *DrvDescribePixelFormat)( IN HDC, IN int, IN UINT, OUT LPPIXELFORMATDESCRIPTOR );
|
int (WINAPI *DrvDescribePixelFormat)( IN HDC, IN int, IN UINT, OUT LPPIXELFORMATDESCRIPTOR );
|
||||||
int (WINAPI *DrvGetLayerPaletteEntries)( HDC, int, int, int, COLORREF * );
|
int (WINAPI *DrvGetLayerPaletteEntries)( HDC, int, int, int, COLORREF * );
|
||||||
PROC (WINAPI *DrvGetProcAddress)( LPCSTR lpProcName );
|
PROC (WINAPI *DrvGetProcAddress)( LPCSTR lpProcName );
|
||||||
void (WINAPI *DrvReleaseContext)( HGLRC hglrc ); /* maybe returns BOOL? */
|
void (WINAPI *DrvReleaseContext)( HGLRC hglrc ); /* maybe returns BOOL? */
|
||||||
BOOL (WINAPI *DrvRealizeLayerPalette)( HDC, int, BOOL );
|
BOOL (WINAPI *DrvRealizeLayerPalette)( HDC, int, BOOL );
|
||||||
PICDTable (WINAPI *DrvSetContext)( HDC hdc, HGLRC hglrc, SetContextCallBack callback );
|
PICDTable (WINAPI *DrvSetContext)( HDC hdc, HGLRC hglrc, SetContextCallBack callback );
|
||||||
int (WINAPI *DrvSetLayerPaletteEntries)( HDC, int, int, int, CONST COLORREF * );
|
int (WINAPI *DrvSetLayerPaletteEntries)( HDC, int, int, int, CONST COLORREF * );
|
||||||
BOOL (WINAPI *DrvSetPixelFormat)( IN HDC, IN int, const PIXELFORMATDESCRIPTOR * );
|
BOOL (WINAPI *DrvSetPixelFormat)( IN HDC, IN int, const PIXELFORMATDESCRIPTOR * );
|
||||||
BOOL (WINAPI *DrvShareLists)( HGLRC, HGLRC );
|
BOOL (WINAPI *DrvShareLists)( HGLRC, HGLRC );
|
||||||
BOOL (WINAPI *DrvSwapBuffers)( HDC );
|
BOOL (WINAPI *DrvSwapBuffers)( HDC );
|
||||||
BOOL (WINAPI *DrvSwapLayerBuffers)( HDC, UINT );
|
BOOL (WINAPI *DrvSwapLayerBuffers)( HDC, UINT );
|
||||||
BOOL (WINAPI *DrvValidateVersion)( DWORD );
|
BOOL (WINAPI *DrvValidateVersion)( DWORD );
|
||||||
|
|
||||||
struct tagGLDRIVERDATA *next; /* next ICD -- linked list */
|
struct tagGLDRIVERDATA *next; /* next ICD -- linked list */
|
||||||
} GLDRIVERDATA;
|
} GLDRIVERDATA;
|
||||||
|
|
||||||
/* Our private OpenGL context (stored in TLS) */
|
/* Our private OpenGL context (stored in TLS) */
|
||||||
typedef struct tagGLRC
|
typedef struct tagGLRC
|
||||||
{
|
{
|
||||||
GLDRIVERDATA *icd; /*!< driver used for this context */
|
GLDRIVERDATA *icd; /*!< driver used for this context */
|
||||||
HDC hdc; /*!< DC handle */
|
HDC hdc; /*!< DC handle */
|
||||||
BOOL is_current; /*!< Wether this context is current for some DC */
|
BOOL is_current; /*!< Wether this context is current for some DC */
|
||||||
DWORD thread_id; /*!< Thread holding this context */
|
DWORD thread_id; /*!< Thread holding this context */
|
||||||
|
|
||||||
HGLRC hglrc; /*!< GLRC from DrvCreateContext (ICD internal) */
|
HGLRC hglrc; /*!< GLRC from DrvCreateContext (ICD internal) */
|
||||||
|
|
||||||
struct tagGLRC *next; /* linked list */
|
struct tagGLRC *next; /* linked list */
|
||||||
} GLRC;
|
} GLRC;
|
||||||
|
|
||||||
/* OpenGL private device context data */
|
/* OpenGL private device context data */
|
||||||
typedef struct tagGLDCDATA
|
typedef struct tagGLDCDATA
|
||||||
{
|
{
|
||||||
HDC hdc; /*!< Device context handle for which this data is */
|
HDC hdc; /*!< Device context handle for which this data is */
|
||||||
GLDRIVERDATA *icd; /*!< Driver used for this DC */
|
GLDRIVERDATA *icd; /*!< Driver used for this DC */
|
||||||
int pixel_format; /*!< Selected pixel format */
|
int pixel_format; /*!< Selected pixel format */
|
||||||
|
|
||||||
struct tagGLDCDATA *next; /* linked list */
|
struct tagGLDCDATA *next; /* linked list */
|
||||||
} GLDCDATA;
|
} GLDCDATA;
|
||||||
|
|
||||||
|
|
||||||
/* Process data */
|
/* Process data */
|
||||||
typedef struct tagGLPROCESSDATA
|
typedef struct tagGLPROCESSDATA
|
||||||
{
|
{
|
||||||
GLDRIVERDATA *driver_list; /*!< List of loaded drivers */
|
GLDRIVERDATA *driver_list; /*!< List of loaded drivers */
|
||||||
HANDLE driver_mutex; /*!< Mutex to protect driver list */
|
HANDLE driver_mutex; /*!< Mutex to protect driver list */
|
||||||
GLRC *glrc_list; /*!< List of GL rendering contexts */
|
GLRC *glrc_list; /*!< List of GL rendering contexts */
|
||||||
HANDLE glrc_mutex; /*!< Mutex to protect glrc list */
|
HANDLE glrc_mutex; /*!< Mutex to protect glrc list */
|
||||||
GLDCDATA *dcdata_list; /*!< List of GL private DC data */
|
GLDCDATA *dcdata_list; /*!< List of GL private DC data */
|
||||||
HANDLE dcdata_mutex; /*!< Mutex to protect glrc list */
|
HANDLE dcdata_mutex; /*!< Mutex to protect glrc list */
|
||||||
} GLPROCESSDATA;
|
} GLPROCESSDATA;
|
||||||
|
|
||||||
/* TLS data */
|
/* TLS data */
|
||||||
typedef struct tagGLTHREADDATA
|
typedef struct tagGLTHREADDATA
|
||||||
{
|
{
|
||||||
GLRC *glrc; /*!< current GL rendering context */
|
GLRC *glrc; /*!< current GL rendering context */
|
||||||
} GLTHREADDATA;
|
} GLTHREADDATA;
|
||||||
|
|
||||||
extern DWORD OPENGL32_tls;
|
extern DWORD OPENGL32_tls;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue