From c8c7450fc73b888504174733e905f4a69a72062a Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 4 Jun 2020 12:10:40 +1000 Subject: 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 Acked-by: Elie Tournier Part-of: --- src/gallium/auxiliary/gallivm/lp_bld_init.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/gallium/auxiliary') 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; } -- cgit v1.2.3