From 83c62597fc8eb38bf274fa1a3ca03c6adafb4bf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathias=20Fr=C3=B6hlich?= Date: Thu, 28 Aug 2014 19:49:35 +0200 Subject: llvmpipe: Use two LLVMContexts per OpenGL context instead of a global one. This is one step to make llvmpipe thread safe as mandated by the OpenGL standard. Using the global LLVMContext is obviously a problem for that kind of use pattern. The patch introduces two LLVMContext instances that are private to an OpenGL context and used for all compiles. One is put into struct draw_llvm and the other one into struct llvmpipe_context. Reviewed-by: Jose Fonseca Signed-off-by: Mathias Froehlich --- src/gallium/auxiliary/draw/draw_llvm.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/gallium/auxiliary/draw/draw_llvm.h') diff --git a/src/gallium/auxiliary/draw/draw_llvm.h b/src/gallium/auxiliary/draw/draw_llvm.h index ed97cf7..a4bd1ed 100644 --- a/src/gallium/auxiliary/draw/draw_llvm.h +++ b/src/gallium/auxiliary/draw/draw_llvm.h @@ -461,6 +461,8 @@ struct llvm_geometry_shader { struct draw_llvm { struct draw_context *draw; + LLVMContextRef context; + struct draw_jit_context jit_context; struct draw_gs_jit_context gs_jit_context; -- cgit v1.1