• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    SGIX_video_resize
4
5Name Strings
6
7    GLX_SGIX_video_resize
8
9Version
10
11    $Date: 1999/12/28 01:40:36 $ $Revision: 1.5 $
12
13Number
14
15    83
16
17Dependencies
18
19    None
20
21Overview
22
23    This extension provides a means for doing swap or frame synchronous
24    resizing/panning of the area
25    that is to be magnified (or passed through) to the output
26    video resolution.  The purpose of this functionality is to provide a
27    means of allowing an application to draw into a smaller viewport to
28    reduce the time spent doing pixel fill.  This reduced size viewport
29    is then magnified up to the video output resolution using the
30    SGIX_video_resize extension.  This extension differs from SGIX_framezoom
31    (number 57) in that it is post framebuffer resizing.  Over rendering
32    at swap rates and panning at frame rates is possible using frame synchronous
33    update instead of swap synchronous update used for the fill reduction case.
34
35Issues
36
37    This extension currently only works on an InfiniteReality and later
38    high end machines.
39
40New Procedures and Functions
41
42    int glXBindChannelToWindowSGIX( Display *display,
43			 int screen,
44			 int channel,
45			 Window window )
46
47    int glXChannelRectSGIX(  Display *display,
48			 int screen,
49			 int channel,
50			 int x,
51			 int y,
52			 int w,
53			 int h )
54
55    int glXQueryChannelRectSGIX( Display *display,
56			 int screen,
57			 int channel,
58			 int *dx,
59			 int *dy,
60			 int *dw,
61			 int *dh )
62
63    int glXQueryChannelDeltasSGIX( Display *display,
64			 int screen,
65			 int channel,
66			 int *x,
67			 int *y,
68			 int *w,
69			 int *h )
70
71
72    int glXChannelRectSyncSGIX( Display *display,
73			 int screen,
74			 int channel,
75			 GLenum synctype)
76
77
78New Tokens
79
80    Accepted by the <synctype> parameter of glXChannelRectSyncSGIX.
81
82    GLX_SYNC_FRAME_SGIX			0x00000000
83    GLX_SYNC_SWAP_SGIX			0x00000001
84
85Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
86
87    None
88
89Additions to Chapter 3 of the 1.0 Specification (Rasterization)
90
91    None
92
93Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations and
94the Framebuffer)
95
96    None
97
98Additions to Chapter 5 of the 1.0 Specification (Special Functions)
99
100    None
101
102Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
103
104    None
105
106Additions to the GLX Specification
107
108    glXBindChannelToWindowSGIX associates a channel with an X window id
109    so that when the Xwid is destroyed, the channel input area care
110    revert back to the area before the bind took place.  The other reason
111    for this binding is that the bound channel only updates when a swap
112    takes place on the associated Xwid (assuming swap sync updates)
113
114    glXChannelRectSGIX sets the input video rectangle that will take
115    effect the next swap on the bound did or next frame (based on
116    glXChannelRectSyncSGIX setting.)
117
118    glXQueryChannelRectSGIX returns the actual input area that took
119    effect given any hardware constraints on input area placement/size.
120
121    glXQueryChannelDeltasSGIX returns the resolution at which one can
122    place and size a video input area.
123
124    glXChannelRectSyncSGIX configures the system to update video input
125    areas on complete swap buffers of bound xwids, or on frame boundries.
126
127Errors
128
129    all SGIX_video_resize commands mentioned here return GLX_BAD_CONTEXT
130    if there is no current GLXContext.
131
132    glXChannelRectSGIX returns GLX_BAD_CONTEXT if the current context is
133    not direct, or if there is no current context.
134
135    glXChannelRectSGIX returns GLX_BAD_VALUE if the x,y,w,h rectangle specified
136    does not fit within the channel's rectangle that was current at the time of the
137    glXBindChannelToWindowSGIX call.
138
139    glXBindChannelToWindowSGIX returns GLX_BAD_VALUE if window passed to it
140    is invalid.
141
142    all SGIX_video_resize commands mentioned here return GLX_BAD_VALUE
143    if the specified channel is invalid or inactive.
144
145New State
146
147    Get Value                   Get Command             Type    Initial Value
148    ---------                   -----------             ----    -------------
149    [deltas]			glXQueryChannelDeltasSGIX Z+	dx=4,dy=1,dw=4,dh=1
150    [resize rect]		glXQueryChannelRectSGIX	 Z+	current pan/zoom rect
151
152
153New Implementation Dependent State
154
155    Get Value                   Get Command             Type    Initial Value
156    ---------                   -----------             ----    -------------
157    [bound]						B	false
158