core | glapi | vbo | math | shader | swrast | swrast_setup | tnl | tnl_dd

shaders.c File Reference

#include "glheader.h"
#include "context.h"
#include "shaders.h"

Functions

void GLAPIENTRY _mesa_AttachObjectARB (GLhandleARB program, GLhandleARB shader)
 These are basically just wrappers/adaptors for calling the ctx->Driver.foobar() GLSL-related functions.
void GLAPIENTRY _mesa_AttachShader (GLuint program, GLuint shader)
void GLAPIENTRY _mesa_BindAttribLocationARB (GLhandleARB program, GLuint index, const GLcharARB *name)
void GLAPIENTRY _mesa_CompileShaderARB (GLhandleARB shaderObj)
GLuint GLAPIENTRY _mesa_CreateShader (GLenum type)
GLhandleARB GLAPIENTRY _mesa_CreateShaderObjectARB (GLenum type)
GLuint GLAPIENTRY _mesa_CreateProgram (void)
GLhandleARB GLAPIENTRY _mesa_CreateProgramObjectARB (void)
void GLAPIENTRY _mesa_DeleteObjectARB (GLhandleARB obj)
void GLAPIENTRY _mesa_DeleteProgram (GLuint name)
void GLAPIENTRY _mesa_DeleteShader (GLuint name)
void GLAPIENTRY _mesa_DetachObjectARB (GLhandleARB program, GLhandleARB shader)
void GLAPIENTRY _mesa_DetachShader (GLuint program, GLuint shader)
void GLAPIENTRY _mesa_GetActiveAttribARB (GLhandleARB program, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name)
void GLAPIENTRY _mesa_GetActiveUniformARB (GLhandleARB program, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name)
void GLAPIENTRY _mesa_GetAttachedObjectsARB (GLhandleARB container, GLsizei maxCount, GLsizei *count, GLhandleARB *obj)
void GLAPIENTRY _mesa_GetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj)
GLint GLAPIENTRY _mesa_GetAttribLocationARB (GLhandleARB program, const GLcharARB *name)
void GLAPIENTRY _mesa_GetInfoLogARB (GLhandleARB object, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog)
void GLAPIENTRY _mesa_GetObjectParameterivARB (GLhandleARB object, GLenum pname, GLint *params)
void GLAPIENTRY _mesa_GetObjectParameterfvARB (GLhandleARB object, GLenum pname, GLfloat *params)
void GLAPIENTRY _mesa_GetProgramiv (GLuint program, GLenum pname, GLint *params)
void GLAPIENTRY _mesa_GetShaderiv (GLuint shader, GLenum pname, GLint *params)
void GLAPIENTRY _mesa_GetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
void GLAPIENTRY _mesa_GetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
void GLAPIENTRY _mesa_GetShaderSourceARB (GLhandleARB shader, GLsizei maxLength, GLsizei *length, GLcharARB *sourceOut)
void GLAPIENTRY _mesa_GetUniformfvARB (GLhandleARB program, GLint location, GLfloat *params)
void GLAPIENTRY _mesa_GetUniformivARB (GLhandleARB program, GLint location, GLint *params)
GLhandleARB GLAPIENTRY _mesa_GetHandleARB (GLenum pname)
GLint GLAPIENTRY _mesa_GetUniformLocationARB (GLhandleARB programObj, const GLcharARB *name)
GLboolean GLAPIENTRY _mesa_IsProgram (GLuint name)
GLboolean GLAPIENTRY _mesa_IsShader (GLuint name)
void GLAPIENTRY _mesa_LinkProgramARB (GLhandleARB programObj)
static GLcharARB * _mesa_read_shader (const char *fname)
 Read shader source code from a file.
void GLAPIENTRY _mesa_ShaderSourceARB (GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length)
 Called via glShaderSource() and glShaderSourceARB() API functions.
