glGetString(3G)
glGetString - returns a string describing the current GL connection
As shipped in IRIX 6.5. First release of IRIX 6.5.
NAME glGetString - returns a string describing the current GL connection C SPECIFICATION const GLubyte * glGetString( GLenum name ) PARAMETERS name Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, or GL_EXTENSIONS. 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. For Silicon Graphics the string is "SGI". 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. The renderer strings for Silicon Graphics graphic engines are listed in the MACHINE DEPENDENCIES section below. GL_VERSION Returns a version or release number. For SGI releases prior to Irix 5.3 the string is "1.0". For Irix 5.3 and subsequent releases the format is "<GL version> Irix <release number> patch <patch number>"; for example in the Irix 5.3 release the string is "1.0 Irix 5.3". GL_EXTENSIONS Returns a space-separated list of supported extensions to GL. Because the GL does not include queries for the performance characteristics of an implementation, some applications are written to recognize known platforms and modify their GL usage based on known performance characteristics of these platforms. 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. Some applications want to make use of features that are not part of the standard GL. These features may be implemented as extensions to the standard GL. The GL_EXTENSIONS string is a space seperated list of supported GL extensions. (Extension names never contain a space character.) The GL_VERSION string begins 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 pointer returned by glGetString is only valid while the context exists that was current when glGetString was executed. The safe thing to do is to make a copy of the string if that context is to be destroyed. The client and server may support different versions or extensions. glGetString always returns a compatible version number or list of extensions. The release number always describes the server. ERRORS GL_INVALID_ENUM is generated if name is not an accepted value. GL_INVALID_OPERATION is generated if glGetString is executed between the execution of glBegin and the corresponding execution of glEnd. MACHINE DEPENDENCIES The GL_RENDERER strings returned by glGetString for each graphics system are listed below. Square brackets ([,]) surround optional parts of the string, and angle brackets (<,>) surround multi-valued parts that are always present. Neither the square brackets nor the angle brackets are part of the string. Indy and XL: "NEWPORT <nplanes>", where nplanes is the number of configured bitplanes: 8 or 24. Personal Iris: "GR1.<version>[/24][/Z][/Turbo]", where version is the board version: 1 or 2; /24 indicates 24 bitplanes (otherwise 8); /Z indicates a hardware depth buffer; /Turbo indicates the "Turbo" option. VGX and VGXT: "VGX[T][<spans>]", where spans is either /5 or /10 indicating the number of spans other than 20. Indigo Entry: "LIGHT". O2: "CRIME". XS, XZ, Elan, and Extreme: "<type>-<graphics>", where type is one of GR2, GR3, GU1 or GR2MP and graphics is one of XS, XSM, XS24, XS24-Z, XZ, Elan, or Extreme, corresponding to the configuration of the graphics board. RealityEngine, RealityEngine2, and VTX: "<type>/<pixd>/<nrm>/<texsz>", where type is REC, RE, REV, RET, or RES, corresponding to Crimson, Power Series, Onyx/VTX with R4400, PowerOnyx with R8000, or Onyx/PowerOnyx with R10000; pixd is S, M, or L, corresponding to small, medium, or large pixel depth, respectively; nrm is 1, 2, or 4, indicating the number of raster manager boards; texsz is 2 or 8 indicating the size of the texture memory in megatexels. (Each texel is 16 bits in size.) Solid Impact, High Impact and Maximum Impact: "IMPACT/<nge>/<nrss>/<texsz>", where nge is 1 or 2, corresponding to the number of GEs; nrss is 1 or 2, corresponding to the number of raster subsystem boards; and texsz is 0, 1 or 4, corresponding to the size of texture memory in megabytes. InfiniteReality: "<type>/<pixd>/<nrm>/<texsz>/<nge>", where type is IR or IRS, corresponding to Onyx with R4400 or R10000, respectively; pixd is S, M, L, or X, corresponding to small, medium, large, or extra large pixel depth, respectively; nrm is 1, 2, or 4, indicating the number of raster manager boards; texsz is 16 or 64 indicating the size of texture memory in megabytes; and nge indicates the number of Geometry Engines on the geometry engine board.