diff options
Diffstat (limited to 'tests/i915/gem_exec_schedule.c')
-rw-r--r-- | tests/i915/gem_exec_schedule.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c index 43d9d06c..db3637e8 100644 --- a/tests/i915/gem_exec_schedule.c +++ b/tests/i915/gem_exec_schedule.c @@ -1200,16 +1200,17 @@ static void semaphore_noskip(int i915, const intel_ctx_cfg_t *cfg, { const unsigned int gen = intel_gen(intel_get_drm_devid(i915)); const struct intel_execution_engine2 *outer, *inner; - const intel_ctx_t *ctx; + const intel_ctx_t *ctx0, *ctx1; uint64_t ahnd; igt_require(gen >= 6); /* MI_STORE_DWORD_IMM convenience */ - ctx = intel_ctx_create(i915, cfg); - ahnd = get_reloc_ahnd(i915, ctx->id); + ctx0 = intel_ctx_create(i915, cfg); + ctx1 = intel_ctx_create(i915, cfg); + ahnd = get_reloc_ahnd(i915, ctx0->id); - for_each_ctx_engine(i915, ctx, outer) { - for_each_ctx_engine(i915, ctx, inner) { + for_each_ctx_engine(i915, ctx0, outer) { + for_each_ctx_engine(i915, ctx0, inner) { struct drm_i915_gem_exec_object2 obj[3]; struct drm_i915_gem_execbuffer2 eb; uint32_t handle, *cs, *map; @@ -1219,10 +1220,10 @@ static void semaphore_noskip(int i915, const intel_ctx_cfg_t *cfg, !gem_class_can_store_dword(i915, inner->class)) continue; - chain = __igt_spin_new(i915, .ahnd = ahnd, .ctx = ctx, + chain = __igt_spin_new(i915, .ahnd = ahnd, .ctx = ctx0, .engine = outer->flags, .flags = flags); - spin = __igt_spin_new(i915, .ahnd = ahnd, .ctx = ctx, + spin = __igt_spin_new(i915, .ahnd = ahnd, .ctx = ctx0, .engine = inner->flags, .flags = flags); igt_spin_end(spin); /* we just want its address for later */ gem_sync(i915, spin->handle); @@ -1256,7 +1257,7 @@ static void semaphore_noskip(int i915, const intel_ctx_cfg_t *cfg, memset(&eb, 0, sizeof(eb)); eb.buffer_count = 3; eb.buffers_ptr = to_user_pointer(obj); - eb.rsvd1 = ctx->id; + eb.rsvd1 = ctx1->id; eb.flags = inner->flags; gem_execbuf(i915, &eb); @@ -1269,6 +1270,7 @@ static void semaphore_noskip(int i915, const intel_ctx_cfg_t *cfg, eb.buffer_count = 2; eb.buffers_ptr = to_user_pointer(obj); eb.flags = inner->flags; + eb.rsvd1 = ctx0->id; gem_execbuf(i915, &eb); igt_spin_set_timeout(chain, NSEC_PER_SEC / 100); @@ -1280,7 +1282,8 @@ static void semaphore_noskip(int i915, const intel_ctx_cfg_t *cfg, } } - intel_ctx_destroy(i915, ctx); + intel_ctx_destroy(i915, ctx0); + intel_ctx_destroy(i915, ctx1); put_ahnd(ahnd); } |