Back to index

x11proto-gl  1.4.16
glxtokens.h
Go to the documentation of this file.
00001 #ifndef __GLX_glxtokens_h__
00002 #define __GLX_glxtokens_h__
00003 
00004 /*
00005  * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
00006  * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
00007  *
00008  * Permission is hereby granted, free of charge, to any person obtaining a
00009  * copy of this software and associated documentation files (the "Software"),
00010  * to deal in the Software without restriction, including without limitation
00011  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00012  * and/or sell copies of the Software, and to permit persons to whom the
00013  * Software is furnished to do so, subject to the following conditions:
00014  *
00015  * The above copyright notice including the dates of first publication and
00016  * either this permission notice or a reference to
00017  * http://oss.sgi.com/projects/FreeB/
00018  * shall be included in all copies or substantial portions of the Software.
00019  *
00020  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00021  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00022  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00023  * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
00024  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
00025  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
00026  * SOFTWARE.
00027  *
00028  * Except as contained in this notice, the name of Silicon Graphics, Inc.
00029  * shall not be used in advertising or otherwise to promote the sale, use or
00030  * other dealings in this Software without prior written authorization from
00031  * Silicon Graphics, Inc.
00032  */
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00038 #define GLX_VERSION_1_1 1
00039 #define GLX_VERSION_1_2 1
00040 #define GLX_VERSION_1_3 1
00041 #define GLX_VERSION_1_4 1
00042 
00043 /*
00044 ** Visual Config Attributes (glXGetConfig, glXGetFBConfigAttrib)
00045 */
00046 #define GLX_USE_GL          1      /* support GLX rendering */
00047 #define GLX_BUFFER_SIZE            2      /* depth of the color buffer */
00048 #define GLX_LEVEL           3      /* level in plane stacking */
00049 #define GLX_RGBA            4      /* true if RGBA mode */
00050 #define GLX_DOUBLEBUFFER    5      /* double buffering supported */
00051 #define GLX_STEREO          6      /* stereo buffering supported */
00052 #define GLX_AUX_BUFFERS            7      /* number of aux buffers */
00053 #define GLX_RED_SIZE        8      /* number of red component bits */
00054 #define GLX_GREEN_SIZE             9      /* number of green component bits */
00055 #define GLX_BLUE_SIZE              10     /* number of blue component bits */
00056 #define GLX_ALPHA_SIZE             11     /* number of alpha component bits */
00057 #define GLX_DEPTH_SIZE             12     /* number of depth bits */
00058 #define GLX_STENCIL_SIZE    13     /* number of stencil bits */
00059 #define GLX_ACCUM_RED_SIZE  14     /* number of red accum bits */
00060 #define GLX_ACCUM_GREEN_SIZE       15     /* number of green accum bits */
00061 #define GLX_ACCUM_BLUE_SIZE 16     /* number of blue accum bits */
00062 #define GLX_ACCUM_ALPHA_SIZE       17     /* number of alpha accum bits */
00063 /*
00064 ** FBConfig-specific attributes
00065 */
00066 #define GLX_X_VISUAL_TYPE          0x22
00067 #define GLX_CONFIG_CAVEAT          0x20   /* Like visual_info VISUAL_CAVEAT_EXT */
00068 #define GLX_TRANSPARENT_TYPE              0x23
00069 #define GLX_TRANSPARENT_INDEX_VALUE       0x24
00070 #define GLX_TRANSPARENT_RED_VALUE  0x25
00071 #define GLX_TRANSPARENT_GREEN_VALUE       0x26
00072 #define GLX_TRANSPARENT_BLUE_VALUE 0x27
00073 #define GLX_TRANSPARENT_ALPHA_VALUE       0x28
00074 #define GLX_DRAWABLE_TYPE          0x8010
00075 #define GLX_RENDER_TYPE                   0x8011
00076 #define GLX_X_RENDERABLE           0x8012
00077 #define GLX_FBCONFIG_ID                   0x8013
00078 #define GLX_MAX_PBUFFER_WIDTH             0x8016
00079 #define GLX_MAX_PBUFFER_HEIGHT            0x8017
00080 #define GLX_MAX_PBUFFER_PIXELS            0x8018
00081 #define GLX_VISUAL_ID                     0x800B
00082 
00083 /* FBConfigSGIX Attributes */
00084 #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX    0x8019
00085 #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX   0x801A
00086 
00087 /*
00088 ** Error return values from glXGetConfig.  Success is indicated by
00089 ** a value of 0.
00090 */
00091 #define GLX_BAD_SCREEN             1      /* screen # is bad */
00092 #define GLX_BAD_ATTRIBUTE   2      /* attribute to get is bad */
00093 #define GLX_NO_EXTENSION    3      /* no glx extension on server */
00094 #define GLX_BAD_VISUAL             4      /* visual # not known by GLX */
00095 #define GLX_BAD_CONTEXT            5      /* returned only by import_context EXT? */
00096 #define GLX_BAD_VALUE              6      /* returned only by glXSwapIntervalSGI? */
00097 #define GLX_BAD_ENUM        7      /* unused? */
00098 
00099 /* FBConfig attribute values */
00100 
00101 /*
00102 ** Generic "don't care" value for glX ChooseFBConfig attributes (except
00103 ** GLX_LEVEL)
00104 */
00105 #define GLX_DONT_CARE                     0xFFFFFFFF
00106 
00107 /* GLX_RENDER_TYPE bits */
00108 #define GLX_RGBA_BIT               0x00000001
00109 #define GLX_COLOR_INDEX_BIT        0x00000002
00110 
00111 /* GLX_DRAWABLE_TYPE bits */
00112 #define GLX_WINDOW_BIT                    0x00000001
00113 #define GLX_PIXMAP_BIT                    0x00000002
00114 #define GLX_PBUFFER_BIT                   0x00000004
00115 
00116 /* GLX_CONFIG_CAVEAT attribute values */
00117 #define GLX_NONE                   0x8000
00118 #define GLX_SLOW_CONFIG                   0x8001
00119 #define GLX_NON_CONFORMANT_CONFIG  0x800D
00120 
00121 /* GLX_X_VISUAL_TYPE attribute values */
00122 #define GLX_TRUE_COLOR                    0x8002
00123 #define GLX_DIRECT_COLOR           0x8003
00124 #define GLX_PSEUDO_COLOR           0x8004
00125 #define GLX_STATIC_COLOR           0x8005
00126 #define GLX_GRAY_SCALE                    0x8006
00127 #define GLX_STATIC_GRAY                   0x8007
00128 
00129 /* GLX_TRANSPARENT_TYPE attribute values */
00130 /* #define GLX_NONE                   0x8000 */
00131 #define GLX_TRANSPARENT_RGB        0x8008
00132 #define GLX_TRANSPARENT_INDEX             0x8009
00133 
00134 /* glXCreateGLXPbuffer attributes */
00135 #define GLX_PRESERVED_CONTENTS            0x801B
00136 #define GLX_LARGEST_PBUFFER        0x801C
00137 #define GLX_PBUFFER_HEIGHT         0x8040 /* New for GLX 1.3 */
00138 #define GLX_PBUFFER_WIDTH          0x8041 /* New for GLX 1.3 */
00139 
00140 /* glXQueryGLXPBuffer attributes */
00141 #define GLX_WIDTH                  0x801D
00142 #define GLX_HEIGHT                 0x801E
00143 #define GLX_EVENT_MASK                    0x801F
00144 
00145 /* glXCreateNewContext render_type attribute values */
00146 #define GLX_RGBA_TYPE                     0x8014
00147 #define GLX_COLOR_INDEX_TYPE              0x8015
00148 
00149 /* glXQueryContext attributes */
00150 /* #define GLX_FBCONFIG_ID           0x8013 */
00151 /* #define GLX_RENDER_TYPE           0x8011 */
00152 #define GLX_SCREEN                 0x800C
00153 
00154 /* glXSelectEvent event mask bits */
00155 #define GLX_PBUFFER_CLOBBER_MASK   0x08000000
00156 #define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK      0x04000000
00157 
00158 /* GLXPbufferClobberEvent event_type values */
00159 #define GLX_DAMAGED                0x8020
00160 #define GLX_SAVED                  0x8021
00161 #define GLX_EXCHANGE_COMPLETE_INTEL       0x8180
00162 #define GLX_BLIT_COMPLETE_INTEL           0x8181
00163 #define GLX_FLIP_COMPLETE_INTEL           0x8182
00164 
00165 /* GLXPbufferClobberEvent draw_type values */
00166 #define GLX_WINDOW                 0x8022
00167 #define GLX_PBUFFER                0x8023
00168 
00169 /* GLXPbufferClobberEvent buffer_mask bits */
00170 #define GLX_FRONT_LEFT_BUFFER_BIT  0x00000001
00171 #define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
00172 #define GLX_BACK_LEFT_BUFFER_BIT   0x00000004
00173 #define GLX_BACK_RIGHT_BUFFER_BIT  0x00000008
00174 #define GLX_AUX_BUFFERS_BIT        0x00000010
00175 #define GLX_DEPTH_BUFFER_BIT              0x00000020
00176 #define GLX_STENCIL_BUFFER_BIT            0x00000040
00177 #define GLX_ACCUM_BUFFER_BIT              0x00000080
00178 
00179 /*
00180 ** Extension return values from glXGetConfig.  These are also
00181 ** accepted as parameter values for glXChooseVisual.
00182 */
00183 
00184 #define GLX_X_VISUAL_TYPE_EXT      0x22   /* visual_info extension type */
00185 #define GLX_TRANSPARENT_TYPE_EXT 0x23     /* visual_info extension */
00186 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24     /* visual_info extension */
00187 #define GLX_TRANSPARENT_RED_VALUE_EXT     0x25   /* visual_info extension */
00188 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26     /* visual_info extension */
00189 #define GLX_TRANSPARENT_BLUE_VALUE_EXT    0x27   /* visual_info extension */
00190 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28     /* visual_info extension */
00191 
00192 /* Property values for visual_type */
00193 #define GLX_TRUE_COLOR_EXT  0x8002
00194 #define GLX_DIRECT_COLOR_EXT       0x8003
00195 #define GLX_PSEUDO_COLOR_EXT       0x8004
00196 #define GLX_STATIC_COLOR_EXT       0x8005
00197 #define GLX_GRAY_SCALE_EXT  0x8006
00198 #define GLX_STATIC_GRAY_EXT 0x8007
00199 
00200 /* Property values for transparent pixel */
00201 #define GLX_NONE_EXT        0x8000
00202 #define GLX_TRANSPARENT_RGB_EXT           0x8008
00203 #define GLX_TRANSPARENT_INDEX_EXT  0x8009
00204 
00205 /* Property values for visual_rating */
00206 #define GLX_VISUAL_CAVEAT_EXT             0x20  /* visual_rating extension type */
00207 #define GLX_SLOW_VISUAL_EXT        0x8001
00208 #define GLX_NON_CONFORMANT_VISUAL_EXT     0x800D
00209 
00210 /* Property values for swap method (GLX_OML_swap_method) */
00211 #define GLX_SWAP_METHOD_OML                0x8060
00212 #define GLX_SWAP_EXCHANGE_OML              0x8061
00213 #define GLX_SWAP_COPY_OML                  0x8062
00214 #define GLX_SWAP_UNDEFINED_OML             0x8063
00215 
00216 /* Property values for multi-sampling */
00217 #define GLX_VISUAL_SELECT_GROUP_SGIX      0x8028 /* visuals grouped by select priority */
00218 
00219 /*
00220 ** Names for attributes to glXGetClientString.
00221 */
00222 #define GLX_VENDOR          0x1
00223 #define GLX_VERSION         0x2
00224 #define GLX_EXTENSIONS             0x3
00225 
00226 /*
00227 ** Names for attributes to glXQueryContextInfoEXT.
00228 */
00229 #define GLX_SHARE_CONTEXT_EXT      0x800A /* id of share context */
00230 #define GLX_VISUAL_ID_EXT   0x800B /* id of context's visual */
00231 #define GLX_SCREEN_EXT             0x800C /* screen number */
00232 
00233 /*
00234 ** GLX_EXT_texture_from_pixmap
00235 */
00236 #define GLX_BIND_TO_TEXTURE_RGB_EXT        0x20D0
00237 #define GLX_BIND_TO_TEXTURE_RGBA_EXT       0x20D1
00238 #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT     0x20D2
00239 #define GLX_BIND_TO_TEXTURE_TARGETS_EXT    0x20D3
00240 #define GLX_Y_INVERTED_EXT                 0x20D4
00241 
00242 #define GLX_TEXTURE_FORMAT_EXT             0x20D5
00243 #define GLX_TEXTURE_TARGET_EXT             0x20D6
00244 #define GLX_MIPMAP_TEXTURE_EXT             0x20D7
00245 
00246 #define GLX_TEXTURE_FORMAT_NONE_EXT        0x20D8
00247 #define GLX_TEXTURE_FORMAT_RGB_EXT         0x20D9
00248 #define GLX_TEXTURE_FORMAT_RGBA_EXT        0x20DA
00249 
00250 #define GLX_TEXTURE_1D_BIT_EXT             0x00000001
00251 #define GLX_TEXTURE_2D_BIT_EXT             0x00000002
00252 #define GLX_TEXTURE_RECTANGLE_BIT_EXT      0x00000004
00253 
00254 #define GLX_TEXTURE_1D_EXT                 0x20DB
00255 #define GLX_TEXTURE_2D_EXT                 0x20DC
00256 #define GLX_TEXTURE_RECTANGLE_EXT          0x20DD
00257 
00258 #define GLX_FRONT_LEFT_EXT                 0x20DE
00259 #define GLX_FRONT_RIGHT_EXT                0x20DF
00260 #define GLX_BACK_LEFT_EXT                  0x20E0
00261 #define GLX_BACK_RIGHT_EXT                 0x20E1
00262 #define GLX_FRONT_EXT                      GLX_FRONT_LEFT_EXT
00263 #define GLX_BACK_EXT                       GLX_BACK_LEFT_EXT
00264 #define GLX_AUX0_EXT                       0x20E2
00265 #define GLX_AUX1_EXT                       0x20E3 
00266 #define GLX_AUX2_EXT                       0x20E4 
00267 #define GLX_AUX3_EXT                       0x20E5 
00268 #define GLX_AUX4_EXT                       0x20E6 
00269 #define GLX_AUX5_EXT                       0x20E7 
00270 #define GLX_AUX6_EXT                       0x20E8
00271 #define GLX_AUX7_EXT                       0x20E9 
00272 #define GLX_AUX8_EXT                       0x20EA 
00273 #define GLX_AUX9_EXT                       0x20EB
00274 
00275 /*
00276  * GLX 1.4 and later:
00277  */
00278 #define GLX_SAMPLE_BUFFERS_SGIS            100000
00279 #define GLX_SAMPLES_SGIS                   100001
00280 
00281 /*
00282  * GLX_EXT_framebuffer_SRGB
00283  */
00284 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT   0x20B2
00285 
00286 /*
00287  * GLX_ARB_create_context
00288  * GLX_ARB_create_context_profile
00289  * GLX_EXT_create_context_es2_profile
00290  */
00291 #define GLX_CONTEXT_MAJOR_VERSION_ARB      0x2091
00292 #define GLX_CONTEXT_MINOR_VERSION_ARB      0x2092
00293 #define GLX_CONTEXT_FLAGS_ARB              0x2094
00294 #define GLX_CONTEXT_PROFILE_MASK_ARB       0x9126
00295 
00296 #define GLX_CONTEXT_DEBUG_BIT_ARB          0x0001
00297 #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB          0x0002
00298 
00299 #define GLX_CONTEXT_CORE_PROFILE_BIT_ARB   0x0001
00300 #define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB   0x0002
00301 #define GLX_CONTEXT_ES2_PROFILE_BIT_EXT    0x0004
00302 
00303 /*
00304  * GLX_ARB_create_context_robustness
00305  */
00306 #define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB  0x0004
00307 #define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
00308 #define GLX_NO_RESET_NOTIFICATION_ARB      0x8261
00309 #define GLX_LOSE_CONTEXT_ON_RESET_ARB      0x8252
00310 #ifdef __cplusplus
00311 }
00312 #endif
00313 
00314 #endif /* !__GLX_glxtokens_h__ */