diff options
author | Brian <brian@yutani.localnet.net> | 2007-04-20 08:12:17 -0600 |
---|---|---|
committer | Brian <brian@yutani.localnet.net> | 2007-04-21 10:05:05 -0600 |
commit | 4cc2674aee98a4c2972f4f097a89b7b4a30df4ab (patch) | |
tree | 54c9d2bfd8450815725d2e24ebd226c4699041db /src/mesa/shader | |
parent | a7f7366d382b2fe124f1495baf0360bffa30f0c0 (diff) |
fix instruction comment code
Diffstat (limited to 'src/mesa/shader')
-rw-r--r-- | src/mesa/shader/prog_instruction.c | 8 | ||||
-rw-r--r-- | src/mesa/shader/program.c | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/mesa/shader/prog_instruction.c b/src/mesa/shader/prog_instruction.c index 1e8e081226..d6b5652a27 100644 --- a/src/mesa/shader/prog_instruction.c +++ b/src/mesa/shader/prog_instruction.c @@ -108,7 +108,13 @@ struct prog_instruction * _mesa_copy_instructions(struct prog_instruction *dest, const struct prog_instruction *src, GLuint n) { - return _mesa_memcpy(dest, src, n * sizeof(struct prog_instruction)); + GLuint i; + _mesa_memcpy(dest, src, n * sizeof(struct prog_instruction)); + for (i = 0; i < n; i++) { + if (src[i].Comment) + dest[i].Comment = _mesa_strdup(src[i].Comment); + } + return dest; } diff --git a/src/mesa/shader/program.c b/src/mesa/shader/program.c index e872d78611..4205919828 100644 --- a/src/mesa/shader/program.c +++ b/src/mesa/shader/program.c @@ -281,6 +281,8 @@ _mesa_delete_program(GLcontext *ctx, struct gl_program *prog) for (i = 0; i < prog->NumInstructions; i++) { if (prog->Instructions[i].Data) _mesa_free(prog->Instructions[i].Data); + if (prog->Instructions[i].Comment) + _mesa_free((char *) prog->Instructions[i].Comment); } _mesa_free(prog->Instructions); } |