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