Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  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.