igt/gem_exec_nop: Only combine unique rings
Ignore the default ring as that is purely symbolic. On BSD2 systems it
is similarly useful to ignore the symbolic BSD ring.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
diff --git a/tests/gem_exec_nop.c b/tests/gem_exec_nop.c
index 18bcf1e..189f749 100644
--- a/tests/gem_exec_nop.c
+++ b/tests/gem_exec_nop.c
@@ -93,6 +93,17 @@
ring_name, count, elapsed(&start, &now)*1e6 / count);
}
+static bool ignore_engine(int fd, unsigned engine)
+{
+ if (engine == 0)
+ return true;
+
+ if (gem_has_bsd2(fd) && engine == I915_EXEC_BSD)
+ return true;
+
+ return false;
+}
+
static void all(int fd, uint32_t handle)
{
struct drm_i915_gem_execbuffer2 execbuf;
@@ -105,7 +116,8 @@
nengine = 0;
for_each_engine(fd, engine)
- engines[nengine++] = engine;
+ if (!ignore_engine(fd, engine)) engines[nengine++] = engine;
+ igt_require(nengine);
memset(&obj, 0, sizeof(obj));
obj.handle = handle;