diff options
author | Stéphane Marchesin <[email protected]> | 2012-02-08 22:43:14 -0800 |
---|---|---|
committer | Stéphane Marchesin <[email protected]> | 2012-02-12 16:32:15 -0800 |
commit | 633f21652aacbcd7eebe28597cac1dc556ea2b45 (patch) | |
tree | f3dc85910a1fb9afe0c45990ddd6a308a0d3d3bb /src | |
parent | 8b3e0b27157aeea6e82941843d8446d2848b2218 (diff) |
i915g: Add a way to profile the contents of command buffers.
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/i915/i915_state_emit.c | 12 |
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); |