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;
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);
}
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,
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,