Magellan Linux

Diff of /tags/openglupdate-2_3_13/glxext.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 622 by niro, Wed Nov 14 18:36:58 2007 UTC revision 911 by niro, Sat Oct 17 00:21:45 2009 UTC
# Line 6  extern "C" { Line 6  extern "C" {
6  #endif  #endif
7    
8  /*  /*
9  ** Copyright (c) 2007 The Khronos Group Inc.  ** Copyright (c) 2007-2009 The Khronos Group Inc.
10  **  **
11  ** Permission is hereby granted, free of charge, to any person obtaining a  ** Permission is hereby granted, free of charge, to any person obtaining a
12  ** copy of this software and/or associated documentation files (the  ** copy of this software and/or associated documentation files (the
# Line 28  extern "C" { Line 28  extern "C" {
28  ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.  ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29  */  */
30    
31    /* Function declaration macros - to move into glplatform.h */
32    
33  #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)  #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
34  #define WIN32_LEAN_AND_MEAN 1  #define WIN32_LEAN_AND_MEAN 1
35  #include <windows.h>  #include <windows.h>
# Line 46  extern "C" { Line 48  extern "C" {
48  /*************************************************************/  /*************************************************************/
49    
50  /* Header file version number, required by OpenGL ABI for Linux */  /* Header file version number, required by OpenGL ABI for Linux */
51  /* glxext.h last updated 2007/04/21 */  /* glxext.h last updated 2009/10/08 */
52  /* Current version at http://www.opengl.org/registry/ */  /* Current version at http://www.opengl.org/registry/ */
53  #define GLX_GLXEXT_VERSION 19  #define GLX_GLXEXT_VERSION 25
54    
55  #ifndef GLX_VERSION_1_3  #ifndef GLX_VERSION_1_3
56  #define GLX_WINDOW_BIT                     0x00000001  #define GLX_WINDOW_BIT                     0x00000001
# Line 127  extern "C" { Line 129  extern "C" {
129  #define GLX_RGBA_FLOAT_BIT_ARB             0x00000004  #define GLX_RGBA_FLOAT_BIT_ARB             0x00000004
130  #endif  #endif
131    
132    #ifndef GLX_ARB_create_context
133    #define GLX_CONTEXT_DEBUG_BIT_ARB          0x00000001
134    #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
135    #define GLX_CONTEXT_MAJOR_VERSION_ARB      0x2091
136    #define GLX_CONTEXT_MINOR_VERSION_ARB      0x2092
137    #define GLX_CONTEXT_FLAGS_ARB              0x2094
138    #endif
139    
140    #ifndef GLX_ARB_create_context_profile
141    #define GLX_CONTEXT_CORE_PROFILE_BIT_ARB   0x00000001
142    #define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
143    #define GLX_CONTEXT_PROFILE_MASK_ARB       0x9126
144    #endif
145    
146  #ifndef GLX_SGIS_multisample  #ifndef GLX_SGIS_multisample
147  #define GLX_SAMPLE_BUFFERS_SGIS            100000  #define GLX_SAMPLE_BUFFERS_SGIS            100000
148  #define GLX_SAMPLES_SGIS                   100001  #define GLX_SAMPLES_SGIS                   100001
# Line 346  extern "C" { Line 362  extern "C" {
362  #define GLX_AUX9_EXT                       0x20EB  #define GLX_AUX9_EXT                       0x20EB
363  #endif  #endif
364    
365    #ifndef GLX_NV_present_video
366    #define GLX_NUM_VIDEO_SLOTS_NV             0x20F0
367    #endif
368    
369    #ifndef GLX_NV_video_out
370    #define GLX_VIDEO_OUT_COLOR_NV             0x20C3
371    #define GLX_VIDEO_OUT_ALPHA_NV             0x20C4
372    #define GLX_VIDEO_OUT_DEPTH_NV             0x20C5
373    #define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV   0x20C6
374    #define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV   0x20C7
375    #define GLX_VIDEO_OUT_FRAME_NV             0x20C8
376    #define GLX_VIDEO_OUT_FIELD_1_NV           0x20C9
377    #define GLX_VIDEO_OUT_FIELD_2_NV           0x20CA
378    #define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
379    #define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
380    #endif
381    
382    #ifndef GLX_NV_swap_group
383    #endif
384    
385    #ifndef GLX_NV_video_capture
386    #define GLX_DEVICE_ID_NV                   0x20CD
387    #define GLX_UNIQUE_ID_NV                   0x20CE
388    #define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV     0x20CF
389    #endif
390    
391    #ifndef GLX_EXT_swap_control
392    #define GLX_SWAP_INTERVAL_EXT              0x20F1
393    #define GLX_MAX_SWAP_INTERVAL_EXT          0x20F2
394    #endif
395    
396    #ifndef GLX_NV_copy_image
397    #endif
398    
399    
400  /*************************************************************/  /*************************************************************/
401    
# Line 379  typedef struct { Line 429  typedef struct {
429  } GLXBufferClobberEventSGIX;  } GLXBufferClobberEventSGIX;
430  #endif  #endif
431    
432    #ifndef GLX_NV_video_output
433    typedef unsigned int GLXVideoDeviceNV;
434    #endif
435    
436    #ifndef GLX_NV_video_capture
437    typedef XID GLXVideoCaptureDeviceNV;
438    #endif
439    
440  #ifndef GLEXT_64_TYPES_DEFINED  #ifndef GLEXT_64_TYPES_DEFINED
441  /* This code block is duplicated in glxext.h, so must be protected */  /* This code block is duplicated in glext.h, so must be protected */
442  #define GLEXT_64_TYPES_DEFINED  #define GLEXT_64_TYPES_DEFINED
443  /* Define int32_t, int64_t, and uint64_t types for UST/MSC */  /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
444  /* (as used in the GLX_OML_sync_control extension). */  /* (as used in the GLX_OML_sync_control extension). */
# Line 389  typedef struct { Line 447  typedef struct {
447  #elif defined(__sun__) || defined(__digital__)  #elif defined(__sun__) || defined(__digital__)
448  #include <inttypes.h>  #include <inttypes.h>
449  #if defined(__STDC__)  #if defined(__STDC__)
450  #if defined(__arch64__)  #if defined(__arch64__) || defined(_LP64)
451  typedef long int int64_t;  typedef long int int64_t;
452  typedef unsigned long int uint64_t;  typedef unsigned long int uint64_t;
453  #else  #else
# Line 397  typedef long long int int64_t; Line 455  typedef long long int int64_t;
455  typedef unsigned long long int uint64_t;  typedef unsigned long long int uint64_t;
456  #endif /* __arch64__ */  #endif /* __arch64__ */
457  #endif /* __STDC__ */  #endif /* __STDC__ */
458  #elif defined( __VMS )  #elif defined( __VMS ) || defined(__sgi)
459  #include <inttypes.h>  #include <inttypes.h>
460  #elif defined(__SCO__) || defined(__USLC__)  #elif defined(__SCO__) || defined(__USLC__)
461  #include <stdint.h>  #include <stdint.h>
# Line 482  typedef __GLXextFuncPtr ( * PFNGLXGETPRO Line 540  typedef __GLXextFuncPtr ( * PFNGLXGETPRO
540  #define GLX_ARB_fbconfig_float 1  #define GLX_ARB_fbconfig_float 1
541  #endif  #endif
542    
543    #ifndef GLX_ARB_create_context
544    #define GLX_ARB_create_context 1
545    #ifdef GLX_GLXEXT_PROTOTYPES
546    extern GLXContext glXCreateContextAttribsARB (Display *, GLXFBConfig, GLXContext, Bool, const int *);
547    #endif /* GLX_GLXEXT_PROTOTYPES */
548    typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
549    #endif
550    
551    #ifndef GLX_ARB_create_context_profile
552    #define GLX_ARB_create_context_profile 1
553    #endif
554    
555  #ifndef GLX_SGIS_multisample  #ifndef GLX_SGIS_multisample
556  #define GLX_SGIS_multisample 1  #define GLX_SGIS_multisample 1
557  #endif  #endif
# Line 777  typedef void ( * PFNGLXBINDTEXIMAGEEXTPR Line 847  typedef void ( * PFNGLXBINDTEXIMAGEEXTPR
847  typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);  typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);
848  #endif  #endif
849    
850    #ifndef GLX_NV_present_video
851    #define GLX_NV_present_video 1
852    #ifdef GLX_GLXEXT_PROTOTYPES
853    extern unsigned int * glXEnumerateVideoDevicesNV (Display *, int, int *);
854    extern int glXBindVideoDeviceNV (Display *, unsigned int, unsigned int, const int *);
855    #endif /* GLX_GLXEXT_PROTOTYPES */
856    typedef unsigned int * ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
857    typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
858    #endif
859    
860    #ifndef GLX_NV_video_output
861    #define GLX_NV_video_output 1
862    #ifdef GLX_GLXEXT_PROTOTYPES
863    extern int glXGetVideoDeviceNV (Display *, int, int, GLXVideoDeviceNV *);
864    extern int glXReleaseVideoDeviceNV (Display *, int, GLXVideoDeviceNV);
865    extern int glXBindVideoImageNV (Display *, GLXVideoDeviceNV, GLXPbuffer, int);
866    extern int glXReleaseVideoImageNV (Display *, GLXPbuffer);
867    extern int glXSendPbufferToVideoNV (Display *, GLXPbuffer, int, unsigned long *, GLboolean);
868    extern int glXGetVideoInfoNV (Display *, int, GLXVideoDeviceNV, unsigned long *, unsigned long *);
869    #endif /* GLX_GLXEXT_PROTOTYPES */
870    typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
871    typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
872    typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
873    typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display *dpy, GLXPbuffer pbuf);
874    typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
875    typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
876    #endif
877    
878    #ifndef GLX_NV_swap_group
879    #define GLX_NV_swap_group 1
880    #ifdef GLX_GLXEXT_PROTOTYPES
881    extern Bool glXJoinSwapGroupNV (Display *, GLXDrawable, GLuint);
882    extern Bool glXBindSwapBarrierNV (Display *, GLuint, GLuint);
883    extern Bool glXQuerySwapGroupNV (Display *, GLXDrawable, GLuint *, GLuint *);
884    extern Bool glXQueryMaxSwapGroupsNV (Display *, int, GLuint *, GLuint *);
885    extern Bool glXQueryFrameCountNV (Display *, int, GLuint *);
886    extern Bool glXResetFrameCountNV (Display *, int);
887    #endif /* GLX_GLXEXT_PROTOTYPES */
888    typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint group);
889    typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display *dpy, GLuint group, GLuint barrier);
890    typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
891    typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
892    typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display *dpy, int screen, GLuint *count);
893    typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display *dpy, int screen);
894    #endif
895    
896    #ifndef GLX_NV_video_capture
897    #define GLX_NV_video_capture 1
898    #ifdef GLX_GLXEXT_PROTOTYPES
899    extern int glXBindVideoCaptureDeviceNV (Display *, unsigned int, GLXVideoCaptureDeviceNV);
900    extern GLXVideoCaptureDeviceNV * glXEnumerateVideoCaptureDevicesNV (Display *, int, int *);
901    extern void glXLockVideoCaptureDeviceNV (Display *, GLXVideoCaptureDeviceNV);
902    extern int glXQueryVideoCaptureDeviceNV (Display *, GLXVideoCaptureDeviceNV, int, int *);
903    extern void glXReleaseVideoCaptureDeviceNV (Display *, GLXVideoCaptureDeviceNV);
904    #endif /* GLX_GLXEXT_PROTOTYPES */
905    typedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
906    typedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display *dpy, int screen, int *nelements);
907    typedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
908    typedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
909    typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
910    #endif
911    
912    #ifndef GLX_EXT_swap_control
913    #define GLX_EXT_swap_control 1
914    #ifdef GLX_GLXEXT_PROTOTYPES
915    extern int glXSwapIntervalEXT (Display *, GLXDrawable, int);
916    #endif /* GLX_GLXEXT_PROTOTYPES */
917    typedef int ( * PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, int interval);
918    #endif
919    
920    #ifndef GLX_NV_copy_image
921    #define GLX_NV_copy_image 1
922    #ifdef GLX_GLXEXT_PROTOTYPES
923    extern void glXCopyImageSubDataNV (Display *, GLXContext, GLuint, GLenum, GLint, GLint, GLint, GLint, GLXContext, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
924    #endif /* GLX_GLXEXT_PROTOTYPES */
925    typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
926    #endif
927    
928    
929  #ifdef __cplusplus  #ifdef __cplusplus
930  }  }

Legend:
Removed from v.622  
changed lines
  Added in v.911