---
name: "glXCreateGLXPixmap"
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/glXCreateGLXPixmap"
---

# glXCreateGLXPixmap(3x)

create an off-screen GLX rendering area

## NAME

glXCreateGLXPixmap - create an off-screen GLX rendering area

## C SPECIFICATION

GLXPixmap **glXCreateGLXPixmap**( Display *\*dpy*,

```
	XVisualInfo *vis,
	Pixmap pixmap )
```

delim $$

## PARAMETERS

- *dpy*

  Specifies the connection to the X server.

- *vis*

  Specifies the visual that defines the structure of the rendering area. It is a pointer to an **XVisualInfo** structure, not a visual ID or a pointer to a **Visual**.

- *pixmap*

  Specifies the X pixmap that will be used as the front left color buffer of the off-screen rendering area.

## DESCRIPTION

**glXCreateGLXPixmap** creates an off-screen rendering area and returns its XID. Any GLX rendering context that was created with respect to *vis* can be used to render into this off-screen area. Use **glXMakeCurrent** to associate the rendering area with a GLX rendering context.

The X pixmap identified by *pixmap* is used as the front left buffer of the resulting off-screen rendering area. All other buffers specified by *vis*, including color buffers other than the front left buffer, are created without externally visible names. GLX pixmaps with double-buffering are supported. However, **glXSwapBuffers** is ignored by these pixmaps.

Some implementations may not support GLX pixmaps with direct rendering contexts.

## NOTES

**XVisualInfo** is defined in *Xutil.h.* It is a structure that includes *visual*, *visualID*, *screen*, and *depth* elements.

## ERRORS

**BadMatch** is generated if the depth of *pixmap* does not match the depth value reported by core X11 for *vis*, or if *pixmap* was not created with respect to the same screen as *vis*.

**BadValue** is generated if *vis* is not a valid XVisualInfo pointer (for example, if a particular GLX implementation does not support this visual).

**BadPixmap** is generated if *pixmap* is not a valid pixmap.

**BadAlloc** is generated if the server cannot allocate the GLX pixmap.

## SEE ALSO

**glXCreateContext**, **glXIsDirect**, **glXMakeCurrent**
