---
name: "XdbeSwapBuffers"
section: "3"
platform: "linux"
package: "libxext"
version: "1.3.7-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XdbeSwapBuffers"
---

# XdbeSwapBuffers(3)

swaps front and back DBE buffers.

## NAME

XdbeSwapBuffers - swaps front and back DBE buffers.

## SYNOPSIS

```
#include <X11/extensions/Xdbe.h>

Status XdbeSwapBuffers(
    Display      *dpy,
    XdbeSwapInfo *swap_info,
    int          num_windows)
```

## DESCRIPTION

This function swaps the front and back buffers for a list of windows. The argument *num\_windows* specifies how many windows are to have their buffers swapped; it is the number of elements in the *swap\_info* array. The argument *swap\_info* specifies the information needed per window to do the swap.

The *XdbeSwapInfo* structure has the following fields:

```
     Window            swap_window
     XdbeSwapAction    swap_action
```

*swap\_window* specifies the window for which to swap buffers. *swap\_action* specifies the swap action to use for this *swap\_window*.

*swap\_action* determines what will happen to the new back buffer of the *swap\_window* it is paired with in the list in addition to making the old back buffer become visible. The defined actions are as follows:

- XdbeUndefined

  The contents of the new back buffer become undefined. This may be the most efficient action since it allows the implementation to discard the contents of the buffer if it needs to.

- XdbeBackground

  The unobscured region of the new back buffer will be tiled with the window background. The background action allows devices to use a fast clear capability during a swap.

- XdbeUntouched

  The unobscured region of the new back buffer will be unmodified by the swap.

- XdbeCopied

  The unobscured region of the new back buffer will be the contents of the old back buffer.

## ERRORS

- BadMatch

  A non-double-buffered window was specified or a window was specified twice.

- BadWindow

  An invalid window was specified.

- BadValue

  An invalid swap action was specified.

## SEE ALSO

[**DBE**(3)](/DBE/3.md), [**XdbeAllocateBackBufferName**(3)](/XdbeAllocateBackBufferName/3.md), [**XdbeBeginIdiom**(3)](/XdbeBeginIdiom/3.md), [**XdbeDeallocateBackBufferName**(3)](/XdbeDeallocateBackBufferName/3.md), [**XdbeEndIdiom**(3)](/XdbeEndIdiom/3.md), [**XdbeFreeVisualInfo**(3)](/XdbeFreeVisualInfo/3.md), [**XdbeGetBackBufferAttributes**(3)](/XdbeGetBackBufferAttributes/3.md), [**XdbeGetVisualInfo**(3)](/XdbeGetVisualInfo/3.md), [**XdbeQueryExtension**(3)](/XdbeQueryExtension/3.md).
