Name NV_system_time Name Strings EGL_NV_system_time Contact Jason Allen, NVIDIA Corporation (jallen 'at' nvidia.com) Status TBD Version Version 1, July 7, 2011 Number EGL Extension #31 Dependencies Requires EGL 1.2 Overview This extension exposes an alternative method of querying the system time from the driver instead of the operating system. Issues Add 64 bit types? Yes, EGL doesn't support any 64 bit types so this extension adds int64 and uint64 types. New Types EGLint64NV: 64bit signed integer EGLuint64NV: 64bit unsigned integer New Procedures and Functions EGLuint64NV eglGetSystemTimeFrequencyNV(void); EGLuint64NV eglGetSystemTimeNV(void); New Tokens None Description The command: EGLuint64NV eglGetSystemTimeFrequencyNV(void); returns the frequency of the system timer, in counts per second. The frequency will not change while the system is running. The command: EGLuint64NV eglGetSystemTimeNV(void); returns the current value of the system timer. The system time in seconds can be calculated by dividing the returned value by the frequency returned by the eglGetSystemTimeFrequencyNV command. Multiple calls to eglGetSystemTimeNV may return the same values, applications need to be careful to avoid divide by zero errors when using the interval calculated from successive eglGetSystemTimeNV calls. Usage Example EGLuint64NV frequency = eglGetSystemTimeFrequencyNV(); loop { EGLuint64NV start = eglGetSystemTimeNV() / frequency; // draw EGLuint64NV end = eglGetSystemTimeNV() / frequency; EGLuint64NV interval = end - start; if (interval > 0) update_animation(interval); eglSwapBuffers(dpy, surface); } Revision History #1 (Jon Leech, 2011/07/07) - Add missing fields, assign extension number, and publish in the registry.