15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci NV_video_output 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GLX_NV_video_out 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Thomas True, Nvidia, ttrue@nvidia.com 125bd8deadSopenharmony_ci Ian Williams, Nvidia, iwilliams@nvidia.com 135bd8deadSopenharmony_ci Martin Schwarzer, Nvidia, mschwarzer@nvidia.com 145bd8deadSopenharmony_ci Andy Ritger, Nvidia, aritger@nvidia.com 155bd8deadSopenharmony_ci 165bd8deadSopenharmony_ciStatus 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ci Shipping since 2004 for NVIDIA Quadro SDI (Serial Digital Interface) 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ciVersion 215bd8deadSopenharmony_ci Last Modified: 2014/06/04 225bd8deadSopenharmony_ci NVIDIA Revision: 8 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ciNumber 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ci 348 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ciDependencies 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ci OpenGL 1.1 is required. 315bd8deadSopenharmony_ci GLX 1.3 is required. 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ciOverview 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ci This extension permits a color and or depth buffer of a pbuffer to 365bd8deadSopenharmony_ci be used for rendering and subsequent video output. After a pbuffer 375bd8deadSopenharmony_ci has been bound to a video device, subsequent color and or depth 385bd8deadSopenharmony_ci rendering into that buffer may be displayed on the video output. 395bd8deadSopenharmony_ci 405bd8deadSopenharmony_ci This is intended for use with NVIDIA products such as the Quadro FX 415bd8deadSopenharmony_ci 4000 SDI. 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ciIssues 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ci 1. Should the new pbuffer attributes be available through GL queries? 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ci No, like other pbuffer attributes you need to query them through the 485bd8deadSopenharmony_ci window system extension. This extension does not make any changes to 495bd8deadSopenharmony_ci OpenGL. 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ci 2. Should glXSendPbufferToVideoNV require that the pbuffer be current? 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ciImplementation Notes 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci 1. Any created pbuffers must be the same resolution as that specified 565bd8deadSopenharmony_ci by the state of the video output device. The current state of the 575bd8deadSopenharmony_ci video output device can be queried via the NV-CONTROL X extension. 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci 2. Applications may use a single pbuffer or a collection of pbuffers 605bd8deadSopenharmony_ci to send frames/fields to a video device. In the first case, an 615bd8deadSopenharmony_ci application should block on the call to glXSendPbufferToVideoNV() to 625bd8deadSopenharmony_ci ensure synchronization. In the second case, an application should 635bd8deadSopenharmony_ci utilize glXGetVideoInfoNV() in order to query vblank and 645bd8deadSopenharmony_ci buffer counters for synchronization. 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ciIntended Usage 675bd8deadSopenharmony_ci 685bd8deadSopenharmony_ci 1) Configure the video output device via the NV-CONTROL X extension. 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci 2) Use glXGetFBConfigs or glXChooseFBConfig to find a suitable 715bd8deadSopenharmony_ci FBConfig for rendering images. GLX_DRAWABLE_TYPE must have 725bd8deadSopenharmony_ci GLX_PBUFFER_BIT set. The per-component pixel depth of the pbuffer 735bd8deadSopenharmony_ci must be equal to or greater than the per-component depth of the 745bd8deadSopenharmony_ci video output. 755bd8deadSopenharmony_ci 765bd8deadSopenharmony_ci 3) Create a GLXPbuffer for each stream of video by calling 775bd8deadSopenharmony_ci glXCreatePbuffer. Set the width and height for each GLXPbuffer 785bd8deadSopenharmony_ci to match that of the intended video output device. 795bd8deadSopenharmony_ci 805bd8deadSopenharmony_ci 4) Call glXGetVideoDeviceNV to retrieve the handles for all 815bd8deadSopenharmony_ci video devices available. A video device handle is required 825bd8deadSopenharmony_ci for each video stream. glXGetVideoDeviceNV will lock the 835bd8deadSopenharmony_ci video device for exclusive use by this GLX client. The NV-CONTROL 845bd8deadSopenharmony_ci X extension will not be able to update video out attributes until 855bd8deadSopenharmony_ci the video device is released with glXReleaseVideoDeviceNV. 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ci 5) Call glXBindVideoImageNV to bind each GLXPbuffer to a 885bd8deadSopenharmony_ci corresponding video device handle. Multiple pbuffers can 895bd8deadSopenharmony_ci be bound, at the same time, to the same video device. 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci 6) Render the current frame/field for each stream to one of the bound 925bd8deadSopenharmony_ci GLXPbuffers. Once rendering is complete, call 935bd8deadSopenharmony_ci glXSendPbufferToVideoNV to send each frame/field to the video 945bd8deadSopenharmony_ci device. 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci 7) Render subsequent video frames or fields calling 975bd8deadSopenharmony_ci glXSendPbufferToVideoNV() at the completion of rendering for 985bd8deadSopenharmony_ci each frame/field. 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci 8) Call glXReleaseVideoImageNV to unbind each GLXPbuffer 1015bd8deadSopenharmony_ci from its associated video device. 1025bd8deadSopenharmony_ci 1035bd8deadSopenharmony_ci 9) Call glXReleaseVideoDeviceNV to release the video device. 1045bd8deadSopenharmony_ci 1055bd8deadSopenharmony_ciNew Types 1065bd8deadSopenharmony_ci 1075bd8deadSopenharmony_ci /* 1085bd8deadSopenharmony_ci * GLXVideoDeviceNV is an opaque handle to a video device. 1095bd8deadSopenharmony_ci */ 1105bd8deadSopenharmony_ci typedef unsigned int GLXVideoDeviceNV; 1115bd8deadSopenharmony_ci 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ciNew Procedures and Functions 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ci int glXGetVideoDeviceNV(Display *dpy, int screen, int numVideoDevices, 1165bd8deadSopenharmony_ci GLXVideoDeviceNV *pVideoDevice); 1175bd8deadSopenharmony_ci 1185bd8deadSopenharmony_ci int glXReleaseVideoDeviceNV(Display *dpy, int screen, 1195bd8deadSopenharmony_ci GLXVideoDeviceNV VideoDevice); 1205bd8deadSopenharmony_ci 1215bd8deadSopenharmony_ci int glXBindVideoImageNV(Display *dpy, GLXVideoDeviceNV VideoDevice, 1225bd8deadSopenharmony_ci GLXPbuffer pbuf, int iVideoBuffer); 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ci int glXReleaseVideoImageNV(Display *dpy, GLXPbuffer pbuf); 1255bd8deadSopenharmony_ci 1265bd8deadSopenharmony_ci int glXSendPbufferToVideoNV(Display *dpy, GLXPbuffer pbuf, 1275bd8deadSopenharmony_ci int iBufferType, 1285bd8deadSopenharmony_ci unsigned long *pulCounterPbuffer, 1295bd8deadSopenharmony_ci GLboolean bBlock); 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ci int glXGetVideoInfoNV(Display *dpy, int screen, 1325bd8deadSopenharmony_ci GLXVideoDeviceNV VideoDevice, 1335bd8deadSopenharmony_ci unsigned long *pulCounterOutputPbuffer, 1345bd8deadSopenharmony_ci unsigned long *pulCounterOutputVideo); 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ciNew Tokens 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ci Accepted by the <iVideoBuffer> parameter of glXBindVideoImageNV: 1395bd8deadSopenharmony_ci 1405bd8deadSopenharmony_ci GLX_VIDEO_OUT_COLOR_NV 0x20C3 1415bd8deadSopenharmony_ci GLX_VIDEO_OUT_ALPHA_NV 0x20C4 1425bd8deadSopenharmony_ci GLX_VIDEO_OUT_DEPTH_NV 0x20C5 1435bd8deadSopenharmony_ci GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 1445bd8deadSopenharmony_ci GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 1455bd8deadSopenharmony_ci 1465bd8deadSopenharmony_ci Accepted by the <iBufferType> parameter of glXSendPbufferToVideoNV: 1475bd8deadSopenharmony_ci 1485bd8deadSopenharmony_ci GLX_VIDEO_OUT_FRAME_NV 0x20C8 1495bd8deadSopenharmony_ci GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 1505bd8deadSopenharmony_ci GLX_VIDEO_OUT_FIELD_2_NV 0x20CA 1515bd8deadSopenharmony_ci GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB 1525bd8deadSopenharmony_ci GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC 1535bd8deadSopenharmony_ci 1545bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation) 1555bd8deadSopenharmony_ci 1565bd8deadSopenharmony_ci None. 1575bd8deadSopenharmony_ci 1585bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization) 1595bd8deadSopenharmony_ci 1605bd8deadSopenharmony_ci None. 1615bd8deadSopenharmony_ci 1625bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment 1635bd8deadSopenharmony_ciOperations and the Frame Buffer) 1645bd8deadSopenharmony_ci 1655bd8deadSopenharmony_ci None. 1665bd8deadSopenharmony_ci 1675bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) 1685bd8deadSopenharmony_ci 1695bd8deadSopenharmony_ci None. 1705bd8deadSopenharmony_ci 1715bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.2.1 Specification (State and State 1725bd8deadSopenharmony_ciRequests) 1735bd8deadSopenharmony_ci 1745bd8deadSopenharmony_ci None. 1755bd8deadSopenharmony_ci 1765bd8deadSopenharmony_ci 1775bd8deadSopenharmony_ciAdditions to the GLX 1.3 Specification 1785bd8deadSopenharmony_ci 1795bd8deadSopenharmony_ci [Add new section, Video Out] 1805bd8deadSopenharmony_ci 1815bd8deadSopenharmony_ci Video out functions permit color and depth buffers from a 1825bd8deadSopenharmony_ci pbuffer to be sent to a video output device. 1835bd8deadSopenharmony_ci 1845bd8deadSopenharmony_ci The command 1855bd8deadSopenharmony_ci 1865bd8deadSopenharmony_ci int glXGetVideoDeviceNV(Display *dpy, int screen, int numVideoDevices, 1875bd8deadSopenharmony_ci GLXVideoDeviceNV *pVideoDevice); 1885bd8deadSopenharmony_ci 1895bd8deadSopenharmony_ci fills in the array <pVideoDevice> with up to <numVideoDevices> 1905bd8deadSopenharmony_ci handles to the available video devices. <numVideoDevices> must be 1915bd8deadSopenharmony_ci non-negative, and <pVideoDevice> must not be NULL. 1925bd8deadSopenharmony_ci 1935bd8deadSopenharmony_ci It is not an error if the number of available video devices is larger 1945bd8deadSopenharmony_ci that <numVideoDevices>; in that case the first <numVideoDevices> 1955bd8deadSopenharmony_ci device handles are returned. It is an error if <numVideoDevices> 1965bd8deadSopenharmony_ci is larger than the number of available video devices. The order of 1975bd8deadSopenharmony_ci devices returned in <pVideoDevice> is implementation dependent. 1985bd8deadSopenharmony_ci 1995bd8deadSopenharmony_ci If glXGetVideoDeviceNV succeeds, 0 is returned. Otherwise, a non-zero 2005bd8deadSopenharmony_ci error code is returned. 2015bd8deadSopenharmony_ci 2025bd8deadSopenharmony_ci 2035bd8deadSopenharmony_ci The command 2045bd8deadSopenharmony_ci 2055bd8deadSopenharmony_ci int glXReleaseVideoDeviceNV(Display *dpy, int screen, 2065bd8deadSopenharmony_ci GLXVideoDeviceNV VideoDevice); 2075bd8deadSopenharmony_ci 2085bd8deadSopenharmony_ci releases all resources associated with <VideoDevice>. 2095bd8deadSopenharmony_ci 2105bd8deadSopenharmony_ci If glXReleaseVideoDeviceNV succeeds, 0 is returned. Otherwise, 2115bd8deadSopenharmony_ci a non-zero error code is returned. 2125bd8deadSopenharmony_ci 2135bd8deadSopenharmony_ci 2145bd8deadSopenharmony_ci The command 2155bd8deadSopenharmony_ci 2165bd8deadSopenharmony_ci int glXBindVideoImageNV(Display *dpy, GLXVideoDeviceNV VideoDevice, 2175bd8deadSopenharmony_ci GLXPbuffer pbuf, int iVideoBuffer); 2185bd8deadSopenharmony_ci 2195bd8deadSopenharmony_ci binds <pbuf> to <VideoDevice> for subsequent scanout where 2205bd8deadSopenharmony_ci <iVideoBuffer> specifies that <pbuf> contains color, alpha and/or 2215bd8deadSopenharmony_ci depth data. Valid values for <iVideoBuffer> are: 2225bd8deadSopenharmony_ci 2235bd8deadSopenharmony_ci GLX_VIDEO_OUT_COLOR_NV 0x20C3 2245bd8deadSopenharmony_ci GLX_VIDEO_OUT_ALPHA_NV 0x20C4 2255bd8deadSopenharmony_ci GLX_VIDEO_OUT_DEPTH_NV 0x20C5 2265bd8deadSopenharmony_ci GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 2275bd8deadSopenharmony_ci GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 2285bd8deadSopenharmony_ci 2295bd8deadSopenharmony_ci <pbuf> cannot be None, and <VideoDevice> must be a VideoDevice 2305bd8deadSopenharmony_ci returned by glXGetVideoDeviceNV(). 2315bd8deadSopenharmony_ci 2325bd8deadSopenharmony_ci 2335bd8deadSopenharmony_ci A pbuffer can only be bound to one GLXVideoDeviceNV at a time. 2345bd8deadSopenharmony_ci If <pbuf> is already bound to a different GLXVideoDeviceNV, then 2355bd8deadSopenharmony_ci glXBindVideoImageNV will fail. 2365bd8deadSopenharmony_ci 2375bd8deadSopenharmony_ci 2385bd8deadSopenharmony_ci If glXBindVideoImageNV succeeds, 0 is returned. Otherwise, 2395bd8deadSopenharmony_ci a non-zero error code is returned. 2405bd8deadSopenharmony_ci 2415bd8deadSopenharmony_ci 2425bd8deadSopenharmony_ci The command 2435bd8deadSopenharmony_ci 2445bd8deadSopenharmony_ci int glXReleaseVideoImageNV(Display *dpy, GLXPbuffer pbuf); 2455bd8deadSopenharmony_ci 2465bd8deadSopenharmony_ci releases <pbuf> from a previously bound video device. <pbuf> may 2475bd8deadSopenharmony_ci not be None. 2485bd8deadSopenharmony_ci 2495bd8deadSopenharmony_ci If glXReleaseVideoImageNV succeeds, 0 is returned. Otherwise, 2505bd8deadSopenharmony_ci a non-zero error code is returned. 2515bd8deadSopenharmony_ci 2525bd8deadSopenharmony_ci 2535bd8deadSopenharmony_ci The command 2545bd8deadSopenharmony_ci 2555bd8deadSopenharmony_ci int glXSendPbufferToVideoNV(Display *dpy, GLXPbuffer pbuf, 2565bd8deadSopenharmony_ci int iBufferType, 2575bd8deadSopenharmony_ci unsigned long *pulCounterPbuffer, 2585bd8deadSopenharmony_ci Bool bBlock); 2595bd8deadSopenharmony_ci 2605bd8deadSopenharmony_ci indicates that rendering to the <pbuf> is complete and that the 2615bd8deadSopenharmony_ci completed frame/field contained with <pbuf> is ready for scan out by 2625bd8deadSopenharmony_ci the video device where <iBufferType> specifies that <pbuf> contains 2635bd8deadSopenharmony_ci the first field, second field or a complete frame. Valid values 2645bd8deadSopenharmony_ci for <iBufferType> are: 2655bd8deadSopenharmony_ci 2665bd8deadSopenharmony_ci GLX_VIDEO_OUT_FRAME_NV 0x20C8 2675bd8deadSopenharmony_ci GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 2685bd8deadSopenharmony_ci GLX_VIDEO_OUT_FIELD_2_NV 0x20CA 2695bd8deadSopenharmony_ci 2705bd8deadSopenharmony_ci The color buffer controlled by glReadBuffer is used as the color 2715bd8deadSopenharmony_ci buffer input to glXSendPbufferToVideoNV(). <pbuf> cannot be None. 2725bd8deadSopenharmony_ci The <bBlock> argument specifies whether or not the call should 2735bd8deadSopenharmony_ci block until scan out of the specified frame/field is complete. 2745bd8deadSopenharmony_ci <pulCounterPbuffer> returns the total number of frames/fields sent 2755bd8deadSopenharmony_ci to the video device. 2765bd8deadSopenharmony_ci 2775bd8deadSopenharmony_ci If glXSendPbufferToVideoNV succeeds, 0 is returned. Otherwise, 2785bd8deadSopenharmony_ci a non-zero error code is returned. 2795bd8deadSopenharmony_ci 2805bd8deadSopenharmony_ci 2815bd8deadSopenharmony_ci The command 2825bd8deadSopenharmony_ci 2835bd8deadSopenharmony_ci int glXGetVideoInfoNV(GLXVideoDeviceNV VideoDevice, 2845bd8deadSopenharmony_ci unsigned long *pulCounterOutputPbuffer, 2855bd8deadSopenharmony_ci unsigned long *pulCounterOutputVideo); 2865bd8deadSopenharmony_ci 2875bd8deadSopenharmony_ci returns in <pulCounterOutputVideo> the absolute count of vertical 2885bd8deadSopenharmony_ci blanks on <VideoDevice> since transfers were started while 2895bd8deadSopenharmony_ci <pulCounterOutputPbuffer> returns the count of the current pbuffer 2905bd8deadSopenharmony_ci being scanned out by <VideoDevice>. 2915bd8deadSopenharmony_ci 2925bd8deadSopenharmony_ci If glXGetVideoInfoNV succeeds, 0 is returned. Otherwise, a non-zero 2935bd8deadSopenharmony_ci error code is returned. 2945bd8deadSopenharmony_ci 2955bd8deadSopenharmony_ci 2965bd8deadSopenharmony_ciGLX Protocol 2975bd8deadSopenharmony_ci 2985bd8deadSopenharmony_ci Six new GLX protocol commands are added. 2995bd8deadSopenharmony_ci 3005bd8deadSopenharmony_ci GetVideoDeviceNV 3015bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 3025bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 3035bd8deadSopenharmony_ci 2 5 request length 3045bd8deadSopenharmony_ci 4 1313 vendor specific opcode 3055bd8deadSopenharmony_ci 4 unused 3065bd8deadSopenharmony_ci 4 CARD32 num_devices 3075bd8deadSopenharmony_ci 4 CARD32 screen 3085bd8deadSopenharmony_ci => 3095bd8deadSopenharmony_ci 1 CARD8 reply 3105bd8deadSopenharmony_ci 1 unused 3115bd8deadSopenharmony_ci 2 CARD16 sequence number 3125bd8deadSopenharmony_ci 4 n reply length 3135bd8deadSopenharmony_ci 4 CARD32 status 3145bd8deadSopenharmony_ci 4 CARD32 num_devices 3155bd8deadSopenharmony_ci 16 unused 3165bd8deadSopenharmony_ci 4 * n CARD32 video_device handles 3175bd8deadSopenharmony_ci 3185bd8deadSopenharmony_ci Where n is the number of device handles returned. 3195bd8deadSopenharmony_ci 3205bd8deadSopenharmony_ci 3215bd8deadSopenharmony_ci ReleaseVideoDeviceNV 3225bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 3235bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 3245bd8deadSopenharmony_ci 2 5 request length 3255bd8deadSopenharmony_ci 4 1314 vendor specific opcode 3265bd8deadSopenharmony_ci 4 unused 3275bd8deadSopenharmony_ci 4 CARD32 video_device 3285bd8deadSopenharmony_ci 4 CARD32 screen 3295bd8deadSopenharmony_ci => 3305bd8deadSopenharmony_ci 1 CARD8 reply 3315bd8deadSopenharmony_ci 1 unused 3325bd8deadSopenharmony_ci 2 CARD16 sequence number 3335bd8deadSopenharmony_ci 4 0 reply length 3345bd8deadSopenharmony_ci 4 CARD32 status 3355bd8deadSopenharmony_ci 20 unused 3365bd8deadSopenharmony_ci 3375bd8deadSopenharmony_ci 3385bd8deadSopenharmony_ci BindVideoImageNV 3395bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 3405bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 3415bd8deadSopenharmony_ci 2 6 request length 3425bd8deadSopenharmony_ci 4 1315 vendor specific opcode 3435bd8deadSopenharmony_ci 4 unused 3445bd8deadSopenharmony_ci 4 GLX_PBUFFER pbuffer 3455bd8deadSopenharmony_ci 4 CARD32 video_device 3465bd8deadSopenharmony_ci 4 CARD32 video_buffer 3475bd8deadSopenharmony_ci => 3485bd8deadSopenharmony_ci 1 CARD8 reply 3495bd8deadSopenharmony_ci 1 unused 3505bd8deadSopenharmony_ci 2 CARD16 sequence number 3515bd8deadSopenharmony_ci 4 0 reply length 3525bd8deadSopenharmony_ci 4 CARD32 status 3535bd8deadSopenharmony_ci 20 unused 3545bd8deadSopenharmony_ci 3555bd8deadSopenharmony_ci 3565bd8deadSopenharmony_ci ReleaseVideoImageNV 3575bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 3585bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 3595bd8deadSopenharmony_ci 2 4 request length 3605bd8deadSopenharmony_ci 4 1316 vendor specific opcode 3615bd8deadSopenharmony_ci 4 GLX_PBUFFER pbuffer 3625bd8deadSopenharmony_ci => 3635bd8deadSopenharmony_ci 1 CARD8 reply 3645bd8deadSopenharmony_ci 1 unused 3655bd8deadSopenharmony_ci 2 CARD16 sequence number 3665bd8deadSopenharmony_ci 4 0 reply length 3675bd8deadSopenharmony_ci 4 CARD32 status 3685bd8deadSopenharmony_ci 20 unused 3695bd8deadSopenharmony_ci 3705bd8deadSopenharmony_ci 3715bd8deadSopenharmony_ci SendPbufferToVideoNV 3725bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 3735bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 3745bd8deadSopenharmony_ci 2 6 request length 3755bd8deadSopenharmony_ci 4 1317 vendor specific opcode 3765bd8deadSopenharmony_ci 4 unused 3775bd8deadSopenharmony_ci 4 GLX_PBUFFER pbuffer 3785bd8deadSopenharmony_ci 4 CARD32 buffer_type 3795bd8deadSopenharmony_ci 1 BOOL block 3805bd8deadSopenharmony_ci 1 unused 3815bd8deadSopenharmony_ci 2 unused 3825bd8deadSopenharmony_ci => 3835bd8deadSopenharmony_ci 1 CARD8 reply 3845bd8deadSopenharmony_ci 1 unused 3855bd8deadSopenharmony_ci 2 CARD16 sequence number 3865bd8deadSopenharmony_ci 4 0 reply length 3875bd8deadSopenharmony_ci 4 CARD32 status 3885bd8deadSopenharmony_ci 4 CARD32 counter_pbuffer 3895bd8deadSopenharmony_ci 16 unused 3905bd8deadSopenharmony_ci 3915bd8deadSopenharmony_ci 3925bd8deadSopenharmony_ci GetVideoInfoNV 3935bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 3945bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 3955bd8deadSopenharmony_ci 2 5 request length 3965bd8deadSopenharmony_ci 4 1318 vendor specific opcode 3975bd8deadSopenharmony_ci 4 CARD32 screen 3985bd8deadSopenharmony_ci 4 CARD32 video_device 3995bd8deadSopenharmony_ci => 4005bd8deadSopenharmony_ci 1 CARD8 reply 4015bd8deadSopenharmony_ci 1 unused 4025bd8deadSopenharmony_ci 2 CARD16 sequence number 4035bd8deadSopenharmony_ci 4 0 reply length 4045bd8deadSopenharmony_ci 4 CARD32 status 4055bd8deadSopenharmony_ci 4 CARD32 counter_video 4065bd8deadSopenharmony_ci 4 CARD32 counter_pbuffer 4075bd8deadSopenharmony_ci 12 unused 4085bd8deadSopenharmony_ci 4095bd8deadSopenharmony_ciNew State 4105bd8deadSopenharmony_ci 4115bd8deadSopenharmony_ci None 4125bd8deadSopenharmony_ci 4135bd8deadSopenharmony_ciNew Implementation Dependent State 4145bd8deadSopenharmony_ci 4155bd8deadSopenharmony_ci None 4165bd8deadSopenharmony_ci 4175bd8deadSopenharmony_ciHistory 4185bd8deadSopenharmony_ci 4195bd8deadSopenharmony_ci Revision 8, June 4, 2014 (jajones) 4205bd8deadSopenharmony_ci - Fix extension string to match implementation. 4215bd8deadSopenharmony_ci 4225bd8deadSopenharmony_ci Revision 7, February 6, 2013 (pbrown) 4235bd8deadSopenharmony_ci - Fix GLX protocol section to remove the duplicate 4245bd8deadSopenharmony_ci opcode and match the implementation. 4255bd8deadSopenharmony_ci 4265bd8deadSopenharmony_ci Revision 6, February 20, 2008 4275bd8deadSopenharmony_ci - Internal revisions. 4285bd8deadSopenharmony_ci 429