diff options
author | sheu@chromium.org <sheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-22 10:00:42 +0000 |
---|---|---|
committer | sheu@chromium.org <sheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-22 10:00:42 +0000 |
commit | da731fa4cdc22c96ee043b84c3db7fe167bb1456 (patch) | |
tree | 7724f48a54743ba655d8793dfac959ecb3364545 /ui/gl | |
parent | c83264e947e7780cae4258cb0a48e9e11b35d807 (diff) | |
download | chromium_src-da731fa4cdc22c96ee043b84c3db7fe167bb1456.zip chromium_src-da731fa4cdc22c96ee043b84c3db7fe167bb1456.tar.gz chromium_src-da731fa4cdc22c96ee043b84c3db7fe167bb1456.tar.bz2 |
Use glFinish() before EGL context switch for ARM
Temp workaround for issues on Mali. Apparently we don't care about this
affecting Kaen.
BUG=None
TEST=local build, run
Change-Id: I914503cd40d5b587cf6c5b60fa19ad41fd0e709b
Review URL: https://chromiumcodereview.appspot.com/10636006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143568 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gl')
-rw-r--r-- | ui/gl/gl_context_egl.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/ui/gl/gl_context_egl.cc b/ui/gl/gl_context_egl.cc index f77c9f9..e3e18ff 100644 --- a/ui/gl/gl_context_egl.cc +++ b/ui/gl/gl_context_egl.cc @@ -75,7 +75,16 @@ bool GLContextEGL::MakeCurrent(GLSurface* surface) { if (IsCurrent(surface)) return true; - TRACE_EVENT0("gpu", "GLContextEGL::MakeCurrent"); + TRACE_EVENT2("gpu", "GLContextEGL::MakeCurrent", + "context", context_, + "surface", surface); + + // Mali work-around: glFlush() does not synchronize between contexts + // chrome-os-partner:10068 +#if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) + if (eglGetCurrentContext() != NULL) + glFinish(); +#endif // defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) if (!eglMakeCurrent(display_, surface->GetHandle(), |