---
name: "XdbeGetVisualInfo"
section: "3x"
platform: "linux"
package: "libxext-dev"
version: "1:1.0.1-2"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/XdbeGetVisualInfo/3x"
---

# XdbeGetVisualInfo(3x)

Get dbe Visual Informations

## NAME

XdbeGetVisualInfo - Get dbe Visual Informations

## SYNOPSIS

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

XdbeScreenVisualInfo \*XdbeGetVisualInfo(\
     Display  \*dpy,\
     Drawable \*screen\_specifiers,\
     int      \*num\_screens)

## DESCRIPTION

This function returns information about which visuals support double buffering.  The argument *num\_screens* specifies how many elements there are  in the *screen\_specifiers* list.  Each drawable in *screen\_specifiers* designates a  screen for which the supported visuals are being requested.  If *num\_screens* is zero, information for all screens is requested.  In this case, upon return from this function, *num\_screens* will be set to the number of screens that were found.  If an error occurs, this function returns NULL, else it returns a pointer to a list of *XdbeScreenVisualInfo* structures of length *num\_screens.* The nth element in the returned list corresponds to the nth drawable in the  *screen\_specifiers* list, unless *num\_screens* was passed in with the value zero, in which case the nth element in the returned list corresponds to the nth screen of the server, starting with screen zero.  The *XdbeScreenVisualInfo* structure has the following fields:

     int            count\
      XdbeVisualInfo \*visinfo

*count* specifies the number of items in *visinfo.* *visinfo* specifies a list of visuals, depths, and performance hints for this screen.

The *XdbeVisualInfo* structure has the following fields:

     VisualID visual\
      int      depth\
      int      perflevel

*visual* specifies one visual ID that supports double-buffering. *depth* specifies the depth of the visual. *perflevel* is a performance hint.

The only operation defined on a *perflevel* is comparison to a *perflevel* of another visual on the same screen.  The visual having the higher *perflevel* is likely to have better double-buffering graphics performance than the visual having the lower *perflevel.* Nothing can be deduced from the following: the magnitude of the difference of two *perflevels,* a *perflevel* value in isolation, or comparing *perflevels* from different servers.

## ERRORS

- BadDrawable

  One or more values passed in *screen\_specifiers* is not a valid drawable.

## SEE ALSO

DBE, *XdbeAllocateBackBufferName(),* *XdbeBeginIdiom(),* *XdbeDeallocateBackBufferName(),* *XdbeEndIdiom(),* *XdbeFreeVisualInfo(),* *XdbeGetBackBufferAttributes(),* *XdbeQueryExtension(),* *XdbeSwapBuffers().*
