From 7e0efcec63d6f41d0c8f59a9e09f373de1ffe725 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Mon, 20 Aug 2018 21:33:24 -0400 Subject: st/mesa: help fix stencil border color for GL_DEPTH_STENCIL textures GL_STENCIL_INDEX uses GL_INTENSITY for the border color, which is nicer to hardware that doesn't read the stencil border value from the X channel. This fixes a bunch of dEQP tests on Vega & Raven. Cc: 18.1 18.2 (cherry picked from commit 725e8ad5590749ca2fa4bd89e1e8007fd20b114e) --- src/mesa/state_tracker/st_atom_sampler.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mesa/state_tracker/st_atom_sampler.c b/src/mesa/state_tracker/st_atom_sampler.c index 289856cd72d..27e4da31581 100644 --- a/src/mesa/state_tracker/st_atom_sampler.c +++ b/src/mesa/state_tracker/st_atom_sampler.c @@ -163,6 +163,9 @@ st_convert_sampler(const struct st_context *st, const GLboolean is_integer = texobj->_IsIntegerFormat; GLenum texBaseFormat = _mesa_base_tex_image(texobj)->_BaseFormat; + if (texobj->StencilSampling) + texBaseFormat = GL_STENCIL_INDEX; + if (st->apply_texture_swizzle_to_border_color) { const struct st_texture_object *stobj = st_texture_object_const(texobj); /* XXX: clean that up to not use the sampler view at all */ -- cgit v1.2.3