15bd8deadSopenharmony_ci 25bd8deadSopenharmony_ciXXX - Not complete yet!!! 35bd8deadSopenharmony_ci 45bd8deadSopenharmony_ciName 55bd8deadSopenharmony_ci 65bd8deadSopenharmony_ci SGIX_video_source 75bd8deadSopenharmony_ci 85bd8deadSopenharmony_ciName Strings 95bd8deadSopenharmony_ci 105bd8deadSopenharmony_ci GLX_SGIX_video_source 115bd8deadSopenharmony_ci 125bd8deadSopenharmony_ciVersion 135bd8deadSopenharmony_ci 145bd8deadSopenharmony_ci $Date: 1995/02/18 22:25:03 $ $Revision: 1.2 $ 155bd8deadSopenharmony_ci 165bd8deadSopenharmony_ciNumber 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ci 43 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ciDependencies 215bd8deadSopenharmony_ci 225bd8deadSopenharmony_ci SGI_make_current_read is required. 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ciOverview 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ci This extension provides the capability to source pixel data from a 275bd8deadSopenharmony_ci video stream. A new type of GLXDrawable (GLXVideoSourceSGIX) is 285bd8deadSopenharmony_ci introduced which represents the drain node of a Video Library (VL) 295bd8deadSopenharmony_ci path. A GLXVideoSourceSGIX may be specified as the <read> parameter 305bd8deadSopenharmony_ci to glXMakeCurrentReadSGI to indicate that pixel data should be read 315bd8deadSopenharmony_ci from the specified video source instead of from the framebuffer. A 325bd8deadSopenharmony_ci GLXVideoSourceSGIX may only be specified as a <read> drawable. 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ciIssues 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ci * Should there be a way to query the configuration 375bd8deadSopenharmony_ci of a GLXVideoSourceSGIX? 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ciNew Procedures and Functions 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci typedef XID GLXVideoSourceSGIX; 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX(Display *display, 445bd8deadSopenharmony_ci int screen, 455bd8deadSopenharmony_ci VLServer server, 465bd8deadSopenharmony_ci VLPath path, 475bd8deadSopenharmony_ci int nodeClass, 485bd8deadSopenharmony_ci VLNode drainNode); 495bd8deadSopenharmony_ci 505bd8deadSopenharmony_ci void glXDestroyGLXVideoSourceSGIX(Display *dpy, 515bd8deadSopenharmony_ci GLXVideoSourceSGIX glxvideosource); 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ciNew Tokens 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ci None. 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ci None. 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 645bd8deadSopenharmony_ciand the Frame Buffer) 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ci None. 675bd8deadSopenharmony_ci 685bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions) 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci None. 715bd8deadSopenharmony_ci 725bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests) 735bd8deadSopenharmony_ci 745bd8deadSopenharmony_ci None. 755bd8deadSopenharmony_ci 765bd8deadSopenharmony_ciAdditions to the GLX Specification 775bd8deadSopenharmony_ci 785bd8deadSopenharmony_ci XXX - not complete yet 795bd8deadSopenharmony_ci 805bd8deadSopenharmony_ci A GLXVideoSourceSGIX is created using the glXCreateGLXVideoSourceSGIX 815bd8deadSopenharmony_ci command. The parameter <display> specifies a connection to an X server. 825bd8deadSopenharmony_ci The parameter <screen> specifies the screen on which the GLXVideoSourceSGIX 835bd8deadSopenharmony_ci should be created. The parameter <server> specifies a connection to a 845bd8deadSopenharmony_ci video server. The parameter <path> specifies a video transfer path. 855bd8deadSopenharmony_ci The parameter <drainNode> specifies a VLNode which must be a VL_DRAIN 865bd8deadSopenharmony_ci node on the video transfer path specified by <path>. The parameter 875bd8deadSopenharmony_ci <nodeClass> specifies the class of the VLNode specified by <drainNode>. 885bd8deadSopenharmony_ci 895bd8deadSopenharmony_ci A GLXVideoSourceSGIX may only be used with GLXContexts created on the 905bd8deadSopenharmony_ci same same screen. 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci The configuration of a GLXVideoSourceSGIX is static, and is fixed at 935bd8deadSopenharmony_ci the time that the GLXVideoSourceSGIX is created. If any of the controls 945bd8deadSopenharmony_ci which affect the transfer of video data to the GL are changed on the video 955bd8deadSopenharmony_ci transfer path for which a particular GLXVideoSourceSGIX was created, the 965bd8deadSopenharmony_ci GLXVideoSourceSGIX should be destroyed and a new GLXVideoSourceSGIX 975bd8deadSopenharmony_ci should be created. Otherwise, the data read from the GLXVideoSourceSGIX 985bd8deadSopenharmony_ci will be undefined. 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci A GLXVideoSourceSGIX is destroyed by calling glXDestroyGLXVideoSourceSGIX 1015bd8deadSopenharmony_ci 1025bd8deadSopenharmony_ciDependencies on SGI_make_current_read 1035bd8deadSopenharmony_ci 1045bd8deadSopenharmony_ci XXX - not complete yet 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ciErrors 1075bd8deadSopenharmony_ci 1085bd8deadSopenharmony_ci XXX - not complete yet 1095bd8deadSopenharmony_ci 1105bd8deadSopenharmony_ci BadMatch is generated if glXMakeCurrent parameter <drawable> is a 1115bd8deadSopenharmony_ci GLXVideoSourceSGIX. 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ci BadMatch is generated if glXMakeCurrentReadSGI parameter <draw> is a 1145bd8deadSopenharmony_ci GLXVideoSourceSGIX. 1155bd8deadSopenharmony_ci 1165bd8deadSopenharmony_ci BadMatch is generated if glXMakeCurrentReadSGI parameter <read> is a 1175bd8deadSopenharmony_ci GLXVideoSourceSGIX which was created for a different screen than the 1185bd8deadSopenharmony_ci GLXContext specified by the parameter <ctx>. 1195bd8deadSopenharmony_ci 1205bd8deadSopenharmony_ci GLXBadDrawable is generated if glXDestroyGLXVideoSourceSGIX parameter 1215bd8deadSopenharmony_ci <glxvideosource> is not a valid GLXVideoSourceSGIX. 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ci BadAlloc is generated if glXCreateGLXVideoSourceSGIX is unable to allocate 1245bd8deadSopenharmony_ci the resources needed to create a GLXVideoSourceSGIX. 1255bd8deadSopenharmony_ci 1265bd8deadSopenharmony_ciNew State 1275bd8deadSopenharmony_ci 1285bd8deadSopenharmony_ci None. 1295bd8deadSopenharmony_ci 1305bd8deadSopenharmony_ciNew Implementation Dependent State 1315bd8deadSopenharmony_ci 1325bd8deadSopenharmony_ci None. 133