| |
| 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. |