
It appears that, in spite of what the spec says, the interval parameter to glXSwapIntervalMESA has been an unsigned int since day-1. This made the 'if (interval < 0)' test useless. The test is removed and the spec is updated to note that the interval is an unsigned value.
130 lines
3.2 KiB
Python
130 lines
3.2 KiB
Python
Name
|
|
|
|
MESA_swap_control
|
|
|
|
Name Strings
|
|
|
|
GLX_MESA_swap_control
|
|
|
|
Contact
|
|
|
|
Ian Romanick, IBM, idr at us.ibm.com
|
|
|
|
Status
|
|
|
|
Deployed in DRI drivers post-XFree86 4.3.
|
|
|
|
Version
|
|
|
|
Date: 5/1/2003 Revision: 1.1
|
|
|
|
Number
|
|
|
|
???
|
|
|
|
Dependencies
|
|
|
|
None
|
|
|
|
Based on GLX_SGI_swap_control version 1.9 and WGL_EXT_swap_control
|
|
version 1.5.
|
|
|
|
Overview
|
|
|
|
This extension allows an application to specify a minimum periodicity
|
|
of color buffer swaps, measured in video frame periods.
|
|
|
|
Issues
|
|
|
|
* Should implementations that export GLX_MESA_swap_control also export
|
|
GL_EXT_swap_control for compatibility with WGL_EXT_swap_control?
|
|
|
|
UNRESOLVED.
|
|
|
|
New Procedures and Functions
|
|
|
|
int glXSwapIntervalMESA(unsigned int interval)
|
|
int glXGetSwapIntervalMESA(void)
|
|
|
|
New Tokens
|
|
|
|
None
|
|
|
|
Additions to Chapter 2 of the 1.4 GL Specification (OpenGL Operation)
|
|
|
|
None
|
|
|
|
Additions to Chapter 3 of the 1.4 GL Specification (Rasterization)
|
|
|
|
None
|
|
|
|
Additions to Chapter 4 of the 1.4 GL Specification (Per-Fragment Operations
|
|
and the Framebuffer)
|
|
|
|
None
|
|
|
|
Additions to Chapter 5 of the 1.4 GL Specification (Special Functions)
|
|
|
|
None
|
|
|
|
Additions to Chapter 6 of the 1.4 GL Specification (State and State Requests)
|
|
|
|
None
|
|
|
|
Additions to the GLX 1.3 Specification
|
|
|
|
[Add the following to Section 3.3.10 of the GLX Specification (Double
|
|
Buffering)]
|
|
|
|
glXSwapIntervalMESA specifies the minimum number of video frame periods
|
|
per buffer swap. (e.g. a value of two means that the color buffers
|
|
will be swapped at most every other video frame.) A return value
|
|
of zero indicates success; otherwise an error occurred. The interval
|
|
takes effect when glXSwapBuffers is first called subsequent to the
|
|
glXSwapIntervalMESA call.
|
|
|
|
A video frame period is the time required by the monitor to display a
|
|
full frame of video data. In the case of an interlaced monitor,
|
|
this is typically the time required to display both the even and odd
|
|
fields of a frame of video data.
|
|
|
|
If <interval> is set to a value of 0, buffer swaps are not synchron-
|
|
ized to a video frame. The <interval> value is silently clamped to
|
|
the maximum implementation-dependent value supported before being
|
|
stored.
|
|
|
|
The swap interval is not part of the render context state. It cannot
|
|
be pushed or popped. The current swap interval for the window
|
|
associated with the current context can be obtained by calling
|
|
glXGetSwapIntervalMESA. The default swap interval is 0.
|
|
|
|
On XFree86, setting the environment variable LIBGL_THROTTLE_REFRESH sets
|
|
the swap interval to 1.
|
|
|
|
Errors
|
|
|
|
glXSwapIntervalMESA returns GLX_BAD_CONTEXT if there is no current
|
|
GLXContext or if the current context is not a direct rendering context.
|
|
|
|
GLX Protocol
|
|
|
|
None. This extension only extends to direct rendering contexts.
|
|
|
|
New State
|
|
|
|
Get Value Get Command Type Initial Value
|
|
--------- ----------- ---- -------------
|
|
[swap interval] GetSwapInterval Z+ 0
|
|
|
|
New Implementation Dependent State
|
|
|
|
None
|
|
|
|
|
|
Revision History
|
|
|
|
1.1, 5/1/03 Added the issues section and contact information.
|
|
Changed the default swap interval to 0.
|
|
1.0, 3/17/03 Initial version based on GLX_SGI_swap_control and
|
|
WGL_EXT_swap_control.
|