--- I think (depth_irb == NULL) iff (depth_mt == NULL) and the same for stencil_irb and stencil_mt. I can understand how static analysis tools would miss this, since I haven't been able to prove it to myself either.
src/mesa/drivers/dri/i965/brw_misc_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c index 7e41c84..23faee6 100644 --- a/src/mesa/drivers/dri/i965/brw_misc_state.c +++ b/src/mesa/drivers/dri/i965/brw_misc_state.c @@ -586,31 +586,31 @@ brw_emit_depthbuffer(struct brw_context *brw) if (stencil_mt) { separate_stencil = stencil_mt->format == MESA_FORMAT_S8; /* Gen7 supports only separate stencil */ assert(separate_stencil || intel->gen < 7); } /* If there's a packed depth/stencil bound to stencil only, we need to * emit the packed depth/stencil buffer packet. */ if (!depth_irb && stencil_irb && !separate_stencil) { depth_irb = stencil_irb; depth_mt = stencil_mt; } - if (depth_irb) { + if (depth_irb && depth_mt) { /* When 3DSTATE_DEPTH_BUFFER.Separate_Stencil_Enable is set, then * 3DSTATE_DEPTH_BUFFER.Surface_Format is not permitted to be a packed * depthstencil format. * * Gens prior to 7 require that HiZ_Enable and Separate_Stencil_Enable be * set to the same value. Gens after 7 implicitly always set * Separate_Stencil_Enable; software cannot disable it. */ if ((intel->gen < 7 && hiz) || intel->gen >= 7) { assert(!_mesa_is_format_packed_depth_stencil(depth_mt->format)); } /* Prior to Gen7, if using separate stencil, hiz must be enabled. */ assert(intel->gen >= 7 || !separate_stencil || hiz); -- 1.8.1.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev