diff options
-rw-r--r-- | src/intel/tools/error2aub.c | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/src/intel/tools/error2aub.c b/src/intel/tools/error2aub.c index 8da484b3702..be178205833 100644 --- a/src/intel/tools/error2aub.c +++ b/src/intel/tools/error2aub.c @@ -156,7 +156,12 @@ struct bo { BO_TYPE_UNKNOWN = 0, BO_TYPE_BATCH, BO_TYPE_USER, + BO_TYPE_CONTEXT, + BO_TYPE_RINGBUFFER, + BO_TYPE_STATUS, + BO_TYPE_CONTEXT_WA, } type; + const char *name; uint64_t addr; uint8_t *data; uint64_t size; @@ -358,23 +363,27 @@ main(int argc, char *argv[]) enum bo_type type; } bo_types[] = { { "gtt_offset", BO_TYPE_BATCH }, - { "user", BO_TYPE_USER }, - { NULL, BO_TYPE_UNKNOWN }, + { "user", BO_TYPE_USER }, + { "HW context", BO_TYPE_CONTEXT }, + { "ringbuffer", BO_TYPE_RINGBUFFER }, + { "HW Status", BO_TYPE_STATUS }, + { "WA context", BO_TYPE_CONTEXT_WA }, + { "unknown", BO_TYPE_UNKNOWN }, }, *b; - for (b = bo_types; b->match; b++) { - if (strncasecmp(dashes, b->match, strlen(b->match)) == 0) { - - /* The batch buffer will appear twice as gtt_offset and user. - * Only keep the batch type. - */ - if (last_bo->type == BO_TYPE_BATCH && b->type == BO_TYPE_USER) - break; - - last_bo->type = b->type; + for (b = bo_types; b->type != BO_TYPE_UNKNOWN; b++) { + if (strncasecmp(dashes, b->match, strlen(b->match)) == 0) break; - } } + + /* The batch buffer will appear twice as gtt_offset and user. Only + * keep the batch type. + */ + if (last_bo->type == BO_TYPE_UNKNOWN) { + last_bo->type = b->type; + last_bo->name = b->match; + } + continue; } } |