## Name

glGetString — return a string describing the current GL connection

## C Specification

`const GLubyte* glGetString(` | GLenum name`)`;

## C Specification

`const GLubyte* glGetStringi(` | GLenum name,
| GLuint index`)`;

## Parameters

`name`

  Specifies a symbolic constant, one of `GL_VENDOR`, `GL_RENDERER`, `GL_VERSION`, or `GL_SHADING_LANGUAGE_VERSION`. Additionally, `glGetStringi` accepts the `GL_EXTENSIONS` token.

`index`

  For `glGetStringi`, specifies the index of the string to return.

## Description

`glGetString` returns a pointer to a static string describing some aspect of the current GL connection. `name` can be one of the following:

`GL_VENDOR`

  Returns the company responsible for this GL implementation. This name does not change from release to release.

`GL_RENDERER`

  Returns the name of the renderer. This name is typically specific to a particular configuration of a hardware platform. It does not change from release to release.

`GL_VERSION`

  Returns a version or release number.

`GL_SHADING_LANGUAGE_VERSION`

  Returns a version or release number for the shading language.

`glGetStringi` returns a pointer to a static string indexed by `index`. `name` can be one of the following:

`GL_EXTENSIONS`

  For `glGetStringi` only, returns the extension string supported by the implementation at `index`.

Strings `GL_VENDOR` and `GL_RENDERER` together uniquely specify a platform. They do not change from release to release and should be used by platform-recognition algorithms.

The `GL_VERSION` and `GL_SHADING_LANGUAGE_VERSION` strings begin with a version number. The version number uses one of these forms:

major_number.minor_number major_number.minor_number.release_number

Vendor-specific information may follow the version number. Its format depends on the implementation, but a space always separates the version number and the vendor-specific information.

All strings are null-terminated.

## Notes

If an error is generated, `glGetString` returns 0.

The client and server may support different versions. `glGetString` always returns a compatible version number. The release number always describes the server.

## Errors

`GL_INVALID_ENUM` is generated if `name` is not an accepted value.

`GL_INVALID_VALUE` is generated by `glGetStringi` if `index` is outside the valid range for indexed state `name`.

## Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.