mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-12 02:16:17 +00:00
igt/gem_ctx_exec: Add lrc lite restore subtest
Exercise lite-restore (re-submit a context that is currently running), by queueing several small batchbuffers. This test helps to validate WaIdleLiteRestore. Signed-off-by: Michel Thierry <michel.thierry@intel.com>
This commit is contained in:
parent
c4ec47b46d
commit
3be592001b
@ -155,7 +155,7 @@ static void big_exec(int fd, uint32_t handle, int ring)
|
||||
|
||||
uint32_t handle;
|
||||
uint32_t batch[2] = {0, MI_BATCH_BUFFER_END};
|
||||
uint32_t ctx_id;
|
||||
uint32_t ctx_id, ctx_id2;
|
||||
int fd;
|
||||
|
||||
igt_main
|
||||
@ -215,4 +215,32 @@ igt_main
|
||||
|
||||
gem_context_destroy(fd, ctx_id);
|
||||
}
|
||||
|
||||
igt_subtest("lrc-lite-restore") {
|
||||
int i, j;
|
||||
|
||||
/*
|
||||
* Need 2 contexts to be able to replicate a lite restore,
|
||||
* i.e. a running context is resubmitted.
|
||||
*/
|
||||
ctx_id = gem_context_create(fd);
|
||||
ctx_id2 = gem_context_create(fd);
|
||||
|
||||
/*
|
||||
* Queue several small batchbuffers to be sure we'll send execlists
|
||||
* with 2 valid context, and likely cause a lite restore when ctxB
|
||||
* is resubmitted at the top of the new execlist.
|
||||
*/
|
||||
for (i = 0; i < 20; i++) {
|
||||
for (j = 0; j < 200; j++) {
|
||||
igt_assert(exec(fd, handle, I915_EXEC_RENDER, ctx_id) == 0);
|
||||
igt_assert(exec(fd, handle, I915_EXEC_RENDER, ctx_id2) == 0);
|
||||
}
|
||||
|
||||
gem_sync(fd, handle);
|
||||
}
|
||||
|
||||
gem_context_destroy(fd, ctx_id);
|
||||
gem_context_destroy(fd, ctx_id2);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user