summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/shader/program.c13
-rw-r--r--src/mesa/shader/program.h3
2 files changed, 16 insertions, 0 deletions
diff --git a/src/mesa/shader/program.c b/src/mesa/shader/program.c
index f6877bd1426..b1d06bbb278 100644
--- a/src/mesa/shader/program.c
+++ b/src/mesa/shader/program.c
@@ -1313,6 +1313,19 @@ _mesa_init_instruction(struct prog_instruction *inst)
/**
+ * Allocate an array of program instructions.
+ * \param numInst number of instructions
+ * \return pointer to instruction memory
+ */
+struct prog_instruction *
+_mesa_alloc_instructions(GLuint numInst)
+{
+ return (struct prog_instruction *)
+ _mesa_calloc(numInst * sizeof(struct prog_instruction));
+}
+
+
+/**
* Reallocate memory storing an array of program instructions.
* This is used when we need to append additional instructions onto an
* program.
diff --git a/src/mesa/shader/program.h b/src/mesa/shader/program.h
index a8535cc2cf1..6a345339aff 100644
--- a/src/mesa/shader/program.h
+++ b/src/mesa/shader/program.h
@@ -115,6 +115,9 @@ extern struct gl_program *
_mesa_lookup_program(GLcontext *ctx, GLuint id);
extern struct prog_instruction *
+_mesa_alloc_instructions(GLuint numInst);
+
+extern struct prog_instruction *
_mesa_realloc_instructions(struct prog_instruction *oldInst,
GLuint numOldInst, GLuint numNewInst);