On Fri, Jan 27, 2012 at 07:28, Jose Fonseca <[email protected]> wrote: > > > ----- Original Message ----- >> On Fri, Jan 27, 2012 at 8:18 AM, Brian Paul <[email protected]> >> wrote: >> > On Fri, Jan 27, 2012 at 7:40 AM, <[email protected]> wrote: >> >> From: José Fonseca <[email protected]> >> >> >> >> Should avoid dangling pointer derreference with >> >> >> >> glean --run results --overwrite --quick --tests texSwizzle >> >> --- >> >> src/gallium/auxiliary/draw/draw_llvm.c | 5 +++++ >> >> 1 files changed, 5 insertions(+), 0 deletions(-) >> >> >> >> diff --git a/src/gallium/auxiliary/draw/draw_llvm.c >> >> b/src/gallium/auxiliary/draw/draw_llvm.c >> >> index e71c802..b81c725 100644 >> >> --- a/src/gallium/auxiliary/draw/draw_llvm.c >> >> +++ b/src/gallium/auxiliary/draw/draw_llvm.c >> >> @@ -65,8 +65,13 @@ static void >> >> draw_llvm_garbage_collect_callback(void *cb_data) >> >> { >> >> struct draw_llvm *llvm = (struct draw_llvm *) cb_data; >> >> + struct draw_context *draw = llvm->draw; >> >> struct draw_llvm_variant_list_item *li; >> >> >> >> + /* Ensure prepare will be run and shaders recompiled */ >> >> + assert(!draw->suspend_flushing); >> >> + draw_do_flush(draw, DRAW_FLUSH_STATE_CHANGE); >> >> + >> >> /* free all shader variants */ >> >> li = first_elem(&llvm->vs_variants_list); >> >> while (!at_end(&llvm->vs_variants_list, li)) { >> > >> > Looks good to me. > > Thanks. > >> Should probably be tagged for the 8.0 branch too. > > Good point. > > Jose
You also might want to remove the workaround in free_gallivm_state. My impression is that it works around that bug. Stephane _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
