aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2009-12-30 10:29:53 -0700
committerBrian Paul <[email protected]>2009-12-30 10:29:53 -0700
commit56bdaca03e2289f56d1c88668d0a0f1dbd5abeca (patch)
treef7ebca000a9516df0d8d6f8b49711192a32a4f1e
parent802b80893943cf129039a37fb2afe26444b09332 (diff)
mesa: _mesa_get_enabled_extension() function
-rw-r--r--src/mesa/main/extensions.c20
-rw-r--r--src/mesa/main/extensions.h3
2 files changed, 23 insertions, 0 deletions
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index 88c025ee326..7aec95f0480 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -725,3 +725,23 @@ _mesa_get_extension_count(GLcontext *ctx)
return ctx->Extensions.Count;
}
+
+
+/**
+ * Return name of i-th enabled extension
+ */
+const GLubyte *
+_mesa_get_enabled_extension(GLcontext *ctx, GLuint index)
+{
+ GLuint i;
+
+ for (i = 0; i < Elements(default_extensions); i++) {
+ if (extension_enabled(ctx, i)) {
+ if (index == 0)
+ return (const GLubyte *) default_extensions[i].name;
+ index--;
+ }
+ }
+
+ return NULL;
+}
diff --git a/src/mesa/main/extensions.h b/src/mesa/main/extensions.h
index 194c2efa40b..a25472440d6 100644
--- a/src/mesa/main/extensions.h
+++ b/src/mesa/main/extensions.h
@@ -67,6 +67,9 @@ extern GLubyte *_mesa_make_extension_string(GLcontext *ctx);
extern GLuint
_mesa_get_extension_count(GLcontext *ctx);
+extern const GLubyte *
+_mesa_get_enabled_extension(GLcontext *ctx, GLuint index);
+
#else