Mesa (master): draw: add main tessellation code

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 28 08:53:33 UTC 2020


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Feb 17 17:09:10 2020 +1000

draw: add main tessellation code

This is the bulk of the llvm shader builders and tessellation
execution code.

TCS uses a coroutine launcher like compute shaders to handle
barriers. It executes 4-wide with one input vertex per lane.

Tessellation happens before the TES is run.

TES is just a 4-wide launcher, one per primitive is executed,
with one lane per tessellation coordinate input.

Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3841>

---

 src/gallium/auxiliary/Makefile.sources    |    2 +
 src/gallium/auxiliary/draw/draw_context.c |   31 +
 src/gallium/auxiliary/draw/draw_context.h |   23 +
 src/gallium/auxiliary/draw/draw_llvm.c    | 1121 ++++++++++++++++++++++++++++-
 src/gallium/auxiliary/draw/draw_llvm.h    |  187 ++++-
 src/gallium/auxiliary/draw/draw_private.h |   40 +-
 src/gallium/auxiliary/draw/draw_tess.c    |  630 ++++++++++++++++
 src/gallium/auxiliary/draw/draw_tess.h    |   90 +++
 src/gallium/auxiliary/meson.build         |    2 +
 9 files changed, 2119 insertions(+), 7 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=0d02a7b8ca794a594c2e9cc5e6d63dc591593105


More information about the mesa-commit mailing list