aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2020-06-04 12:10:40 +1000
committerMarge Bot <[email protected]>2020-06-04 19:08:34 +0000
commitc8c7450fc73b888504174733e905f4a69a72062a (patch)
treee03f5e94280a15eff35701e987293a6b0880a109 /src/gallium
parent2d1688345a622add9fef1dd5d6d87bee614d5666 (diff)
llvmpipe: move coroutines out of noopt case
the virgl CI code was using the noopt path and crashing with a wierd can't select llvm.coro.subfn.addr error, turns out we have to call the cleanup pass no matter what. This enable a lot more virgl gles31 passes, but we have to disable tessellation shaders as now they executed, they crash due to missing OES_gpu_shader5, I should try and reenable them when llvmpipe is further along Fixes: d32690b43c91d ("gallivm: add coroutine pass manager support") Reviewed-by: Roland Scheidegger <[email protected]> Acked-by: Elie Tournier <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5320>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_init.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index fd5a35114f4..e3fd26cd2ec 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -172,9 +172,6 @@ create_pass_manager(struct gallivm_state *gallivm)
LLVMAddConstantPropagationPass(gallivm->passmgr);
LLVMAddInstructionCombiningPass(gallivm->passmgr);
LLVMAddGVNPass(gallivm->passmgr);
-#if GALLIVM_HAVE_CORO
- LLVMAddCoroCleanupPass(gallivm->passmgr);
-#endif
}
else {
/* We need at least this pass to prevent the backends to fail in
@@ -182,6 +179,9 @@ create_pass_manager(struct gallivm_state *gallivm)
*/
LLVMAddPromoteMemoryToRegisterPass(gallivm->passmgr);
}
+#if GALLIVM_HAVE_CORO
+ LLVMAddCoroCleanupPass(gallivm->passmgr);
+#endif
return TRUE;
}