11 Ian Romanick
, IBM
, idr at us.ibm.com
15 Deployed
in DRI drivers post
-XFree86
4.3.
19 Date
: 5/1/2003 Revision
: 1.1
29 Based on GLX_SGI_swap_control version
1.9 and WGL_EXT_swap_control
34 This extension allows an application to specify a minimum periodicity
35 of color buffer swaps
, measured
in video frame periods.
39 * Should implementations that
export GLX_MESA_swap_control also
export
40 GL_EXT_swap_control
for compatibility with WGL_EXT_swap_control?
44 New Procedures and Functions
46 int glXSwapIntervalMESA
(unsigned int interval
)
47 int glXGetSwapIntervalMESA
(void
)
53 Additions to Chapter
2 of the
1.4 GL Specification
(OpenGL Operation
)
57 Additions to Chapter
3 of the
1.4 GL Specification
(Rasterization
)
61 Additions to Chapter
4 of the
1.4 GL Specification
(Per
-Fragment Operations
66 Additions to Chapter
5 of the
1.4 GL Specification
(Special Functions
)
70 Additions to Chapter
6 of the
1.4 GL Specification
(State and State Requests
)
74 Additions to the GLX
1.3 Specification
76 [Add the following to Section
3.3.10 of the GLX Specification
(Double
79 glXSwapIntervalMESA specifies the minimum number of video frame periods
80 per buffer swap.
(e.g. a value of two means that the color buffers
81 will be swapped at most every other video frame.
) A
return value
82 of zero indicates success
; otherwise an error occurred. The interval
83 takes effect when glXSwapBuffers is first called subsequent to the
84 glXSwapIntervalMESA call.
86 A video frame period is the
time required by the monitor to display a
87 full frame of video data. In the
case of an interlaced monitor
,
88 this is typically the
time required to display both the even and odd
89 fields of a frame of video data.
91 If
<interval
> is
set to a value of
0, buffer swaps are not synchro
-
92 nized to a video frame. The
<interval
> value is silently clamped to
93 the maximum implementation
-dependent value supported before being
96 The swap interval is not part of the render context state. It cannot
97 be pushed or popped. The current swap interval
for the window
98 associated with the current context can be obtained by calling
99 glXGetSwapIntervalMESA. The default swap interval is
0.
101 On XFree86
, setting the environment variable LIBGL_THROTTLE_REFRESH sets
102 the swap interval to
1.
106 glXSwapIntervalMESA returns GLX_BAD_CONTEXT
if there is no current
107 GLXContext or
if the current context is not a direct rendering context.
111 None. This extension only extends to direct rendering contexts.
115 Get Value Get Command Type Initial Value
116 --------- ----------- ---- -------------
117 [swap interval
] GetSwapInterval Z
+ 0
119 New Implementation Dependent State
126 1.1, 5/1/03 Added the issues section and contact information.
127 Changed the default swap interval to
0.
128 1.0, 3/17/03 Initial version based on GLX_SGI_swap_control and
129 WGL_EXT_swap_control.