draw: Remove dead code.
[mesa.git] / progs / util / shaderutil.h
1 #ifndef SHADER_UTIL_H
2 #define SHADER_UTIL_H
3
4
5
6 struct uniform_info
7 {
8 const char *name;
9 GLuint size; /**< number of value[] elements: 1, 2, 3 or 4 */
10 GLenum type; /**< GL_FLOAT, GL_FLOAT_VEC4, GL_INT, etc */
11 GLfloat value[4];
12 GLint location; /**< filled in by InitUniforms() */
13 };
14
15 #define END_OF_UNIFORMS { NULL, 0, GL_NONE, { 0, 0, 0, 0 }, -1 }
16
17
18 struct attrib_info
19 {
20 const char *name;
21 GLuint size; /**< number of value[] elements: 1, 2, 3 or 4 */
22 GLenum type; /**< GL_FLOAT, GL_FLOAT_VEC4, GL_INT, etc */
23 GLint location;
24 };
25
26
27 extern GLboolean
28 ShadersSupported(void);
29
30 extern GLuint
31 CompileShaderText(GLenum shaderType, const char *text);
32
33 extern GLuint
34 CompileShaderFile(GLenum shaderType, const char *filename);
35
36 extern GLuint
37 LinkShaders(GLuint vertShader, GLuint fragShader);
38
39 extern GLboolean
40 ValidateShaderProgram(GLuint program);
41
42 extern GLdouble
43 GetShaderCompileTime(void);
44
45 extern GLdouble
46 GetShaderLinkTime(void);
47
48 extern void
49 SetUniformValues(GLuint program, struct uniform_info uniforms[]);
50
51 extern GLuint
52 GetUniforms(GLuint program, struct uniform_info uniforms[]);
53
54 extern void
55 PrintUniforms(const struct uniform_info uniforms[]);
56
57 extern GLuint
58 GetAttribs(GLuint program, struct attrib_info attribs[]);
59
60 extern void
61 PrintAttribs(const struct attrib_info attribs[]);
62
63 #endif /* SHADER_UTIL_H */