github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xcb/include/GL/glxtokens.h (about)

     1  #ifndef __GLX_glxtokens_h__
     2  #define __GLX_glxtokens_h__
     3  
     4  /*
     5   * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
     6   * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
     7   *
     8   * Permission is hereby granted, free of charge, to any person obtaining a
     9   * copy of this software and associated documentation files (the "Software"),
    10   * to deal in the Software without restriction, including without limitation
    11   * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    12   * and/or sell copies of the Software, and to permit persons to whom the
    13   * Software is furnished to do so, subject to the following conditions:
    14   *
    15   * The above copyright notice including the dates of first publication and
    16   * either this permission notice or a reference to
    17   * http://oss.sgi.com/projects/FreeB/
    18   * shall be included in all copies or substantial portions of the Software.
    19   *
    20   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    21   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    22   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    23   * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    24   * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
    25   * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    26   * SOFTWARE.
    27   *
    28   * Except as contained in this notice, the name of Silicon Graphics, Inc.
    29   * shall not be used in advertising or otherwise to promote the sale, use or
    30   * other dealings in this Software without prior written authorization from
    31   * Silicon Graphics, Inc.
    32   */
    33  
    34  #ifdef __cplusplus
    35  extern "C" {
    36  #endif
    37  
    38  #define GLX_VERSION_1_1 1
    39  #define GLX_VERSION_1_2 1
    40  #define GLX_VERSION_1_3 1
    41  #define GLX_VERSION_1_4 1
    42  
    43  /*
    44  ** Visual Config Attributes (glXGetConfig, glXGetFBConfigAttrib)
    45  */
    46  #define GLX_USE_GL		1	/* support GLX rendering */
    47  #define GLX_BUFFER_SIZE		2	/* depth of the color buffer */
    48  #define GLX_LEVEL		3	/* level in plane stacking */
    49  #define GLX_RGBA		4	/* true if RGBA mode */
    50  #define GLX_DOUBLEBUFFER	5	/* double buffering supported */
    51  #define GLX_STEREO		6	/* stereo buffering supported */
    52  #define GLX_AUX_BUFFERS		7	/* number of aux buffers */
    53  #define GLX_RED_SIZE		8	/* number of red component bits */
    54  #define GLX_GREEN_SIZE		9	/* number of green component bits */
    55  #define GLX_BLUE_SIZE		10	/* number of blue component bits */
    56  #define GLX_ALPHA_SIZE		11	/* number of alpha component bits */
    57  #define GLX_DEPTH_SIZE		12	/* number of depth bits */
    58  #define GLX_STENCIL_SIZE	13	/* number of stencil bits */
    59  #define GLX_ACCUM_RED_SIZE	14	/* number of red accum bits */
    60  #define GLX_ACCUM_GREEN_SIZE	15	/* number of green accum bits */
    61  #define GLX_ACCUM_BLUE_SIZE	16	/* number of blue accum bits */
    62  #define GLX_ACCUM_ALPHA_SIZE	17	/* number of alpha accum bits */
    63  /*
    64  ** FBConfig-specific attributes
    65  */
    66  #define GLX_X_VISUAL_TYPE		0x22
    67  #define GLX_CONFIG_CAVEAT		0x20	/* Like visual_info VISUAL_CAVEAT_EXT */
    68  #define GLX_TRANSPARENT_TYPE		0x23
    69  #define GLX_TRANSPARENT_INDEX_VALUE	0x24
    70  #define GLX_TRANSPARENT_RED_VALUE	0x25
    71  #define GLX_TRANSPARENT_GREEN_VALUE	0x26
    72  #define GLX_TRANSPARENT_BLUE_VALUE	0x27
    73  #define GLX_TRANSPARENT_ALPHA_VALUE	0x28
    74  #define GLX_DRAWABLE_TYPE		0x8010
    75  #define GLX_RENDER_TYPE			0x8011
    76  #define GLX_X_RENDERABLE		0x8012
    77  #define GLX_FBCONFIG_ID			0x8013
    78  #define GLX_MAX_PBUFFER_WIDTH		0x8016
    79  #define GLX_MAX_PBUFFER_HEIGHT		0x8017
    80  #define GLX_MAX_PBUFFER_PIXELS		0x8018
    81  #define GLX_VISUAL_ID			0x800B
    82  
    83  /* FBConfigSGIX Attributes */
    84  #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX	0x8019
    85  #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX	0x801A
    86  
    87  /*
    88  ** Error return values from glXGetConfig.  Success is indicated by
    89  ** a value of 0.
    90  */
    91  #define GLX_BAD_SCREEN		1	/* screen # is bad */
    92  #define GLX_BAD_ATTRIBUTE	2	/* attribute to get is bad */
    93  #define GLX_NO_EXTENSION	3	/* no glx extension on server */
    94  #define GLX_BAD_VISUAL		4	/* visual # not known by GLX */
    95  #define GLX_BAD_CONTEXT		5	/* returned only by import_context EXT? */
    96  #define GLX_BAD_VALUE		6	/* returned only by glXSwapIntervalSGI? */
    97  #define GLX_BAD_ENUM		7	/* unused? */
    98  
    99  /* FBConfig attribute values */
   100  
   101  /*
   102  ** Generic "don't care" value for glX ChooseFBConfig attributes (except
   103  ** GLX_LEVEL)
   104  */
   105  #define GLX_DONT_CARE			0xFFFFFFFF
   106  
   107  /* GLX_RENDER_TYPE bits */
   108  #define GLX_RGBA_BIT			0x00000001
   109  #define GLX_COLOR_INDEX_BIT		0x00000002
   110  #define GLX_RGBA_FLOAT_BIT_ARB          0x00000004
   111  #define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
   112  
   113  /* GLX_DRAWABLE_TYPE bits */
   114  #define GLX_WINDOW_BIT			0x00000001
   115  #define GLX_PIXMAP_BIT			0x00000002
   116  #define GLX_PBUFFER_BIT			0x00000004
   117  
   118  /* GLX_CONFIG_CAVEAT attribute values */
   119  #define GLX_NONE			0x8000
   120  #define GLX_SLOW_CONFIG			0x8001
   121  #define GLX_NON_CONFORMANT_CONFIG	0x800D
   122  
   123  /* GLX_X_VISUAL_TYPE attribute values */
   124  #define GLX_TRUE_COLOR			0x8002
   125  #define GLX_DIRECT_COLOR		0x8003
   126  #define GLX_PSEUDO_COLOR		0x8004
   127  #define GLX_STATIC_COLOR		0x8005
   128  #define GLX_GRAY_SCALE			0x8006
   129  #define GLX_STATIC_GRAY			0x8007
   130  
   131  /* GLX_TRANSPARENT_TYPE attribute values */
   132  /* #define GLX_NONE			   0x8000 */
   133  #define GLX_TRANSPARENT_RGB		0x8008
   134  #define GLX_TRANSPARENT_INDEX		0x8009
   135  
   136  /* glXCreateGLXPbuffer attributes */
   137  #define GLX_PRESERVED_CONTENTS		0x801B
   138  #define GLX_LARGEST_PBUFFER		0x801C
   139  #define GLX_PBUFFER_HEIGHT		0x8040	/* New for GLX 1.3 */
   140  #define GLX_PBUFFER_WIDTH		0x8041	/* New for GLX 1.3 */
   141  
   142  /* glXQueryGLXPBuffer attributes */
   143  #define GLX_WIDTH			0x801D
   144  #define GLX_HEIGHT			0x801E
   145  #define GLX_EVENT_MASK			0x801F
   146  
   147  /* glXCreateNewContext render_type attribute values */
   148  #define GLX_RGBA_TYPE			0x8014
   149  #define GLX_COLOR_INDEX_TYPE		0x8015
   150  
   151  /* glXQueryContext attributes */
   152  /* #define GLX_FBCONFIG_ID		  0x8013 */
   153  /* #define GLX_RENDER_TYPE		  0x8011 */
   154  #define GLX_SCREEN			0x800C
   155  
   156  /* glXSelectEvent event mask bits */
   157  #define GLX_PBUFFER_CLOBBER_MASK	0x08000000
   158  #define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK	0x04000000
   159  
   160  /* GLXPbufferClobberEvent event_type values */
   161  #define GLX_DAMAGED			0x8020
   162  #define GLX_SAVED			0x8021
   163  #define GLX_EXCHANGE_COMPLETE_INTEL	0x8180
   164  #define GLX_BLIT_COMPLETE_INTEL		0x8181
   165  #define GLX_FLIP_COMPLETE_INTEL		0x8182
   166  
   167  /* GLXPbufferClobberEvent draw_type values */
   168  #define GLX_WINDOW			0x8022
   169  #define GLX_PBUFFER			0x8023
   170  
   171  /* GLXPbufferClobberEvent buffer_mask bits */
   172  #define GLX_FRONT_LEFT_BUFFER_BIT	0x00000001
   173  #define GLX_FRONT_RIGHT_BUFFER_BIT	0x00000002
   174  #define GLX_BACK_LEFT_BUFFER_BIT	0x00000004
   175  #define GLX_BACK_RIGHT_BUFFER_BIT	0x00000008
   176  #define GLX_AUX_BUFFERS_BIT		0x00000010
   177  #define GLX_DEPTH_BUFFER_BIT		0x00000020
   178  #define GLX_STENCIL_BUFFER_BIT		0x00000040
   179  #define GLX_ACCUM_BUFFER_BIT		0x00000080
   180  
   181  /*
   182  ** Extension return values from glXGetConfig.  These are also
   183  ** accepted as parameter values for glXChooseVisual.
   184  */
   185  
   186  #define GLX_X_VISUAL_TYPE_EXT	0x22	/* visual_info extension type */
   187  #define GLX_TRANSPARENT_TYPE_EXT 0x23	/* visual_info extension */
   188  #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24	/* visual_info extension */
   189  #define GLX_TRANSPARENT_RED_VALUE_EXT	0x25	/* visual_info extension */
   190  #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26	/* visual_info extension */
   191  #define GLX_TRANSPARENT_BLUE_VALUE_EXT	0x27	/* visual_info extension */
   192  #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28	/* visual_info extension */
   193  
   194  /* Property values for visual_type */
   195  #define GLX_TRUE_COLOR_EXT	0x8002
   196  #define GLX_DIRECT_COLOR_EXT	0x8003
   197  #define GLX_PSEUDO_COLOR_EXT	0x8004
   198  #define GLX_STATIC_COLOR_EXT	0x8005
   199  #define GLX_GRAY_SCALE_EXT	0x8006
   200  #define GLX_STATIC_GRAY_EXT	0x8007
   201  
   202  /* Property values for transparent pixel */
   203  #define GLX_NONE_EXT		0x8000
   204  #define GLX_TRANSPARENT_RGB_EXT		0x8008
   205  #define GLX_TRANSPARENT_INDEX_EXT	0x8009
   206  
   207  /* Property values for visual_rating */
   208  #define GLX_VISUAL_CAVEAT_EXT		0x20  /* visual_rating extension type */
   209  #define GLX_SLOW_VISUAL_EXT		0x8001
   210  #define GLX_NON_CONFORMANT_VISUAL_EXT	0x800D
   211  
   212  /* Property values for swap method (GLX_OML_swap_method) */
   213  #define GLX_SWAP_METHOD_OML                0x8060
   214  #define GLX_SWAP_EXCHANGE_OML              0x8061
   215  #define GLX_SWAP_COPY_OML                  0x8062
   216  #define GLX_SWAP_UNDEFINED_OML             0x8063
   217  
   218  /* Property values for multi-sampling */
   219  #define GLX_VISUAL_SELECT_GROUP_SGIX	0x8028	/* visuals grouped by select priority */
   220  
   221  /*
   222  ** Names for attributes to glXGetClientString.
   223  */
   224  #define GLX_VENDOR		0x1
   225  #define GLX_VERSION		0x2
   226  #define GLX_EXTENSIONS		0x3
   227  
   228  /*
   229  ** Names for attributes to glXQueryContextInfoEXT.
   230  */
   231  #define GLX_SHARE_CONTEXT_EXT	0x800A	/* id of share context */
   232  #define GLX_VISUAL_ID_EXT	0x800B	/* id of context's visual */
   233  #define GLX_SCREEN_EXT		0x800C	/* screen number */
   234  
   235  /*
   236  ** GLX_EXT_texture_from_pixmap
   237  */
   238  #define GLX_BIND_TO_TEXTURE_RGB_EXT        0x20D0
   239  #define GLX_BIND_TO_TEXTURE_RGBA_EXT       0x20D1
   240  #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT     0x20D2
   241  #define GLX_BIND_TO_TEXTURE_TARGETS_EXT    0x20D3
   242  #define GLX_Y_INVERTED_EXT                 0x20D4
   243  
   244  #define GLX_TEXTURE_FORMAT_EXT             0x20D5
   245  #define GLX_TEXTURE_TARGET_EXT             0x20D6
   246  #define GLX_MIPMAP_TEXTURE_EXT             0x20D7
   247  
   248  #define GLX_TEXTURE_FORMAT_NONE_EXT        0x20D8
   249  #define GLX_TEXTURE_FORMAT_RGB_EXT         0x20D9
   250  #define GLX_TEXTURE_FORMAT_RGBA_EXT        0x20DA
   251  
   252  #define GLX_TEXTURE_1D_BIT_EXT             0x00000001
   253  #define GLX_TEXTURE_2D_BIT_EXT             0x00000002
   254  #define GLX_TEXTURE_RECTANGLE_BIT_EXT      0x00000004
   255  
   256  #define GLX_TEXTURE_1D_EXT                 0x20DB
   257  #define GLX_TEXTURE_2D_EXT                 0x20DC
   258  #define GLX_TEXTURE_RECTANGLE_EXT          0x20DD
   259  
   260  #define GLX_FRONT_LEFT_EXT                 0x20DE
   261  #define GLX_FRONT_RIGHT_EXT                0x20DF
   262  #define GLX_BACK_LEFT_EXT                  0x20E0
   263  #define GLX_BACK_RIGHT_EXT                 0x20E1
   264  #define GLX_FRONT_EXT                      GLX_FRONT_LEFT_EXT
   265  #define GLX_BACK_EXT                       GLX_BACK_LEFT_EXT
   266  #define GLX_AUX0_EXT                       0x20E2
   267  #define GLX_AUX1_EXT                       0x20E3
   268  #define GLX_AUX2_EXT                       0x20E4
   269  #define GLX_AUX3_EXT                       0x20E5
   270  #define GLX_AUX4_EXT                       0x20E6
   271  #define GLX_AUX5_EXT                       0x20E7
   272  #define GLX_AUX6_EXT                       0x20E8
   273  #define GLX_AUX7_EXT                       0x20E9
   274  #define GLX_AUX8_EXT                       0x20EA
   275  #define GLX_AUX9_EXT                       0x20EB
   276  
   277  /*
   278   * GLX 1.4 and later:
   279   */
   280  #define GLX_SAMPLE_BUFFERS_SGIS            100000
   281  #define GLX_SAMPLES_SGIS                   100001
   282  
   283  /*
   284   * GLX_EXT_framebuffer_SRGB
   285   */
   286  #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT   0x20B2
   287  
   288  /*
   289   * GLX_ARB_create_context
   290   * GLX_ARB_create_context_profile
   291   * GLX_EXT_create_context_es2_profile
   292   */
   293  #define GLX_CONTEXT_MAJOR_VERSION_ARB      0x2091
   294  #define GLX_CONTEXT_MINOR_VERSION_ARB      0x2092
   295  #define GLX_CONTEXT_FLAGS_ARB              0x2094
   296  #define GLX_CONTEXT_PROFILE_MASK_ARB       0x9126
   297  
   298  #define GLX_CONTEXT_DEBUG_BIT_ARB          0x0001
   299  #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB          0x0002
   300  
   301  #define GLX_CONTEXT_CORE_PROFILE_BIT_ARB   0x0001
   302  #define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB   0x0002
   303  #define GLX_CONTEXT_ES2_PROFILE_BIT_EXT    0x0004
   304  
   305  /*
   306   * GLX_ARB_create_context_robustness
   307   */
   308  #define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB  0x0004
   309  #define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
   310  #define GLX_NO_RESET_NOTIFICATION_ARB      0x8261
   311  #define GLX_LOSE_CONTEXT_ON_RESET_ARB      0x8252
   312  #ifdef __cplusplus
   313  }
   314  #endif
   315  
   316  #endif /* !__GLX_glxtokens_h__ */