summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authorbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-14 14:12:53 +0000
committerbacker@chromium.org <backer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-14 14:12:53 +0000
commit83f48ae3523f8306f832bb968277e3ddb23ff512 (patch)
tree6eec57cd0453581a3a4a243524fafccbc3877578 /third_party
parentced4dc8d1d00a981ac00f3803cc1c7a70a0420c2 (diff)
downloadchromium_src-83f48ae3523f8306f832bb968277e3ddb23ff512.zip
chromium_src-83f48ae3523f8306f832bb968277e3ddb23ff512.tar.gz
chromium_src-83f48ae3523f8306f832bb968277e3ddb23ff512.tar.bz2
CrOS: Plumb through vsync info to compositor on EGL stacks
Uses EGL_CHROMIUM_sync_control (a subset of GLX_OML_sync_control) to calculate refresh rate and when refreshes occur. This CL factors out common code from the GLX_OML_sync_control implementation. BUG=none TEST=by hand on stumpy, daisy, and desktop Review URL: https://codereview.chromium.org/11865021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176668 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r--third_party/khronos/EGL/eglext.h11
-rw-r--r--third_party/khronos/README.chromium2
2 files changed, 13 insertions, 0 deletions
diff --git a/third_party/khronos/EGL/eglext.h b/third_party/khronos/EGL/eglext.h
index 93a7365..8053647 100644
--- a/third_party/khronos/EGL/eglext.h
+++ b/third_party/khronos/EGL/eglext.h
@@ -470,6 +470,17 @@ EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint
typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
#endif
+#if KHRONOS_SUPPORT_INT64 /* EGLSyncControlCHROMIUM requires 64-bit uint support */
+#ifndef EGL_CHROMIUM_sync_control
+#define EGL_CHROMIUM_sync_control 1
+typedef khronos_uint64_t EGLuint64CHROMIUM;
+#ifdef EGL_EGLEXT_PROTOTYPES
+EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncValuesCHROMIUM(EGLDisplay dpy, EGLSurface surface, EGLuint64CHROMIUM *ust, EGLuint64CHROMIUM *msc, EGLuint64CHROMIUM *sbc);
+#endif /* EGL_EGLEXT_PROTOTYPES */
+typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCVALUESCHROMIUMPROC)(EGLDisplay dpy, EGLSurface surface, EGLuint64CHROMIUM *ust, EGLuint64CHROMIUM *msc, EGLuint64CHROMIUM *sbc);
+#endif
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/third_party/khronos/README.chromium b/third_party/khronos/README.chromium
index 36caefa..285f1d6 100644
--- a/third_party/khronos/README.chromium
+++ b/third_party/khronos/README.chromium
@@ -42,3 +42,5 @@ EGL/eglplatform.h
- Added EGLNative*Type for Mac.
DEPS
- Added DEPS file to prevent inclusion of external dependencies.
+EGL/eglext.h
+ - Added EGL_CHROMIUM_sync_control