2 * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
3 * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice including the dates of first publication and
13 * either this permission notice or a reference to
14 * http://oss.sgi.com/projects/FreeB/
15 * shall be included in all copies or substantial portions of the Software.
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
22 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 * Except as contained in this notice, the name of Silicon Graphics, Inc.
26 * shall not be used in advertising or otherwise to promote the sale, use or
27 * other dealings in this Software without prior written authorization from
28 * Silicon Graphics, Inc.
31 #include "glxfbconfig.h"
34 AreFBConfigsMatch(__GLXFBConfig
* c1
, __GLXFBConfig
* c2
)
38 match
= ((c1
->visualType
== c2
->visualType
) &&
39 (c1
->transparentType
== c2
->transparentType
) &&
40 (c1
->transparentRed
== c2
->transparentRed
) &&
41 (c1
->transparentGreen
== c2
->transparentGreen
) &&
42 (c1
->transparentBlue
== c2
->transparentBlue
) &&
43 (c1
->transparentAlpha
== c2
->transparentAlpha
) &&
44 (c1
->transparentIndex
== c2
->transparentIndex
) &&
45 (c1
->visualCaveat
== c2
->visualCaveat
) &&
46 (c1
->drawableType
== c2
->drawableType
) &&
47 (c1
->renderType
== c2
->renderType
) &&
49 (c1
->maxPbufferWidth
== c2
->maxPbufferWidth
) &&
50 (c1
->maxPbufferHeight
== c2
->maxPbufferHeight
) &&
51 (c1
->maxPbufferPixels
== c2
->maxPbufferPixels
) &&
52 (c1
->optimalPbufferWidth
== c2
->optimalPbufferWidth
) &&
53 (c1
->optimalPbufferHeight
== c2
->optimalPbufferHeight
) &&
55 (c1
->visualSelectGroup
== c2
->visualSelectGroup
) &&
56 (c1
->rgbMode
== c2
->rgbMode
) &&
57 (c1
->colorIndexMode
== c2
->colorIndexMode
) &&
58 (c1
->doubleBufferMode
== c2
->doubleBufferMode
) &&
59 (c1
->stereoMode
== c2
->stereoMode
) &&
60 (c1
->haveAccumBuffer
== c2
->haveAccumBuffer
) &&
61 (c1
->haveDepthBuffer
== c2
->haveDepthBuffer
) &&
62 (c1
->haveStencilBuffer
== c2
->haveStencilBuffer
) &&
63 (c1
->accumRedBits
== c2
->accumRedBits
) &&
64 (c1
->accumGreenBits
== c2
->accumGreenBits
) &&
65 (c1
->accumBlueBits
== c2
->accumBlueBits
) &&
66 (c1
->accumAlphaBits
== c2
->accumAlphaBits
) &&
67 (c1
->depthBits
== c2
->depthBits
) &&
68 (c1
->stencilBits
== c2
->stencilBits
) &&
69 (c1
->indexBits
== c2
->indexBits
) &&
70 (c1
->redBits
== c2
->redBits
) &&
71 (c1
->greenBits
== c2
->greenBits
) &&
72 (c1
->blueBits
== c2
->blueBits
) &&
73 (c1
->alphaBits
== c2
->alphaBits
) &&
74 (c1
->redMask
== c2
->redMask
) &&
75 (c1
->greenMask
== c2
->greenMask
) &&
76 (c1
->blueMask
== c2
->blueMask
) &&
77 (c1
->alphaMask
== c2
->alphaMask
) &&
78 (c1
->multiSampleSize
== c2
->multiSampleSize
) &&
79 (c1
->nMultiSampleBuffers
== c2
->nMultiSampleBuffers
) &&
80 (c1
->maxAuxBuffers
== c2
->maxAuxBuffers
) &&
81 (c1
->level
== c2
->level
) &&
82 (c1
->extendedRange
== c2
->extendedRange
) &&
83 (c1
->minRed
== c2
->minRed
) &&
84 (c1
->maxRed
== c2
->maxRed
) &&
85 (c1
->minGreen
== c2
->minGreen
) &&
86 (c1
->maxGreen
== c2
->maxGreen
) &&
87 (c1
->minBlue
== c2
->minBlue
) &&
88 (c1
->maxBlue
== c2
->maxBlue
) &&
89 (c1
->minAlpha
== c2
->minAlpha
) && (c1
->maxAlpha
== c2
->maxAlpha
)
96 FindMatchingFBConfig(__GLXFBConfig
* c
, __GLXFBConfig
* configs
, int nconfigs
)
100 for (i
= 0; i
< nconfigs
; i
++) {
101 if (AreFBConfigsMatch(c
, configs
+ i
))