GrallocTextureHostOGL::GrallocTextureHostOGL(TextureFlags aFlags, const NewSurfaceDescriptorGralloc& aDescriptor) : TextureHost(aFlags) { android::GraphicBuffer* graphicBuffer = nullptr; gfx::SurfaceFormat format = gfx::SurfaceFormat::UNKNOWN; mSize = aDescriptor.size(); mGrallocActor = static_cast<GrallocBufferActor*>(aDescriptor.bufferParent()); if (mGrallocActor) { mGrallocActor->AddTextureHost(this); graphicBuffer = mGrallocActor->GetGraphicBuffer(); } if (graphicBuffer) { format = SurfaceFormatForAndroidPixelFormat(graphicBuffer->getPixelFormat(), aFlags & TEXTURE_RB_SWAPPED); } mTextureSource = new GrallocTextureSourceOGL(nullptr, graphicBuffer, format); }
GrallocTextureHostOGL::GrallocTextureHostOGL(uint64_t aID, TextureFlags aFlags, const NewSurfaceDescriptorGralloc& aDescriptor) : TextureHost(aID, aFlags) { mGrallocActor = static_cast<GrallocBufferActor*>(aDescriptor.bufferParent()); android::GraphicBuffer* graphicBuffer = mGrallocActor->GetGraphicBuffer(); mSize = aDescriptor.size(); gfx::SurfaceFormat format = SurfaceFormatForAndroidPixelFormat(graphicBuffer->getPixelFormat(), aFlags & TEXTURE_RB_SWAPPED); mTextureSource = new GrallocTextureSourceOGL(nullptr, graphicBuffer, format); }
GrallocTextureHostOGL::GrallocTextureHostOGL(TextureFlags aFlags, const NewSurfaceDescriptorGralloc& aDescriptor) : TextureHost(aFlags) { mGrallocHandle = aDescriptor; android::GraphicBuffer* graphicBuffer = GetGraphicBufferFromDesc(mGrallocHandle).get(); if (!graphicBuffer) { NS_RUNTIMEABORT("Invalid SurfaceDescriptor passed in"); } mSize = aDescriptor.size(); gfx::SurfaceFormat format = SurfaceFormatForAndroidPixelFormat(graphicBuffer->getPixelFormat(), aFlags & TextureFlags::RB_SWAPPED); mTextureSource = new GrallocTextureSourceOGL(nullptr, graphicBuffer, format); }
GrallocTextureHostOGL::GrallocTextureHostOGL(TextureFlags aFlags, const NewSurfaceDescriptorGralloc& aDescriptor) : TextureHost(aFlags) , mGrallocHandle(aDescriptor) , mSize(0, 0) , mDescriptorSize(aDescriptor.size()) , mFormat(gfx::SurfaceFormat::UNKNOWN) , mEGLImage(EGL_NO_IMAGE) , mIsOpaque(aDescriptor.isOpaque()) { android::GraphicBuffer* graphicBuffer = GetGraphicBufferFromDesc(mGrallocHandle).get(); MOZ_ASSERT(graphicBuffer); if (graphicBuffer) { mFormat = SurfaceFormatForAndroidPixelFormat(graphicBuffer->getPixelFormat(), aFlags & TextureFlags::RB_SWAPPED); mSize = gfx::IntSize(graphicBuffer->getWidth(), graphicBuffer->getHeight()); } else { printf_stderr("gralloc buffer is nullptr"); } }
GrallocTextureHostOGL::GrallocTextureHostOGL(TextureFlags aFlags, const NewSurfaceDescriptorGralloc& aDescriptor) : TextureHost(aFlags) { gfx::SurfaceFormat format = gfx::SurfaceFormat::UNKNOWN; mGrallocHandle = aDescriptor; android::GraphicBuffer* graphicBuffer = GetGraphicBufferFromDesc(mGrallocHandle).get(); MOZ_ASSERT(graphicBuffer); mSize = aDescriptor.size(); if (graphicBuffer) { format = SurfaceFormatForAndroidPixelFormat(graphicBuffer->getPixelFormat(), aFlags & TextureFlags::RB_SWAPPED); } else { NS_WARNING("gralloc buffer is nullptr"); } mTextureSource = new GrallocTextureSourceOGL(nullptr, graphicBuffer, format); }