glx_obs.h 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. #ifndef POINTER_C_GENERATED_HEADER_GLXWIN_H
  2. #define POINTER_C_GENERATED_HEADER_GLXWIN_H
  3. #ifdef __glxext_h_
  4. #error Attempt to include glx_exts after including glxext.h
  5. #endif
  6. #define __glxext_h_
  7. #include <X11/Xlib.h>
  8. #include <X11/Xutil.h>
  9. #include <GL/glx.h>
  10. #ifdef CODEGEN_FUNCPTR
  11. #undef CODEGEN_FUNCPTR
  12. #endif /*CODEGEN_FUNCPTR*/
  13. #define CODEGEN_FUNCPTR
  14. #ifndef GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS
  15. #define GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS
  16. typedef unsigned int GLenum;
  17. typedef unsigned char GLboolean;
  18. typedef unsigned int GLbitfield;
  19. typedef signed char GLbyte;
  20. typedef short GLshort;
  21. typedef int GLint;
  22. typedef int GLsizei;
  23. typedef unsigned char GLubyte;
  24. typedef unsigned short GLushort;
  25. typedef unsigned int GLuint;
  26. typedef float GLfloat;
  27. typedef float GLclampf;
  28. typedef double GLdouble;
  29. typedef double GLclampd;
  30. #define GLvoid void
  31. #endif /*GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS*/
  32. #ifndef GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS
  33. #define GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS
  34. #endif /*GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS*/
  35. #ifndef GLEXT_64_TYPES_DEFINED
  36. /* This code block is duplicated in glext.h, so must be protected */
  37. #define GLEXT_64_TYPES_DEFINED
  38. /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
  39. /* (as used in the GLX_OML_sync_control extension). */
  40. #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  41. #include <inttypes.h>
  42. #elif defined(__sun__) || defined(__digital__)
  43. #include <inttypes.h>
  44. #if defined(__STDC__)
  45. #if defined(__arch64__) || defined(_LP64)
  46. typedef long int int64_t;
  47. typedef unsigned long int uint64_t;
  48. #else
  49. typedef long long int int64_t;
  50. typedef unsigned long long int uint64_t;
  51. #endif /* __arch64__ */
  52. #endif /* __STDC__ */
  53. #elif defined( __VMS ) || defined(__sgi)
  54. #include <inttypes.h>
  55. #elif defined(__SCO__) || defined(__USLC__)
  56. #include <stdint.h>
  57. #elif defined(__UNIXOS2__) || defined(__SOL64__)
  58. typedef long int int32_t;
  59. typedef long long int int64_t;
  60. typedef unsigned long long int uint64_t;
  61. #elif defined(_WIN32) && defined(__GNUC__)
  62. #include <stdint.h>
  63. #elif defined(_WIN32)
  64. typedef __int32 int32_t;
  65. typedef __int64 int64_t;
  66. typedef unsigned __int64 uint64_t;
  67. #else
  68. /* Fallback if nothing above works */
  69. #include <inttypes.h>
  70. #endif
  71. #endif
  72. typedef struct __GLXFBConfigRec *GLXFBConfig;
  73. typedef XID GLXContextID;
  74. typedef struct __GLXcontextRec *GLXContext;
  75. typedef XID GLXPixmap;
  76. typedef XID GLXDrawable;
  77. typedef XID GLXPbuffer;
  78. typedef void (APIENTRY *__GLXextFuncPtr)(void);
  79. typedef XID GLXVideoCaptureDeviceNV;
  80. typedef unsigned int GLXVideoDeviceNV;
  81. typedef XID GLXVideoSourceSGIX;
  82. typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
  83. typedef XID GLXPbufferSGIX;
  84. typedef struct {
  85. char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
  86. int networkId;
  87. } GLXHyperpipeNetworkSGIX;
  88. typedef struct {
  89. char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
  90. int channel;
  91. unsigned int participationType;
  92. int timeSlice;
  93. } GLXHyperpipeConfigSGIX;
  94. typedef struct {
  95. char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
  96. int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
  97. int destXOrigin, destYOrigin, destWidth, destHeight;
  98. } GLXPipeRect;
  99. typedef struct {
  100. char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
  101. int XOrigin, YOrigin, maxHeight, maxWidth;
  102. } GLXPipeRectLimits;
  103. #ifdef __cplusplus
  104. extern "C" {
  105. #endif /*__cplusplus*/
  106. extern int glx_ext_ARB_create_context;
  107. extern int glx_ext_ARB_create_context_profile;
  108. extern int glx_ext_ARB_create_context_robustness;
  109. extern int glx_ext_ARB_fbconfig_float;
  110. extern int glx_ext_ARB_framebuffer_sRGB;
  111. extern int glx_ext_ARB_multisample;
  112. extern int glx_ext_EXT_create_context_es2_profile;
  113. extern int glx_ext_EXT_fbconfig_packed_float;
  114. extern int glx_ext_EXT_framebuffer_sRGB;
  115. extern int glx_ext_EXT_import_context;
  116. extern int glx_ext_EXT_swap_control;
  117. extern int glx_ext_EXT_swap_control_tear;
  118. #define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
  119. #define GLX_CONTEXT_FLAGS_ARB 0x2094
  120. #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
  121. #define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
  122. #define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
  123. #define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
  124. #define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
  125. #define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
  126. #define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
  127. #define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
  128. #define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252
  129. #define GLX_NO_RESET_NOTIFICATION_ARB 0x8261
  130. #define GLX_RGBA_FLOAT_BIT_ARB 0x00000004
  131. #define GLX_RGBA_FLOAT_TYPE_ARB 0x20B9
  132. #define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2
  133. #define GLX_SAMPLES_ARB 100001
  134. #define GLX_SAMPLE_BUFFERS_ARB 100000
  135. #define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
  136. #define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
  137. #define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
  138. #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
  139. #define GLX_SCREEN_EXT 0x800C
  140. #define GLX_SHARE_CONTEXT_EXT 0x800A
  141. #define GLX_VISUAL_ID_EXT 0x800B
  142. #define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2
  143. #define GLX_SWAP_INTERVAL_EXT 0x20F1
  144. #define GLX_LATE_SWAPS_TEAR_EXT 0x20F3
  145. #ifndef GLX_ARB_create_context
  146. #define GLX_ARB_create_context 1
  147. extern GLXContext (CODEGEN_FUNCPTR *_ptrc_glXCreateContextAttribsARB)(Display *, GLXFBConfig, GLXContext, Bool, const int *);
  148. #define glXCreateContextAttribsARB _ptrc_glXCreateContextAttribsARB
  149. #endif /*GLX_ARB_create_context*/
  150. #ifndef GLX_EXT_import_context
  151. #define GLX_EXT_import_context 1
  152. extern void (CODEGEN_FUNCPTR *_ptrc_glXFreeContextEXT)(Display *, GLXContext);
  153. #define glXFreeContextEXT _ptrc_glXFreeContextEXT
  154. extern GLXContextID (CODEGEN_FUNCPTR *_ptrc_glXGetContextIDEXT)(const GLXContext);
  155. #define glXGetContextIDEXT _ptrc_glXGetContextIDEXT
  156. extern Display * (CODEGEN_FUNCPTR *_ptrc_glXGetCurrentDisplayEXT)();
  157. #define glXGetCurrentDisplayEXT _ptrc_glXGetCurrentDisplayEXT
  158. extern GLXContext (CODEGEN_FUNCPTR *_ptrc_glXImportContextEXT)(Display *, GLXContextID);
  159. #define glXImportContextEXT _ptrc_glXImportContextEXT
  160. extern int (CODEGEN_FUNCPTR *_ptrc_glXQueryContextInfoEXT)(Display *, GLXContext, int, int *);
  161. #define glXQueryContextInfoEXT _ptrc_glXQueryContextInfoEXT
  162. #endif /*GLX_EXT_import_context*/
  163. #ifndef GLX_EXT_swap_control
  164. #define GLX_EXT_swap_control 1
  165. extern void (CODEGEN_FUNCPTR *_ptrc_glXSwapIntervalEXT)(Display *, GLXDrawable, int);
  166. #define glXSwapIntervalEXT _ptrc_glXSwapIntervalEXT
  167. #endif /*GLX_EXT_swap_control*/
  168. enum glx_LoadStatus
  169. {
  170. glx_LOAD_FAILED = 0,
  171. glx_LOAD_SUCCEEDED = 1,
  172. };
  173. int glx_LoadFunctions(Display *display, int screen);
  174. #ifdef __cplusplus
  175. }
  176. #endif /*__cplusplus*/
  177. #endif //POINTER_C_GENERATED_HEADER_GLXWIN_H