mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 23:00:11 +01:00
Make the transition to script-genereated GLX code easier.
Move EXT_vertex_array wrapper functions from indirect_init.c to vertarr.c. Fix problems with EXT_multi_draw_arrays function names.
This commit is contained in:
parent
345ed3ac8c
commit
c8c24d049d
3 changed files with 72 additions and 57 deletions
|
|
@ -563,8 +563,8 @@ void __indirect_glWindowPos3dvARB(const GLdouble * p);
|
|||
void __indirect_glWindowPos3ivARB(const GLint * p);
|
||||
void __indirect_glWindowPos3svARB(const GLshort * p);
|
||||
|
||||
void __indirect_glMultiDrawArrays(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
|
||||
void __indirect_glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid ** indices, GLsizei primcount);
|
||||
void __indirect_glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
|
||||
void __indirect_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid ** indices, GLsizei primcount);
|
||||
|
||||
void __indirect_glSampleMaskSGIS( GLfloat value, GLboolean invert );
|
||||
void __indirect_glSamplePatternSGIS( GLenum pass );
|
||||
|
|
@ -595,6 +595,19 @@ void __indirect_glCompressedTexSubImage3DARB( GLenum target, GLint level,
|
|||
GLsizei width, GLsizei height, GLsizei depth,
|
||||
GLenum format, GLsizei image_size, const GLvoid *data );
|
||||
|
||||
void __indirect_glColorPointerEXT(GLint size, GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer );
|
||||
void __indirect_glEdgeFlagPointerEXT(GLsizei stride,
|
||||
GLsizei count, const GLboolean * pointer );
|
||||
void __indirect_glIndexPointerEXT(GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer );
|
||||
void __indirect_glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count,
|
||||
const GLvoid * pointer );
|
||||
void __indirect_glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer );
|
||||
void __indirect_glVertexPointerEXT(GLint size, GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer );
|
||||
|
||||
/* 145. GL_EXT_secondary_color / GL 1.4 */
|
||||
|
||||
void __indirect_glSecondaryColorPointerEXT (GLint, GLenum, GLsizei, const GLvoid *);
|
||||
|
|
|
|||
|
|
@ -45,53 +45,6 @@ static int NoOp(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* \name Vertex array pointer bridge functions
|
||||
*
|
||||
* When EXT_vertex_array was moved into the core GL spec, the \c count
|
||||
* parameter was lost. This libGL really only wants to implement the GL 1.1
|
||||
* version, but we need to support applications that were written to the old
|
||||
* interface. These bridge functions are part of the glue that makes this
|
||||
* happen.
|
||||
*/
|
||||
/*@{*/
|
||||
static void ColorPointerEXT(GLint size, GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glColorPointer( size, type, stride, pointer );
|
||||
}
|
||||
|
||||
static void EdgeFlagPointerEXT(GLsizei stride,
|
||||
GLsizei count, const GLboolean * pointer )
|
||||
{
|
||||
(void) count; __indirect_glEdgeFlagPointer( stride, pointer );
|
||||
}
|
||||
|
||||
static void IndexPointerEXT(GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glIndexPointer( type, stride, pointer );
|
||||
}
|
||||
|
||||
static void NormalPointerEXT(GLenum type, GLsizei stride, GLsizei count,
|
||||
const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glNormalPointer( type, stride, pointer );
|
||||
}
|
||||
|
||||
static void TexCoordPointerEXT(GLint size, GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glTexCoordPointer( size, type, stride, pointer );
|
||||
}
|
||||
|
||||
static void VertexPointerEXT(GLint size, GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glVertexPointer( size, type, stride, pointer );
|
||||
}
|
||||
/*@}*/
|
||||
|
||||
|
||||
__GLapi *__glXNewIndirectAPI(void)
|
||||
{
|
||||
|
|
@ -492,8 +445,8 @@ __GLapi *__glXNewIndirectAPI(void)
|
|||
glAPI->SeparableFilter2D = __indirect_glSeparableFilter2D;
|
||||
|
||||
/* 1.4 */
|
||||
glAPI->MultiDrawArraysEXT = __indirect_glMultiDrawArrays;
|
||||
glAPI->MultiDrawElementsEXT = __indirect_glMultiDrawElements;
|
||||
glAPI->MultiDrawArraysEXT = __indirect_glMultiDrawArraysEXT;
|
||||
glAPI->MultiDrawElementsEXT = __indirect_glMultiDrawElementsEXT;
|
||||
|
||||
/* ARB 1. GL_ARB_multitexture */
|
||||
glAPI->ActiveTextureARB = __indirect_glActiveTextureARB;
|
||||
|
|
@ -577,12 +530,12 @@ __GLapi *__glXNewIndirectAPI(void)
|
|||
glAPI->SamplePatternSGIS = __indirect_glSamplePatternSGIS;
|
||||
|
||||
/* 30. GL_EXT_vertex_array */
|
||||
glAPI->ColorPointerEXT = ColorPointerEXT;
|
||||
glAPI->EdgeFlagPointerEXT = EdgeFlagPointerEXT;
|
||||
glAPI->IndexPointerEXT = IndexPointerEXT;
|
||||
glAPI->NormalPointerEXT = NormalPointerEXT;
|
||||
glAPI->TexCoordPointerEXT = TexCoordPointerEXT;
|
||||
glAPI->VertexPointerEXT = VertexPointerEXT;
|
||||
glAPI->ColorPointerEXT = __indirect_glColorPointerEXT;
|
||||
glAPI->EdgeFlagPointerEXT = __indirect_glEdgeFlagPointerEXT;
|
||||
glAPI->IndexPointerEXT = __indirect_glIndexPointerEXT;
|
||||
glAPI->NormalPointerEXT = __indirect_glNormalPointerEXT;
|
||||
glAPI->TexCoordPointerEXT = __indirect_glTexCoordPointerEXT;
|
||||
glAPI->VertexPointerEXT = __indirect_glVertexPointerEXT;
|
||||
|
||||
/* 145. GL_EXT_secondary_color / GL 1.4 */
|
||||
glAPI->SecondaryColor3bEXT = __indirect_glSecondaryColor3bEXT;
|
||||
|
|
|
|||
|
|
@ -165,6 +165,55 @@ void __glXInitVertexArrayState(__GLXcontext *gc)
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
/**
|
||||
* \name Vertex array pointer bridge functions
|
||||
*
|
||||
* When EXT_vertex_array was moved into the core GL spec, the \c count
|
||||
* parameter was lost. This libGL really only wants to implement the GL 1.1
|
||||
* version, but we need to support applications that were written to the old
|
||||
* interface. These bridge functions are part of the glue that makes this
|
||||
* happen.
|
||||
*/
|
||||
/*@{*/
|
||||
void __indirect_glColorPointerEXT(GLint size, GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glColorPointer( size, type, stride, pointer );
|
||||
}
|
||||
|
||||
void __indirect_glEdgeFlagPointerEXT(GLsizei stride,
|
||||
GLsizei count, const GLboolean * pointer )
|
||||
{
|
||||
(void) count; __indirect_glEdgeFlagPointer( stride, pointer );
|
||||
}
|
||||
|
||||
void __indirect_glIndexPointerEXT(GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glIndexPointer( type, stride, pointer );
|
||||
}
|
||||
|
||||
void __indirect_glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count,
|
||||
const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glNormalPointer( type, stride, pointer );
|
||||
}
|
||||
|
||||
void __indirect_glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glTexCoordPointer( size, type, stride, pointer );
|
||||
}
|
||||
|
||||
void __indirect_glVertexPointerEXT(GLint size, GLenum type, GLsizei stride,
|
||||
GLsizei count, const GLvoid * pointer )
|
||||
{
|
||||
(void) count; __indirect_glVertexPointer( size, type, stride, pointer );
|
||||
}
|
||||
/*@}*/
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
void __indirect_glVertexPointer(GLint size, GLenum type, GLsizei stride,
|
||||
const GLvoid *pointer)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue