diff options
author | Riley Andrews <riandrews@google.com> | 2014-10-24 18:30:07 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-10-24 18:30:07 +0000 |
commit | 131866e1a4cb3c592f923e95a8c1a66291e2057a (patch) | |
tree | b28608d1059a82754ce64feaa71216c6090c5c05 /services | |
parent | 8ad8c0a775a1d4592479731973238b82480f76b2 (diff) | |
parent | 9707f4df640c3369f873a934bb05ffa5a68a5640 (diff) | |
download | frameworks_native-131866e1a4cb3c592f923e95a8c1a66291e2057a.zip frameworks_native-131866e1a4cb3c592f923e95a8c1a66291e2057a.tar.gz frameworks_native-131866e1a4cb3c592f923e95a8c1a66291e2057a.tar.bz2 |
Merge "Add glFlush in surfaceflinger screenshot code." into lmp-mr1-dev
Diffstat (limited to 'services')
-rw-r--r-- | services/surfaceflinger/RenderEngine/RenderEngine.cpp | 4 | ||||
-rw-r--r-- | services/surfaceflinger/RenderEngine/RenderEngine.h | 1 | ||||
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 2 |
3 files changed, 7 insertions, 0 deletions
diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.cpp b/services/surfaceflinger/RenderEngine/RenderEngine.cpp index d5d5da8..a77e0e9 100644 --- a/services/surfaceflinger/RenderEngine/RenderEngine.cpp +++ b/services/surfaceflinger/RenderEngine/RenderEngine.cpp @@ -219,6 +219,10 @@ void RenderEngine::fillRegionWithColor(const Region& region, uint32_t height, drawMesh(mesh); } +void RenderEngine::flush() { + glFlush(); +} + void RenderEngine::clearWithColor(float red, float green, float blue, float alpha) { glClearColor(red, green, blue, alpha); glClear(GL_COLOR_BUFFER_BIT); diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.h b/services/surfaceflinger/RenderEngine/RenderEngine.h index acbff9b..8d7529c 100644 --- a/services/surfaceflinger/RenderEngine/RenderEngine.h +++ b/services/surfaceflinger/RenderEngine/RenderEngine.h @@ -67,6 +67,7 @@ public: virtual void dump(String8& result); // helpers + void flush(); void clearWithColor(float red, float green, float blue, float alpha); void fillRegionWithColor(const Region& region, uint32_t height, float red, float green, float blue, float alpha); diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 96a8adb..50968e7 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -3201,6 +3201,8 @@ status_t SurfaceFlinger::captureScreenImplLocked( EGLSyncKHR sync; if (!DEBUG_SCREENSHOTS) { sync = eglCreateSyncKHR(mEGLDisplay, EGL_SYNC_NATIVE_FENCE_ANDROID, NULL); + // native fence fd will not be populated until flush() is done. + getRenderEngine().flush(); } else { sync = EGL_NO_SYNC_KHR; } |