PGrallocBufferChild* ImageBridgeChild::AllocGrallocBuffer(const gfxIntSize& aSize, gfxASurface::gfxContentType aContent, MaybeMagicGrallocBufferHandle* aHandle) { #ifdef MOZ_WIDGET_GONK return SendPGrallocBufferConstructor(aSize, aContent, GRALLOC_USAGE_SW_READ_OFTEN | GRALLOC_USAGE_SW_WRITE_OFTEN, aHandle); #else NS_RUNTIMEABORT("not implemented"); return nullptr; #endif }
PGrallocBufferChild* ImageBridgeChild::AllocGrallocBuffer(const gfxIntSize& aSize, uint32_t aFormat, uint32_t aUsage, MaybeMagicGrallocBufferHandle* aHandle) { #ifdef MOZ_WIDGET_GONK return SendPGrallocBufferConstructor(aSize, aFormat, aUsage, aHandle); #else NS_RUNTIMEABORT("not implemented"); return nullptr; #endif }
bool ImageBridgeChild::AllocSurfaceDescriptorGrallocNow(const gfxIntSize& aSize, const uint32_t& aFormat, const uint32_t& aUsage, SurfaceDescriptor* aBuffer) { #ifdef MOZ_HAVE_SURFACEDESCRIPTORGRALLOC MaybeMagicGrallocBufferHandle handle; PGrallocBufferChild* gc = SendPGrallocBufferConstructor(aSize, aFormat, aUsage, &handle); if (handle.Tnull_t == handle.type()) { PGrallocBufferChild::Send__delete__(gc); return false; } GrallocBufferActor* gba = static_cast<GrallocBufferActor*>(gc); gba->InitFromHandle(handle.get_MagicGrallocBufferHandle()); *aBuffer = SurfaceDescriptorGralloc(nullptr, gc, aSize, /* external */ false); return true; #else NS_RUNTIMEABORT("No gralloc buffers for you"); return false; #endif }