diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2016-06-20 20:11:37 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2016-06-20 20:12:13 +0100 |
commit | 5020029c1907fd2d999d34cfcba3704d8bbcea13 (patch) | |
tree | 35350554c51e03cf41136b350835053965efe7f2 /tests/prime_vgem.c | |
parent | e4c24c048d8310955d984f24cec8e0dd5128e110 (diff) |
igt/prime_vgem: Add a tight coherency check between vgem/gtt mmap
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests/prime_vgem.c')
-rw-r--r-- | tests/prime_vgem.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c index 2753fce9..6ccadcbd 100644 --- a/tests/prime_vgem.c +++ b/tests/prime_vgem.c @@ -90,7 +90,7 @@ static void test_gtt(int vgem, int i915) { struct vgem_bo scratch; uint32_t handle; - uint32_t *ptr; + uint32_t *ptr, *gtt; int dmabuf, i; scratch.width = 1024; @@ -119,6 +119,18 @@ static void test_gtt(int vgem, int i915) igt_assert_eq(ptr[1024*i], ~i); munmap(ptr, scratch.size); + + ptr = vgem_mmap(vgem, &scratch, PROT_WRITE); + gtt = gem_mmap__gtt(i915, handle, scratch.size, PROT_WRITE); + for (i = 0; i < 1024; i++) { + gtt[1024*i] = i; + igt_assert_eq(ptr[1024*i], i); + ptr[1024*i] = ~i; + igt_assert_eq(gtt[1024*i], ~i); + } + munmap(gtt, scratch.size); + munmap(ptr, scratch.size); + gem_close(i915, handle); gem_close(vgem, scratch.handle); } |