i965: Add some informative debug when the X Server botches DRI2 GetBuffers.
authorEric Anholt <eric@anholt.net>
Tue, 31 Dec 2013 02:19:21 +0000 (18:19 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 7 Feb 2014 20:46:47 +0000 (12:46 -0800)
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@whitecape.org>
src/mesa/drivers/dri/i965/brw_context.c

index 6a3a4f1972ce23e70eed43ba19dfb7e0c8ac8c13..1879abe56051fae5239fe3f0547d44e1687646e5 100644 (file)
@@ -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);
 }