diff options
Diffstat (limited to 'src/mesa')
| -rw-r--r-- | src/mesa/main/shaders.c | 149 | ||||
| -rw-r--r-- | src/mesa/main/shaders.h | 239 | 
2 files changed, 307 insertions, 81 deletions
| diff --git a/src/mesa/main/shaders.c b/src/mesa/main/shaders.c index 917e295fe1..761b3e85a7 100644 --- a/src/mesa/main/shaders.c +++ b/src/mesa/main/shaders.c @@ -49,7 +49,7 @@ -static void GLAPIENTRY +void GLAPIENTRY  _mesa_AttachObjectARB(GLhandleARB program, GLhandleARB shader)  {     GET_CURRENT_CONTEXT(ctx); @@ -57,7 +57,7 @@ _mesa_AttachObjectARB(GLhandleARB program, GLhandleARB shader)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_AttachShader(GLuint program, GLuint shader)  {     GET_CURRENT_CONTEXT(ctx); @@ -65,7 +65,7 @@ _mesa_AttachShader(GLuint program, GLuint shader)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_BindAttribLocationARB(GLhandleARB program, GLuint index,                              const GLcharARB *name)  { @@ -74,7 +74,7 @@ _mesa_BindAttribLocationARB(GLhandleARB program, GLuint index,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_CompileShaderARB(GLhandleARB shaderObj)  {     GET_CURRENT_CONTEXT(ctx); @@ -82,7 +82,7 @@ _mesa_CompileShaderARB(GLhandleARB shaderObj)  } -static GLuint GLAPIENTRY +GLuint GLAPIENTRY  _mesa_CreateShader(GLenum type)  {     GET_CURRENT_CONTEXT(ctx); @@ -90,7 +90,7 @@ _mesa_CreateShader(GLenum type)  } -static GLhandleARB GLAPIENTRY +GLhandleARB GLAPIENTRY  _mesa_CreateShaderObjectARB(GLenum type)  {     GET_CURRENT_CONTEXT(ctx); @@ -98,7 +98,7 @@ _mesa_CreateShaderObjectARB(GLenum type)  } -static GLuint GLAPIENTRY +GLuint GLAPIENTRY  _mesa_CreateProgram(void)  {     GET_CURRENT_CONTEXT(ctx); @@ -106,7 +106,7 @@ _mesa_CreateProgram(void)  } -static GLhandleARB GLAPIENTRY +GLhandleARB GLAPIENTRY  _mesa_CreateProgramObjectARB(void)  {     GET_CURRENT_CONTEXT(ctx); @@ -114,7 +114,7 @@ _mesa_CreateProgramObjectARB(void)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_DeleteObjectARB(GLhandleARB obj)  {     if (obj) { @@ -132,7 +132,7 @@ _mesa_DeleteObjectARB(GLhandleARB obj)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_DeleteProgram(GLuint name)  {     if (name) { @@ -142,7 +142,7 @@ _mesa_DeleteProgram(GLuint name)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_DeleteShader(GLuint name)  {     if (name) { @@ -152,7 +152,7 @@ _mesa_DeleteShader(GLuint name)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_DetachObjectARB(GLhandleARB program, GLhandleARB shader)  {     GET_CURRENT_CONTEXT(ctx); @@ -160,7 +160,7 @@ _mesa_DetachObjectARB(GLhandleARB program, GLhandleARB shader)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_DetachShader(GLuint program, GLuint shader)  {     GET_CURRENT_CONTEXT(ctx); @@ -168,7 +168,7 @@ _mesa_DetachShader(GLuint program, GLuint shader)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetActiveAttribARB(GLhandleARB program, GLuint index,                           GLsizei maxLength, GLsizei * length, GLint * size,                           GLenum * type, GLcharARB * name) @@ -179,7 +179,7 @@ _mesa_GetActiveAttribARB(GLhandleARB program, GLuint index,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetActiveUniformARB(GLhandleARB program, GLuint index,                            GLsizei maxLength, GLsizei * length, GLint * size,                            GLenum * type, GLcharARB * name) @@ -190,7 +190,7 @@ _mesa_GetActiveUniformARB(GLhandleARB program, GLuint index,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetAttachedObjectsARB(GLhandleARB container, GLsizei maxCount,                              GLsizei * count, GLhandleARB * obj)  { @@ -199,7 +199,7 @@ _mesa_GetAttachedObjectsARB(GLhandleARB container, GLsizei maxCount,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetAttachedShaders(GLuint program, GLsizei maxCount,                           GLsizei *count, GLuint *obj)  { @@ -208,7 +208,7 @@ _mesa_GetAttachedShaders(GLuint program, GLsizei maxCount,  } -static GLint GLAPIENTRY +GLint GLAPIENTRY  _mesa_GetAttribLocationARB(GLhandleARB program, const GLcharARB * name)  {     GET_CURRENT_CONTEXT(ctx); @@ -216,7 +216,7 @@ _mesa_GetAttribLocationARB(GLhandleARB program, const GLcharARB * name)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetInfoLogARB(GLhandleARB object, GLsizei maxLength, GLsizei * length,                      GLcharARB * infoLog)  { @@ -234,7 +234,7 @@ _mesa_GetInfoLogARB(GLhandleARB object, GLsizei maxLength, GLsizei * length,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetObjectParameterivARB(GLhandleARB object, GLenum pname, GLint *params)  {     GET_CURRENT_CONTEXT(ctx); @@ -261,7 +261,7 @@ _mesa_GetObjectParameterivARB(GLhandleARB object, GLenum pname, GLint *params)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetObjectParameterfvARB(GLhandleARB object, GLenum pname,                                GLfloat *params)  { @@ -271,7 +271,7 @@ _mesa_GetObjectParameterfvARB(GLhandleARB object, GLenum pname,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetProgramiv(GLuint program, GLenum pname, GLint *params)  {     GET_CURRENT_CONTEXT(ctx); @@ -279,7 +279,7 @@ _mesa_GetProgramiv(GLuint program, GLenum pname, GLint *params)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetShaderiv(GLuint shader, GLenum pname, GLint *params)  {     GET_CURRENT_CONTEXT(ctx); @@ -287,7 +287,7 @@ _mesa_GetShaderiv(GLuint shader, GLenum pname, GLint *params)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetProgramInfoLog(GLuint program, GLsizei bufSize,                          GLsizei *length, GLchar *infoLog)  { @@ -296,7 +296,7 @@ _mesa_GetProgramInfoLog(GLuint program, GLsizei bufSize,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetShaderInfoLog(GLuint shader, GLsizei bufSize,                         GLsizei *length, GLchar *infoLog)  { @@ -305,7 +305,7 @@ _mesa_GetShaderInfoLog(GLuint shader, GLsizei bufSize,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetShaderSourceARB(GLhandleARB shader, GLsizei maxLength,                           GLsizei *length, GLcharARB *sourceOut)  { @@ -314,7 +314,7 @@ _mesa_GetShaderSourceARB(GLhandleARB shader, GLsizei maxLength,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetUniformfvARB(GLhandleARB program, GLint location, GLfloat * params)  {     GET_CURRENT_CONTEXT(ctx); @@ -322,7 +322,7 @@ _mesa_GetUniformfvARB(GLhandleARB program, GLint location, GLfloat * params)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetUniformivARB(GLhandleARB program, GLint location, GLint * params)  {     GET_CURRENT_CONTEXT(ctx); @@ -341,7 +341,7 @@ _mesa_GetUniformLocation(GLuint program, const GLcharARB *name)  #endif -static GLhandleARB GLAPIENTRY +GLhandleARB GLAPIENTRY  _mesa_GetHandleARB(GLenum pname)  {     GET_CURRENT_CONTEXT(ctx); @@ -349,7 +349,7 @@ _mesa_GetHandleARB(GLenum pname)  } -static GLint GLAPIENTRY +GLint GLAPIENTRY  _mesa_GetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name)  {     GET_CURRENT_CONTEXT(ctx); @@ -357,7 +357,7 @@ _mesa_GetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name)  } -static GLboolean GLAPIENTRY +GLboolean GLAPIENTRY  _mesa_IsProgram(GLuint name)  {     GET_CURRENT_CONTEXT(ctx); @@ -365,7 +365,7 @@ _mesa_IsProgram(GLuint name)  } -static GLboolean GLAPIENTRY +GLboolean GLAPIENTRY  _mesa_IsShader(GLuint name)  {     GET_CURRENT_CONTEXT(ctx); @@ -373,7 +373,7 @@ _mesa_IsShader(GLuint name)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_LinkProgramARB(GLhandleARB programObj)  {     GET_CURRENT_CONTEXT(ctx); @@ -416,7 +416,7 @@ _mesa_read_shader(const char *fname)   * Basically, concatenate the source code strings into one long string   * and pass it to ctx->Driver.ShaderSource().   */ -static void GLAPIENTRY +void GLAPIENTRY  _mesa_ShaderSourceARB(GLhandleARB shaderObj, GLsizei count,                        const GLcharARB ** string, const GLint * length)  { @@ -509,14 +509,14 @@ _mesa_ShaderSourceARB(GLhandleARB shaderObj, GLsizei count,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform1fARB(GLint location, GLfloat v0)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, 1, &v0, GL_FLOAT);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform2fARB(GLint location, GLfloat v0, GLfloat v1)  {     GET_CURRENT_CONTEXT(ctx); @@ -526,7 +526,7 @@ _mesa_Uniform2fARB(GLint location, GLfloat v0, GLfloat v1)     ctx->Driver.Uniform(ctx, location, 1, v, GL_FLOAT_VEC2);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)  {     GET_CURRENT_CONTEXT(ctx); @@ -537,7 +537,7 @@ _mesa_Uniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)     ctx->Driver.Uniform(ctx, location, 1, v, GL_FLOAT_VEC3);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2,                     GLfloat v3)  { @@ -550,14 +550,14 @@ _mesa_Uniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2,     ctx->Driver.Uniform(ctx, location, 1, v, GL_FLOAT_VEC4);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform1iARB(GLint location, GLint v0)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, 1, &v0, GL_INT);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform2iARB(GLint location, GLint v0, GLint v1)  {     GET_CURRENT_CONTEXT(ctx); @@ -567,7 +567,7 @@ _mesa_Uniform2iARB(GLint location, GLint v0, GLint v1)     ctx->Driver.Uniform(ctx, location, 1, v, GL_INT_VEC2);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform3iARB(GLint location, GLint v0, GLint v1, GLint v2)  {     GET_CURRENT_CONTEXT(ctx); @@ -578,7 +578,7 @@ _mesa_Uniform3iARB(GLint location, GLint v0, GLint v1, GLint v2)     ctx->Driver.Uniform(ctx, location, 1, v, GL_INT_VEC3);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)  {     GET_CURRENT_CONTEXT(ctx); @@ -590,56 +590,56 @@ _mesa_Uniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)     ctx->Driver.Uniform(ctx, location, 1, v, GL_INT_VEC4);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform1fvARB(GLint location, GLsizei count, const GLfloat * value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_FLOAT);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform2fvARB(GLint location, GLsizei count, const GLfloat * value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_FLOAT_VEC2);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform3fvARB(GLint location, GLsizei count, const GLfloat * value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_FLOAT_VEC3);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform4fvARB(GLint location, GLsizei count, const GLfloat * value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_FLOAT_VEC4);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform1ivARB(GLint location, GLsizei count, const GLint * value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_INT);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform2ivARB(GLint location, GLsizei count, const GLint * value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_INT_VEC2);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform3ivARB(GLint location, GLsizei count, const GLint * value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_INT_VEC3);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform4ivARB(GLint location, GLsizei count, const GLint * value)  {     GET_CURRENT_CONTEXT(ctx); @@ -648,14 +648,14 @@ _mesa_Uniform4ivARB(GLint location, GLsizei count, const GLint * value)  /** OpenGL 3.0 GLuint-valued functions **/ -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform1ui(GLint location, GLuint v0)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, 1, &v0, GL_UNSIGNED_INT);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform2ui(GLint location, GLuint v0, GLuint v1)  {     GET_CURRENT_CONTEXT(ctx); @@ -665,7 +665,7 @@ _mesa_Uniform2ui(GLint location, GLuint v0, GLuint v1)     ctx->Driver.Uniform(ctx, location, 1, v, GL_UNSIGNED_INT_VEC2);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)  {     GET_CURRENT_CONTEXT(ctx); @@ -676,7 +676,7 @@ _mesa_Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)     ctx->Driver.Uniform(ctx, location, 1, v, GL_UNSIGNED_INT_VEC3);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)  {     GET_CURRENT_CONTEXT(ctx); @@ -688,28 +688,28 @@ _mesa_Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)     ctx->Driver.Uniform(ctx, location, 1, v, GL_UNSIGNED_INT_VEC4);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform1uiv(GLint location, GLsizei count, const GLuint *value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_UNSIGNED_INT);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform2uiv(GLint location, GLsizei count, const GLuint *value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_UNSIGNED_INT_VEC2);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform3uiv(GLint location, GLsizei count, const GLuint *value)  {     GET_CURRENT_CONTEXT(ctx);     ctx->Driver.Uniform(ctx, location, count, value, GL_UNSIGNED_INT_VEC3);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_Uniform4uiv(GLint location, GLsizei count, const GLuint *value)  {     GET_CURRENT_CONTEXT(ctx); @@ -718,7 +718,7 @@ _mesa_Uniform4uiv(GLint location, GLsizei count, const GLuint *value) -static void GLAPIENTRY +void GLAPIENTRY  _mesa_UniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose,                            const GLfloat * value)  { @@ -726,7 +726,7 @@ _mesa_UniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose,     ctx->Driver.UniformMatrix(ctx, 2, 2, location, count, transpose, value);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_UniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose,                            const GLfloat * value)  { @@ -734,7 +734,7 @@ _mesa_UniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose,     ctx->Driver.UniformMatrix(ctx, 3, 3, location, count, transpose, value);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_UniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose,                            const GLfloat * value)  { @@ -746,7 +746,7 @@ _mesa_UniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose,  /**   * Non-square UniformMatrix are OpenGL 2.1   */ -static void GLAPIENTRY +void GLAPIENTRY  _mesa_UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose,                           const GLfloat *value)  { @@ -754,7 +754,7 @@ _mesa_UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose,     ctx->Driver.UniformMatrix(ctx, 2, 3, location, count, transpose, value);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose,                           const GLfloat *value)  { @@ -762,7 +762,7 @@ _mesa_UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose,     ctx->Driver.UniformMatrix(ctx, 3, 2, location, count, transpose, value);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose,                           const GLfloat *value)  { @@ -770,7 +770,7 @@ _mesa_UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose,     ctx->Driver.UniformMatrix(ctx, 2, 4, location, count, transpose, value);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose,                           const GLfloat *value)  { @@ -778,7 +778,7 @@ _mesa_UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose,     ctx->Driver.UniformMatrix(ctx, 4, 2, location, count, transpose, value);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose,                           const GLfloat *value)  { @@ -786,7 +786,7 @@ _mesa_UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose,     ctx->Driver.UniformMatrix(ctx, 3, 4, location, count, transpose, value);  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose,                           const GLfloat *value)  { @@ -804,7 +804,7 @@ _mesa_UseProgramObjectARB(GLhandleARB program)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_ValidateProgramARB(GLhandleARB program)  {     GET_CURRENT_CONTEXT(ctx); @@ -813,7 +813,7 @@ _mesa_ValidateProgramARB(GLhandleARB program)  #ifdef FEATURE_ES2 -static void GLAPIENTRY +void GLAPIENTRY  _mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype,                                 GLint* range, GLint* precision)  { @@ -822,7 +822,7 @@ _mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype,  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_ReleaseShaderCompiler(void)  {     GET_CURRENT_CONTEXT(ctx); @@ -830,7 +830,7 @@ _mesa_ReleaseShaderCompiler(void)  } -static void GLAPIENTRY +void GLAPIENTRY  _mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat,                     const void* binary, GLint length)  { @@ -917,13 +917,6 @@ _mesa_init_shader_dispatch(struct _glapi_table *exec)     SET_GetAttribLocationARB(exec, _mesa_GetAttribLocationARB);  #endif -#ifdef FEATURE_ES2 -   /* XXX finish dispatch */ -   (void) _mesa_GetShaderPrecisionFormat; -   (void) _mesa_ReleaseShaderCompiler; -   (void) _mesa_ShaderBinary; -#endif -     /* OpenGL 3.0 */     /* XXX finish dispatch */     (void) _mesa_Uniform1ui; diff --git a/src/mesa/main/shaders.h b/src/mesa/main/shaders.h index 24c381bd52..af65b2d01a 100644 --- a/src/mesa/main/shaders.h +++ b/src/mesa/main/shaders.h @@ -30,12 +30,245 @@  #include "glheader.h"  #include "mtypes.h" +extern void +_mesa_init_shader_dispatch(struct _glapi_table *exec);  extern void GLAPIENTRY -_mesa_UseProgramObjectARB(GLhandleARB program); +_mesa_DeleteObjectARB(GLhandleARB obj); -extern void -_mesa_init_shader_dispatch(struct _glapi_table *exec); +extern GLhandleARB GLAPIENTRY +_mesa_GetHandleARB(GLenum pname); + +extern void GLAPIENTRY +_mesa_DetachObjectARB (GLhandleARB, GLhandleARB); + +extern GLhandleARB GLAPIENTRY +_mesa_CreateShaderObjectARB (GLenum); + +extern void GLAPIENTRY +_mesa_ShaderSourceARB (GLhandleARB, GLsizei, const GLcharARB* *, const GLint *); + +extern void  GLAPIENTRY +_mesa_CompileShaderARB (GLhandleARB); + +extern GLhandleARB GLAPIENTRY +_mesa_CreateProgramObjectARB (void); + +extern void GLAPIENTRY +_mesa_AttachObjectARB (GLhandleARB, GLhandleARB); + +extern void GLAPIENTRY +_mesa_LinkProgramARB (GLhandleARB); + +extern void GLAPIENTRY +_mesa_UseProgramObjectARB (GLhandleARB); + +extern void GLAPIENTRY +_mesa_ValidateProgramARB (GLhandleARB); + +extern void GLAPIENTRY +_mesa_Uniform1fARB (GLint, GLfloat); + +extern void GLAPIENTRY +_mesa_Uniform2fARB (GLint, GLfloat, GLfloat); + +extern void GLAPIENTRY +_mesa_Uniform3fARB (GLint, GLfloat, GLfloat, GLfloat); + +extern void GLAPIENTRY +_mesa_Uniform4fARB (GLint, GLfloat, GLfloat, GLfloat, GLfloat); + +extern void GLAPIENTRY +_mesa_Uniform1iARB (GLint, GLint); + +extern void GLAPIENTRY +_mesa_Uniform2iARB (GLint, GLint, GLint); + +extern void GLAPIENTRY +_mesa_Uniform3iARB (GLint, GLint, GLint, GLint); + +extern void GLAPIENTRY +_mesa_Uniform4iARB (GLint, GLint, GLint, GLint, GLint); + +extern void GLAPIENTRY +_mesa_Uniform1fvARB (GLint, GLsizei, const GLfloat *); + +extern void GLAPIENTRY +_mesa_Uniform2fvARB (GLint, GLsizei, const GLfloat *); + +extern void GLAPIENTRY +_mesa_Uniform3fvARB (GLint, GLsizei, const GLfloat *); + +extern void GLAPIENTRY +_mesa_Uniform4fvARB (GLint, GLsizei, const GLfloat *); + +extern void GLAPIENTRY +_mesa_Uniform1ivARB (GLint, GLsizei, const GLint *); + +extern void GLAPIENTRY +_mesa_Uniform2ivARB (GLint, GLsizei, const GLint *); + +extern void GLAPIENTRY +_mesa_Uniform3ivARB (GLint, GLsizei, const GLint *); + +extern void GLAPIENTRY +_mesa_Uniform4ivARB (GLint, GLsizei, const GLint *); + +extern void GLAPIENTRY +_mesa_Uniform1ui(GLint location, GLuint v0); + +extern void GLAPIENTRY +_mesa_Uniform2ui(GLint location, GLuint v0, GLuint v1); + +extern void GLAPIENTRY +_mesa_Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2); + +extern void GLAPIENTRY +_mesa_Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); + +extern void GLAPIENTRY +_mesa_Uniform1uiv(GLint location, GLsizei count, const GLuint *value); + +extern void GLAPIENTRY +_mesa_Uniform2uiv(GLint location, GLsizei count, const GLuint *value); + +extern void GLAPIENTRY +_mesa_Uniform3uiv(GLint location, GLsizei count, const GLuint *value); + +extern void GLAPIENTRY +_mesa_Uniform4uiv(GLint location, GLsizei count, const GLuint *value); + + +extern void GLAPIENTRY +_mesa_UniformMatrix2fvARB (GLint, GLsizei, GLboolean, const GLfloat *); +extern void GLAPIENTRY +_mesa_UniformMatrix3fvARB (GLint, GLsizei, GLboolean, const GLfloat *); + +extern void GLAPIENTRY +_mesa_UniformMatrix4fvARB (GLint, GLsizei, GLboolean, const GLfloat *); + +extern void GLAPIENTRY +_mesa_GetObjectParameterfvARB (GLhandleARB, GLenum, GLfloat *); + +extern void GLAPIENTRY +_mesa_GetObjectParameterivARB (GLhandleARB, GLenum, GLint *); + +extern void GLAPIENTRY +_mesa_GetInfoLogARB (GLhandleARB, GLsizei, GLsizei *, GLcharARB *); + +extern void GLAPIENTRY +_mesa_GetAttachedObjectsARB (GLhandleARB, GLsizei, GLsizei *, GLhandleARB *); + +extern GLint GLAPIENTRY +_mesa_GetUniformLocationARB (GLhandleARB, const GLcharARB *); + +extern void GLAPIENTRY +_mesa_GetActiveUniformARB (GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *); + +extern void GLAPIENTRY +_mesa_GetUniformfvARB (GLhandleARB, GLint, GLfloat *); + +extern void GLAPIENTRY +_mesa_GetUniformivARB (GLhandleARB, GLint, GLint *); + +extern void GLAPIENTRY +_mesa_GetShaderSourceARB (GLhandleARB, GLsizei, GLsizei *, GLcharARB *); + +#if FEATURE_ARB_vertex_shader + +extern void GLAPIENTRY +_mesa_BindAttribLocationARB (GLhandleARB, GLuint, const GLcharARB *); + +extern void GLAPIENTRY +_mesa_GetActiveAttribARB (GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *); + +extern GLint GLAPIENTRY +_mesa_GetAttribLocationARB (GLhandleARB, const GLcharARB *); + +#endif /* FEATURE_ARB_vertex_shader */ + + +/* 2.0 */ +extern void GLAPIENTRY +_mesa_AttachShader(GLuint program, GLuint shader); + +extern GLuint GLAPIENTRY +_mesa_CreateShader(GLenum); + +extern GLuint GLAPIENTRY +_mesa_CreateProgram(void); + +extern void GLAPIENTRY +_mesa_DeleteProgram(GLuint program); + +extern void GLAPIENTRY +_mesa_DeleteShader(GLuint shader); + +extern void GLAPIENTRY +_mesa_DetachShader(GLuint program, GLuint shader); + +extern void GLAPIENTRY +_mesa_GetAttachedShaders(GLuint program, GLsizei maxCount, +                         GLsizei *count, GLuint *obj); + +extern void GLAPIENTRY +_mesa_GetProgramiv(GLuint program, GLenum pname, GLint *params); + +extern void GLAPIENTRY +_mesa_GetProgramInfoLog(GLuint program, GLsizei bufSize, +                        GLsizei *length, GLchar *infoLog); + +extern void GLAPIENTRY +_mesa_GetShaderiv(GLuint shader, GLenum pname, GLint *params); + +extern void GLAPIENTRY +_mesa_GetShaderInfoLog(GLuint shader, GLsizei bufSize, +                       GLsizei *length, GLchar *infoLog); + +extern GLboolean GLAPIENTRY +_mesa_IsProgram(GLuint program); + +extern GLboolean GLAPIENTRY +_mesa_IsShader(GLuint shader); + + + +/* 2.1 */ +extern void GLAPIENTRY +_mesa_UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, +                         const GLfloat *value); + +extern void GLAPIENTRY +_mesa_UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, +                         const GLfloat *value); + +extern void GLAPIENTRY +_mesa_UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, +                         const GLfloat *value); + +extern void GLAPIENTRY +_mesa_UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, +                         const GLfloat *value); + +extern void GLAPIENTRY +_mesa_UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, +                         const GLfloat *value); + +extern void GLAPIENTRY +_mesa_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, +                         const GLfloat *value); + +/* GLES 2.0 */ +extern void GLAPIENTRY +_mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, +                               GLint* range, GLint* precision); + +extern void GLAPIENTRY +_mesa_ReleaseShaderCompiler(void); + +extern void GLAPIENTRY +_mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, +                   const void* binary, GLint length);  #endif /* SHADERS_H */ | 
