diff options
author | Ben Widawsky <benjamin.widawsky@intel.com> | 2013-11-07 21:00:55 -0800 |
---|---|---|
committer | Ben Widawsky <benjamin.widawsky@intel.com> | 2013-11-07 21:00:55 -0800 |
commit | 26d237cdc28d66674fbc72ea725b24c30d08e80d (patch) | |
tree | a7fc07e47356ad76e6947ee17d7afbb3381016e7 /tests/gem_storedw_batches_loop.c | |
parent | 5dbc2630363d1111fd8081d0e3bcb1084cfba7f4 (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.c | 24 |
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); |