st/mesa: move handling CubeMapSeamless into st_convert_sampler where it belongs
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12334>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -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,
|
||||
|
@@ -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,
|
||||
|
Reference in New Issue
Block a user