Back to the OpenGL extension cross reference
GLX_SGIX_video_resize
    SGIX_video_resize
Name Strings
    GLX_SGIX_video_resize
Version
    $Date: 1999/12/28 01:40:36 $ $Revision: 1.5 $
Number
    83
Dependencies
    None
Overview
    This extension provides a means for doing swap or frame synchronous 
    resizing/panning of the area 
    that is to be magnified (or passed through) to the output
    video resolution.  The purpose of this functionality is to provide a
    means of allowing an application to draw into a smaller viewport to
    reduce the time spent doing pixel fill.  This reduced size viewport
    is then magnified up to the video output resolution using the 
    SGIX_video_resize extension.  This extension differs from SGIX_framezoom
    (number 57) in that it is post framebuffer resizing.  Over rendering
    at swap rates and panning at frame rates is possible using frame synchronous
    update instead of swap synchronous update used for the fill reduction case. 
Issues
    This extension currently only works on an InfiniteReality and later 
    high end machines.
    int glXBindChannelToWindowSGIX( Display *display,
			 int screen,
			 int channel,
			 Window window )
    int glXChannelRectSGIX(  Display *display,
			 int screen,
			 int channel,
			 int x,
			 int y,
			 int w,
			 int h )
    int glXQueryChannelRectSGIX( Display *display,
			 int screen,
			 int channel,
			 int *dx,
			 int *dy,
			 int *dw,
			 int *dh )
    int glXQueryChannelDeltasSGIX( Display *display,
			 int screen,
			 int channel,
			 int *x,
			 int *y,
			 int *w,
			 int *h )
    int glXChannelRectSyncSGIX( Display *display,
			 int screen,
			 int channel,
			 GLenum synctype)
    Accepted by the <synctype> parameter of glXChannelRectSyncSGIX.
    GLX_SYNC_FRAME_SGIX			0x00000000
    GLX_SYNC_SWAP_SGIX			0x00000001
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 Framebuffer)
    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
    glXBindChannelToWindowSGIX associates a channel with an X window id
    so that when the Xwid is destroyed, the channel input area care 
    revert back to the area before the bind took place.  The other reason
    for this binding is that the bound channel only updates when a swap
    takes place on the associated Xwid (assuming swap sync updates)
    glXChannelRectSGIX sets the input video rectangle that will take
    effect the next swap on the bound did or next frame (based on
    glXChannelRectSyncSGIX setting.) 
    glXQueryChannelRectSGIX returns the actual input area that took
    effect given any hardware constraints on input area placement/size.
    glXQueryChannelDeltasSGIX returns the resolution at which one can
    place and size a video input area. 
    glXChannelRectSyncSGIX configures the system to update video input
    areas on complete swap buffers of bound xwids, or on frame boundries.
Errors
    all SGIX_video_resize commands mentioned here return GLX_BAD_CONTEXT 
    if there is no current GLXContext.
    glXChannelRectSGIX returns GLX_BAD_CONTEXT if the current context is
    not direct, or if there is no current context.
    glXChannelRectSGIX returns GLX_BAD_VALUE if the x,y,w,h rectangle specified 
    does not fit within the channel's rectangle that was current at the time of the 
    glXBindChannelToWindowSGIX call.
    glXBindChannelToWindowSGIX returns GLX_BAD_VALUE if window passed to it
    is invalid.
    all SGIX_video_resize commands mentioned here return GLX_BAD_VALUE
    if the specified channel is invalid or inactive.
New State
    Get Value                   Get Command             Type    Initial Value
    ---------                   -----------             ----    -------------
    [deltas]			glXQueryChannelDeltasSGIX Z+	dx=4,dy=1,dw=4,dh=1 
    [resize rect]		glXQueryChannelRectSGIX	 Z+	current pan/zoom rect
New Implementation Dependent State
    Get Value                   Get Command             Type    Initial Value
    ---------                   -----------             ----    -------------
    [bound]						B	false
Implementation Support
   List of OpenGL implementations supporting the GLX_SGIX_video_resize extension
Original File
   Original text file for the GLX_SGIX_video_resize extension
Page generated on Sun Nov 20 18:38:42 2005