summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2006-08-25 15:13:25 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2006-08-25 15:13:25 +0000
commit9983a27cbe4f123f4e7fcce59c0d8b61b0f73924 (patch)
tree83224b9f779828578bf6f35b864ec9f3b473b6bc
parenta574c804a09c19fdbf5f6e6eac0767d3d8f57490 (diff)
added _mesa_alloc_instructions() utility function
-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 f6877bd142..b1d06bbb27 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 a8535cc2cf..6a345339af 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);