diff options
Diffstat (limited to 'tests/gem_tiled_pread.c')
-rw-r--r-- | tests/gem_tiled_pread.c | 50 |
1 files changed, 5 insertions, 45 deletions
diff --git a/tests/gem_tiled_pread.c b/tests/gem_tiled_pread.c index a6b99bde..e19453ed 100644 --- a/tests/gem_tiled_pread.c +++ b/tests/gem_tiled_pread.c @@ -58,49 +58,8 @@ static const int size = 1024 * 1024; #define PAGE_SIZE 4096 -static void -copy_bo(drm_intel_bo *dst_bo, drm_intel_bo *src_bo) -{ - uint32_t src_tiling, dst_tiling, swizzle; - uint32_t src_pitch, dst_pitch; - uint32_t cmd_bits = 0; - - drm_intel_bo_get_tiling(src_bo, &src_tiling, &swizzle); - drm_intel_bo_get_tiling(dst_bo, &dst_tiling, &swizzle); - - src_pitch = width * 4; - if (IS_965(devid) && src_tiling != I915_TILING_NONE) { - src_pitch /= 4; - cmd_bits |= XY_SRC_COPY_BLT_SRC_TILED; - } - - dst_pitch = width * 4; - if (IS_965(devid) && dst_tiling != I915_TILING_NONE) { - dst_pitch /= 4; - cmd_bits |= XY_SRC_COPY_BLT_DST_TILED; - } - - BEGIN_BATCH(8); - OUT_BATCH(XY_SRC_COPY_BLT_CMD | - XY_SRC_COPY_BLT_WRITE_ALPHA | - XY_SRC_COPY_BLT_WRITE_RGB | - cmd_bits); - OUT_BATCH((3 << 24) | /* 32 bits */ - (0xcc << 16) | /* copy ROP */ - dst_pitch); - OUT_BATCH(0); /* dst x1,y1 */ - OUT_BATCH((height << 16) | width); /* dst x2,y2 */ - OUT_RELOC(dst_bo, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER, 0); - OUT_BATCH(0); /* src x1,y1 */ - OUT_BATCH(src_pitch); - OUT_RELOC(src_bo, I915_GEM_DOMAIN_RENDER, 0, 0); - ADVANCE_BATCH(); - - intel_batchbuffer_flush(batch); -} - static drm_intel_bo * -create_bo(void) +create_bo(uint32_t devid) { drm_intel_bo *bo, *linear_bo; uint32_t *linear; @@ -122,7 +81,7 @@ create_bo(void) linear[i] = val++; drm_intel_bo_unmap(linear_bo); - copy_bo(bo, linear_bo); + intel_copy_bo(batch, bo, linear_bo, width, height, devid); drm_intel_bo_unreference(linear_bo); @@ -163,19 +122,20 @@ int main(int argc, char **argv) { int fd; + uint32_t devid; drm_intel_bo *bo; int i, iter = 100; uint32_t buf[width * height]; uint32_t tiling, swizzle; fd = drm_open_any(); - intel_get_drm_devid(fd); + devid = intel_get_drm_devid(fd); bufmgr = drm_intel_bufmgr_gem_init(fd, 4096); drm_intel_bufmgr_gem_enable_reuse(bufmgr); batch = intel_batchbuffer_alloc(bufmgr); - bo = create_bo(); + bo = create_bo(devid); drm_intel_bo_get_tiling(bo, &tiling, &swizzle); |