When intel_verify_dri2_has_hiz() discovers that DRI2 (that is, the DDX driver) cannot provide a separate stencil buffer, but intel_context::hw_must_use_separate_stencil is set, then emit an informative assertion failure as soon as possible.
Currently, we do emit an assertion failure, but the its location is sufficiently unrelated to the DRI2 HiZ handshake as to be uninformative. In experimenting with HiZ, Anholt encountered this assertion failure and was unable to understand its cause. CC: Eric Anholt <e...@anholt.net> Signed-off-by: Chad Versace <c...@chad-versace.us> --- src/mesa/drivers/dri/intel/intel_context.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index fe8be08..b9d2579 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -1454,6 +1454,10 @@ intel_verify_dri2_has_hiz(struct intel_context *intel, * a combined depth/stencil buffer. Discard the hiz buffer too. */ intel->intelScreen->dri2_has_hiz = INTEL_DRI2_HAS_HIZ_FALSE; + if (intel->must_use_separate_stencil) { + assert(!"intel_context requires separate stencil, but the " + "DRIscreen does not support it"); + } /* 1. Discard depth and stencil renderbuffers. */ _mesa_remove_renderbuffer(fb, BUFFER_DEPTH); -- 1.7.6 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev