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