Commit e13c31b1 authored by sotaro's avatar sotaro
Browse files

Bug 1739553 - Use wr::ExternalImageId in more places r=gfx-reviewers,bradwerth

It could make code more explicit.

Differential Revision: https://phabricator.services.mozilla.com/D130434
parent dac9173b
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -71,8 +71,8 @@ TextureHost* GPUVideoTextureHost::EnsureWrappedTextureHost() {

    RefPtr<wr::RenderTextureHost> texture =
        new wr::RenderTextureHostWrapper(wrappedId);
    wr::RenderThread::Get()->RegisterExternalImage(
        wr::AsUint64(mExternalImageId.ref()), texture.forget());
    wr::RenderThread::Get()->RegisterExternalImage(mExternalImageId.ref(),
                                                   texture.forget());
  }

  if (mPendingSourceProvider) {
@@ -220,8 +220,8 @@ void GPUVideoTextureHost::CreateRenderTexture(

    RefPtr<wr::RenderTextureHost> texture =
        new wr::RenderTextureHostWrapper(wrappedId);
    wr::RenderThread::Get()->RegisterExternalImage(
        wr::AsUint64(mExternalImageId.ref()), texture.forget());
    wr::RenderThread::Get()->RegisterExternalImage(mExternalImageId.ref(),
                                                   texture.forget());
    return;
  }

+2 −3
Original line number Diff line number Diff line
@@ -433,8 +433,7 @@ void TextureHost::MaybeDestroyRenderTexture() {

void TextureHost::DestroyRenderTexture(
    const wr::ExternalImageId& aExternalImageId) {
  wr::RenderThread::Get()->UnregisterExternalImage(
      wr::AsUint64(aExternalImageId));
  wr::RenderThread::Get()->UnregisterExternalImage(aExternalImageId);
}

void TextureHost::EnsureRenderTexture(
@@ -598,7 +597,7 @@ void BufferTextureHost::CreateRenderTexture(
        new wr::RenderBufferTextureHost(GetBuffer(), GetBufferDescriptor());
  }

  wr::RenderThread::Get()->RegisterExternalImage(wr::AsUint64(aExternalImageId),
  wr::RenderThread::Get()->RegisterExternalImage(aExternalImageId,
                                                 texture.forget());
}

+2 −2
Original line number Diff line number Diff line
@@ -998,7 +998,7 @@ void DXGITextureHostD3D11::CreateRenderTexture(
  RefPtr<wr::RenderTextureHost> texture = new wr::RenderDXGITextureHost(
      mHandle, mFormat, mYUVColorSpace, mColorRange, mSize);

  wr::RenderThread::Get()->RegisterExternalImage(wr::AsUint64(aExternalImageId),
  wr::RenderThread::Get()->RegisterExternalImage(aExternalImageId,
                                                 texture.forget());
}

@@ -1299,7 +1299,7 @@ void DXGIYCbCrTextureHostD3D11::CreateRenderTexture(
  RefPtr<wr::RenderTextureHost> texture = new wr::RenderDXGIYCbCrTextureHost(
      mHandles, mYUVColorSpace, mColorDepth, mColorRange, mSizeY, mSizeCbCr);

  wr::RenderThread::Get()->RegisterExternalImage(wr::AsUint64(aExternalImageId),
  wr::RenderThread::Get()->RegisterExternalImage(aExternalImageId,
                                                 texture.forget());
}

+7 −5
Original line number Diff line number Diff line
@@ -74,7 +74,8 @@ void SharedSurfacesParent::ShutdownRenderThread() {
    // There may be lingering consumers of the surfaces that didn't get shutdown
    // yet but since we are here, we know the render thread is finished and we
    // can unregister everything.
    wr::RenderThread::Get()->UnregisterExternalImageDuringShutdown(key);
    wr::RenderThread::Get()->UnregisterExternalImageDuringShutdown(
        wr::ToExternalImageId(key));
  }
}

@@ -138,7 +139,7 @@ bool SharedSurfacesParent::Release(const wr::ExternalImageId& aId,

  if (surface->RemoveConsumer(aForCreator)) {
    RemoveTrackingLocked(surface, lock);
    wr::RenderThread::Get()->UnregisterExternalImage(id);
    wr::RenderThread::Get()->UnregisterExternalImage(wr::ToExternalImageId(id));
    sInstance->mSurfaces.Remove(id);
  }

@@ -169,7 +170,7 @@ void SharedSurfacesParent::AddSameProcess(const wr::ExternalImageId& aId,
  MOZ_ASSERT(!sInstance->mSurfaces.Contains(id));

  auto texture = MakeRefPtr<wr::RenderSharedSurfaceTextureHost>(surface);
  wr::RenderThread::Get()->RegisterExternalImage(id, texture.forget());
  wr::RenderThread::Get()->RegisterExternalImage(aId, texture.forget());

  surface->AddConsumer();
  sInstance->mSurfaces.InsertOrUpdate(id, std::move(surface));
@@ -189,7 +190,8 @@ void SharedSurfacesParent::DestroyProcess(base::ProcessId aPid) {
    if (surface->GetCreatorPid() == aPid && surface->HasCreatorRef() &&
        surface->RemoveConsumer(/* aForCreator */ true)) {
      RemoveTrackingLocked(surface, lock);
      wr::RenderThread::Get()->UnregisterExternalImage(i.Key());
      wr::RenderThread::Get()->UnregisterExternalImage(
          wr::ToExternalImageId(i.Key()));
      i.Remove();
    }
  }
@@ -225,7 +227,7 @@ void SharedSurfacesParent::Add(const wr::ExternalImageId& aId,
  MOZ_ASSERT(!sInstance->mSurfaces.Contains(id));

  auto texture = MakeRefPtr<wr::RenderSharedSurfaceTextureHost>(surface);
  wr::RenderThread::Get()->RegisterExternalImage(id, texture.forget());
  wr::RenderThread::Get()->RegisterExternalImage(aId, texture.forget());

  surface->AddConsumer();
  sInstance->mSurfaces.InsertOrUpdate(id, std::move(surface));
+1 −1
Original line number Diff line number Diff line
@@ -129,7 +129,7 @@ void DMABUFTextureHostOGL::CreateRenderTexture(
  }
  RefPtr<wr::RenderTextureHost> texture =
      new wr::RenderDMABUFTextureHost(mSurface);
  wr::RenderThread::Get()->RegisterExternalImage(wr::AsUint64(aExternalImageId),
  wr::RenderThread::Get()->RegisterExternalImage(aExternalImageId,
                                                 texture.forget());
}

Loading