Move i915_disasm to later so we can use the hardware offset.
authorEric Anholt <eric@anholt.net>
Thu, 16 Aug 2007 21:36:35 +0000 (14:36 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 16 Aug 2007 21:37:26 +0000 (14:37 -0700)
src/mesa/drivers/dri/i915tex/intel_batchbuffer.c

index 1edbb61..5aabef9 100644 (file)
@@ -27,6 +27,7 @@
 
 #include "intel_batchbuffer.h"
 #include "intel_ioctl.h"
+#include "i915_disasm.h"
 
 /* Relocations in kernel space:
  *    - pass dma buffer seperately
@@ -144,9 +145,6 @@ do_flush_locked(struct intel_batchbuffer *batch,
       dri_bo_unreference(r->buf);
    }
 
-   if (INTEL_DEBUG & DEBUG_BATCH)
-      i915_disasm(ptr, used / 4, 0);
-
    dri_bo_unmap(batch->buf);
    batch->map = NULL;
    batch->ptr = NULL;
@@ -196,6 +194,12 @@ do_flush_locked(struct intel_batchbuffer *batch,
       }
       intel->vtbl.lost_hardware(intel);
    }
+
+   if (INTEL_DEBUG & DEBUG_BATCH) {
+      dri_bo_map(batch->buf, GL_FALSE);
+      i915_disasm(ptr, used / 4, batch->buf->offset);
+      dri_bo_unmap(batch->buf);
+   }
 }