OSDN Git Service

mesa/main: Make FEATURE_feedback follow feature conventions.
[android-x86/external-mesa.git] / docs / MESA_swap_control.spec
1 Name
2
3     MESA_swap_control
4
5 Name Strings
6
7     GLX_MESA_swap_control
8
9 Contact
10
11     Ian Romanick, IBM, idr at us.ibm.com
12
13 Status
14
15     Deployed in DRI drivers post-XFree86 4.3.
16
17 Version
18
19     Date: 5/1/2003   Revision: 1.1
20
21 Number
22
23     ???
24
25 Dependencies
26
27     None
28
29     Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control
30     version 1.5.
31
32 Overview
33
34     This extension allows an application to specify a minimum periodicity
35     of color buffer swaps, measured in video frame periods.
36
37 Issues
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
44 New Procedures and Functions
45
46     int glXSwapIntervalMESA(int interval)
47     int glXGetSwapIntervalMESA(void)
48
49 New Tokens
50
51     None
52
53 Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
54
55     None
56
57 Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
58
59     None
60
61 Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
62 and the Framebuffer)
63
64     None
65
66 Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
67
68     None
69
70 Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
71
72     None
73
74 Additions 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
104 Errors
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
112 GLX Protocol
113
114     None.  This extension only extends to direct rendering contexts.
115
116 New State
117
118     Get Value           Get Command     Type        Initial Value
119     ---------           -----------     ----        -------------
120     [swap interval]     GetSwapInterval Z+          0
121
122 New Implementation Dependent State
123
124     None
125
126
127 Revision 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.