tests/gem_partial_pwrite_pread: refactor subtests into functions
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 28 Nov 2012 11:47:26 +0000 (12:47 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 28 Nov 2012 11:47:26 +0000 (12:47 +0100)
This was a too big mess.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
tests/gem_partial_pwrite_pread.c

index 5c8f6f5..81fcdf5 100644 (file)
@@ -103,27 +103,11 @@ blt_bo_fill(drm_intel_bo *tmp_bo, drm_intel_bo *bo, int val)
 
 #define MAX_BLT_SIZE 128
 #define ROUNDS 1000
-int main(int argc, char **argv)
+uint8_t tmp[BO_SIZE];
+
+static void test_partial_reads(void)
 {
        int i, j;
-       uint8_t tmp[BO_SIZE];
-       uint8_t *gtt_ptr;
-
-       srandom(0xdeadbeef);
-
-       fd = drm_open_any();
-
-       bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
-       //drm_intel_bufmgr_gem_enable_reuse(bufmgr);
-       devid = intel_get_drm_devid(fd);
-       batch = intel_batchbuffer_alloc(bufmgr, devid);
-
-       /* overallocate the buffers we're actually using because */
-       scratch_bo = drm_intel_bo_alloc(bufmgr, "scratch bo", BO_SIZE, 4096);
-       staging_bo = drm_intel_bo_alloc(bufmgr, "staging bo", BO_SIZE, 4096);
-
-       drmtest_init_aperture_trashers(bufmgr);
-       mappable_gtt_limit = gem_mappable_aperture_size();
 
        printf("checking partial reads\n");
        for (i = 0; i < ROUNDS; i++) {
@@ -147,6 +131,13 @@ int main(int argc, char **argv)
                drmtest_progress("partial reads test: ", i, ROUNDS);
        }
 
+}
+
+static void test_partial_writes(void)
+{
+       int i, j;
+       uint8_t *gtt_ptr;
+
        printf("checking partial writes\n");
        for (i = 0; i < ROUNDS; i++) {
                int start, len;
@@ -191,6 +182,13 @@ int main(int argc, char **argv)
                drmtest_progress("partial writes test: ", i, ROUNDS);
        }
 
+}
+
+static void test_partial_read_writes(void)
+{
+       int i, j;
+       uint8_t *gtt_ptr;
+
        printf("checking partial writes after partial reads\n");
        for (i = 0; i < ROUNDS; i++) {
                int start, len;
@@ -253,6 +251,31 @@ int main(int argc, char **argv)
 
                drmtest_progress("partial read/writes test: ", i, ROUNDS);
        }
+}
+
+int main(int argc, char **argv)
+{
+       srandom(0xdeadbeef);
+
+       fd = drm_open_any();
+
+       bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
+       //drm_intel_bufmgr_gem_enable_reuse(bufmgr);
+       devid = intel_get_drm_devid(fd);
+       batch = intel_batchbuffer_alloc(bufmgr, devid);
+
+       /* overallocate the buffers we're actually using because */
+       scratch_bo = drm_intel_bo_alloc(bufmgr, "scratch bo", BO_SIZE, 4096);
+       staging_bo = drm_intel_bo_alloc(bufmgr, "staging bo", BO_SIZE, 4096);
+
+       drmtest_init_aperture_trashers(bufmgr);
+       mappable_gtt_limit = gem_mappable_aperture_size();
+
+       test_partial_reads();
+
+       test_partial_writes();
+
+       test_partial_read_writes();
 
        drmtest_cleanup_aperture_trashers();
        drm_intel_bufmgr_destroy(bufmgr);