Magellan Linux

Diff of /trunk/opengl-update/glxext.h

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

revision 910 by niro, Thu Dec 25 23:21:29 2008 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 2008/10/22 */  /* 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 21  #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 135  extern "C" { Line 137  extern "C" {
137  #define GLX_CONTEXT_FLAGS_ARB              0x2094  #define GLX_CONTEXT_FLAGS_ARB              0x2094
138  #endif  #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 374  extern "C" { Line 382  extern "C" {
382  #ifndef GLX_NV_swap_group  #ifndef GLX_NV_swap_group
383  #endif  #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 407  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 glext.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
# Line 518  extern GLXContext glXCreateContextAttrib Line 548  extern GLXContext glXCreateContextAttrib
548  typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);  typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
549  #endif  #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 815  typedef void ( * PFNGLXRELEASETEXIMAGEEX Line 849  typedef void ( * PFNGLXRELEASETEXIMAGEEX
849    
850  #ifndef GLX_NV_present_video  #ifndef GLX_NV_present_video
851  #define GLX_NV_present_video 1  #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  #endif
859    
860  #ifndef GLX_NV_video_out  #ifndef GLX_NV_video_output
861  #define GLX_NV_video_out 1  #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  #endif
877    
878  #ifndef GLX_NV_swap_group  #ifndef GLX_NV_swap_group
879  #define GLX_NV_swap_group 1  #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  #endif
927    
928    

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