aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/tools/error2aub.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/intel/tools/error2aub.c b/src/intel/tools/error2aub.c
index 33d24164b76..e4d985543c2 100644
--- a/src/intel/tools/error2aub.c
+++ b/src/intel/tools/error2aub.c
@@ -208,19 +208,27 @@ engine_from_name(const char *engine_name,
const struct {
const char *match;
enum drm_i915_gem_engine_class engine_class;
+ bool parse_instance;
} rings[] = {
- { "rcs", I915_ENGINE_CLASS_RENDER },
- { "vcs", I915_ENGINE_CLASS_VIDEO },
- { "vecs", I915_ENGINE_CLASS_VIDEO_ENHANCE },
- { "bcs", I915_ENGINE_CLASS_COPY },
- { "global", I915_ENGINE_CLASS_INVALID },
+ { "rcs", I915_ENGINE_CLASS_RENDER, true },
+ { "vcs", I915_ENGINE_CLASS_VIDEO, true },
+ { "vecs", I915_ENGINE_CLASS_VIDEO_ENHANCE, true },
+ { "bcs", I915_ENGINE_CLASS_COPY, true },
+ { "global", I915_ENGINE_CLASS_INVALID, false },
+ { "render command stream", I915_ENGINE_CLASS_RENDER, false },
+ { "blt command stream", I915_ENGINE_CLASS_COPY, false },
+ { "bsd command stream", I915_ENGINE_CLASS_VIDEO, false },
+ { "vebox command stream", I915_ENGINE_CLASS_VIDEO_ENHANCE, false },
{ NULL, I915_ENGINE_CLASS_INVALID },
}, *r;
for (r = rings; r->match; r++) {
if (strncasecmp(engine_name, r->match, strlen(r->match)) == 0) {
*engine_class = r->engine_class;
- *engine_instance = strtol(engine_name + strlen(r->match), NULL, 10);
+ if (r->parse_instance)
+ *engine_instance = strtol(engine_name + strlen(r->match), NULL, 10);
+ else
+ *engine_instance = 0;
return;
}
}