Mesa (master): gallium: add unbind_num_trailing_slots to set_vertex_buffers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jan 28 00:13:25 UTC 2021


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Dec 21 03:01:34 2020 -0500

gallium: add unbind_num_trailing_slots to set_vertex_buffers

Instead of calling this functions again to unbind trailing slots,
extend it to do it as part of the call that sets vertex buffers.
This reduces CPU overhead. Only st/mesa benefits from this.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8298>

---

 src/gallium/auxiliary/cso_cache/cso_context.c     | 31 ++++++++++++-----------
 src/gallium/auxiliary/cso_cache/cso_context.h     |  4 +--
 src/gallium/auxiliary/draw/draw_context.c         |  4 ++-
 src/gallium/auxiliary/draw/draw_context.h         |  1 +
 src/gallium/auxiliary/driver_ddebug/dd_context.c  |  6 ++++-
 src/gallium/auxiliary/driver_noop/noop_state.c    |  1 +
 src/gallium/auxiliary/driver_rbug/rbug_context.c  |  3 ++-
 src/gallium/auxiliary/driver_trace/tr_context.c   |  5 +++-
 src/gallium/auxiliary/hud/hud_context.c           |  2 +-
 src/gallium/auxiliary/postprocess/pp_run.c        |  2 +-
 src/gallium/auxiliary/util/u_blitter.c            |  8 +++---
 src/gallium/auxiliary/util/u_draw_quad.c          |  2 +-
 src/gallium/auxiliary/util/u_helpers.c            | 11 +++++---
 src/gallium/auxiliary/util/u_helpers.h            |  6 +++--
 src/gallium/auxiliary/util/u_threaded_context.c   | 21 ++++++++-------
 src/gallium/auxiliary/util/u_vbuf.c               | 21 +++++++++++----
 src/gallium/auxiliary/util/u_vbuf.h               |  1 +
 src/gallium/auxiliary/vl/vl_bicubic_filter.c      |  2 +-
 src/gallium/auxiliary/vl/vl_compositor_gfx.c      |  2 +-
 src/gallium/auxiliary/vl/vl_deint_filter.c        |  2 +-
 src/gallium/auxiliary/vl/vl_matrix_filter.c       |  2 +-
 src/gallium/auxiliary/vl/vl_median_filter.c       |  2 +-
 src/gallium/auxiliary/vl/vl_mpeg12_decoder.c      |  6 ++---
 src/gallium/drivers/d3d12/d3d12_context.cpp       |  4 ++-
 src/gallium/drivers/etnaviv/etnaviv_state.c       |  6 +++--
 src/gallium/drivers/freedreno/freedreno_blitter.c |  2 +-
 src/gallium/drivers/freedreno/freedreno_state.c   |  4 ++-
 src/gallium/drivers/i915/i915_state.c             |  7 +++--
 src/gallium/drivers/iris/iris_state.c             |  8 ++++++
 src/gallium/drivers/lima/lima_state.c             |  6 +++--
 src/gallium/drivers/llvmpipe/lp_state_vertex.c    |  7 +++--
 src/gallium/drivers/nouveau/nv30/nv30_draw.c      |  2 +-
 src/gallium/drivers/nouveau/nv30/nv30_state.c     |  4 ++-
 src/gallium/drivers/nouveau/nv50/nv50_state.c     |  4 ++-
 src/gallium/drivers/nouveau/nvc0/nvc0_state.c     |  4 ++-
 src/gallium/drivers/panfrost/pan_context.c        |  4 ++-
 src/gallium/drivers/r300/r300_context.c           |  2 +-
 src/gallium/drivers/r300/r300_state.c             | 13 +++++++---
 src/gallium/drivers/r600/r600_pipe_common.c       |  2 +-
 src/gallium/drivers/r600/r600_state_common.c      |  6 +++++
 src/gallium/drivers/radeonsi/si_state.c           |  8 ++++--
 src/gallium/drivers/softpipe/sp_state_vertex.c    |  7 +++--
 src/gallium/drivers/svga/svga_pipe_vertex.c       |  4 ++-
 src/gallium/drivers/svga/svga_swtnl_state.c       |  2 +-
 src/gallium/drivers/swr/swr_state.cpp             |  4 ++-
 src/gallium/drivers/tegra/tegra_context.c         |  4 +--
 src/gallium/drivers/v3d/v3dx_state.c              |  4 ++-
 src/gallium/drivers/vc4/vc4_state.c               |  4 ++-
 src/gallium/drivers/virgl/virgl_context.c         |  4 ++-
 src/gallium/drivers/zink/zink_context.c           |  4 ++-
 src/gallium/frontends/lavapipe/lvp_execute.c      |  4 +--
 src/gallium/frontends/nine/nine_state.c           | 18 ++++++-------
 src/gallium/include/pipe/p_context.h              |  1 +
 src/gallium/tests/graw/fs-fragcoord.c             |  2 +-
 src/gallium/tests/graw/fs-frontface.c             |  2 +-
 src/gallium/tests/graw/fs-test.c                  |  2 +-
 src/gallium/tests/graw/fs-write-z.c               |  2 +-
 src/gallium/tests/graw/gs-test.c                  |  2 +-
 src/gallium/tests/graw/occlusion-query.c          |  2 +-
 src/gallium/tests/graw/quad-sample.c              |  2 +-
 src/gallium/tests/graw/quad-tex.c                 |  2 +-
 src/gallium/tests/graw/shader-leak.c              |  2 +-
 src/gallium/tests/graw/tex-srgb.c                 |  2 +-
 src/gallium/tests/graw/tex-swizzle.c              |  2 +-
 src/gallium/tests/graw/tri-gs.c                   |  2 +-
 src/gallium/tests/graw/tri-instanced.c            |  2 +-
 src/gallium/tests/graw/tri-large.c                |  2 +-
 src/gallium/tests/graw/tri.c                      |  2 +-
 src/gallium/tests/graw/vs-test.c                  |  2 +-
 src/mesa/state_tracker/st_atom_array.c            |  3 ++-
 src/mesa/state_tracker/st_draw_feedback.c         |  4 +--
 71 files changed, 217 insertions(+), 120 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=0278d1fa323cf1f289a2c5f4cd803c4203d4a48a


More information about the mesa-commit mailing list