Mesa (master): i965: Add some informative debug when the X Server botches DRI2 GetBuffers.

Eric Anholt anholt at kemper.freedesktop.org
Fri Feb 7 20:49:52 UTC 2014


Module: Mesa
Branch: master
Commit: 0f6279bab29614e3764a333242680ead78068d91
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f6279bab29614e3764a333242680ead78068d91

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Dec 30 18:19:21 2013 -0800

i965: Add some informative debug when the X Server botches DRI2 GetBuffers.

We've had various bug reports over the years where miptrees are missing,
and when I screwed it up while adding DRI2 to the modesetting driver, I
figured I should put the info necessary for debug here.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_context.c |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index 6a3a4f1..1879abe 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -1290,14 +1290,24 @@ intel_process_dri2_buffer(struct brw_context *brw,
                                           buffer->pitch,
                                           buffer->name,
                                           buffer_name);
-   if (!region)
+   if (!region) {
+      fprintf(stderr,
+              "Failed to make region for returned DRI2 buffer "
+              "(%dx%d, named %d).\n"
+              "This is likely a bug in the X Server that will lead to a "
+              "crash soon.\n",
+              drawable->w, drawable->h, buffer->name);
       return;
+   }
 
    rb->mt = intel_miptree_create_for_dri2_buffer(brw,
                                                  buffer->attachment,
                                                  intel_rb_format(rb),
                                                  num_samples,
                                                  region);
+
+   assert(rb->mt);
+
    intel_region_release(&region);
 }
 




More information about the mesa-commit mailing list