summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2012-03-12 15:18:42 -0400
committerMathias Agopian <mathias@google.com>2012-03-13 16:50:39 -0400
commitfddc28d87136b55f0d9613e5f8ecd64a6aca018d (patch)
tree43c123095e9175ce353070c21f617067b89c704f
parent00dc9fe0ede6ea75449db7bf93f82fca8152e1ed (diff)
downloadframeworks_native-fddc28d87136b55f0d9613e5f8ecd64a6aca018d.zip
frameworks_native-fddc28d87136b55f0d9613e5f8ecd64a6aca018d.tar.gz
frameworks_native-fddc28d87136b55f0d9613e5f8ecd64a6aca018d.tar.bz2
add ATRACE logs for screenshots
Change-Id: Ie8146c4d7608159e9d28b7338f9109b8fcdf955f
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 434ebc3..0c597d6 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2349,6 +2349,8 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,
uint32_t sw, uint32_t sh,
uint32_t minLayerZ, uint32_t maxLayerZ)
{
+ ATRACE_CALL();
+
status_t result = PERMISSION_DENIED;
// only one display supported for now
@@ -2381,6 +2383,7 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,
glGenRenderbuffersOES(1, &tname);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, tname);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_RGBA8_OES, sw, sh);
+
glGenFramebuffersOES(1, &name);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, name);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES,
@@ -2433,6 +2436,7 @@ status_t SurfaceFlinger::captureScreenImplLocked(DisplayID dpy,
void* const ptr = base->getBase();
if (ptr) {
// capture the screen with glReadPixels()
+ ScopedTrace _t(ATRACE_TAG, "glReadPixels");
glReadPixels(0, 0, sw, sh, GL_RGBA, GL_UNSIGNED_BYTE, ptr);
if (glGetError() == GL_NO_ERROR) {
*heap = base;