diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2019-04-10 06:43:30 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2019-04-10 06:43:30 +0200 |
commit | 6e0e7fbdb2e0a09fb90f592a61887b5d851c578d (patch) | |
tree | b1a95e75f88d98e07f99042384783c8feeaa283c | |
parent | 6ae8ad4acf9252df2b7b043c78af401973c9bd6f (diff) | |
download | drminfo-6e0e7fbdb2e0a09fb90f592a61887b5d851c578d.tar.gz |
egltest: print extensions
-rw-r--r-- | egltest.c | 32 |
1 files changed, 26 insertions, 6 deletions
@@ -26,9 +26,22 @@ static void egl_print_info(void) { - printf("version: %s\n", glGetString(GL_VERSION)); - printf("vendor: %s\n", glGetString(GL_VENDOR)); - printf("renderer: %s\n", glGetString(GL_RENDERER)); + printf("opengl version: %s\n", glGetString(GL_VERSION)); + printf("shader version: %s\n", glGetString(GL_SHADING_LANGUAGE_VERSION)); + printf("vendor: %s\n", glGetString(GL_VENDOR)); + printf("renderer: %s\n", glGetString(GL_RENDERER)); +} + +static void egl_print_ext(void) +{ + char *ext = strdup((char*)glGetString(GL_EXTENSIONS)); + int i, len = strlen(ext); + + for (i = 0; i < len; i++) + if (ext[i] == ' ') + ext[i] = '\n'; + printf("%s", ext); + free(ext); } static void egl_draw(void) @@ -65,6 +78,7 @@ static void usage(FILE *fp) " -c <nr> pick card\n" " -s <secs> set sleep time (default: 60)\n" " -i print device info\n" + " -x print extensions\n" "\n"); } @@ -75,12 +89,13 @@ int main(int argc, char **argv) char *output = NULL; char *modename = NULL; bool printinfo = false; + bool printext = false; bool autotest = false; char buf[32]; int c; for (;;) { - c = getopt(argc, argv, "haic:s:"); + c = getopt(argc, argv, "haixc:s:"); if (c == -1) break; switch (c) { @@ -93,6 +108,9 @@ int main(int argc, char **argv) case 'i': printinfo = true; break; + case 'x': + printext = true; + break; case 'a': autotest = true; break; @@ -109,10 +127,12 @@ int main(int argc, char **argv) drm_init_dev(card, output, modename, false); drm_setup_egl(); - if (printinfo) { + if (printinfo) egl_print_info(); + if (printext) + egl_print_ext(); + if (printinfo || printext) goto done; - } egl_draw(); drm_egl_flush_display(); |