summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Widawsky <benjamin.widawsky@intel.com>2013-11-11 13:21:58 -0800
committerBen Widawsky <benjamin.widawsky@intel.com>2013-11-11 13:33:04 -0800
commit97e48cd619c4b201613ade0110f4db840a02007d (patch)
tree7cf0a6c5fcee382d12a1ee5bf39b547cfc890cec
parent4cc506f5eae66b812b7ad6e171524ff1d4f6feb4 (diff)
gem_storedw_batches_loop: Fix for real this time
Last patch to fix the breakage when adding gen8 had bugs in the reloc offset, and size field. Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
-rw-r--r--tests/gem_storedw_batches_loop.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/gem_storedw_batches_loop.c b/tests/gem_storedw_batches_loop.c
index 9074f88a..45733b2d 100644
--- a/tests/gem_storedw_batches_loop.c
+++ b/tests/gem_storedw_batches_loop.c
@@ -60,12 +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;
+ if (intel_gen(drm_intel_bufmgr_gem_get_devid(bufmgr)) >= 8)
+ ((uint8_t *)&cmd)[0] = 1;
for (i = 0; i < SLOW_QUICK(0x80000, 4); i++) {
int j = 0;
- int cmd_address_offset = 8;
+ int cmd_address_offset;
cmd_bo = drm_intel_bo_alloc(bufmgr, "cmd bo", 4096, 4096);
igt_assert(cmd_bo);
@@ -76,11 +76,14 @@ store_dword_loop(int divider, unsigned flags)
buf = cmd_bo->virtual;
buf[j++] = cmd;
- if (intel_gen(drm_intel_bufmgr_gem_get_devid(bufmgr) >= 8)) {
+ if (intel_gen(drm_intel_bufmgr_gem_get_devid(bufmgr)) >= 8) {
+ buf[j++] = target_bo->offset;
+ } else {
+ buf[j++] = 0;
buf[j++] = target_bo->offset;
- cmd_address_offset = 4;
}
- buf[j++] = 0;
+ cmd_address_offset = (j -1) * 4;
+ assert(j > 0);
buf[j++] = 0x42000000 + val;
igt_assert(drm_intel_bo_references(cmd_bo, target_bo) == 0);