From dd81f4853c879c38987909f5e6e670b325f9f6af Mon Sep 17 00:00:00 2001 From: Charmaine Lee Date: Thu, 4 Jun 2020 17:46:33 -0700 Subject: [PATCH] llvmpipe: do not enable tessellation shader without llvm coroutines support Tessellation shader in llvmpipe depends on llvm coroutines support. So do not advertise tessellation shader support in llvmpipe if GALLIVM_HAVE_CORO is FALSE. This fixes assertion in LLVMTokenTypeInContext() running tessellation shader tests with llvm version < 6. Fixes: eb522717 "llvmpipe: add support for tessellation shaders" Reviewed-by: Roland Scheidegger Reviewed-by: Dave Airlie Reviewed-by: Brian Paul Reviewed-by: Neha Bhende Part-of: --- src/gallium/drivers/llvmpipe/lp_screen.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index e3f1f70237c..61aac82d0d8 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -433,7 +433,8 @@ llvmpipe_get_shader_param(struct pipe_screen *screen, } case PIPE_SHADER_TESS_CTRL: case PIPE_SHADER_TESS_EVAL: - if (lscreen->use_tgsi) + /* Tessellation shader needs llvm coroutines support */ + if (!GALLIVM_HAVE_CORO || lscreen->use_tgsi) return 0; case PIPE_SHADER_VERTEX: case PIPE_SHADER_GEOMETRY: -- 2.30.2