gallivm: rework coroutine malloc/free callouts.
When using cached shaders we have to relink the shader with external symbols when it's loaded. However the way gallivm does function calls now hardcodes the function pointer into the shader. LLVM had a mechanism for doing this properly using global mappings, this switches the coroutine alloc/free code to use a global mapping. Reviewed-by:Roland Scheidegger <sroland@vmware.com> Part-of: <mesa/mesa!5049>
- src/gallium/auxiliary/draw/draw_llvm.c 2 additions, 0 deletionssrc/gallium/auxiliary/draw/draw_llvm.c
- src/gallium/auxiliary/gallivm/lp_bld_coro.c 25 additions, 11 deletionssrc/gallium/auxiliary/gallivm/lp_bld_coro.c
- src/gallium/auxiliary/gallivm/lp_bld_coro.h 3 additions, 0 deletionssrc/gallium/auxiliary/gallivm/lp_bld_coro.h
- src/gallium/auxiliary/gallivm/lp_bld_init.h 2 additions, 0 deletionssrc/gallium/auxiliary/gallivm/lp_bld_init.h
- src/gallium/drivers/llvmpipe/lp_state_cs.c 3 additions, 0 deletionssrc/gallium/drivers/llvmpipe/lp_state_cs.c