diff options
author | Michel Dänzer <[email protected]> | 2015-03-26 11:32:59 +0900 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2015-03-30 15:15:10 +0900 |
commit | d64adc3a79e419062432cfa8d1cbc437676a3fbd (patch) | |
tree | 84eb20f0b67faff3a7e3d04aa36c87ec912cfcf0 /src/gallium/drivers/radeonsi/si_compute.c | |
parent | ce83a6ec8142894531cfad8cd677cd3dc47eced7 (diff) |
radeonsi: Cache LLVMTargetMachineRef in context instead of in screen
Fixes a crash in genymotion with several threads compiling shaders
concurrently.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89746
Cc: 10.5 <[email protected]>
Reviewed-by: Tom Stellard <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_compute.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_compute.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_compute.c b/src/gallium/drivers/radeonsi/si_compute.c index 8609b894108..89bef2e7afd 100644 --- a/src/gallium/drivers/radeonsi/si_compute.c +++ b/src/gallium/drivers/radeonsi/si_compute.c @@ -130,7 +130,8 @@ static void *si_create_compute_state( for (i = 0; i < program->num_kernels; i++) { LLVMModuleRef mod = radeon_llvm_get_kernel_module(program->llvm_ctx, i, code, header->num_bytes); - si_compile_llvm(sctx->screen, &program->kernels[i], mod); + si_compile_llvm(sctx->screen, &program->kernels[i], sctx->tm, + mod); LLVMDisposeModule(mod); } } |