Light | Dark

# docs.GL

OpenGL 4
OpenGL 3
OpenGL ES 3

# glGetUniformBlockIndex

## Name

glGetUniformBlockIndex — retrieve the index of a named uniform block

## C Specification

`GLuint glGetUniformBlockIndex(` | GLuint program,
| const GLchar *uniformBlockName`)`;

## Parameters

`program`

  Specifies the name of a program containing the uniform block.

`uniformBlockName`

  Specifies the address an array of characters to containing the name of the uniform block whose index to retrieve.

## Description

`glGetUniformBlockIndex` retrieves the index of a uniform block within `program`.

`program` must be the name of a program object for which the command glLinkProgram must have been called in the past, although it is not required that glLinkProgram must have succeeded. The link could have failed because the number of active uniforms exceeded the limit.

`uniformBlockName` must contain a nul-terminated string specifying the name of the uniform block.

`glGetUniformBlockIndex` returns the uniform block index for the uniform block named `uniformBlockName` of `program`. If `uniformBlockName` does not identify an active uniform block of `program`, `glGetUniformBlockIndex` returns the special identifier, `GL_INVALID_INDEX`. Indices of the active uniform blocks of a program are assigned in consecutive order, beginning with zero.

## Errors

`GL_INVALID_OPERATION` is generated if `program` is not the name of a program object for which glLinkProgram has been called in the past.

## Notes

`glGetUniformBlockIndex` is available only if the GL version is 3.1 or greater.

## Version Support

| OpenGL Version
--- | ---
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5
`glGetUniformBlockIndex` | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔

## See Also

glGetActiveUniformBlockName, glGetActiveUniformBlock, glLinkProgram

## Copyright

Copyright © 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. https://opencontent.org/openpub/.

Think you can improve this page? Edit this page on GitHub.