[waffle] [RFC v2] wflinfo: add GLSL version information to wflinfo

Dylan Baker baker.dylan.c at gmail.com
Fri Nov 14 09:39:10 PST 2014


v2: - Don't print for gles1, since gles1 doesn't have a shading language
      and will always return FLINFO_GL_ERROR

Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---

This addresses Jordan's comments, but from the point of view of having a
parsable output not printing the string 'OpenGL shading language...'
seems suboptimal. Would it be better to add an additional block to the
assignment if and look for fixed-functions versions and set the value of
shading langauge to 'Fixed Function' or 'None' instead?

 src/utils/wflinfo.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/utils/wflinfo.c b/src/utils/wflinfo.c
index c2af4dc..ed1e6f3 100644
--- a/src/utils/wflinfo.c
+++ b/src/utils/wflinfo.c
@@ -207,6 +207,7 @@ enum {
     GL_VENDOR                              = 0x1F00,
     GL_RENDERER                            = 0x1F01,
     GL_VERSION                             = 0x1F02,
+    GL_SHADING_LANGUAGE_VERSION            = 0x8B8C,
     GL_EXTENSIONS                          = 0x1F03,
     GL_NUM_EXTENSIONS                      = 0x821D,
 };
@@ -550,6 +551,11 @@ print_wflinfo(const struct options *opts)
         version_str = "WFLINFO_GL_ERROR";
     }
 
+    const char *language_str = (const char *) glGetString(GL_SHADING_LANGUAGE_VERSION);
+    if (glGetError() != GL_NO_ERROR || language_str == NULL) {
+        language_str = "WFLINFO_GL_ERROR";
+    }
+
     const char *platform = enum_map_to_str(platform_map, opts->platform);
     assert(platform != NULL);
     printf("Waffle platform: %s\n", platform);
@@ -561,6 +567,10 @@ print_wflinfo(const struct options *opts)
     printf("OpenGL vendor string: %s\n", vendor);
     printf("OpenGL renderer string: %s\n", renderer);
     printf("OpenGL version string: %s\n", version_str);
+	// Do not print WFLINFO_GL_ERROR for gles1, there is not GLSL for GL ES 1.x
+	if (strcmp(api, "gles1") != 0) {
+		printf("OpenGL shading language version string: %s\n", language_str);
+	}
 
     int version = parse_version(version_str);
 
-- 
2.1.3



More information about the waffle mailing list