From 3baefe663bb15b4fd60921155de38c12ec2758c4 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 22 Aug 2003 23:28:03 +0000 Subject: Added support for GL_IBM_multimode_draw_arrays. Added non-static entrypoints and the name string for GL_SUN_multi_draw_arrays (identical to GL_EXT_multi_draw_arrays). Made add_newer_entrypoints (in src/mesa/main/context.c) table driven. This reduced the size of context.o by about 3KB. --- src/mesa/glapi/APIspec | 10 +++++----- src/mesa/glapi/glapioffsets.h | 2 ++ src/mesa/glapi/glapitable.h | 2 ++ src/mesa/glapi/glapitemp.h | 12 ++++++++++++ src/mesa/glapi/glprocs.h | 2 ++ 5 files changed, 23 insertions(+), 5 deletions(-) (limited to 'src/mesa/glapi') diff --git a/src/mesa/glapi/APIspec b/src/mesa/glapi/APIspec index 8669402898..e6db05527f 100644 --- a/src/mesa/glapi/APIspec +++ b/src/mesa/glapi/APIspec @@ -1,4 +1,4 @@ -# $Id: APIspec,v 1.19 2003/08/19 01:07:26 brianp Exp $ +# $Id: APIspec,v 1.20 2003/08/22 23:28:03 idr Exp $ # This file describes all the OpenGL functions. # We use a number of Python scripts to parse this file and @@ -6434,24 +6434,24 @@ offset 536 name MultiModeDrawArraysIBM return void -param mode GLenum +param mode const GLenum * param first const GLint * param count const GLsizei * param primcount GLsizei param modestride GLint category GL_IBM_multimode_draw_arrays -offset ? +offset 708 name MultiModeDrawElementsIBM return void param mode const GLenum * param count const GLsizei * param type GLenum -param indices const GLvoid ** +param indices const GLvoid * const * param primcount GLsizei param modestride GLint category GL_IBM_multimode_draw_arrays -offset ? +offset 709 # GL_IBM_vertex_array_lists diff --git a/src/mesa/glapi/glapioffsets.h b/src/mesa/glapi/glapioffsets.h index 0dc699f5c2..995e1241fc 100644 --- a/src/mesa/glapi/glapioffsets.h +++ b/src/mesa/glapi/glapioffsets.h @@ -710,5 +710,7 @@ #define _gloffset_GetQueryivARB 705 #define _gloffset_GetQueryObjectivARB 706 #define _gloffset_GetQueryObjectuivARB 707 +#define _gloffset_MultiModeDrawArraysIBM 708 +#define _gloffset_MultiModeDrawElementsIBM 709 #endif diff --git a/src/mesa/glapi/glapitable.h b/src/mesa/glapi/glapitable.h index 45fdce57e4..ca069e35f0 100644 --- a/src/mesa/glapi/glapitable.h +++ b/src/mesa/glapi/glapitable.h @@ -714,6 +714,8 @@ struct _glapi_table void (*GetQueryivARB)(GLenum target, GLenum pname, GLint * params); /* 705 */ void (*GetQueryObjectivARB)(GLuint id, GLenum pname, GLint * params); /* 706 */ void (*GetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint * params); /* 707 */ + void (*MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 708 */ + void (*MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 709 */ }; #endif diff --git a/src/mesa/glapi/glapitemp.h b/src/mesa/glapi/glapitemp.h index 743800f616..3c9e89a72b 100644 --- a/src/mesa/glapi/glapitemp.h +++ b/src/mesa/glapi/glapitemp.h @@ -4664,6 +4664,16 @@ KEYWORD1 void KEYWORD2 NAME(GetQueryObjectuivARB)(GLuint id, GLenum pname, GLuin DISPATCH(GetQueryObjectuivARB, (id, pname, params), (F, "glGetQueryObjectuivARB(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } +KEYWORD1 void KEYWORD2 NAME(MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) +{ + DISPATCH(MultiModeDrawArraysIBM, (mode, first, count, primcount, modestride), (F, "glMultiModeDrawArraysIBM(%p, %p, %p, %d, %d);\n", (const void *) mode, (const void *) first, (const void *) count, primcount, modestride)); +} + +KEYWORD1 void KEYWORD2 NAME(MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) +{ + DISPATCH(MultiModeDrawElementsIBM, (mode, count, type, indices, primcount, modestride), (F, "glMultiModeDrawElementsIBM(%p, %p, 0x%x, %p, %d, %d);\n", (const void *) mode, (const void *) count, type, (const void *) indices, primcount, modestride)); +} + /* @@ -5385,6 +5395,8 @@ void *DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetQueryivARB), TABLE_ENTRY(GetQueryObjectivARB), TABLE_ENTRY(GetQueryObjectuivARB), + TABLE_ENTRY(MultiModeDrawArraysIBM), + TABLE_ENTRY(MultiModeDrawElementsIBM), /* A whole bunch of no-op functions. These might be called * when someone tries to call a dynamically-registered * extension function without a current rendering context. diff --git a/src/mesa/glapi/glprocs.h b/src/mesa/glapi/glprocs.h index 70bac5623b..c4609d6e32 100644 --- a/src/mesa/glapi/glprocs.h +++ b/src/mesa/glapi/glprocs.h @@ -898,5 +898,7 @@ static struct name_address_offset static_functions[] = { { "glGetQueryivARB", (GLvoid *) glGetQueryivARB, _gloffset_GetQueryivARB }, { "glGetQueryObjectivARB", (GLvoid *) glGetQueryObjectivARB, _gloffset_GetQueryObjectivARB }, { "glGetQueryObjectuivARB", (GLvoid *) glGetQueryObjectuivARB, _gloffset_GetQueryObjectuivARB }, + { "glMultiModeDrawArraysIBM", (GLvoid *) glMultiModeDrawArraysIBM, _gloffset_MultiModeDrawArraysIBM }, + { "glMultiModeDrawElementsIBM", (GLvoid *) glMultiModeDrawElementsIBM, _gloffset_MultiModeDrawElementsIBM }, { NULL, NULL } /* end of list marker */ }; -- cgit v1.2.3