diff options
author | Marek Olšák <[email protected]> | 2017-06-10 22:44:10 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-06-22 01:51:02 +0200 |
commit | c8459846905bf7adfb6b5010a77aee9269228bdb (patch) | |
tree | 8090e6b91fe26d2ed82c5cd4aaf40c344de1cea9 /src/mesa/state_tracker | |
parent | 8aba778fa2cd98a0b5a7429d3c5057778a0c808c (diff) |
st/mesa: sink and simplify texBaseFormat getting for sampler states
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_atom_sampler.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/mesa/state_tracker/st_atom_sampler.c b/src/mesa/state_tracker/st_atom_sampler.c index a10a46995ba..5eb8584cf7e 100644 --- a/src/mesa/state_tracker/st_atom_sampler.c +++ b/src/mesa/state_tracker/st_atom_sampler.c @@ -107,10 +107,6 @@ st_convert_sampler(const struct st_context *st, const struct gl_sampler_object *msamp, struct pipe_sampler_state *sampler) { - GLenum texBaseFormat; - - texBaseFormat = _mesa_texture_base_format(texobj); - memset(sampler, 0, sizeof(*sampler)); sampler->wrap_s = gl_wrap_xlate(msamp->WrapS); sampler->wrap_t = gl_wrap_xlate(msamp->WrapT); @@ -149,6 +145,7 @@ st_convert_sampler(const struct st_context *st, msamp->BorderColor.ui[2] || msamp->BorderColor.ui[3]) { const GLboolean is_integer = texobj->_IsIntegerFormat; + GLenum texBaseFormat = _mesa_base_tex_image(texobj)->_BaseFormat; if (st->apply_texture_swizzle_to_border_color) { const struct st_texture_object *stobj = st_texture_object_const(texobj); @@ -195,11 +192,14 @@ st_convert_sampler(const struct st_context *st, 0 : (GLuint) msamp->MaxAnisotropy); /* If sampling a depth texture and using shadow comparison */ - if ((texBaseFormat == GL_DEPTH_COMPONENT || - (texBaseFormat == GL_DEPTH_STENCIL && !texobj->StencilSampling)) && - msamp->CompareMode == GL_COMPARE_R_TO_TEXTURE) { - sampler->compare_mode = PIPE_TEX_COMPARE_R_TO_TEXTURE; - sampler->compare_func = st_compare_func_to_pipe(msamp->CompareFunc); + if (msamp->CompareMode == GL_COMPARE_R_TO_TEXTURE) { + GLenum texBaseFormat = _mesa_base_tex_image(texobj)->_BaseFormat; + + if (texBaseFormat == GL_DEPTH_COMPONENT || + (texBaseFormat == GL_DEPTH_STENCIL && !texobj->StencilSampling)) { + sampler->compare_mode = PIPE_TEX_COMPARE_R_TO_TEXTURE; + sampler->compare_func = st_compare_func_to_pipe(msamp->CompareFunc); + } } /* Only set the seamless cube map texture parameter because the per-context |