summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Widawsky <benjamin.widawsky@intel.com>2014-01-13 06:28:45 -0800
committerBen Widawsky <benjamin.widawsky@intel.com>2014-01-13 06:28:45 -0800
commit1552aa21124cabe762862bb414490510415a2b2d (patch)
tree4c0b339d1449bbcf5a84d16ae7543de5da9e8157
parentfee27cf822cff981f3e6f8fb6ea4a8c5fe3579b3 (diff)
gem_storedw_batches_loop: Fix for BDW
Existing code was trying to be too clever and wasn't properly emitting the high dword, or the correct length. Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
-rw-r--r--tests/gem_storedw_batches_loop.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/tests/gem_storedw_batches_loop.c b/tests/gem_storedw_batches_loop.c
index 45733b2d..9570962e 100644
--- a/tests/gem_storedw_batches_loop.c
+++ b/tests/gem_storedw_batches_loop.c
@@ -60,8 +60,6 @@ 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)
- ((uint8_t *)&cmd)[0] = 1;
for (i = 0; i < SLOW_QUICK(0x80000, 4); i++) {
int j = 0;
@@ -76,13 +74,14 @@ store_dword_loop(int divider, unsigned flags)
buf = cmd_bo->virtual;
buf[j++] = cmd;
+ cmd_address_offset = j * 4;
if (intel_gen(drm_intel_bufmgr_gem_get_devid(bufmgr)) >= 8) {
buf[j++] = target_bo->offset;
+ buf[j++] = 0;
} else {
buf[j++] = 0;
buf[j++] = target_bo->offset;
}
- cmd_address_offset = (j -1) * 4;
assert(j > 0);
buf[j++] = 0x42000000 + val;