On 08/18/2011 02:02 PM, Chad Versace 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");
> +      }
>  
>        /* 1. Discard depth and stencil renderbuffers. */
>        _mesa_remove_renderbuffer(fb, BUFFER_DEPTH);

Much nicer!  I've hit some format == S8 assertion failures and gone
"What the heck?" many times before remembering "oh, wrong DDX
installed."  I like this.

Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to