Mesa (main): mesa: translate into pipe_sampler_state in GL functions

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun Jun 27 15:02:26 UTC 2021


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Jun  6 13:37:38 2021 -0400

mesa: translate into pipe_sampler_state in GL functions

- pipe_sampler_state is added into gl_sampler_attrib.
- The border color field is redundant, so the non-gallium field is removed.
- Other GL fields are still tracked because of glGet.
- Some fields are not set by GL functions because they are always derived
  from multiple states.
- The behavior in GL functions is the same as st_convert_sampler.

This reduces overhead by 2% for drawoverhead/8 textures, and more is going
to be done.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Reviewed-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11339>

---

 src/mesa/drivers/dri/i915/i830_texstate.c     |   8 +-
 src/mesa/drivers/dri/i915/i915_texstate.c     |   8 +-
 src/mesa/drivers/dri/i965/genX_state_upload.c |  40 +++++-----
 src/mesa/drivers/dri/nouveau/nv20_state_tex.c |   8 +-
 src/mesa/drivers/dri/r200/r200_tex.c          |   4 +-
 src/mesa/drivers/dri/radeon/radeon_tex.c      |   4 +-
 src/mesa/main/dlist.c                         |   3 +
 src/mesa/main/mtypes.h                        |   3 +-
 src/mesa/main/samplerobj.c                    | 102 +++++++++++++++--------
 src/mesa/main/samplerobj.h                    |  69 ++++++++++++++++
 src/mesa/main/texobj.c                        |  28 +++++++
 src/mesa/main/texparam.c                      |  60 ++++++++------
 src/mesa/main/texturebindless.c               |  18 ++---
 src/mesa/state_tracker/st_atom.h              |   1 -
 src/mesa/state_tracker/st_atom_depth.c        |  31 ++-----
 src/mesa/state_tracker/st_atom_sampler.c      | 111 +++-----------------------
 src/mesa/state_tracker/st_format.c            |  73 ++++++-----------
 src/mesa/state_tracker/st_format.h            |   3 +-
 src/mesa/swrast/s_texfilter.c                 |  38 ++++-----
 19 files changed, 317 insertions(+), 295 deletions(-)

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


More information about the mesa-commit mailing list