extern void
_mesa_init_shader_state(GLcontext * ctx);
+extern void
+_mesa_free_shader_state(GLcontext *ctx);
+
extern struct gl_shader_program *
_mesa_new_shader_program(GLcontext *ctx, GLuint name);
+extern void
+_mesa_clear_shader_program_data(GLcontext *ctx,
+ struct gl_shader_program *shProg);
+
extern void
_mesa_free_shader_program_data(GLcontext *ctx,
struct gl_shader_program *shProg);
extern void
_mesa_free_shader_program(GLcontext *ctx, struct gl_shader_program *shProg);
+extern void
+_mesa_reference_shader_program(GLcontext *ctx,
+ struct gl_shader_program **ptr,
+ struct gl_shader_program *shProg);
+
extern struct gl_shader_program *
_mesa_lookup_shader_program(GLcontext *ctx, GLuint name);
extern void
_mesa_free_shader(GLcontext *ctx, struct gl_shader *sh);
+extern void
+_mesa_reference_shader(GLcontext *ctx, struct gl_shader **ptr,
+ struct gl_shader *sh);
+
extern struct gl_shader *
_mesa_lookup_shader(GLcontext *ctx, GLuint name);