[Intel-gfx] [PATCH 1/2] intel: Add the ability to supply annotations for .aub files.
Eric Anholt
eric at anholt.net
Thu May 10 05:07:01 CEST 2012
On Mon, 7 May 2012 14:31:51 -0700, Paul Berry <stereotype441 at gmail.com> wrote:
> This patch adds a new function,
> drm_intel_bufmgr_gem_set_aub_annotations(), which can be used to
> annotate the type and subtype of data stored in various sections of
> each buffer. This data is used to populate type and subtype fields
> when generating the .aub file, which improves the ability of later
> debugging tools to analyze the contents of the .aub file.
>
> If drm_intel_bufmgr_gem_set_aub_annotations() is not called, then we
> fall back to the old set of annotations (annotate the portion of the
> batchbuffer that is executed as AUB_TRACE_TYPE_BATCH, and everything
> else as AUB_TRACE_TYPE_NOTYPE).
This looks better than the interface I was thinking of. Only real
nitpick note is that the style in this file is tab indents, rather than
8 spaces, same as linux kernel and 2d driver style. (I have since been
convinced that 8 spaces is superior, but a mix is worse).
> /*
> @@ -1989,23 +2027,31 @@ aub_exec(drm_intel_bo *bo, int ring_flag, int used)
> drm_intel_bufmgr_gem *bufmgr_gem = (drm_intel_bufmgr_gem *) bo->bufmgr;
> drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo;
> int i;
> + bool batch_buffer_needs_annotations;
>
> if (!bufmgr_gem->aub_file)
> return;
>
> - /* Write out all but the batchbuffer to AUB memory */
> - for (i = 0; i < bufmgr_gem->exec_count - 1; i++) {
> - if (bufmgr_gem->exec_bos[i] != bo)
> - aub_write_bo(bufmgr_gem->exec_bos[i]);
> + /* If batch buffer is not annotated, annotate it the best we
> + * can.
> + */
> + batch_buffer_needs_annotations = bo_gem->aub_annotation_count == 0;
> + if (batch_buffer_needs_annotations) {
> + drm_intel_aub_annotation annotations[2] = {
> + { AUB_TRACE_TYPE_BATCH, 0, used },
> + { AUB_TRACE_TYPE_NOTYPE, 0, bo->size }
> + };
> + drm_intel_bufmgr_gem_set_aub_annotations(bo, annotations, 2);
Looks like you don't actually need to be explicit about the range from
used to bo->size given the "Write out any remaining unannotated data"
code above, but either way.
Assuming tab replacement: Reviewed-by: Eric Anholt <eric at anholt.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20120509/51a2dae5/attachment.sig>
More information about the Intel-gfx
mailing list