summaryrefslogtreecommitdiff
path: root/tests/gem_storedw_batches_loop.c
diff options
context:
space:
mode:
authorBen Widawsky <benjamin.widawsky@intel.com>2013-11-07 21:00:55 -0800
committerBen Widawsky <benjamin.widawsky@intel.com>2013-11-07 21:00:55 -0800
commit26d237cdc28d66674fbc72ea725b24c30d08e80d (patch)
treea7fc07e47356ad76e6947ee17d7afbb3381016e7 /tests/gem_storedw_batches_loop.c
parent5dbc2630363d1111fd8081d0e3bcb1084cfba7f4 (diff)
gem_storedw_batches_loop: Update for gen8
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Diffstat (limited to 'tests/gem_storedw_batches_loop.c')
-rw-r--r--tests/gem_storedw_batches_loop.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/tests/gem_storedw_batches_loop.c b/tests/gem_storedw_batches_loop.c
index 1b475f02..9074f88a 100644
--- a/tests/gem_storedw_batches_loop.c
+++ b/tests/gem_storedw_batches_loop.c
@@ -60,8 +60,12 @@ store_dword_loop(int divider, unsigned flags)
cmd = MI_STORE_DWORD_IMM;
if (!has_ppgtt)
cmd |= MI_MEM_VIRTUAL;
+ if (intel_gen(drm_intel_bufmgr_gem_get_devid(bufmgr) >= 8))
+ cmd |= 1;
for (i = 0; i < SLOW_QUICK(0x80000, 4); i++) {
+ int j = 0;
+ int cmd_address_offset = 8;
cmd_bo = drm_intel_bo_alloc(bufmgr, "cmd bo", 4096, 4096);
igt_assert(cmd_bo);
@@ -71,26 +75,28 @@ store_dword_loop(int divider, unsigned flags)
drm_intel_bo_map(cmd_bo, 1);
buf = cmd_bo->virtual;
- buf[0] = cmd;
- buf[1] = 0;
- buf[2] = target_bo->offset;
- buf[3] = 0x42000000 + val;
+ buf[j++] = cmd;
+ if (intel_gen(drm_intel_bufmgr_gem_get_devid(bufmgr) >= 8)) {
+ buf[j++] = target_bo->offset;
+ cmd_address_offset = 4;
+ }
+ buf[j++] = 0;
+ buf[j++] = 0x42000000 + val;
igt_assert(drm_intel_bo_references(cmd_bo, target_bo) == 0);
- igt_assert(drm_intel_bo_emit_reloc(cmd_bo, 8, target_bo, 0,
+ igt_assert(drm_intel_bo_emit_reloc(cmd_bo, cmd_address_offset, target_bo, 0,
I915_GEM_DOMAIN_INSTRUCTION,
I915_GEM_DOMAIN_INSTRUCTION) == 0);
-
- buf[4] = MI_BATCH_BUFFER_END;
- buf[5] = MI_BATCH_BUFFER_END;
+ buf[j++] = MI_BATCH_BUFFER_END;
+ buf[j++] = MI_BATCH_BUFFER_END;
drm_intel_bo_unmap(cmd_bo);
igt_assert(drm_intel_bo_references(cmd_bo, target_bo) == 1);
#define LOCAL_I915_EXEC_SECURE (1<<9)
- igt_assert(drm_intel_bo_mrb_exec(cmd_bo, 6 * 4, NULL, 0, 0,
+ igt_assert(drm_intel_bo_mrb_exec(cmd_bo, j * 4, NULL, 0, 0,
I915_EXEC_BLT |
(flags & SECURE_DISPATCH ? LOCAL_I915_EXEC_SECURE : 0))
== 0);