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