summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/i915/drm/i915_drm_batchbuffer.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2011-02-27 16:32:38 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2011-02-27 16:32:38 +0100
commite20c3255e29b9f94840d1f23439ab29060c94e3f (patch)
treea8b13ba1d3e1ecd5c800ee0b0c79f390594366e9 /src/gallium/winsys/i915/drm/i915_drm_batchbuffer.c
parentf58c11af72303a7b8ec480b4f216e4a17882e0f4 (diff)
i915g: add raw batchbuffer dumping in drm winsys
These files can be decoded with intel_dump_decode from the intel-gpu-tools available at: http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'src/gallium/winsys/i915/drm/i915_drm_batchbuffer.c')
-rw-r--r--src/gallium/winsys/i915/drm/i915_drm_batchbuffer.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/winsys/i915/drm/i915_drm_batchbuffer.c b/src/gallium/winsys/i915/drm/i915_drm_batchbuffer.c
index afeab5eef42..54b2d7af2eb 100644
--- a/src/gallium/winsys/i915/drm/i915_drm_batchbuffer.c
+++ b/src/gallium/winsys/i915/drm/i915_drm_batchbuffer.c
@@ -5,6 +5,7 @@
#include "i915_drm.h"
#include "i915/i915_debug.h"
#include <xf86drm.h>
+#include <stdio.h>
#define BATCH_RESERVED 16
@@ -169,6 +170,14 @@ i915_drm_batchbuffer_flush(struct i915_winsys_batchbuffer *ibatch,
assert(ret == 0);
}
+ if (i915_drm_winsys(ibatch->iws)->dump_raw_file) {
+ FILE *file = fopen(i915_drm_winsys(ibatch->iws)->dump_raw_file, "a");
+ if (file) {
+ fwrite(batch->base.map, used, 1, file);
+ fclose(file);
+ }
+ }
+
#ifdef INTEL_RUN_SYNC
drm_intel_bo_wait_rendering(batch->bo);
#endif