Mesa (main): st/mesa: move handling CubeMapSeamless into st_convert_sampler where it belongs

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Aug 20 15:52:33 UTC 2021


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Jun  7 08:51:41 2021 -0400

st/mesa: move handling CubeMapSeamless into st_convert_sampler where it belongs

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

---

 src/mesa/state_tracker/st_atom_sampler.c | 9 +++++----
 src/mesa/state_tracker/st_cb_texture.c   | 2 +-
 src/mesa/state_tracker/st_texture.h      | 3 ++-
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_sampler.c b/src/mesa/state_tracker/st_atom_sampler.c
index 9f5a35720e5..5c314d3c75b 100644
--- a/src/mesa/state_tracker/st_atom_sampler.c
+++ b/src/mesa/state_tracker/st_atom_sampler.c
@@ -61,10 +61,13 @@ st_convert_sampler(const struct st_context *st,
                    const struct gl_texture_object *texobj,
                    const struct gl_sampler_object *msamp,
                    float tex_unit_lod_bias,
-                   struct pipe_sampler_state *sampler)
+                   struct pipe_sampler_state *sampler,
+                   bool seamless_cube_map)
 {
    memcpy(sampler, &msamp->Attrib.state, sizeof(*sampler));
 
+   sampler->seamless_cube_map |= seamless_cube_map;
+
    if (texobj->_IsIntegerFormat && st->ctx->Const.ForceIntegerTexNearest) {
       sampler->min_img_filter = PIPE_TEX_FILTER_NEAREST;
       sampler->mag_img_filter = PIPE_TEX_FILTER_NEAREST;
@@ -156,9 +159,7 @@ st_convert_sampler_from_unit(const struct st_context *st,
    msamp = _mesa_get_samplerobj(ctx, texUnit);
 
    st_convert_sampler(st, texobj, msamp, ctx->Texture.Unit[texUnit].LodBiasQuantized,
-                      sampler);
-
-   sampler->seamless_cube_map |= ctx->Texture.CubeMapSeamless;
+                      sampler, ctx->Texture.CubeMapSeamless);
 }
 
 
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index a39005ffd4f..deb1aaeea74 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -3617,7 +3617,7 @@ st_NewTextureHandle(struct gl_context *ctx, struct gl_texture_object *texObj,
       if (!st_finalize_texture(ctx, pipe, texObj, 0))
          return 0;
 
-      st_convert_sampler(st, texObj, sampObj, 0, &sampler);
+      st_convert_sampler(st, texObj, sampObj, 0, &sampler, false);
 
       /* TODO: Clarify the interaction of ARB_bindless_texture and EXT_texture_sRGB_decode */
       view = st_get_texture_sampler_view_from_stobj(st, stObj, sampObj, 0,
diff --git a/src/mesa/state_tracker/st_texture.h b/src/mesa/state_tracker/st_texture.h
index 824ef4b14d0..c9d670f8576 100644
--- a/src/mesa/state_tracker/st_texture.h
+++ b/src/mesa/state_tracker/st_texture.h
@@ -367,7 +367,8 @@ st_convert_sampler(const struct st_context *st,
                    const struct gl_texture_object *texobj,
                    const struct gl_sampler_object *msamp,
                    float tex_unit_lod_bias,
-                   struct pipe_sampler_state *sampler);
+                   struct pipe_sampler_state *sampler,
+                   bool seamless_cube_map);
 
 void
 st_convert_sampler_from_unit(const struct st_context *st,



More information about the mesa-commit mailing list