Mesa (master): mesa: fix old classic drivers to use ralloc for ARB asm programs

Timothy Arceri tarceri at kemper.freedesktop.org
Fri Nov 18 12:39:50 UTC 2016


Module: Mesa
Branch: master
Commit: 88fe2c308ec0902b8f3980f9ce6ab6241ba74c14
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=88fe2c308ec0902b8f3980f9ce6ab6241ba74c14

Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Fri Nov 18 11:51:59 2016 +1100

mesa: fix old classic drivers to use ralloc for ARB asm programs

These changes were missed in 0ad69e6b5.

Acked-by: Edward O'Callaghan <funfunctor at folklore1984.net>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98767

---

 src/mesa/program/arbprogparse.c | 4 ++--
 src/mesa/program/ir_to_mesa.cpp | 7 +++----
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/mesa/program/arbprogparse.c b/src/mesa/program/arbprogparse.c
index 196d30f..9b843f6 100644
--- a/src/mesa/program/arbprogparse.c
+++ b/src/mesa/program/arbprogparse.c
@@ -85,7 +85,7 @@ _mesa_parse_arb_fragment_program(struct gl_context* ctx, GLenum target,
       return;
    }
 
-   free(program->String);
+   ralloc_free(program->String);
 
    /* Copy the relevant contents of the arb_program struct into the
     * fragment_program struct.
@@ -121,7 +121,7 @@ _mesa_parse_arb_fragment_program(struct gl_context* ctx, GLenum target,
 
    program->info.fs.uses_discard = state.fragment.UsesKill;
 
-   free(program->arb.Instructions);
+   ralloc_free(program->arb.Instructions);
    program->arb.Instructions = prog.arb.Instructions;
 
    if (program->Parameters)
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index c42c19b..b042c86 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -2814,9 +2814,8 @@ get_mesa_program(struct gl_context *ctx,
 
    unsigned num_instructions = v.instructions.length();
 
-   mesa_instructions =
-      (struct prog_instruction *)calloc(num_instructions,
-					sizeof(*mesa_instructions));
+   mesa_instructions = rzalloc_array(prog, struct prog_instruction,
+                                     num_instructions);
    mesa_instruction_annotation = ralloc_array(v.mem_ctx, ir_instruction *,
 					      num_instructions);
 
@@ -2948,7 +2947,7 @@ get_mesa_program(struct gl_context *ctx,
    return prog;
 
 fail_exit:
-   free(mesa_instructions);
+   ralloc_free(mesa_instructions);
    _mesa_reference_program(ctx, &shader->Program, NULL);
    return NULL;
 }




More information about the mesa-commit mailing list