diff options
author | Dave Airlie <[email protected]> | 2020-06-04 12:10:40 +1000 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-06-04 19:08:34 +0000 |
commit | c8c7450fc73b888504174733e905f4a69a72062a (patch) | |
tree | e03f5e94280a15eff35701e987293a6b0880a109 /src/gallium | |
parent | 2d1688345a622add9fef1dd5d6d87bee614d5666 (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.c | 6 |
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; } |