On 08/19/2011 10:44 AM, Chad Versace wrote: > On 08/19/2011 10:35 AM, Eric Anholt wrote: >> On Thu, 18 Aug 2011 14:02:46 -0700, Chad Versace <c...@chad-versace.us> >> wrote: >>> 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"); >>> + } >>> >> >> If it's something we think people can actually hit (and in this case we >> do), just use _mesa_problem so people see it even if they aren't >> building with assertions. > > I would also like to throw an assertion immediately after _mesa_problem(), > like below. > Since an assertion will eventually fail anyway, we might as well die ASAP. > > _mesa_probelm(ctx, "intel_context requires separate stencil, but the " > "DRIscreen does no support it. You may need to upgrade " > "the Intel X driver to 2.16.0"); > assert(0);
Not assert(0)...abort(). assertions get compiled away to nothing in release mode. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev