Mesa (master): gallivm: fix stencil border
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Apr 27 02:54:59 UTC 2020
Module: Mesa
Branch: master
Commit: 8faa0e2c1b295d271a5ca98ac9c46462a1522524
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8faa0e2c1b295d271a5ca98ac9c46462a1522524
Author: Dave Airlie <airlied at redhat.com>
Date: Fri Apr 24 11:23:19 2020 +1000
gallivm: fix stencil border
Fixes:
dEQP-GLES31.functional.texture.border_clamp.unused_channels.depth32f_stencil8_sample_stencil
dEQP-GLES31.functional.texture.border_clamp.sampler.uint_stencil
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
---
.gitlab-ci/deqp-virgl-fails.txt | 2 --
.gitlab-ci/piglit/quick_gl.txt | 6 ++----
src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 12 ++++++++++--
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/.gitlab-ci/deqp-virgl-fails.txt b/.gitlab-ci/deqp-virgl-fails.txt
index afb05cf55ec..76208e348d7 100644
--- a/.gitlab-ci/deqp-virgl-fails.txt
+++ b/.gitlab-ci/deqp-virgl-fails.txt
@@ -717,6 +717,4 @@ dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex
dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_query.quads_explicit_tcs_out_size
dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_shader_builtin.triangles
dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_shader_builtin.isolines
-dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.nearest.s_clamp_to_edge_t_clamp_to_border_pot
dEQP-GLES31.functional.texture.border_clamp.range_clamp.nearest_float_depth
-dEQP-GLES31.functional.texture.border_clamp.unused_channels.stencil_index8
diff --git a/.gitlab-ci/piglit/quick_gl.txt b/.gitlab-ci/piglit/quick_gl.txt
index c083eadcea9..2b6aeb9647e 100644
--- a/.gitlab-ci/piglit/quick_gl.txt
+++ b/.gitlab-ci/piglit/quick_gl.txt
@@ -1121,8 +1121,6 @@ spec/arb_texture_rg/multisample-formats 8 gl_arb_texture_rg: skip
spec/arb_texture_rg/multisample-formats 8 gl_arb_texture_rg-float: skip
spec/arb_texture_rg/multisample-formats 8 gl_arb_texture_rg-int: skip
spec/arb_texture_stencil8/fbo-clear-formats/gl_stencil_index8 (fbo incomplete): skip
-spec/arb_texture_stencil8/texwrap formats bordercolor-swizzled/gl_stencil_index8, swizzled, border color only: fail
-spec/arb_texture_stencil8/texwrap formats bordercolor/gl_stencil_index8, border color only: fail
spec/arb_texture_view/rendering-formats/clear gl_r8 as gl_r8_snorm: fail
spec/arb_texture_view/rendering-formats/clear gl_r8 as gl_r8i: fail
spec/arb_texture_view/rendering-formats/clear gl_rg8 as gl_r16_snorm: fail
@@ -2083,8 +2081,8 @@ wgl/wgl-sanity: skip
summary:
name: results
---- --------
- pass: 19537
- fail: 248
+ pass: 19539
+ fail: 246
crash: 0
skip: 1814
timeout: 0
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
index a86ece1b0d0..7cc60f25856 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
@@ -195,9 +195,17 @@ lp_build_sample_texel_soa(struct lp_build_sample_context *bld,
for (chan = 0; chan < 4; chan++) {
unsigned chan_s;
/* reverse-map channel... */
- for (chan_s = 0; chan_s < 4; chan_s++) {
- if (chan_s == format_desc->swizzle[chan]) {
+ if (util_format_has_stencil(format_desc)) {
+ if (chan == 0)
+ chan_s = 0;
+ else
break;
+ }
+ else {
+ for (chan_s = 0; chan_s < 4; chan_s++) {
+ if (chan_s == format_desc->swizzle[chan]) {
+ break;
+ }
}
}
if (chan_s <= 3) {
More information about the mesa-commit
mailing list