summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Marchesin <marcheu@chromium.org>2012-02-08 22:43:14 -0800
committerStéphane Marchesin <marcheu@chromium.org>2012-02-12 16:32:15 -0800
commit633f21652aacbcd7eebe28597cac1dc556ea2b45 (patch)
treef3dc85910a1fb9afe0c45990ddd6a308a0d3d3bb
parent8b3e0b27157aeea6e82941843d8446d2848b2218 (diff)
i915g: Add a way to profile the contents of command buffers.
-rw-r--r--src/gallium/drivers/i915/i915_state_emit.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/drivers/i915/i915_state_emit.c b/src/gallium/drivers/i915/i915_state_emit.c
index 2aed3f1c7dc..8ab8fb8cd74 100644
--- a/src/gallium/drivers/i915/i915_state_emit.c
+++ b/src/gallium/drivers/i915/i915_state_emit.c
@@ -429,10 +429,22 @@ i915_validate_state(struct i915_context *i915, unsigned *batch_space)
else
*batch_space = 0;
+#if 0
+static int counter_total = 0;
+#define VALIDATE_ATOM(atom, hw_dirty) \
+ if (i915->hardware_dirty & hw_dirty) { \
+ static int counter_##atom = 0;\
+ validate_##atom(i915, &tmp); \
+ *batch_space += tmp;\
+ counter_##atom += tmp;\
+ counter_total += tmp;\
+ printf("%s: \t%d/%d \t%2.2f\n",#atom, counter_##atom, counter_total, counter_##atom*100.f/counter_total);}
+#else
#define VALIDATE_ATOM(atom, hw_dirty) \
if (i915->hardware_dirty & hw_dirty) { \
validate_##atom(i915, &tmp); \
*batch_space += tmp; }
+#endif
VALIDATE_ATOM(flush, I915_HW_FLUSH);
VALIDATE_ATOM(immediate, I915_HW_IMMEDIATE);
VALIDATE_ATOM(dynamic, I915_HW_DYNAMIC);