xref: /aosp_15_r20/external/mesa3d/src/glx/glxconfig.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker /*
2*61046927SAndroid Build Coastguard Worker  * (C) Copyright IBM Corporation 2003
3*61046927SAndroid Build Coastguard Worker  * All Rights Reserved.
4*61046927SAndroid Build Coastguard Worker  *
5*61046927SAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining a
6*61046927SAndroid Build Coastguard Worker  * copy of this software and associated documentation files (the "Software"),
7*61046927SAndroid Build Coastguard Worker  * to deal in the Software without restriction, including without limitation
8*61046927SAndroid Build Coastguard Worker  * on the rights to use, copy, modify, merge, publish, distribute, sub
9*61046927SAndroid Build Coastguard Worker  * license, and/or sell copies of the Software, and to permit persons to whom
10*61046927SAndroid Build Coastguard Worker  * the Software is furnished to do so, subject to the following conditions:
11*61046927SAndroid Build Coastguard Worker  *
12*61046927SAndroid Build Coastguard Worker  * The above copyright notice and this permission notice (including the next
13*61046927SAndroid Build Coastguard Worker  * paragraph) shall be included in all copies or substantial portions of the
14*61046927SAndroid Build Coastguard Worker  * Software.
15*61046927SAndroid Build Coastguard Worker  *
16*61046927SAndroid Build Coastguard Worker  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17*61046927SAndroid Build Coastguard Worker  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18*61046927SAndroid Build Coastguard Worker  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
19*61046927SAndroid Build Coastguard Worker  * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
20*61046927SAndroid Build Coastguard Worker  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21*61046927SAndroid Build Coastguard Worker  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
22*61046927SAndroid Build Coastguard Worker  * USE OR OTHER DEALINGS IN THE SOFTWARE.
23*61046927SAndroid Build Coastguard Worker  */
24*61046927SAndroid Build Coastguard Worker 
25*61046927SAndroid Build Coastguard Worker /**
26*61046927SAndroid Build Coastguard Worker  * \file glcontextmodes.h
27*61046927SAndroid Build Coastguard Worker  * \author Ian Romanick <[email protected]>
28*61046927SAndroid Build Coastguard Worker  */
29*61046927SAndroid Build Coastguard Worker 
30*61046927SAndroid Build Coastguard Worker #ifndef GLCONTEXTMODES_H
31*61046927SAndroid Build Coastguard Worker #define GLCONTEXTMODES_H
32*61046927SAndroid Build Coastguard Worker 
33*61046927SAndroid Build Coastguard Worker struct glx_config {
34*61046927SAndroid Build Coastguard Worker     struct glx_config * next;
35*61046927SAndroid Build Coastguard Worker 
36*61046927SAndroid Build Coastguard Worker     GLuint doubleBufferMode;
37*61046927SAndroid Build Coastguard Worker     GLuint stereoMode;
38*61046927SAndroid Build Coastguard Worker 
39*61046927SAndroid Build Coastguard Worker     GLint redBits, greenBits, blueBits, alphaBits;   /* bits per comp */
40*61046927SAndroid Build Coastguard Worker     GLuint redMask, greenMask, blueMask, alphaMask;
41*61046927SAndroid Build Coastguard Worker     GLuint redShift, greenShift, blueShift, alphaShift;
42*61046927SAndroid Build Coastguard Worker     GLint rgbBits;      /* total bits for rgb */
43*61046927SAndroid Build Coastguard Worker     GLint indexBits;      /* total bits for colorindex */
44*61046927SAndroid Build Coastguard Worker 
45*61046927SAndroid Build Coastguard Worker     GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
46*61046927SAndroid Build Coastguard Worker     GLint depthBits;
47*61046927SAndroid Build Coastguard Worker     GLint stencilBits;
48*61046927SAndroid Build Coastguard Worker 
49*61046927SAndroid Build Coastguard Worker     GLint numAuxBuffers;
50*61046927SAndroid Build Coastguard Worker 
51*61046927SAndroid Build Coastguard Worker     GLint level;
52*61046927SAndroid Build Coastguard Worker 
53*61046927SAndroid Build Coastguard Worker     /* GLX */
54*61046927SAndroid Build Coastguard Worker     GLint visualID;
55*61046927SAndroid Build Coastguard Worker     GLint visualType;     /**< One of the GLX X visual types. (i.e.,
56*61046927SAndroid Build Coastguard Worker             * \c GLX_TRUE_COLOR, etc.)
57*61046927SAndroid Build Coastguard Worker             */
58*61046927SAndroid Build Coastguard Worker 
59*61046927SAndroid Build Coastguard Worker     /* EXT_visual_rating / GLX 1.2 */
60*61046927SAndroid Build Coastguard Worker     GLint visualRating;
61*61046927SAndroid Build Coastguard Worker 
62*61046927SAndroid Build Coastguard Worker     /* EXT_visual_info / GLX 1.2 */
63*61046927SAndroid Build Coastguard Worker     GLint transparentPixel;
64*61046927SAndroid Build Coastguard Worker             /*    colors are floats scaled to ints */
65*61046927SAndroid Build Coastguard Worker     GLint transparentRed, transparentGreen, transparentBlue, transparentAlpha;
66*61046927SAndroid Build Coastguard Worker     GLint transparentIndex;
67*61046927SAndroid Build Coastguard Worker 
68*61046927SAndroid Build Coastguard Worker     /* ARB_multisample / SGIS_multisample */
69*61046927SAndroid Build Coastguard Worker     GLint sampleBuffers;
70*61046927SAndroid Build Coastguard Worker     GLint samples;
71*61046927SAndroid Build Coastguard Worker 
72*61046927SAndroid Build Coastguard Worker     /* SGIX_fbconfig / GLX 1.3 */
73*61046927SAndroid Build Coastguard Worker     GLint drawableType;
74*61046927SAndroid Build Coastguard Worker     GLint renderType;
75*61046927SAndroid Build Coastguard Worker     GLint xRenderable;
76*61046927SAndroid Build Coastguard Worker     GLint fbconfigID;
77*61046927SAndroid Build Coastguard Worker 
78*61046927SAndroid Build Coastguard Worker     /* SGIX_pbuffer / GLX 1.3 */
79*61046927SAndroid Build Coastguard Worker     GLint maxPbufferWidth;
80*61046927SAndroid Build Coastguard Worker     GLint maxPbufferHeight;
81*61046927SAndroid Build Coastguard Worker     GLint maxPbufferPixels;
82*61046927SAndroid Build Coastguard Worker     GLint optimalPbufferWidth;   /* Only for SGIX_pbuffer. */
83*61046927SAndroid Build Coastguard Worker     GLint optimalPbufferHeight;  /* Only for SGIX_pbuffer. */
84*61046927SAndroid Build Coastguard Worker 
85*61046927SAndroid Build Coastguard Worker     /* SGIX_visual_select_group */
86*61046927SAndroid Build Coastguard Worker     GLint visualSelectGroup;
87*61046927SAndroid Build Coastguard Worker 
88*61046927SAndroid Build Coastguard Worker     GLint screen;
89*61046927SAndroid Build Coastguard Worker 
90*61046927SAndroid Build Coastguard Worker     /* EXT_texture_from_pixmap */
91*61046927SAndroid Build Coastguard Worker     GLint bindToTextureRgb;
92*61046927SAndroid Build Coastguard Worker     GLint bindToTextureRgba;
93*61046927SAndroid Build Coastguard Worker     GLint bindToMipmapTexture;
94*61046927SAndroid Build Coastguard Worker     GLint bindToTextureTargets;
95*61046927SAndroid Build Coastguard Worker     GLint yInverted;
96*61046927SAndroid Build Coastguard Worker 
97*61046927SAndroid Build Coastguard Worker     /* EXT_framebuffer_sRGB */
98*61046927SAndroid Build Coastguard Worker     GLint sRGBCapable;
99*61046927SAndroid Build Coastguard Worker 
100*61046927SAndroid Build Coastguard Worker     /* NV_float_buffer */
101*61046927SAndroid Build Coastguard Worker     GLint floatComponentsNV;
102*61046927SAndroid Build Coastguard Worker };
103*61046927SAndroid Build Coastguard Worker 
104*61046927SAndroid Build Coastguard Worker extern GLint _gl_convert_from_x_visual_type(int visualType);
105*61046927SAndroid Build Coastguard Worker 
106*61046927SAndroid Build Coastguard Worker extern int
107*61046927SAndroid Build Coastguard Worker glx_config_get(struct glx_config * mode, int attribute, int *value_return);
108*61046927SAndroid Build Coastguard Worker extern struct glx_config *
109*61046927SAndroid Build Coastguard Worker glx_config_create_list(unsigned count);
110*61046927SAndroid Build Coastguard Worker extern void
111*61046927SAndroid Build Coastguard Worker glx_config_destroy_list(struct glx_config *configs);
112*61046927SAndroid Build Coastguard Worker extern struct glx_config *
113*61046927SAndroid Build Coastguard Worker glx_config_find_visual(struct glx_config *configs, int vid);
114*61046927SAndroid Build Coastguard Worker extern struct glx_config *
115*61046927SAndroid Build Coastguard Worker glx_config_find_fbconfig(struct glx_config *configs, int fbid);
116*61046927SAndroid Build Coastguard Worker 
117*61046927SAndroid Build Coastguard Worker #endif /* GLCONTEXTMODES_H */
118*61046927SAndroid Build Coastguard Worker 
119