diff options
author | Ben Widawsky <benjamin.widawsky@intel.com> | 2014-01-13 06:28:45 -0800 |
---|---|---|
committer | Ben Widawsky <benjamin.widawsky@intel.com> | 2014-01-13 06:28:45 -0800 |
commit | 1552aa21124cabe762862bb414490510415a2b2d (patch) | |
tree | 4c0b339d1449bbcf5a84d16ae7543de5da9e8157 | |
parent | fee27cf822cff981f3e6f8fb6ea4a8c5fe3579b3 (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.c | 5 |
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; |