Mesa (master): gallium: add unbind_num_trailing_slots to set_sampler_views

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


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

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_sampler_views

Instead of calling this functions again to unbind trailing slots,
extend it to do it when binding. This reduces CPU overhead.

A lot of drivers ignore "start" and always unbind all slots after "count".
Such drivers don't need any changes here.

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     |  2 +-
 src/gallium/auxiliary/draw/draw_pipe_pstipple.c   | 13 ++++++++++---
 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  |  4 +++-
 src/gallium/auxiliary/driver_trace/tr_context.c   |  5 ++++-
 src/gallium/auxiliary/hud/hud_context.c           |  4 ++--
 src/gallium/auxiliary/postprocess/pp_colors.c     |  2 +-
 src/gallium/auxiliary/postprocess/pp_mlaa.c       |  6 +++---
 src/gallium/auxiliary/postprocess/pp_run.c        |  2 +-
 src/gallium/auxiliary/util/u_blitter.c            | 12 ++++++------
 src/gallium/auxiliary/util/u_compute.c            |  4 ++--
 src/gallium/auxiliary/util/u_tests.c              |  4 ++--
 src/gallium/auxiliary/util/u_threaded_context.c   |  9 ++++++---
 src/gallium/auxiliary/vl/vl_bicubic_filter.c      |  2 +-
 src/gallium/auxiliary/vl/vl_compositor_cs.c       |  4 ++--
 src/gallium/auxiliary/vl/vl_compositor_gfx.c      |  2 +-
 src/gallium/auxiliary/vl/vl_deint_filter.c        |  2 +-
 src/gallium/auxiliary/vl/vl_idct.c                |  4 ++--
 src/gallium/auxiliary/vl/vl_matrix_filter.c       |  2 +-
 src/gallium/auxiliary/vl/vl_mc.c                  |  2 +-
 src/gallium/auxiliary/vl/vl_median_filter.c       |  2 +-
 src/gallium/auxiliary/vl/vl_mpeg12_decoder.c      |  2 +-
 src/gallium/auxiliary/vl/vl_zscan.c               |  2 +-
 src/gallium/drivers/d3d12/d3d12_blit.cpp          |  2 +-
 src/gallium/drivers/d3d12/d3d12_context.cpp       |  7 ++++++-
 src/gallium/drivers/etnaviv/etnaviv_texture.c     |  1 +
 src/gallium/drivers/freedreno/a2xx/fd2_texture.c  |  4 ++--
 src/gallium/drivers/freedreno/a4xx/fd4_texture.c  |  4 ++--
 src/gallium/drivers/freedreno/a5xx/fd5_texture.c  |  4 ++--
 src/gallium/drivers/freedreno/freedreno_texture.c | 13 ++++++++++---
 src/gallium/drivers/freedreno/freedreno_texture.h |  1 +
 src/gallium/drivers/i915/i915_state.c             |  6 +++---
 src/gallium/drivers/iris/iris_state.c             |  8 +++++++-
 src/gallium/drivers/lima/lima_state.c             |  1 +
 src/gallium/drivers/llvmpipe/lp_state_sampler.c   |  6 ++++++
 src/gallium/drivers/nouveau/nv30/nv30_fragtex.c   |  1 +
 src/gallium/drivers/nouveau/nv50/nv50_state.c     |  1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_state.c     |  1 +
 src/gallium/drivers/panfrost/pan_context.c        |  1 +
 src/gallium/drivers/r300/r300_state.c             |  1 +
 src/gallium/drivers/r600/r600_state_common.c      |  1 +
 src/gallium/drivers/radeonsi/si_descriptors.c     |  9 +++++++--
 src/gallium/drivers/softpipe/sp_state.h           |  1 +
 src/gallium/drivers/softpipe/sp_state_derived.c   |  2 +-
 src/gallium/drivers/softpipe/sp_state_sampler.c   |  7 +++++++
 src/gallium/drivers/svga/svga_pipe_sampler.c      |  9 +++++++++
 src/gallium/drivers/swr/swr_state.cpp             |  5 +++++
 src/gallium/drivers/tegra/tegra_context.c         |  4 +++-
 src/gallium/drivers/v3d/v3dx_state.c              |  1 +
 src/gallium/drivers/vc4/vc4_blit.c                |  2 +-
 src/gallium/drivers/vc4/vc4_state.c               |  1 +
 src/gallium/drivers/virgl/virgl_context.c         |  6 ++++++
 src/gallium/drivers/zink/zink_context.c           | 10 +++++++++-
 src/gallium/frontends/clover/core/kernel.cpp      |  4 ++--
 src/gallium/frontends/lavapipe/lvp_execute.c      |  4 ++--
 src/gallium/frontends/nine/nine_state.c           |  8 ++++----
 src/gallium/frontends/xa/xa_composite.c           |  2 +-
 src/gallium/frontends/xa/xa_context.c             |  2 +-
 src/gallium/frontends/xa/xa_renderer.c            |  2 +-
 src/gallium/frontends/xa/xa_yuv.c                 |  2 +-
 src/gallium/include/pipe/p_context.h              |  1 +
 src/gallium/tests/graw/fs-test.c                  |  2 +-
 src/gallium/tests/graw/gs-test.c                  |  2 +-
 src/gallium/tests/graw/quad-sample.c              |  2 +-
 src/gallium/tests/graw/quad-tex.c                 |  2 +-
 src/gallium/tests/graw/tex-srgb.c                 |  4 ++--
 src/gallium/tests/graw/tex-swizzle.c              |  2 +-
 src/gallium/tests/graw/vs-test.c                  |  2 +-
 src/gallium/tests/trivial/compute.c               |  4 ++--
 src/gallium/tests/trivial/quad-tex.c              |  2 +-
 src/mesa/state_tracker/st_atom_texture.c          |  2 +-
 src/mesa/state_tracker/st_cb_bitmap.c             |  8 ++++----
 src/mesa/state_tracker/st_cb_drawpixels.c         | 11 ++++++-----
 src/mesa/state_tracker/st_cb_readpixels.c         |  8 ++++----
 src/mesa/state_tracker/st_cb_texture.c            |  8 ++++----
 76 files changed, 201 insertions(+), 101 deletions(-)

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


More information about the mesa-commit mailing list