Mesa (main): gallium: remove vertices_per_patch, add pipe_context::set_patch_vertices

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Aug 21 00:29:57 UTC 2021


Module: Mesa
Branch: main
Commit: 10a46226b1ea157189120acc68ffad4abb728e94
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=10a46226b1ea157189120acc68ffad4abb728e94

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Aug 13 02:29:56 2021 -0400

gallium: remove vertices_per_patch, add pipe_context::set_patch_vertices

We would like draw-only display lists to have immutable draw info and
this is the only GL non-draw state in pipe_draw_info (not counting
view_mask).

It also allows removing some code from draw_vbo for tessellation.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12351>

---

 docs/gallium/context.rst                           |  2 ++
 src/gallium/auxiliary/draw/draw_context.h          |  3 ++-
 src/gallium/auxiliary/draw/draw_pt.c               |  5 ++--
 src/gallium/auxiliary/driver_ddebug/dd_context.c   | 10 ++++++++
 src/gallium/auxiliary/driver_noop/noop_state.c     |  6 +++++
 src/gallium/auxiliary/driver_trace/tr_context.c    | 15 ++++++++++++
 src/gallium/auxiliary/driver_trace/tr_dump_state.c |  2 --
 src/gallium/auxiliary/util/u_dump_state.c          |  2 --
 src/gallium/auxiliary/util/u_threaded_context.c    | 28 +++++++++++++++++++---
 .../auxiliary/util/u_threaded_context_calls.h      |  1 +
 src/gallium/drivers/crocus/crocus_context.h        |  1 +
 src/gallium/drivers/crocus/crocus_draw.c           |  4 ++--
 src/gallium/drivers/crocus/crocus_state.c          | 13 ++++++++--
 src/gallium/drivers/freedreno/a6xx/fd6_const.c     |  4 ++--
 src/gallium/drivers/freedreno/a6xx/fd6_draw.c      |  7 +++---
 src/gallium/drivers/freedreno/a6xx/fd6_emit.h      |  1 +
 src/gallium/drivers/freedreno/freedreno_context.h  |  2 ++
 src/gallium/drivers/freedreno/freedreno_program.c  |  9 +++++++
 src/gallium/drivers/i915/i915_context.c            |  2 +-
 src/gallium/drivers/iris/iris_context.h            |  1 +
 src/gallium/drivers/iris/iris_draw.c               |  4 ++--
 src/gallium/drivers/iris/iris_state.c              | 11 ++++++++-
 src/gallium/drivers/llvmpipe/lp_context.h          |  2 ++
 src/gallium/drivers/llvmpipe/lp_draw_arrays.c      |  3 ++-
 src/gallium/drivers/llvmpipe/lp_state_tess.c       |  9 +++++++
 src/gallium/drivers/nouveau/nv30/nv30_draw.c       |  2 +-
 src/gallium/drivers/nouveau/nvc0/nvc0_context.h    |  1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_state.c      |  9 +++++++
 src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c        |  4 ++--
 src/gallium/drivers/r300/r300_render.c             |  2 +-
 src/gallium/drivers/r600/evergreen_state.c         | 14 ++++++++---
 src/gallium/drivers/r600/r600_pipe.h               |  1 +
 src/gallium/drivers/radeonsi/si_pipe.h             |  1 +
 src/gallium/drivers/radeonsi/si_state.c            |  8 +++++++
 src/gallium/drivers/radeonsi/si_state_draw.cpp     | 10 ++++----
 src/gallium/drivers/softpipe/sp_draw_arrays.c      |  2 +-
 src/gallium/drivers/svga/svga_context.h            |  1 +
 src/gallium/drivers/svga/svga_draw_elements.c      |  4 ++--
 src/gallium/drivers/svga/svga_pipe_draw.c          | 10 ++++----
 src/gallium/drivers/svga/svga_pipe_ts.c            | 10 ++++++++
 src/gallium/drivers/svga/svga_swtnl_draw.c         |  3 ++-
 src/gallium/drivers/swr/swr_context.h              |  1 +
 src/gallium/drivers/swr/swr_draw.cpp               |  6 ++---
 src/gallium/drivers/swr/swr_state.cpp              | 12 +++++++++-
 src/gallium/drivers/virgl/virgl_context.c          |  8 +++++++
 src/gallium/drivers/virgl/virgl_context.h          |  1 +
 src/gallium/drivers/virgl/virgl_encode.c           |  2 +-
 src/gallium/drivers/zink/zink_context.c            |  8 +++++++
 src/gallium/drivers/zink/zink_draw.cpp             |  4 ++--
 src/gallium/drivers/zink/zink_pipeline.h           |  2 ++
 src/gallium/frontends/lavapipe/lvp_execute.c       | 12 +++++++---
 src/gallium/include/pipe/p_context.h               |  5 ++++
 src/gallium/include/pipe/p_state.h                 |  6 ++---
 src/mesa/drivers/dri/i965/brw_state_upload.c       |  2 +-
 src/mesa/main/draw.c                               |  4 ----
 src/mesa/main/mtypes.h                             |  3 ++-
 src/mesa/main/shaderapi.c                          | 21 +++++++++++-----
 src/mesa/state_tracker/st_atom_tess.c              | 12 ++++++----
 src/mesa/state_tracker/st_context.c                |  2 +-
 src/mesa/state_tracker/st_draw.c                   |  2 --
 src/mesa/state_tracker/st_draw_feedback.c          |  4 ++--
 src/mesa/vbo/vbo_exec_draw.c                       |  3 ---
 src/mesa/vbo/vbo_save_draw.c                       |  1 -
 63 files changed, 266 insertions(+), 84 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=10a46226b1ea157189120acc68ffad4abb728e94


More information about the mesa-commit mailing list