commit 0e92c3ed7f60299d1798a39b90a2108e18992a5a
parent 4b82abb13c11e12f1b76a38aca5f899692b89d7d
Author: Brian Swetland <swetland@frotz.net>
Date: Sun, 1 Sep 2013 02:15:19 -0700
glapp: dump gpu parameters
Diffstat:
1 file changed, 48 insertions(+), 1 deletion(-)
diff --git a/common/glapp.cc b/common/glapp.cc
@@ -91,6 +91,52 @@ void App::setOptions(int argc, char **argv) {
}
#endif
+static void dump_gl_params(void) {
+#define GGI(name) { int n = -1; glGetIntegerv(GL_##name, &n); fprintf(stderr, #name ": %d\n", n); }
+
+ GGI(MAX_TEXTURE_SIZE);
+ GGI(MAX_3D_TEXTURE_SIZE);
+ GGI(MAX_RECTANGLE_TEXTURE_SIZE);
+ GGI(MAX_CUBE_MAP_TEXTURE_SIZE);
+ GGI(MAX_ARRAY_TEXTURE_LAYERS);
+
+ GGI(MAX_ELEMENTS_INDICES);
+ GGI(MAX_ELEMENTS_VERTICES);
+ GGI(MAX_DRAW_BUFFERS);
+ GGI(MAX_RENDERBUFFER_SIZE);
+
+ GGI(MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS);
+ GGI(MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS);
+ GGI(MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS);
+ GGI(MAX_COMBINED_UNIFORM_BLOCKS);
+ GGI(MAX_COMBINED_TEXTURE_IMAGE_UNITS);
+
+ GGI(MAX_VERTEX_ATTRIBS);
+ GGI(MAX_VERTEX_OUTPUT_COMPONENTS);
+ GGI(MAX_VERTEX_UNIFORM_BLOCKS);
+ GGI(MAX_VERTEX_UNIFORM_COMPONENTS);
+ GGI(MAX_VERTEX_TEXTURE_IMAGE_UNITS);
+
+ GGI(MAX_GEOMETRY_INPUT_COMPONENTS);
+ GGI(MAX_GEOMETRY_OUTPUT_COMPONENTS);
+ GGI(MAX_GEOMETRY_UNIFORM_BLOCKS);
+ GGI(MAX_GEOMETRY_UNIFORM_COMPONENTS);
+ GGI(MAX_GEOMETRY_TEXTURE_IMAGE_UNITS);
+
+ GGI(MAX_VARYING_COMPONENTS);
+ GGI(MAX_VARYING_FLOATS);
+ GGI(MAX_FRAGMENT_INPUT_COMPONENTS);
+ GGI(MAX_FRAGMENT_UNIFORM_BLOCKS);
+ GGI(MAX_FRAGMENT_UNIFORM_COMPONENTS);
+ GGI(MAX_TEXTURE_IMAGE_UNITS);
+
+ GGI(MAX_UNIFORM_BUFFER_BINDINGS);
+ GGI(MAX_UNIFORM_BLOCK_SIZE);
+ GGI(UNIFORM_BUFFER_OFFSET_ALIGNMENT);
+
+ GGI(NUM_EXTENSIONS);
+}
+
static const char *dbg_source(GLenum n) {
switch (n) {
case GL_DEBUG_SOURCE_API_ARB: return "api";
@@ -191,8 +237,9 @@ int App::start(void) {
fprintf(stderr, "GL Version: %s\n", glGetString(GL_VERSION));
fprintf(stderr, "GLSL Version: %s\n", glGetString(GL_SHADING_LANGUAGE_VERSION));
- SDL_GL_SetSwapInterval(_vsync);
+ dump_gl_params();
+ SDL_GL_SetSwapInterval(_vsync);
gl_map_functions();
if (init())