diff options
Diffstat (limited to 'glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_sync_control_rate.txt')
-rw-r--r-- | glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_sync_control_rate.txt | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_sync_control_rate.txt b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_sync_control_rate.txt new file mode 100644 index 0000000..4259145 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_sync_control_rate.txt @@ -0,0 +1,99 @@ +Name + + ANGLE_sync_control_rate + +Name Strings + + EGL_ANGLE_sync_control_rate + +Contact + + Jonah Ryan-Davis, Google (jonahr 'at' google.com) + +Status + + Draft. + +Version + + Version 1, 2020-03-24 + + Based on GLX_OML_sync_control Revision 6.0 + Related to EGL_CHROMIUM_sync_control Revision 2.0 + +Number + + 142 + +Dependencies + + The extension is written against the EGL 1.2 Specification, although it + should work on other versions of these specifications. + +Overview + + This extension provides counters which let applications know about the + timing of the last vertical retrace. By looking at the system clock, as + well as the refresh rate of the monitor, this should enable applications + to predict the position of future retraces so as to schedule an optimal + workload. + + This extension incorporates the use of a counter that provides the + necessary synchronization. The graphics Media Stream Counter (or + graphics MSC) is a counter that is unique to the graphics subsystem + and increments for each vertical retrace that occurs. + + By querying the MSC rate for a given surface, the application can + accurately predict the timing for the next vertical retraces and schedule + rendering accordingly. + +Issues + + None. + +IP Status + + No known issues. + +New Procedures and Functions + + Bool eglGetMscRateANGLE(EGLDisplay* dpy, + EGLSurface surface, + int32_t* numerator, + int32_t* denominator) + +New Tokens + + None + +Additions to the EGL 1.3 Specification + + The graphics MSC value is incremented once for each screen refresh. + For a non-interlaced display, this means that the graphics MSC value + is incremented for each frame. For an interlaced display, it means + that it will be incremented for each field. For a multi-monitor + system, the monitor used to determine MSC is the one where the surface + is located. If the surface spans multiple monitors, the monitor used + to determine MSC is the one with the biggest coverage in pixels. + + eglGetMscRateANGLE returns the rate at which the MSC will be incremented + for the display associated with <dpy> and <surface>. The rate is expressed + in Hertz as <numerator> / <denominator>. If the MSC rate in Hertz is an + integer, then <denominator> will be 1 and <numerator> will be + the MSC rate. + +Errors + + The function eglGetMscRateANGLE returns FALSE on failure. + If <dpy> is not a valid EGLDisplay, EGL_BAD_DISPLAY is generated. + If <surface> is not a valid EGLSurface, EGL_BAD_SURFACE is generated. + If there is no current EGLContext, EGL_BAD_CONTEXT is generated. + +New Implementation Dependent State + + None + +Revision History + + Version 1, 2020-03-24 (Jonah Ryan-Davis) + - Initial draft, based on GLX_OML_sync_control revision 6.0. |