1 2XXX - Not complete yet!!! 3 4Name 5 6 SGIX_video_source 7 8Name Strings 9 10 GLX_SGIX_video_source 11 12Version 13 14 $Date: 1995/02/18 22:25:03 $ $Revision: 1.2 $ 15 16Number 17 18 43 19 20Dependencies 21 22 SGI_make_current_read is required. 23 24Overview 25 26 This extension provides the capability to source pixel data from a 27 video stream. A new type of GLXDrawable (GLXVideoSourceSGIX) is 28 introduced which represents the drain node of a Video Library (VL) 29 path. A GLXVideoSourceSGIX may be specified as the <read> parameter 30 to glXMakeCurrentReadSGI to indicate that pixel data should be read 31 from the specified video source instead of from the framebuffer. A 32 GLXVideoSourceSGIX may only be specified as a <read> drawable. 33 34Issues 35 36 * Should there be a way to query the configuration 37 of a GLXVideoSourceSGIX? 38 39New Procedures and Functions 40 41 typedef XID GLXVideoSourceSGIX; 42 43 GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX(Display *display, 44 int screen, 45 VLServer server, 46 VLPath path, 47 int nodeClass, 48 VLNode drainNode); 49 50 void glXDestroyGLXVideoSourceSGIX(Display *dpy, 51 GLXVideoSourceSGIX glxvideosource); 52 53New Tokens 54 55Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 56 57 None. 58 59Additions to Chapter 3 of the 1.0 Specification (Rasterization) 60 61 None. 62 63Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 64and the Frame Buffer) 65 66 None. 67 68Additions to Chapter 5 of the 1.0 Specification (Special Functions) 69 70 None. 71 72Additions to Chapter 6 of the 1.0 Specification (State and State Requests) 73 74 None. 75 76Additions to the GLX Specification 77 78 XXX - not complete yet 79 80 A GLXVideoSourceSGIX is created using the glXCreateGLXVideoSourceSGIX 81 command. The parameter <display> specifies a connection to an X server. 82 The parameter <screen> specifies the screen on which the GLXVideoSourceSGIX 83 should be created. The parameter <server> specifies a connection to a 84 video server. The parameter <path> specifies a video transfer path. 85 The parameter <drainNode> specifies a VLNode which must be a VL_DRAIN 86 node on the video transfer path specified by <path>. The parameter 87 <nodeClass> specifies the class of the VLNode specified by <drainNode>. 88 89 A GLXVideoSourceSGIX may only be used with GLXContexts created on the 90 same same screen. 91 92 The configuration of a GLXVideoSourceSGIX is static, and is fixed at 93 the time that the GLXVideoSourceSGIX is created. If any of the controls 94 which affect the transfer of video data to the GL are changed on the video 95 transfer path for which a particular GLXVideoSourceSGIX was created, the 96 GLXVideoSourceSGIX should be destroyed and a new GLXVideoSourceSGIX 97 should be created. Otherwise, the data read from the GLXVideoSourceSGIX 98 will be undefined. 99 100 A GLXVideoSourceSGIX is destroyed by calling glXDestroyGLXVideoSourceSGIX 101 102Dependencies on SGI_make_current_read 103 104 XXX - not complete yet 105 106Errors 107 108 XXX - not complete yet 109 110 BadMatch is generated if glXMakeCurrent parameter <drawable> is a 111 GLXVideoSourceSGIX. 112 113 BadMatch is generated if glXMakeCurrentReadSGI parameter <draw> is a 114 GLXVideoSourceSGIX. 115 116 BadMatch is generated if glXMakeCurrentReadSGI parameter <read> is a 117 GLXVideoSourceSGIX which was created for a different screen than the 118 GLXContext specified by the parameter <ctx>. 119 120 GLXBadDrawable is generated if glXDestroyGLXVideoSourceSGIX parameter 121 <glxvideosource> is not a valid GLXVideoSourceSGIX. 122 123 BadAlloc is generated if glXCreateGLXVideoSourceSGIX is unable to allocate 124 the resources needed to create a GLXVideoSourceSGIX. 125 126New State 127 128 None. 129 130New Implementation Dependent State 131 132 None. 133