mesa: Fix glGetTransformFeedbackVarying().
[mesa.git] / src / mesa / main / shaderapi.h
index b55d7ca8b25d793db3fe4b26c227f66016b15bc3..0ffebdb075f512c6fce393401dd8875fe63862d9 100644 (file)
 
 
 #include "glheader.h"
-#include "mtypes.h"
 
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+struct _glapi_table;
+struct gl_context;
+struct gl_shader_program;
+
 extern GLint
 _mesa_sizeof_glsl_type(GLenum type);
 
@@ -39,13 +47,20 @@ _mesa_copy_string(GLchar *dst, GLsizei maxLength,
                   GLsizei *length, const GLchar *src);
 
 extern void
-_mesa_use_program(struct gl_context *ctx, GLuint program);
+_mesa_use_program(struct gl_context *ctx, struct gl_shader_program *shProg);
 
+extern void
+_mesa_active_program(struct gl_context *ctx, struct gl_shader_program *shProg,
+                    const char *caller);
 
 extern void
 _mesa_init_shader_dispatch(struct _glapi_table *exec);
 
+extern unsigned
+_mesa_count_active_attribs(struct gl_shader_program *shProg);
 
+extern size_t
+_mesa_longest_attribute_name_length(struct gl_shader_program *shProg);
 
 extern void GLAPIENTRY
 _mesa_AttachObjectARB(GLhandleARB, GLhandleARB);
@@ -68,6 +83,9 @@ _mesa_DetachObjectARB(GLhandleARB, GLhandleARB);
 extern void GLAPIENTRY
 _mesa_GetAttachedObjectsARB(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *);
 
+extern GLint GLAPIENTRY
+_mesa_GetFragDataLocation(GLuint program, const GLchar *name);
+
 extern GLhandleARB GLAPIENTRY
 _mesa_GetHandleARB(GLenum pname);
 
@@ -105,6 +123,10 @@ _mesa_ValidateProgramARB(GLhandleARB);
 extern void GLAPIENTRY
 _mesa_BindAttribLocationARB(GLhandleARB, GLuint, const GLcharARB *);
 
+extern void GLAPIENTRY
+_mesa_BindFragDataLocation(GLuint program, GLuint colorNumber,
+                           const GLchar *name);
+
 extern void GLAPIENTRY
 _mesa_GetActiveAttribARB(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *,
                          GLenum *, GLcharARB *);
@@ -165,5 +187,22 @@ _mesa_ShaderBinary(GLint n, const GLuint *shaders, GLenum binaryformat,
 extern void GLAPIENTRY
 _mesa_ProgramParameteriARB(GLuint program, GLenum pname,
                            GLint value);
+void
+_mesa_use_shader_program(struct gl_context *ctx, GLenum type,
+                        struct gl_shader_program *shProg);
+
+extern void GLAPIENTRY
+_mesa_UseShaderProgramEXT(GLenum type, GLuint program);
+
+extern void GLAPIENTRY
+_mesa_ActiveProgramEXT(GLuint program);
+
+extern GLuint GLAPIENTRY
+_mesa_CreateShaderProgramEXT(GLenum type, const GLchar *string);
+
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* SHADERAPI_H */