Ejemplo n.º 1
0
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);
}
Ejemplo n.º 3
0
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");
  }
}
Ejemplo n.º 4
0
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);
}
Ejemplo n.º 5
0
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);
}
Ejemplo n.º 6
0
GrallocTextureHostBasic::GrallocTextureHostBasic(
  TextureFlags aFlags,
  const NewSurfaceDescriptorGralloc& aDescriptor)
  : TextureHost(aFlags)
  , mGrallocHandle(aDescriptor)
  , mSize(0, 0)
  , mCropSize(0, 0)
  , mFormat(gfx::SurfaceFormat::UNKNOWN)
  , mIsOpaque(aDescriptor.isOpaque())
{
  android::GraphicBuffer* grallocBuffer = GetGraphicBufferFromDesc(mGrallocHandle).get();
  MOZ_ASSERT(grallocBuffer);

  if (grallocBuffer) {
    mFormat =
      HalFormatToSurfaceFormat(grallocBuffer->getPixelFormat(),
                               aFlags & TextureFlags::RB_SWAPPED);
    mSize = gfx::IntSize(grallocBuffer->getWidth(), grallocBuffer->getHeight());
    mCropSize = mSize;
  } else {
    printf_stderr("gralloc buffer is nullptr\n");
  }
}