SoGLDriverDatabase Class Reference

The SoGLDriverDatabase class is used for looking up broken/slow features in OpenGL drivers. More...

`#include <Inventor/misc/SoGLDriverDatabase.h>`

## Static Public Member Functions

static SbBool | isSupported (const cc_glglue *context, const SbName &feature)
static SbBool | isBroken (const cc_glglue *context, const SbName &feature)
static SbBool | isSlow (const cc_glglue *context, const SbName &feature)
static SbBool | isFast (const cc_glglue *context, const SbName &feature)
static SbName | getComment (const cc_glglue *context, const SbName &feature)
static void | loadFromBuffer (const char *buffer)
static void | loadFromFile (const SbName &filename)
static void | addBuffer (const char *buffer)
static void | addFile (const SbName &filename)
static void | addFeature (const SbName &feature, const SbName &comment)
static void | init (void)

## Detailed Description

The SoGLDriverDatabase class is used for looking up broken/slow features in OpenGL drivers.

Coin will maintain a database of drivers where we have found problems with certain features, even if the OpenGL driver claims to support it. This is an effort to avoid application or operating system crashes when Coin attempts to use a specific feature. Using this database we can either disable this feature, or find another way to handle it for broken drivers.

## Member Function Documentation

## isSupported()

SbBool SoGLDriverDatabase::isSupported | ( | const cc_glglue * | context,
|  | const SbName & | feature )

static

Convenience function which checks whether feature is supported for context. If feature is an OpenGL extension, it checks if it is actually supported by the driver, and then calls SoGLDriverDatabase::isBroken() to check if the feature is broken for context.

## isBroken()

SbBool SoGLDriverDatabase::isBroken | ( | const cc_glglue * | context,
|  | const SbName & | feature )

static

Checks the driver database to see if feature is tagged as broken.

## isSlow()

SbBool SoGLDriverDatabase::isSlow | ( | const cc_glglue * | context,
|  | const SbName & | feature )

static

Checks the driver database to see if feature is tagged as being slow.

## isFast()

SbBool SoGLDriverDatabase::isFast | ( | const cc_glglue * | context,
|  | const SbName & | feature )

static

Checks the driver database to see if feature is tagged as fast.

## getComment()

SbName SoGLDriverDatabase::getComment | ( | const cc_glglue * | context,
|  | const SbName & | feature )

static

Get the comment for feature in context, returns "undefined" if the feature has no entry. Provides extensibility to the database.

## loadFromBuffer()

void SoGLDriverDatabase::loadFromBuffer | ( | const char * | buffer | ) |

static

Load the driver database from buffer

## loadFromFile()

void SoGLDriverDatabase::loadFromFile | ( | const SbName & | filename | ) |

static

Load the driver database from the file specified in filename

## addBuffer()

void SoGLDriverDatabase::addBuffer | ( | const char * | buffer | ) |

static

Add the XML data in buffer to the driver database

## addFile()

void SoGLDriverDatabase::addFile | ( | const SbName & | filename | ) |

static

Add the XML data in filename to the driver database

## addFeature()

void SoGLDriverDatabase::addFeature | ( | const SbName & | feature,
|  | const SbName & | comment )

static

Add a feature to the driver database

The documentation for this class was generated from the following files:

- SoGLDriverDatabase.h
- SoGLDriverDatabase.cpp