MESA_swap_control.spec revision c784d87b0f07590a2bb87307ca6a264b2ec99b31
1Name
2
3    MESA_swap_control
4
5Name Strings
6
7    GLX_MESA_swap_control
8
9Contact
10
11    Ian Romanick, IBM, idr at us.ibm.com
12
13Status
14
15    Deployed in DRI drivers post-XFree86 4.3.
16
17Version
18
19    Date: 5/1/2003   Revision: 1.1
20
21Number
22
23    ???
24
25Dependencies
26
27    None
28
29    Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control
30    version 1.5.
31
32Overview
33
34    This extension allows an application to specify a minimum periodicity
35    of color buffer swaps, measured in video frame periods.
36
37Issues
38
39    * Should implementations that export GLX_MESA_swap_control also export
40      GL_EXT_swap_control for compatibility with WGL_EXT_swap_control?
41
42    UNRESOLVED.
43
44New Procedures and Functions
45
46    int glXSwapIntervalMESA(int interval)
47    int glXGetSwapIntervalMESA(void)
48
49New Tokens
50
51    None
52
53Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
54
55    None
56
57Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
58
59    None
60
61Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
62and the Framebuffer)
63
64    None
65
66Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
67
68    None
69
70Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
71
72    None
73
74Additions to the GLX 1.3 Specification
75
76    [Add the following to Section 3.3.10 of the GLX Specification (Double
77     Buffering)]
78
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.
85
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.
90
91    If <interval> is set to a value of 0, buffer swaps are not synchron-
92    ized to a video frame.  The <interval> value is silently clamped to
93    the maximum implementation-dependent value supported before being
94    stored.
95
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.
100
101    On XFree86, setting the environment variable LIBGL_THROTTLE_REFRESH sets
102    the swap interval to 1.
103
104Errors
105
106    glXSwapIntervalMESA returns GLX_BAD_VALUE if parameter <interval> is
107    less than zero.
108
109    glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current
110    GLXContext.
111
112GLX Protocol
113
114    None.  This extension only extends to direct rendering contexts.
115
116New State
117
118    Get Value		Get Command	Type	    Initial Value
119    ---------		-----------	----	    -------------
120    [swap interval]	GetSwapInterval	Z+	    0
121
122New Implementation Dependent State
123
124    None
125
126
127Revision History
128
129    1.1,  5/1/03   Added the issues section and contact information.
130    	  	   Changed the default swap interval to 0.
131    1.0,  3/17/03  Initial version based on GLX_SGI_swap_control and
132                   WGL_EXT_swap_control.
133