|  | 
 | XXX - Not complete yet!!! | 
 |  | 
 | Name | 
 |  | 
 |     SGIX_video_source | 
 |  | 
 | Name Strings | 
 |  | 
 |     GLX_SGIX_video_source | 
 |  | 
 | Version | 
 |  | 
 |     $Date: 1995/02/18 22:25:03 $ $Revision: 1.2 $ | 
 |  | 
 | Number | 
 |  | 
 |     43 | 
 |  | 
 | Dependencies | 
 |  | 
 |     SGI_make_current_read is required. | 
 |  | 
 | Overview | 
 |  | 
 |     This extension provides the capability to source pixel data from a | 
 |     video stream.  A new type of GLXDrawable (GLXVideoSourceSGIX) is | 
 |     introduced which represents the drain node of a Video Library (VL) | 
 |     path.  A GLXVideoSourceSGIX may be specified as the <read> parameter | 
 |     to glXMakeCurrentReadSGI to indicate that pixel data should be read | 
 |     from the specified video source instead of from the framebuffer.  A | 
 |     GLXVideoSourceSGIX may only be specified as a <read> drawable. | 
 |  | 
 | Issues | 
 |  | 
 |     * Should there be a way to query the configuration | 
 |       of a GLXVideoSourceSGIX? | 
 |  | 
 | New Procedures and Functions | 
 |  | 
 |     typedef XID GLXVideoSourceSGIX; | 
 |  | 
 |     GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX(Display *display, | 
 | 						   int screen, | 
 | 						   VLServer server, | 
 | 						   VLPath path, | 
 | 						   int nodeClass, | 
 | 						   VLNode drainNode); | 
 |  | 
 |     void glXDestroyGLXVideoSourceSGIX(Display *dpy, | 
 | 				      GLXVideoSourceSGIX glxvideosource); | 
 |  | 
 | New Tokens | 
 |  | 
 | Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) | 
 |  | 
 |     None. | 
 |  | 
 | Additions to Chapter 3 of the 1.0 Specification (Rasterization) | 
 |  | 
 |     None. | 
 |  | 
 | Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations | 
 | and the Frame Buffer) | 
 |  | 
 |     None. | 
 |  | 
 | Additions to Chapter 5 of the 1.0 Specification (Special Functions) | 
 |  | 
 |     None. | 
 |  | 
 | Additions to Chapter 6 of the 1.0 Specification (State and State Requests) | 
 |  | 
 |     None. | 
 |  | 
 | Additions to the GLX Specification | 
 |  | 
 |     XXX - not complete yet | 
 |  | 
 |     A GLXVideoSourceSGIX is created using the glXCreateGLXVideoSourceSGIX | 
 |     command.  The parameter <display> specifies a connection to an X server. | 
 |     The parameter <screen> specifies the screen on which the GLXVideoSourceSGIX | 
 |     should be created.  The parameter <server> specifies a connection to a | 
 |     video server.  The parameter <path> specifies a video transfer path. | 
 |     The parameter <drainNode> specifies a VLNode which must be a VL_DRAIN | 
 |     node on the video transfer path specified by <path>.  The parameter | 
 |     <nodeClass> specifies the class of the VLNode specified by <drainNode>. | 
 |  | 
 |     A GLXVideoSourceSGIX may only be used with GLXContexts created on the | 
 |     same same screen. | 
 |  | 
 |     The configuration of a GLXVideoSourceSGIX is static, and is fixed at | 
 |     the time that the GLXVideoSourceSGIX is created.  If any of the controls | 
 |     which affect the transfer of video data to the GL are changed on the video | 
 |     transfer path for which a particular GLXVideoSourceSGIX was created, the | 
 |     GLXVideoSourceSGIX should be destroyed and a new GLXVideoSourceSGIX | 
 |     should be created.  Otherwise, the data read from the GLXVideoSourceSGIX | 
 |     will be undefined. | 
 |  | 
 |     A GLXVideoSourceSGIX is destroyed by calling glXDestroyGLXVideoSourceSGIX | 
 |  | 
 | Dependencies on SGI_make_current_read | 
 |  | 
 |     XXX - not complete yet | 
 |  | 
 | Errors | 
 |  | 
 |     XXX - not complete yet | 
 |  | 
 |     BadMatch is generated if glXMakeCurrent parameter <drawable> is a | 
 |     GLXVideoSourceSGIX. | 
 |  | 
 |     BadMatch is generated if glXMakeCurrentReadSGI parameter <draw> is a | 
 |     GLXVideoSourceSGIX. | 
 |  | 
 |     BadMatch is generated if glXMakeCurrentReadSGI parameter <read> is a | 
 |     GLXVideoSourceSGIX which was created for a different screen than the | 
 |     GLXContext specified by the parameter <ctx>. | 
 |  | 
 |     GLXBadDrawable is generated if glXDestroyGLXVideoSourceSGIX parameter | 
 |     <glxvideosource> is not a valid GLXVideoSourceSGIX. | 
 |  | 
 |     BadAlloc is generated if glXCreateGLXVideoSourceSGIX is unable to allocate | 
 |     the resources needed to create a GLXVideoSourceSGIX. | 
 |  | 
 | New State | 
 |  | 
 |     None. | 
 |  | 
 | New Implementation Dependent State | 
 |  | 
 |     None. |