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");

                     "the Intel X driver to 2.16.0 or newer");

assert(0);


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to