blob: f87d86edd794fe110968d8f5cdf0d47da842fea3 [file] [log] [blame]
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.