alexanderswang

OpenGL / .h / glxtokens.h

Jun 25th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.48 KB | None | 0 0
  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__ */
Add Comment
Please, Sign In to add comment