Home | History | Annotate | Download | only in specs
      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(unsigned 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 synchro-
     92     nized 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_CONTEXT if there is no current
    107     GLXContext or if the current context is not a direct rendering context.
    108 
    109 GLX Protocol
    110 
    111     None.  This extension only extends to direct rendering contexts.
    112 
    113 New State
    114 
    115     Get Value		Get Command	Type	    Initial Value
    116     ---------		-----------	----	    -------------
    117     [swap interval]	GetSwapInterval	Z+	    0
    118 
    119 New Implementation Dependent State
    120 
    121     None
    122 
    123 
    124 Revision History
    125 
    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.
    130