tests/gem_exec_parse: Test for OACONTROL tracking

Signed-off-by: Brad Volkin <bradley.d.volkin@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Brad Volkin 2014-03-27 11:44:45 -07:00 committed by Daniel Vetter
parent 9eec5b0f11
commit f74c443925

View File

@ -205,6 +205,8 @@ int fd;
#define PIPE_CONTROL_QW_WRITE (1<<14)
#define PIPE_CONTROL_LRI_POST_OP (1<<23)
#define OACONTROL 0x2360
igt_main
{
igt_fixture {
@ -341,6 +343,52 @@ igt_main
0));
}
igt_subtest("oacontrol-tracking") {
uint32_t lri_ok[] = {
MI_LOAD_REGISTER_IMM,
OACONTROL,
0x31337000,
MI_LOAD_REGISTER_IMM,
OACONTROL,
0x0,
MI_BATCH_BUFFER_END,
0
};
uint32_t lri_bad[] = {
MI_LOAD_REGISTER_IMM,
OACONTROL,
0x31337000,
MI_BATCH_BUFFER_END,
};
uint32_t lri_extra_bad[] = {
MI_LOAD_REGISTER_IMM,
OACONTROL,
0x31337000,
MI_LOAD_REGISTER_IMM,
OACONTROL,
0x0,
MI_LOAD_REGISTER_IMM,
OACONTROL,
0x31337000,
MI_BATCH_BUFFER_END,
};
igt_assert(
exec_batch(fd, handle,
lri_ok, sizeof(lri_ok),
I915_EXEC_RENDER,
0));
igt_assert(
exec_batch(fd, handle,
lri_bad, sizeof(lri_bad),
I915_EXEC_RENDER,
-EINVAL));
igt_assert(
exec_batch(fd, handle,
lri_extra_bad, sizeof(lri_extra_bad),
I915_EXEC_RENDER,
-EINVAL));
}
igt_fixture {
gem_close(fd, handle);