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