From 5c4020c26c69f7100c4547792a951f306ff0f32a Mon Sep 17 00:00:00 2001 From: Eleni Maria Stea Date: Thu, 7 Mar 2013 17:16:01 +0200 Subject: [PATCH] added support for: major version minor version max texture image units max combined texture image units max vertex texture image units max cube map texture size max vertex uniform vectors max fragment uniform vectors max varying vectors max color attachments --- examples/lenovo.conf | 34 ++++++++++++++++++++++++++++++++-- src/gliar.c | 42 +++++++++++++++++++++++++++++++++++++++++- tests/glinfo/glinfo.c | 13 +++++++++++-- 3 files changed, 84 insertions(+), 5 deletions(-) diff --git a/examples/lenovo.conf b/examples/lenovo.conf index 0bf19fa..5ca57f1 100644 --- a/examples/lenovo.conf +++ b/examples/lenovo.conf @@ -186,17 +186,47 @@ GL_ARB_texture_storage GL_EXT_transform_feedback GL_ARB_invalidate_subdata -[max texture size] -8192 +[major version] +3 + +[minor version] +0 [max texture units] 8 +[max texture image units] +16 + +[max combined texture image units] +32 + +[max vertex texture image units] +16 + +[max texture size] +8192 + +[max cube map texture size] +2048 + [max texture coordinates] 8 [max vertex attributes] 16 +[max vertex uniform vectors] +4096 + +[max fragment uniform vectors] +4096 + +[max varying vectors] +16 + +[max color attachments] +8 + [max renderbuffer size] 8192 diff --git a/src/gliar.c b/src/gliar.c index 71f99e5..b291af2 100644 --- a/src/gliar.c +++ b/src/gliar.c @@ -241,14 +241,34 @@ void glGetIntegerv(GLenum name, GLint *val) } break; + case GL_MAJOR_VERSION: + key = "major version"; + break; + + case GL_MINOR_VERSION: + key = "minor version"; + break; + case GL_MAX_TEXTURE_UNITS: key = "max texture units"; break; + case GL_MAX_TEXTURE_IMAGE_UNITS: + key = "max texture image units"; + break; + + case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: + key = "max combined texture image units"; + break; + case GL_MAX_TEXTURE_SIZE: key = "max texture size"; break; + case GL_MAX_CUBE_MAP_TEXTURE_SIZE: + key = "max cube map texture size"; + break; + case GL_MAX_TEXTURE_COORDS: key = "max texture coordinates"; break; @@ -257,8 +277,28 @@ void glGetIntegerv(GLenum name, GLint *val) key = "max vertex attributes"; break; + case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: + key = "max vertex texture image units"; + break; + + case GL_MAX_VERTEX_UNIFORM_VECTORS: + key = "max vertex uniform vectors"; + break; + + case GL_MAX_FRAGMENT_UNIFORM_VECTORS: + key = "max fragment uniform vectors"; + break; + + case GL_MAX_VARYING_VECTORS: + key = "max varying vectors"; + break; + + case GL_MAX_COLOR_ATTACHMENTS_EXT: + key = "max color attachments"; + break; + case GL_MAX_RENDERBUFFER_SIZE_EXT: - key = "max renderbuffer size"; + key = "max renderbuffer size ext"; break; default: diff --git a/tests/glinfo/glinfo.c b/tests/glinfo/glinfo.c index dfde489..186ccd7 100644 --- a/tests/glinfo/glinfo.c +++ b/tests/glinfo/glinfo.c @@ -36,11 +36,20 @@ int main(int argc, char **argv) printf("renderer: %s\n", glGetString(GL_RENDERER)); printf("version: %s\n", glGetString(GL_VERSION)); printf("shading language version: %s\n", glGetString(GL_SHADING_LANGUAGE_VERSION)); - - printf("texture units: %d\n", GET_INTEGER(GL_MAX_TEXTURE_UNITS)); + printf("major version: %d\n", GET_INTEGER(GL_MAJOR_VERSION)); + printf("minor version: %d\n", GET_INTEGER(GL_MINOR_VERSION)); + printf("max texture units: %d\n", GET_INTEGER(GL_MAX_TEXTURE_UNITS)); + printf("max texture image units: %d\n", GET_INTEGER(GL_MAX_TEXTURE_IMAGE_UNITS)); + printf("max combined texture image units: %d\n", GET_INTEGER(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS)); + printf("max vertex texture image units: %d\n", GET_INTEGER(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS)); printf("max texture size: %d\n", GET_INTEGER(GL_MAX_TEXTURE_SIZE)); + printf("max cube map texture size: %d\n", GET_INTEGER(GL_MAX_CUBE_MAP_TEXTURE_SIZE)); printf("max texture coordinates: %d\n", GET_INTEGER(GL_MAX_TEXTURE_COORDS)); printf("max vertex attributes: %d\n", GET_INTEGER(GL_MAX_VERTEX_ATTRIBS)); + printf("max vertex uniform vectors: %d\n", GET_INTEGER(GL_MAX_VERTEX_UNIFORM_VECTORS)); + printf("max fragment uniform vectors: %d\n", GET_INTEGER(GL_MAX_FRAGMENT_UNIFORM_VECTORS)); + printf("max varying vectors: %d\n", GET_INTEGER(GL_MAX_VARYING_VECTORS)); + printf("max color attachments: %d\n", GET_INTEGER(GL_MAX_COLOR_ATTACHMENTS_EXT)); printf("max renderbuffer size: %d\n", GET_INTEGER(GL_MAX_RENDERBUFFER_SIZE_EXT)); return 0; } -- 1.7.10.4