diff options
author | Brian Paul <[email protected]> | 2008-05-14 12:37:07 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2008-05-14 12:37:07 -0600 |
commit | 450136d368ce7a08cf25992c79b51f51f8a9bb7c (patch) | |
tree | e9270ba192cb73feb576cad5c7afc7011db92658 /src/mesa/shader | |
parent | 57e222d6e5ef5744491d093475e1136aedf81810 (diff) |
mesa: added _mesa_free_instructions()
cherry-picked from gallium-0.1
Diffstat (limited to 'src/mesa/shader')
-rw-r--r-- | src/mesa/shader/prog_instruction.c | 17 | ||||
-rw-r--r-- | src/mesa/shader/prog_instruction.h | 3 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/mesa/shader/prog_instruction.c b/src/mesa/shader/prog_instruction.c index d6b5652a276..329fec3bac7 100644 --- a/src/mesa/shader/prog_instruction.c +++ b/src/mesa/shader/prog_instruction.c @@ -119,6 +119,23 @@ _mesa_copy_instructions(struct prog_instruction *dest, /** + * Free an array of instructions + */ +void +_mesa_free_instructions(struct prog_instruction *inst, GLuint count) +{ + GLuint i; + for (i = 0; i < count; i++) { + if (inst[i].Data) + _mesa_free(inst[i].Data); + if (inst[i].Comment) + _mesa_free((char *) inst[i].Comment); + } + _mesa_free(inst); +} + + +/** * Basic info about each instruction */ struct instruction_info diff --git a/src/mesa/shader/prog_instruction.h b/src/mesa/shader/prog_instruction.h index c800757aa0f..ce4daec1041 100644 --- a/src/mesa/shader/prog_instruction.h +++ b/src/mesa/shader/prog_instruction.h @@ -437,6 +437,9 @@ extern struct prog_instruction * _mesa_copy_instructions(struct prog_instruction *dest, const struct prog_instruction *src, GLuint n); +extern void +_mesa_free_instructions(struct prog_instruction *inst, GLuint count); + extern GLuint _mesa_num_inst_src_regs(gl_inst_opcode opcode); |