diff options
author | Mathias Agopian <mathias@google.com> | 2010-12-07 17:24:03 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-12-07 17:24:03 -0800 |
commit | f30c8287525ac049d4d7589a330be5713256046b (patch) | |
tree | 57485c30f1f124146eed3361ceeeb25324a835a6 | |
parent | 2460a5fa23ca36b91f5759d49339911461833c2d (diff) | |
parent | 48f42f8c3fbd33b2f46c6290ff5963dd58938cf9 (diff) | |
download | frameworks_base-f30c8287525ac049d4d7589a330be5713256046b.zip frameworks_base-f30c8287525ac049d4d7589a330be5713256046b.tar.gz frameworks_base-f30c8287525ac049d4d7589a330be5713256046b.tar.bz2 |
am 48f42f8c: am 4153bf3a: Merge "[3171580] don\'t automatically log GraphicBuffer allocation failures" into gingerbread
* commit '48f42f8c3fbd33b2f46c6290ff5963dd58938cf9':
[3171580] don't automatically log GraphicBuffer allocation failures
-rw-r--r-- | include/ui/GraphicBuffer.h | 5 | ||||
-rw-r--r-- | include/ui/GraphicBufferAllocator.h | 1 | ||||
-rw-r--r-- | libs/ui/GraphicBuffer.cpp | 5 | ||||
-rw-r--r-- | libs/ui/GraphicBufferAllocator.cpp | 11 | ||||
-rw-r--r-- | services/surfaceflinger/Layer.cpp | 1 |
5 files changed, 18 insertions, 5 deletions
diff --git a/include/ui/GraphicBuffer.h b/include/ui/GraphicBuffer.h index c446633..aa65d93 100644 --- a/include/ui/GraphicBuffer.h +++ b/include/ui/GraphicBuffer.h @@ -91,12 +91,15 @@ public: status_t lock(uint32_t usage, const Rect& rect, void** vaddr); status_t lock(GGLSurface* surface, uint32_t usage); status_t unlock(); - + android_native_buffer_t* getNativeBuffer() const; void setIndex(int index); int getIndex() const; + // for debugging + static void dumpAllocationsToSystemLog(); + private: virtual ~GraphicBuffer(); diff --git a/include/ui/GraphicBufferAllocator.h b/include/ui/GraphicBufferAllocator.h index 54b8236..dffa788 100644 --- a/include/ui/GraphicBufferAllocator.h +++ b/include/ui/GraphicBufferAllocator.h @@ -68,6 +68,7 @@ public: status_t free(buffer_handle_t handle); void dump(String8& res) const; + static void dumpToSystemLog(); private: struct alloc_rec_t { diff --git a/libs/ui/GraphicBuffer.cpp b/libs/ui/GraphicBuffer.cpp index 436e064..97312a6 100644 --- a/libs/ui/GraphicBuffer.cpp +++ b/libs/ui/GraphicBuffer.cpp @@ -114,6 +114,11 @@ status_t GraphicBuffer::initCheck() const { return mInitCheck; } +void GraphicBuffer::dumpAllocationsToSystemLog() +{ + GraphicBufferAllocator::dumpToSystemLog(); +} + android_native_buffer_t* GraphicBuffer::getNativeBuffer() const { return static_cast<android_native_buffer_t*>( diff --git a/libs/ui/GraphicBufferAllocator.cpp b/libs/ui/GraphicBufferAllocator.cpp index d51664d..fa46ab7 100644 --- a/libs/ui/GraphicBufferAllocator.cpp +++ b/libs/ui/GraphicBufferAllocator.cpp @@ -73,6 +73,13 @@ void GraphicBufferAllocator::dump(String8& result) const result.append(buffer); } +void GraphicBufferAllocator::dumpToSystemLog() +{ + String8 s; + GraphicBufferAllocator::getInstance().dump(s); + LOGD("%s", s.string()); +} + status_t GraphicBufferAllocator::alloc(uint32_t w, uint32_t h, PixelFormat format, int usage, buffer_handle_t* handle, int32_t* stride) { @@ -104,10 +111,6 @@ status_t GraphicBufferAllocator::alloc(uint32_t w, uint32_t h, PixelFormat forma rec.usage = usage; rec.size = h * stride[0] * bytesPerPixel(format); list.add(*handle, rec); - } else { - String8 s; - dump(s); - LOGD("%s", s.string()); } return err; diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index 145618e..15df888 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -409,6 +409,7 @@ sp<GraphicBuffer> Layer::requestBuffer(int index, err = buffer->initCheck(); if (err || buffer->handle == 0) { + GraphicBuffer::dumpAllocationsToSystemLog(); LOGE_IF(err || buffer->handle == 0, "Layer::requestBuffer(this=%p), index=%d, w=%d, h=%d failed (%s)", this, index, w, h, strerror(-err)); |