2 * Mesa 3-D graphics library
5 * Copyright (C) 2004-2005 Brian Paul All Rights Reserved.
7 * Permission is hereby granted, free of charge, to any person obtaining a
8 * copy of this software and associated documentation files (the "Software"),
9 * to deal in the Software without restriction, including without limitation
10 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11 * and/or sell copies of the Software, and to permit persons to whom the
12 * Software is furnished to do so, subject to the following conditions:
14 * The above copyright notice and this permission notice shall be included
15 * in all copies or substantial portions of the Software.
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 #ifndef SHADEROBJECTS_H
26 #define SHADEROBJECTS_H
30 #if FEATURE_ARB_shader_objects
32 extern void GLAPIENTRY
33 _mesa_DeleteObjectARB(GLhandleARB obj
);
35 extern GLhandleARB GLAPIENTRY
36 _mesa_GetHandleARB(GLenum pname
);
38 extern void GLAPIENTRY
39 _mesa_DetachObjectARB (GLhandleARB
, GLhandleARB
);
41 extern GLhandleARB GLAPIENTRY
42 _mesa_CreateShaderObjectARB (GLenum
);
44 extern void GLAPIENTRY
45 _mesa_ShaderSourceARB (GLhandleARB
, GLsizei
, const GLcharARB
* *, const GLint
*);
47 extern void GLAPIENTRY
48 _mesa_CompileShaderARB (GLhandleARB
);
50 extern GLhandleARB GLAPIENTRY
51 _mesa_CreateProgramObjectARB (void);
53 extern void GLAPIENTRY
54 _mesa_AttachObjectARB (GLhandleARB
, GLhandleARB
);
56 extern void GLAPIENTRY
57 _mesa_LinkProgramARB (GLhandleARB
);
59 extern void GLAPIENTRY
60 _mesa_UseProgramObjectARB (GLhandleARB
);
62 extern void GLAPIENTRY
63 _mesa_ValidateProgramARB (GLhandleARB
);
65 extern void GLAPIENTRY
66 _mesa_Uniform1fARB (GLint
, GLfloat
);
68 extern void GLAPIENTRY
69 _mesa_Uniform2fARB (GLint
, GLfloat
, GLfloat
);
71 extern void GLAPIENTRY
72 _mesa_Uniform3fARB (GLint
, GLfloat
, GLfloat
, GLfloat
);
74 extern void GLAPIENTRY
75 _mesa_Uniform4fARB (GLint
, GLfloat
, GLfloat
, GLfloat
, GLfloat
);
77 extern void GLAPIENTRY
78 _mesa_Uniform1iARB (GLint
, GLint
);
80 extern void GLAPIENTRY
81 _mesa_Uniform2iARB (GLint
, GLint
, GLint
);
83 extern void GLAPIENTRY
84 _mesa_Uniform3iARB (GLint
, GLint
, GLint
, GLint
);
86 extern void GLAPIENTRY
87 _mesa_Uniform4iARB (GLint
, GLint
, GLint
, GLint
, GLint
);
89 extern void GLAPIENTRY
90 _mesa_Uniform1fvARB (GLint
, GLsizei
, const GLfloat
*);
92 extern void GLAPIENTRY
93 _mesa_Uniform2fvARB (GLint
, GLsizei
, const GLfloat
*);
95 extern void GLAPIENTRY
96 _mesa_Uniform3fvARB (GLint
, GLsizei
, const GLfloat
*);
98 extern void GLAPIENTRY
99 _mesa_Uniform4fvARB (GLint
, GLsizei
, const GLfloat
*);
101 extern void GLAPIENTRY
102 _mesa_Uniform1ivARB (GLint
, GLsizei
, const GLint
*);
104 extern void GLAPIENTRY
105 _mesa_Uniform2ivARB (GLint
, GLsizei
, const GLint
*);
107 extern void GLAPIENTRY
108 _mesa_Uniform3ivARB (GLint
, GLsizei
, const GLint
*);
110 extern void GLAPIENTRY
111 _mesa_Uniform4ivARB (GLint
, GLsizei
, const GLint
*);
113 extern void GLAPIENTRY
114 _mesa_UniformMatrix2fvARB (GLint
, GLsizei
, GLboolean
, const GLfloat
*);
116 extern void GLAPIENTRY
117 _mesa_UniformMatrix3fvARB (GLint
, GLsizei
, GLboolean
, const GLfloat
*);
119 extern void GLAPIENTRY
120 _mesa_UniformMatrix4fvARB (GLint
, GLsizei
, GLboolean
, const GLfloat
*);
122 extern void GLAPIENTRY
123 _mesa_GetObjectParameterfvARB (GLhandleARB
, GLenum
, GLfloat
*);
125 extern void GLAPIENTRY
126 _mesa_GetObjectParameterivARB (GLhandleARB
, GLenum
, GLint
*);
128 extern void GLAPIENTRY
129 _mesa_GetInfoLogARB (GLhandleARB
, GLsizei
, GLsizei
*, GLcharARB
*);
131 extern void GLAPIENTRY
132 _mesa_GetAttachedObjectsARB (GLhandleARB
, GLsizei
, GLsizei
*, GLhandleARB
*);
134 extern GLint GLAPIENTRY
135 _mesa_GetUniformLocationARB (GLhandleARB
, const GLcharARB
*);
137 extern void GLAPIENTRY
138 _mesa_GetActiveUniformARB (GLhandleARB
, GLuint
, GLsizei
, GLsizei
*, GLint
*, GLenum
*, GLcharARB
*);
140 extern void GLAPIENTRY
141 _mesa_GetUniformfvARB (GLhandleARB
, GLint
, GLfloat
*);
143 extern void GLAPIENTRY
144 _mesa_GetUniformivARB (GLhandleARB
, GLint
, GLint
*);
146 extern void GLAPIENTRY
147 _mesa_GetShaderSourceARB (GLhandleARB
, GLsizei
, GLsizei
*, GLcharARB
*);
149 #if FEATURE_ARB_vertex_shader
151 extern void GLAPIENTRY
152 _mesa_BindAttribLocationARB (GLhandleARB
, GLuint
, const GLcharARB
*);
154 extern void GLAPIENTRY
155 _mesa_GetActiveAttribARB (GLhandleARB
, GLuint
, GLsizei
, GLsizei
*, GLint
*, GLenum
*, GLcharARB
*);
157 extern GLint GLAPIENTRY
158 _mesa_GetAttribLocationARB (GLhandleARB
, const GLcharARB
*);
163 _mesa_init_shaderobjects (GLcontext
*ctx
);