[Mesa-dev] [PATCH] intel: Emit assertion failure ASAP when DRI2 separate stencil handshake fails

Eric Anholt eric at anholt.net
Fri Aug 19 10:35:46 PDT 2011


On Thu, 18 Aug 2011 14:02:46 -0700, Chad Versace <chad at 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 <eric at anholt.net>
> Signed-off-by: Chad Versace <chad at 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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110819/1e5edabe/attachment.pgp>


More information about the mesa-dev mailing list