diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2019-02-08 10:16:13 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2019-02-08 10:16:13 +0100 |
commit | a51f16a108c083eacc216b1c7f4e67c7245189ae (patch) | |
tree | 0f9512fa20a4eaa66ac5fb86e2756e6d96900431 | |
parent | 5edb7a1d011ad65d2dea03cc18e596cc477cd397 (diff) | |
download | drminfo-a51f16a108c083eacc216b1c7f4e67c7245189ae.tar.gz |
order legacy last, skip tests without cairo support
-rw-r--r-- | drmtest.c | 5 | ||||
-rw-r--r-- | drmtools.c | 76 |
2 files changed, 42 insertions, 39 deletions
@@ -227,7 +227,10 @@ int main(int argc, char **argv) drm_init_dev(card, output, modename, false); if (!fmt) { + /* find first supported in list */ for (i = 0; i < fmtcnt; i++) { + if (fmts[i].cairo == CAIRO_FORMAT_INVALID) + continue; if (!drm_probe_format(fd, &fmts[i])) continue; fmt = &fmts[i]; @@ -235,7 +238,7 @@ int main(int argc, char **argv) } if (!fmt) { drm_fini_dev(); - fprintf(stderr, "Huh? No working drm format found.\n"); + fprintf(stderr, "No drm format (with cairo support) found.\n"); exit(1); } } @@ -39,44 +39,6 @@ const struct fbformat fmts[] = { /* * ----------------------------------------------------------------- - * legacy formats, native endian (DRM_IOCTL_MODE_ADDFB) - */ - { - .name = "24", - .fields = "x:R:G:B", - .bits = "8:8:8:8", - .bpp = 32, - .depth = 24, - .cairo = CAIRO_FORMAT_RGB24, - .pixman = PIXMAN_x8r8g8b8, - },{ - .name = "30", - .fields = "x:R:G:B", - .bits = "2:10:10:10", - .bpp = 32, - .depth = 30, - .cairo = CAIRO_FORMAT_RGB30, - .pixman = PIXMAN_x2b10g10r10, - },{ - .name = "15", - .fields = "x:R:G:B", - .bits = "1:5:5:5", - .bpp = 16, - .depth = 15, - .cairo = CAIRO_FORMAT_INVALID, - .pixman = PIXMAN_x1r5g5b5, - },{ - .name = "16", - .fields = "R:G:B", - .bits = "5:6:5", - .bpp = 16, - .depth = 16, - .cairo = CAIRO_FORMAT_RGB16_565, - .pixman = PIXMAN_r5g6b5, - }, - - /* - * ----------------------------------------------------------------- * fourcc formats, little endian (DRM_IOCTL_MODE_ADDFB2) */ @@ -442,6 +404,44 @@ const struct fbformat fmts[] = { .cairo = CAIRO_FORMAT_INVALID, .pixman = 0, }, + + /* + * ----------------------------------------------------------------- + * legacy formats, native endian (DRM_IOCTL_MODE_ADDFB) + */ + { + .name = "24", + .fields = "x:R:G:B", + .bits = "8:8:8:8", + .bpp = 32, + .depth = 24, + .cairo = CAIRO_FORMAT_RGB24, + .pixman = PIXMAN_x8r8g8b8, + },{ + .name = "30", + .fields = "x:R:G:B", + .bits = "2:10:10:10", + .bpp = 32, + .depth = 30, + .cairo = CAIRO_FORMAT_RGB30, + .pixman = PIXMAN_x2b10g10r10, + },{ + .name = "15", + .fields = "x:R:G:B", + .bits = "1:5:5:5", + .bpp = 16, + .depth = 15, + .cairo = CAIRO_FORMAT_INVALID, + .pixman = PIXMAN_x1r5g5b5, + },{ + .name = "16", + .fields = "R:G:B", + .bits = "5:6:5", + .bpp = 16, + .depth = 16, + .cairo = CAIRO_FORMAT_RGB16_565, + .pixman = PIXMAN_r5g6b5, + }, }; const uint32_t fmtcnt = sizeof(fmts)/sizeof(fmts[0]); |