aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-04-10 06:43:30 +0200
committerGerd Hoffmann <kraxel@redhat.com>2019-04-10 06:43:30 +0200
commit6e0e7fbdb2e0a09fb90f592a61887b5d851c578d (patch)
treeb1a95e75f88d98e07f99042384783c8feeaa283c
parent6ae8ad4acf9252df2b7b043c78af401973c9bd6f (diff)
downloaddrminfo-6e0e7fbdb2e0a09fb90f592a61887b5d851c578d.tar.gz
egltest: print extensions
-rw-r--r--egltest.c32
1 files changed, 26 insertions, 6 deletions
diff --git a/egltest.c b/egltest.c
index ec54d18..adce4ce 100644
--- a/egltest.c
+++ b/egltest.c
@@ -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();