void GLAPIENTRY _mesa_Uniform1fARB (GLint location, GLfloat v0)
void GLAPIENTRY _mesa_Uniform2fARB (GLint location, GLfloat v0, GLfloat v1)
void GLAPIENTRY _mesa_Uniform3fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
void GLAPIENTRY _mesa_Uniform4fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
void GLAPIENTRY _mesa_Uniform1iARB (GLint location, GLint v0)
void GLAPIENTRY _mesa_Uniform2iARB (GLint location, GLint v0, GLint v1)
void GLAPIENTRY _mesa_Uniform3iARB (GLint location, GLint v0, GLint v1, GLint v2)
void GLAPIENTRY _mesa_Uniform4iARB (GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
void GLAPIENTRY _mesa_Uniform1fvARB (GLint location, GLsizei count, const GLfloat *value)
void GLAPIENTRY _mesa_Uniform2fvARB (GLint location, GLsizei count, const GLfloat *value)
void GLAPIENTRY _mesa_Uniform3fvARB (GLint location, GLsizei count, const GLfloat *value)
void GLAPIENTRY _mesa_Uniform4fvARB (GLint location, GLsizei count, const GLfloat *value)
void GLAPIENTRY _mesa_Uniform1ivARB (GLint location, GLsizei count, const GLint *value)
void GLAPIENTRY _mesa_Uniform2ivARB (GLint location, GLsizei count, const GLint *value)
void GLAPIENTRY _mesa_Uniform3ivARB (GLint location, GLsizei count, const GLint *value)
void GLAPIENTRY _mesa_Uniform4ivARB (GLint location, GLsizei count, const GLint *value)
void GLAPIENTRY _mesa_UniformMatrix2fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void GLAPIENTRY _mesa_UniformMatrix3fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void GLAPIENTRY _mesa_UniformMatrix4fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void GLAPIENTRY _mesa_UniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 Non-square UniformMatrix are OpenGL 2.1.
void GLAPIENTRY _mesa_UniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void GLAPIENTRY _mesa_UniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void GLAPIENTRY _mesa_UniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void GLAPIENTRY _mesa_UniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void GLAPIENTRY _mesa_UniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void GLAPIENTRY _mesa_UseProgramObjectARB (GLhandleARB program)
void GLAPIENTRY _mesa_ValidateProgramARB (GLhandleARB program)


Function Documentation

void GLAPIENTRY _mesa_AttachObjectARB ( GLhandleARB  program,
GLhandleARB  shader 
)

These are basically just wrappers/adaptors for calling the ctx->Driver.foobar() GLSL-related functions.

Things are biased toward the OpenGL 2.0 functions rather than the ARB extensions (i.e. the ARB functions are layered on the 2.0 functions).

The general idea here is to allow enough modularity such that a completely different GLSL implemenation can be plugged in and co-exist with Mesa's native GLSL code.

void GLAPIENTRY _mesa_AttachShader ( GLuint  program,
GLuint  shader 
)

void GLAPIENTRY _mesa_BindAttribLocationARB ( GLhandleARB  program,
GLuint  index,
const GLcharARB *  name 
)

void GLAPIENTRY _mesa_CompileShaderARB ( GLhandleARB  shaderObj  ) 

GLuint GLAPIENTRY _mesa_CreateProgram ( void   ) 

GLhandleARB GLAPIENTRY _mesa_CreateProgramObjectARB ( void   ) 

GLuint GLAPIENTRY _mesa_CreateShader ( GLenum  type  ) 

GLhandleARB GLAPIENTRY _mesa_CreateShaderObjectARB ( GLenum  type  ) 

void GLAPIENTRY _mesa_DeleteObjectARB ( GLhandleARB  obj  ) 

void GLAPIENTRY _mesa_DeleteProgram ( GLuint  name  ) 

void GLAPIENTRY _mesa_DeleteShader ( GLuint  name  ) 

void GLAPIENTRY _mesa_DetachObjectARB ( GLhandleARB  program,
GLhandleARB  shader 
)

void GLAPIENTRY _mesa_DetachShader ( GLuint  program,
GLuint  shader 
)

void GLAPIENTRY _mesa_GetActiveAttribARB ( GLhandleARB  program,
GLuint  index,
GLsizei  maxLength,
GLsizei *  length,
GLint *  size,
GLenum *  type,
GLcharARB *  name 
)

void GLAPIENTRY _mesa_GetActiveUniformARB ( GLhandleARB  program,
GLuint  index,
GLsizei  maxLength,
GLsizei *  length,
GLint *  size,
GLenum *  type,
GLcharARB *  name 
)

void GLAPIENTRY _mesa_GetAttachedObjectsARB ( GLhandleARB  container,
GLsizei  maxCount,
GLsizei *  count,
GLhandleARB *  obj 
)

void GLAPIENTRY _mesa_GetAttachedShaders ( GLuint  program,
GLsizei  maxCount,
GLsizei *  count,
GLuint *  obj 
)

GLint GLAPIENTRY _mesa_GetAttribLocationARB ( GLhandleARB  program,
const GLcharARB *  name 
)

GLhandleARB GLAPIENTRY _mesa_GetHandleARB ( GLenum  pname  ) 

void GLAPIENTRY _mesa_GetInfoLogARB ( GLhandleARB  object,
GLsizei  maxLength,
GLsizei *  length,
GLcharARB *  infoLog 
)

void GLAPIENTRY _mesa_GetObjectParameterfvARB ( GLhandleARB  object,
GLenum  pname,
GLfloat *  params 
)

void GLAPIENTRY _mesa_GetObjectParameterivARB ( GLhandleARB  object,
GLenum  pname,
GLint *  params 
)

void GLAPIENTRY _mesa_GetProgramInfoLog ( GLuint  program,
GLsizei  bufSize,
GLsizei *  length,
GLchar *  infoLog 
)

void GLAPIENTRY _mesa_GetProgramiv ( GLuint  program,
GLenum  pname,
GLint *  params 
)

void GLAPIENTRY _mesa_GetShaderInfoLog ( GLuint  shader,
GLsizei  bufSize,
GLsizei *  length,
GLchar *  infoLog 
)

void GLAPIENTRY _mesa_GetShaderiv ( GLuint  shader,
GLenum  pname,
GLint *  params 
)

void GLAPIENTRY _mesa_GetShaderSourceARB ( GLhandleARB  shader,
GLsizei  maxLength,
GLsizei *  length,
GLcharARB *  sourceOut 
)

void GLAPIENTRY _mesa_GetUniformfvARB ( GLhandleARB  program,
GLint  location,
GLfloat *  params 
)

void GLAPIENTRY _mesa_GetUniformivARB ( GLhandleARB  program,
GLint  location,
GLint *  params 
)

GLint GLAPIENTRY _mesa_GetUniformLocationARB ( GLhandleARB  programObj,
const GLcharARB *  name 
)

GLboolean GLAPIENTRY _mesa_IsProgram ( GLuint  name  ) 

GLboolean GLAPIENTRY _mesa_IsShader ( GLuint  name  ) 

void GLAPIENTRY _mesa_LinkProgramARB ( GLhandleARB  programObj  ) 

static GLcharARB* _mesa_read_shader ( const char *  fname  )  [static]

Read shader source code from a file.

Useful for debugging to override an app's shader.

void GLAPIENTRY _mesa_ShaderSourceARB ( GLhandleARB  shaderObj,
GLsizei  count,
const GLcharARB **  string,
const GLint *  length 
)

Called via glShaderSource() and glShaderSourceARB() API functions.

Basically, concatenate the source code strings into one long string and pass it to ctx->Driver.ShaderSource().

void GLAPIENTRY _mesa_Uniform1fARB ( GLint  location,
GLfloat  v0 
)

void GLAPIENTRY _mesa_Uniform1fvARB ( GLint  location,
GLsizei  count,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_Uniform1iARB ( GLint  location,
GLint  v0 
)

void GLAPIENTRY _mesa_Uniform1ivARB ( GLint  location,
GLsizei  count,
const GLint *  value 
)

void GLAPIENTRY _mesa_Uniform2fARB ( GLint  location,
GLfloat  v0,
GLfloat  v1 
)

void GLAPIENTRY _mesa_Uniform2fvARB ( GLint  location,
GLsizei  count,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_Uniform2iARB ( GLint  location,
GLint  v0,
GLint  v1 
)

void GLAPIENTRY _mesa_Uniform2ivARB ( GLint  location,
GLsizei  count,
const GLint *  value 
)

void GLAPIENTRY _mesa_Uniform3fARB ( GLint  location,
GLfloat  v0,
GLfloat  v1,
GLfloat  v2 
)

void GLAPIENTRY _mesa_Uniform3fvARB ( GLint  location,
GLsizei  count,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_Uniform3iARB ( GLint  location,
GLint  v0,
GLint  v1,
GLint  v2 
)

void GLAPIENTRY _mesa_Uniform3ivARB ( GLint  location,
GLsizei  count,
const GLint *  value 
)

void GLAPIENTRY _mesa_Uniform4fARB ( GLint  location,
GLfloat  v0,
GLfloat  v1,
GLfloat  v2,
GLfloat  v3 
)

void GLAPIENTRY _mesa_Uniform4fvARB ( GLint  location,
GLsizei  count,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_Uniform4iARB ( GLint  location,
GLint  v0,
GLint  v1,
GLint  v2,
GLint  v3 
)

void GLAPIENTRY _mesa_Uniform4ivARB ( GLint  location,
GLsizei  count,
const GLint *  value 
)

void GLAPIENTRY _mesa_UniformMatrix2fvARB ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_UniformMatrix2x3fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

Non-square UniformMatrix are OpenGL 2.1.

void GLAPIENTRY _mesa_UniformMatrix2x4fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_UniformMatrix3fvARB ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_UniformMatrix3x2fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_UniformMatrix3x4fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_UniformMatrix4fvARB ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_UniformMatrix4x2fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_UniformMatrix4x3fv ( GLint  location,
GLsizei  count,
GLboolean  transpose,
const GLfloat *  value 
)

void GLAPIENTRY _mesa_UseProgramObjectARB ( GLhandleARB  program  ) 

void GLAPIENTRY _mesa_ValidateProgramARB ( GLhandleARB  program  ) 


Generated on Sun Sep 27 06:47:46 2009 for Mesa Main by  doxygen 1.5.4