From 824e8084ed557061cd7a008b08da15897277d66e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 10 Nov 2017 13:13:46 -0700 Subject: [PATCH] svga: issue debug warning for unsupported two-sided stencil state We only have a single stencil read mask and write mask. Issue a warning if different front/back values are used. The Piglit gl-2.0-two-sided-stencil test hits this. Reviewed-by: Neha Bhende Reviewed-by: Charmaine Lee --- src/gallium/drivers/svga/svga_pipe_depthstencil.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/gallium/drivers/svga/svga_pipe_depthstencil.c b/src/gallium/drivers/svga/svga_pipe_depthstencil.c index 1b62290..e5caa4b 100644 --- a/src/gallium/drivers/svga/svga_pipe_depthstencil.c +++ b/src/gallium/drivers/svga/svga_pipe_depthstencil.c @@ -172,6 +172,21 @@ svga_create_depth_stencil_state(struct pipe_context *pipe, ds->stencil_mask = templ->stencil[1].valuemask & 0xff; ds->stencil_writemask = templ->stencil[1].writemask & 0xff; + + if (templ->stencil[1].valuemask != templ->stencil[0].valuemask) { + pipe_debug_message(&svga->debug.callback, CONFORMANCE, + "two-sided stencil mask not supported " + "(front=0x%x, back=0x%x)", + templ->stencil[0].valuemask, + templ->stencil[1].valuemask); + } + if (templ->stencil[1].writemask != templ->stencil[0].writemask) { + pipe_debug_message(&svga->debug.callback, CONFORMANCE, + "two-sided stencil writemask not supported " + "(front=0x%x, back=0x%x)", + templ->stencil[0].writemask, + templ->stencil[1].writemask); + } } else { /* back face state is same as front-face state */ -- 2.7.4