kms_render: Skip unsupported display configurations
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 21 Jun 2013 15:52:53 +0000 (16:52 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 21 Jun 2013 15:54:47 +0000 (16:54 +0100)
Certain modes may not be supported by certain combinations of pipes.
This is impossible to determine upfront, and we await an atomic
modesetting query operation. In the meantime, if we fail to set a mode,
just skip that test.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66000

tests/kms_render.c

index 707ce27..3867a0b 100644 (file)
@@ -124,9 +124,10 @@ static int test_format(const char *test_name,
        if (!kmstest_create_fb2(drm_fd, width, height, format, false, &fb[1]))
                goto err2;
 
-       do_or_die(drmModeSetCrtc(drm_fd, cconf->crtc->crtc_id, fb[0].fb_id,
+       if (drmModeSetCrtc(drm_fd, cconf->crtc->crtc_id, fb[0].fb_id,
                                 0, 0, &cconf->connector->connector_id, 1,
-                                mode));
+                                mode))
+               goto err2;
        do_or_die(drmModePageFlip(drm_fd, cconf->crtc->crtc_id, fb[0].fb_id,
                                  0, NULL));
        sleep(2);
@@ -152,8 +153,10 @@ static int test_format(const char *test_name,
 err2:
        kmstest_remove_fb(drm_fd, &fb[0]);
 err1:
-       fprintf(stderr, "skip testing unsupported format %s\n",
-               kmstest_format_str(format));
+       printf("Test %s with %s on %s: SKIPPED\n",
+               test_name, mode_format_str, cconf_str);
+       free(mode_format_str);
+       free(cconf_str);
 
        return -1;
 }