Merge "[3171580] don't automatically log GraphicBuffer allocation failures" into gingerbread
This commit is contained in:
commit
abf06a734f
@ -88,12 +88,15 @@ public:
|
|||||||
status_t lock(uint32_t usage, const Rect& rect, void** vaddr);
|
status_t lock(uint32_t usage, const Rect& rect, void** vaddr);
|
||||||
status_t lock(GGLSurface* surface, uint32_t usage);
|
status_t lock(GGLSurface* surface, uint32_t usage);
|
||||||
status_t unlock();
|
status_t unlock();
|
||||||
|
|
||||||
android_native_buffer_t* getNativeBuffer() const;
|
android_native_buffer_t* getNativeBuffer() const;
|
||||||
|
|
||||||
void setIndex(int index);
|
void setIndex(int index);
|
||||||
int getIndex() const;
|
int getIndex() const;
|
||||||
|
|
||||||
|
// for debugging
|
||||||
|
static void dumpAllocationsToSystemLog();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual ~GraphicBuffer();
|
virtual ~GraphicBuffer();
|
||||||
|
|
||||||
|
@ -68,6 +68,7 @@ public:
|
|||||||
status_t free(buffer_handle_t handle);
|
status_t free(buffer_handle_t handle);
|
||||||
|
|
||||||
void dump(String8& res) const;
|
void dump(String8& res) const;
|
||||||
|
static void dumpToSystemLog();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct alloc_rec_t {
|
struct alloc_rec_t {
|
||||||
|
@ -99,6 +99,11 @@ status_t GraphicBuffer::initCheck() const {
|
|||||||
return mInitCheck;
|
return mInitCheck;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GraphicBuffer::dumpAllocationsToSystemLog()
|
||||||
|
{
|
||||||
|
GraphicBufferAllocator::dumpToSystemLog();
|
||||||
|
}
|
||||||
|
|
||||||
android_native_buffer_t* GraphicBuffer::getNativeBuffer() const
|
android_native_buffer_t* GraphicBuffer::getNativeBuffer() const
|
||||||
{
|
{
|
||||||
return static_cast<android_native_buffer_t*>(
|
return static_cast<android_native_buffer_t*>(
|
||||||
|
@ -73,6 +73,13 @@ void GraphicBufferAllocator::dump(String8& result) const
|
|||||||
result.append(buffer);
|
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,
|
status_t GraphicBufferAllocator::alloc(uint32_t w, uint32_t h, PixelFormat format,
|
||||||
int usage, buffer_handle_t* handle, int32_t* stride)
|
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.usage = usage;
|
||||||
rec.size = h * stride[0] * bytesPerPixel(format);
|
rec.size = h * stride[0] * bytesPerPixel(format);
|
||||||
list.add(*handle, rec);
|
list.add(*handle, rec);
|
||||||
} else {
|
|
||||||
String8 s;
|
|
||||||
dump(s);
|
|
||||||
LOGD("%s", s.string());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
@ -347,6 +347,7 @@ sp<GraphicBuffer> Layer::requestBuffer(int index,
|
|||||||
err = buffer->initCheck();
|
err = buffer->initCheck();
|
||||||
|
|
||||||
if (err || buffer->handle == 0) {
|
if (err || buffer->handle == 0) {
|
||||||
|
GraphicBuffer::dumpAllocationsToSystemLog();
|
||||||
LOGE_IF(err || buffer->handle == 0,
|
LOGE_IF(err || buffer->handle == 0,
|
||||||
"Layer::requestBuffer(this=%p), index=%d, w=%d, h=%d failed (%s)",
|
"Layer::requestBuffer(this=%p), index=%d, w=%d, h=%d failed (%s)",
|
||||||
this, index, w, h, strerror(-err));
|
this, index, w, h, strerror(-err));
|
||||||
|
Loading…
Reference in New Issue
Block a user