diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2016-03-23 08:10:05 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2016-03-23 08:10:05 +0100 |
commit | 2d4d026a09d9506fac0dac13f570cc50fe6d7b77 (patch) | |
tree | ccbbb4dd3dbc4ff7e276ee2dfd1d2268993828ce /drmtest.c | |
parent | da699145758cb45225a0567299d2d59d95563501 (diff) | |
download | drminfo-2d4d026a09d9506fac0dac13f570cc50fe6d7b77.tar.gz |
drmtools
Diffstat (limited to 'drmtest.c')
-rw-r--r-- | drmtest.c | 32 |
1 files changed, 25 insertions, 7 deletions
@@ -27,6 +27,8 @@ static struct drm_mode_create_dumb creq; static uint32_t fb_id; static uint8_t *fbmem; +/* ------------------------------------------------------------------ */ + static void drm_init_dev(int devnr, bool need_dumb, bool need_master) { drmModeRes *res; @@ -95,6 +97,8 @@ static void drm_fini_dev(void) } } +/* ------------------------------------------------------------------ */ + static void drm_init_dumb_fb(void) { struct drm_mode_map_dumb mreq; @@ -164,6 +168,10 @@ static void drm_show_dumb_fb(void) /* ------------------------------------------------------------------ */ + + +/* ------------------------------------------------------------------ */ + static void usage(FILE *fp) { fprintf(fp, @@ -179,16 +187,20 @@ static void usage(FILE *fp) int main(int argc, char **argv) { int card = 0; + bool gl = false; int c; for (;;) { - c = getopt(argc, argv, "hc:"); + c = getopt(argc, argv, "hgc:"); if (c == -1) break; switch (c) { case 'c': card = atoi(optarg); break; + case 'g': + gl = true; + break; case 'h': usage(stdout); exit(0); @@ -198,11 +210,17 @@ int main(int argc, char **argv) } } - drm_init_dev(card, true, true); - drm_init_dumb_fb(); - drm_draw_dumb_fb(); - drm_show_dumb_fb(); - sleep(3); - drm_fini_dev(); + if (gl) { + drm_init_dev(card, true, true); + sleep(3); + drm_fini_dev(); + } else { + drm_init_dev(card, true, true); + drm_init_dumb_fb(); + drm_draw_dumb_fb(); + drm_show_dumb_fb(); + sleep(3); + drm_fini_dev(); + } return 0; } |