Mesa (master): llvmpipe: do not enable tessellation shader without llvm coroutines support

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Jun 6 23:02:46 UTC 2020


Module: Mesa
Branch: master
Commit: dd81f4853c879c38987909f5e6e670b325f9f6af
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd81f4853c879c38987909f5e6e670b325f9f6af

Author: Charmaine Lee <charmainel at vmware.com>
Date:   Thu Jun  4 17:46:33 2020 -0700

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 <sroland at vmware.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Neha Bhende <bhenden at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5366>

---

 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:



More information about the mesa-commit mailing list