aboutsummaryrefslogtreecommitdiffstats
path: root/drmtest.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2016-03-23 08:10:05 +0100
committerGerd Hoffmann <kraxel@redhat.com>2016-03-23 08:10:05 +0100
commit2d4d026a09d9506fac0dac13f570cc50fe6d7b77 (patch)
treeccbbb4dd3dbc4ff7e276ee2dfd1d2268993828ce /drmtest.c
parentda699145758cb45225a0567299d2d59d95563501 (diff)
downloaddrminfo-2d4d026a09d9506fac0dac13f570cc50fe6d7b77.tar.gz
drmtools
Diffstat (limited to 'drmtest.c')
-rw-r--r--drmtest.c32
1 files changed, 25 insertions, 7 deletions
diff --git a/drmtest.c b/drmtest.c
index dd05f49..0ad5bde 100644
--- a/drmtest.c
+++ b/drmtest.c
@@ -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;
}