kms_cursor_crc: Add moving cursor test
authorAntti Koskipaa <antti.koskipaa@linux.intel.com>
Thu, 10 Apr 2014 12:08:10 +0000 (15:08 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 25 Apr 2014 13:18:19 +0000 (16:18 +0300)
Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
tests/kms_cursor_crc.c

index 85ff243..b2498a1 100644 (file)
@@ -200,6 +200,20 @@ static void test_crc_offscreen(test_data_t *test_data)
        do_test(test_data, INT_MIN, INT_MAX, INT_MIN, INT_MAX);
 }
 
+static void test_crc_sliding(test_data_t *test_data)
+{
+       int i;
+
+       /* Make sure cursor moves smoothly and pixel-by-pixel, and that there are
+        * no alignment issues. Horizontal, vertical and diagonal test.
+        */
+       for (i = 0; i < 16; i++) {
+               do_single_test(test_data, i, 0);
+               do_single_test(test_data, 0, i);
+               do_single_test(test_data, i, i);
+       }
+}
+
 static bool prepare_crtc(test_data_t *test_data, igt_output_t *output,
                         int cursor_w, int cursor_h)
 {
@@ -343,6 +357,8 @@ static void run_test_generic(data_t *data, int cursor_max_size)
                        run_test(data, test_crc_onscreen, cursor_size, cursor_size);
                igt_subtest_f("cursor-%s-offscreen", c_size)
                        run_test(data, test_crc_offscreen, cursor_size, cursor_size);
+               igt_subtest_f("cursor-%s-sliding", c_size)
+                       run_test(data, test_crc_sliding, cursor_size, cursor_size);
        }
 
 }