blob: 2f4514749c1f050c10afa09e786df0f5c2e7d24a [file] [log] [blame]
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.