---
name: "glCallList"
section: "3x"
platform: "linux"
package: "xlibmesa-gl-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/glCallList"
---

# glCallList(3x)

execute a display list

## NAME

**glCallList** - execute a display list

## C SPECIFICATION

void **glCallList**( GLuint *list* )

```

```

## PARAMETERS

- *list*

  Specifies the integer name of the display list to be executed.

## DESCRIPTION

**glCallList** causes the named display list to be executed. The commands saved in the display list are executed in order, just as if they were called without using a display list. If *list* has not been defined as a display list, **glCallList** is ignored.

**glCallList** can appear inside a display list. To avoid the possibility of infinite recursion resulting from display lists calling one another, a limit is placed on the nesting level of display lists during display-list execution. This limit is at least 64, and it depends on the implementation.

GL state is not saved and restored across a call to **glCallList**. Thus, changes made to GL state during the execution of a display list remain after execution of the display list is completed. Use **glPushAttrib**, **glPopAttrib**, **glPushMatrix**, and **glPopMatrix** to preserve GL state across **glCallList** calls.

## NOTES

Display lists can be executed between a call to **glBegin** and the corresponding call to **glEnd**, as long as the display list includes only commands that are allowed in this interval.

## ASSOCIATED GETS

**glGet** with argument **GL\_MAX\_LIST\_NESTING**\
 **glIsList**

## SEE ALSO

**glCallLists(3G)**, **glDeleteLists(3G)**, **glGenLists(3G)**, **glNewList(3G)**, **glPushAttrib(3G)**,  **glPushMatrix(3G)**
