summaryrefslogtreecommitdiffstats
path: root/src/mesa/program/program.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/program/program.h')
-rw-r--r--src/mesa/program/program.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mesa/program/program.h b/src/mesa/program/program.h
index af9f4170d1b..286573de1fb 100644
--- a/src/mesa/program/program.h
+++ b/src/mesa/program/program.h
@@ -74,6 +74,11 @@ _mesa_init_fragment_program(GLcontext *ctx,
GLenum target, GLuint id);
extern struct gl_program *
+_mesa_init_geometry_program(GLcontext *ctx,
+ struct gl_geometry_program *prog,
+ GLenum target, GLuint id);
+
+extern struct gl_program *
_mesa_new_program(GLcontext *ctx, GLenum target, GLuint id);
extern void
@@ -105,6 +110,15 @@ _mesa_reference_fragprog(GLcontext *ctx,
(struct gl_program *) prog);
}
+static INLINE void
+_mesa_reference_geomprog(GLcontext *ctx,
+ struct gl_geometry_program **ptr,
+ struct gl_geometry_program *prog)
+{
+ _mesa_reference_program(ctx, (struct gl_program **) ptr,
+ (struct gl_program *) prog);
+}
+
extern struct gl_program *
_mesa_clone_program(GLcontext *ctx, const struct gl_program *prog);
@@ -115,6 +129,12 @@ _mesa_clone_vertex_program(GLcontext *ctx,
return (struct gl_vertex_program *) _mesa_clone_program(ctx, &prog->Base);
}
+static INLINE struct gl_geometry_program *
+_mesa_clone_geometry_program(GLcontext *ctx,
+ const struct gl_geometry_program *prog)
+{
+ return (struct gl_geometry_program *) _mesa_clone_program(ctx, &prog->Base);
+}
static INLINE struct gl_fragment_program *
_mesa_clone_fragment_program(GLcontext *ctx,