Bug 1958752 - Rename GpuProcessD3D11FencesHolderMap to CompositeProcessD3D11FencesHolderMap r=gfx-reviewers,lsalzman

By Bug 1957563, GpuProcessD3D11FencesHolderMap is changed to instantiate also in Parent process when GPU process does not exist. Then it seems better to change its name.

Differential Revision: https://phabricator.services.mozilla.com/D244684
This commit is contained in:
sotaro
2025-04-08 16:26:28 +00:00
parent 15f2f8b13d
commit 84b97ec5c9
9 changed files with 46 additions and 46 deletions

View File

@@ -10,7 +10,7 @@
#include "mozilla/gfx/DeviceManagerDx.h"
#include "mozilla/gfx/Logging.h"
#include "mozilla/layers/FenceD3D11.h"
#include "mozilla/layers/GpuProcessD3D11FencesHolderMap.h"
#include "mozilla/layers/CompositeProcessD3D11FencesHolderMap.h"
#include "mozilla/layers/ImageDataSerializer.h"
#include "mozilla/webgpu/WebGPUParent.h"
@@ -22,7 +22,7 @@ UniquePtr<ExternalTextureD3D11> ExternalTextureD3D11::Create(
const uint32_t aWidth, const uint32_t aHeight,
const struct ffi::WGPUTextureFormat aFormat,
const ffi::WGPUTextureUsages aUsage) {
auto* fencesHolderMap = layers::GpuProcessD3D11FencesHolderMap::Get();
auto* fencesHolderMap = layers::CompositeProcessD3D11FencesHolderMap::Get();
if (!fencesHolderMap) {
MOZ_ASSERT_UNREACHABLE("unexpected to be called");
gfxCriticalNoteOnce << "Failed to get FencesHolderMap";
@@ -121,7 +121,7 @@ ExternalTextureD3D11::~ExternalTextureD3D11() {}
void* ExternalTextureD3D11::GetExternalTextureHandle() {
RefPtr<ID3D11Device> device;
mTexture->GetDevice(getter_AddRefs(device));
auto* fencesHolderMap = layers::GpuProcessD3D11FencesHolderMap::Get();
auto* fencesHolderMap = layers::CompositeProcessD3D11FencesHolderMap::Get();
MOZ_ASSERT(fencesHolderMap);
// XXX deliver fences to wgpu
@@ -135,7 +135,7 @@ Maybe<layers::SurfaceDescriptor> ExternalTextureD3D11::ToSurfaceDescriptor() {
mWriteFence->Update(mSubmissionIndex);
auto* fencesHolderMap = layers::GpuProcessD3D11FencesHolderMap::Get();
auto* fencesHolderMap = layers::CompositeProcessD3D11FencesHolderMap::Get();
MOZ_ASSERT(fencesHolderMap);
fencesHolderMap->SetWriteFence(mFencesHolderId, mWriteFence);

View File

@@ -74,7 +74,7 @@
# include "gfxWindowsPlatform.h"
# include "mozilla/WindowsVersion.h"
# include "mozilla/gfx/DeviceManagerDx.h"
# include "mozilla/layers/GpuProcessD3D11FencesHolderMap.h"
# include "mozilla/layers/CompositeProcessD3D11FencesHolderMap.h"
# include "mozilla/layers/GpuProcessD3D11TextureMap.h"
# include "mozilla/layers/TextureD3D11.h"
# include "mozilla/widget/WinCompositorWindowThread.h"
@@ -215,7 +215,7 @@ bool GPUParent::Init(mozilla::ipc::UntypedEndpoint&& aEndpoint,
#if defined(XP_WIN)
gfxWindowsPlatform::InitMemoryReportersForGPUProcess();
DeviceManagerDx::Init();
GpuProcessD3D11FencesHolderMap::Init();
CompositeProcessD3D11FencesHolderMap::Init();
GpuProcessD3D11TextureMap::Init();
auto rv = wmf::MediaFoundationInitializer::HasInitialized();
if (!rv) {
@@ -806,7 +806,7 @@ void GPUParent::ActorDestroy(ActorDestroyReason aWhy) {
#if defined(XP_WIN)
GpuProcessD3D11TextureMap::Shutdown();
GpuProcessD3D11FencesHolderMap::Shutdown();
CompositeProcessD3D11FencesHolderMap::Shutdown();
DeviceManagerDx::Shutdown();
#endif
LayerTreeOwnerTracker::Shutdown();

View File

@@ -13,7 +13,7 @@
#include "mozilla/layers/CompositableForwarder.h"
#include "mozilla/layers/D3D11YCbCrImage.h"
#include "mozilla/layers/FenceD3D11.h"
#include "mozilla/layers/GpuProcessD3D11FencesHolderMap.h"
#include "mozilla/layers/CompositeProcessD3D11FencesHolderMap.h"
#include "mozilla/layers/TextureClient.h"
namespace mozilla {
@@ -70,7 +70,7 @@ bool IMFYCbCrImage::CopyDataToTexture(const Data& aData, ID3D11Device* aDevice,
ctx->UpdateSubresource(textureCr, 0, &box, aData.mCrChannel,
aData.mCbCrStride, 0);
auto* fenceHolderMap = GpuProcessD3D11FencesHolderMap::Get();
auto* fenceHolderMap = CompositeProcessD3D11FencesHolderMap::Get();
if (!fenceHolderMap) {
MOZ_ASSERT_UNREACHABLE("unexpected to be called");
return false;
@@ -89,7 +89,7 @@ TextureClient* IMFYCbCrImage::GetD3D11TextureClient(
return nullptr;
}
auto* fenceHolderMap = GpuProcessD3D11FencesHolderMap::Get();
auto* fenceHolderMap = CompositeProcessD3D11FencesHolderMap::Get();
if (!fenceHolderMap) {
MOZ_ASSERT_UNREACHABLE("unexpected to be called");
return nullptr;

View File

@@ -4,7 +4,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "GpuProcessD3D11FencesHolderMap.h"
#include "CompositeProcessD3D11FencesHolderMap.h"
#include "mozilla/layers/FenceD3D11.h"
@@ -12,33 +12,33 @@ namespace mozilla {
namespace layers {
StaticAutoPtr<GpuProcessD3D11FencesHolderMap>
GpuProcessD3D11FencesHolderMap::sInstance;
StaticAutoPtr<CompositeProcessD3D11FencesHolderMap>
CompositeProcessD3D11FencesHolderMap::sInstance;
/* static */
void GpuProcessD3D11FencesHolderMap::Init() {
void CompositeProcessD3D11FencesHolderMap::Init() {
MOZ_ASSERT(XRE_IsGPUProcess() || XRE_IsParentProcess());
sInstance = new GpuProcessD3D11FencesHolderMap();
sInstance = new CompositeProcessD3D11FencesHolderMap();
}
/* static */
void GpuProcessD3D11FencesHolderMap::Shutdown() {
void CompositeProcessD3D11FencesHolderMap::Shutdown() {
MOZ_ASSERT(XRE_IsGPUProcess() || XRE_IsParentProcess());
sInstance = nullptr;
}
GpuProcessD3D11FencesHolderMap::GpuProcessD3D11FencesHolderMap()
: mMonitor("GpuProcessD3D11FencesHolderMap::mMonitor") {}
CompositeProcessD3D11FencesHolderMap::CompositeProcessD3D11FencesHolderMap()
: mMonitor("CompositeProcessD3D11FencesHolderMap::mMonitor") {}
GpuProcessD3D11FencesHolderMap::~GpuProcessD3D11FencesHolderMap() {}
CompositeProcessD3D11FencesHolderMap::~CompositeProcessD3D11FencesHolderMap() {}
void GpuProcessD3D11FencesHolderMap::Register(
void CompositeProcessD3D11FencesHolderMap::Register(
GpuProcessFencesHolderId aHolderId) {
MonitorAutoLock lock(mMonitor);
mFencesHolderById[aHolderId] = MakeUnique<FencesHolder>();
}
void GpuProcessD3D11FencesHolderMap::Unregister(
void CompositeProcessD3D11FencesHolderMap::Unregister(
GpuProcessFencesHolderId aHolderId) {
MonitorAutoLock lock(mMonitor);
@@ -49,7 +49,7 @@ void GpuProcessD3D11FencesHolderMap::Unregister(
mFencesHolderById.erase(it);
}
void GpuProcessD3D11FencesHolderMap::SetWriteFence(
void CompositeProcessD3D11FencesHolderMap::SetWriteFence(
GpuProcessFencesHolderId aHolderId, RefPtr<FenceD3D11> aWriteFence) {
MOZ_ASSERT(aWriteFence);
@@ -77,7 +77,7 @@ void GpuProcessD3D11FencesHolderMap::SetWriteFence(
it->second->mWriteFence = fence;
}
void GpuProcessD3D11FencesHolderMap::SetReadFence(
void CompositeProcessD3D11FencesHolderMap::SetReadFence(
GpuProcessFencesHolderId aHolderId, RefPtr<FenceD3D11> aReadFence) {
MOZ_ASSERT(aReadFence);
@@ -102,7 +102,7 @@ void GpuProcessD3D11FencesHolderMap::SetReadFence(
it->second->mReadFences.push_back(fence);
}
bool GpuProcessD3D11FencesHolderMap::WaitWriteFence(
bool CompositeProcessD3D11FencesHolderMap::WaitWriteFence(
GpuProcessFencesHolderId aHolderId, ID3D11Device* aDevice) {
MOZ_ASSERT(aDevice);
@@ -129,7 +129,7 @@ bool GpuProcessD3D11FencesHolderMap::WaitWriteFence(
return writeFence->Wait(aDevice);
}
bool GpuProcessD3D11FencesHolderMap::WaitAllFencesAndForget(
bool CompositeProcessD3D11FencesHolderMap::WaitAllFencesAndForget(
GpuProcessFencesHolderId aHolderId, ID3D11Device* aDevice) {
MOZ_ASSERT(aDevice);

View File

@@ -4,8 +4,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef MOZILLA_GFX_GpuProcessD3D11FencesHolderMap_H
#define MOZILLA_GFX_GpuProcessD3D11FencesHolderMap_H
#ifndef MOZILLA_GFX_CompositeProcessD3D11FencesHolderMap_H
#define MOZILLA_GFX_CompositeProcessD3D11FencesHolderMap_H
#include <d3d11.h>
#include <vector>
@@ -23,14 +23,14 @@ class FenceD3D11;
/**
* A class to manage FenceD3D11 that is shared in GPU process.
*/
class GpuProcessD3D11FencesHolderMap {
class CompositeProcessD3D11FencesHolderMap {
public:
static void Init();
static void Shutdown();
static GpuProcessD3D11FencesHolderMap* Get() { return sInstance; }
static CompositeProcessD3D11FencesHolderMap* Get() { return sInstance; }
GpuProcessD3D11FencesHolderMap();
~GpuProcessD3D11FencesHolderMap();
CompositeProcessD3D11FencesHolderMap();
~CompositeProcessD3D11FencesHolderMap();
void Register(GpuProcessFencesHolderId aHolderId);
void Unregister(GpuProcessFencesHolderId aHolderId);
@@ -59,10 +59,10 @@ class GpuProcessD3D11FencesHolderMap {
GpuProcessFencesHolderId::HashFn>
mFencesHolderById;
static StaticAutoPtr<GpuProcessD3D11FencesHolderMap> sInstance;
static StaticAutoPtr<CompositeProcessD3D11FencesHolderMap> sInstance;
};
} // namespace layers
} // namespace mozilla
#endif /* MOZILLA_GFX_GpuProcessD3D11FencesHolderMap_H */
#endif /* MOZILLA_GFX_CompositeProcessD3D11FencesHolderMap_H */

View File

@@ -24,7 +24,7 @@
#include "mozilla/layers/CompositorBridgeChild.h"
#include "mozilla/layers/D3D11ZeroCopyTextureImage.h"
#include "mozilla/layers/FenceD3D11.h"
#include "mozilla/layers/GpuProcessD3D11FencesHolderMap.h"
#include "mozilla/layers/CompositeProcessD3D11FencesHolderMap.h"
#include "mozilla/layers/GpuProcessD3D11TextureMap.h"
#include "mozilla/layers/HelpersD3D11.h"
#include "mozilla/layers/VideoProcessorD3D11.h"
@@ -716,7 +716,7 @@ DXGIYCbCrTextureData* DXGIYCbCrTextureData::Create(
const RefPtr<gfx::FileHandleWrapper> sharedHandleCr =
new gfx::FileHandleWrapper(UniqueFileHandle(handleCr));
auto* fenceHolderMap = GpuProcessD3D11FencesHolderMap::Get();
auto* fenceHolderMap = CompositeProcessD3D11FencesHolderMap::Get();
if (!fenceHolderMap) {
MOZ_ASSERT_UNREACHABLE("unexpected to be called");
return nullptr;
@@ -766,7 +766,7 @@ DXGIYCbCrTextureData::DXGIYCbCrTextureData(
mHandles{aHandles[0], aHandles[1], aHandles[2]} {}
DXGIYCbCrTextureData::~DXGIYCbCrTextureData() {
auto* fenceHolderMap = GpuProcessD3D11FencesHolderMap::Get();
auto* fenceHolderMap = CompositeProcessD3D11FencesHolderMap::Get();
if (!fenceHolderMap) {
MOZ_ASSERT_UNREACHABLE("unexpected to be called");
return;
@@ -1457,7 +1457,7 @@ void DXGIYCbCrTextureHostD3D11::NotifyNotUsed() {
return;
}
auto* fenceHolderMap = GpuProcessD3D11FencesHolderMap::Get();
auto* fenceHolderMap = CompositeProcessD3D11FencesHolderMap::Get();
if (!fenceHolderMap) {
MOZ_ASSERT_UNREACHABLE("unexpected to be called");
return;

View File

@@ -35,10 +35,10 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
"IMFYCbCrImage.cpp",
]
EXPORTS.mozilla.layers += [
"d3d11/CompositeProcessD3D11FencesHolderMap.h",
"d3d11/CompositorD3D11.h",
"d3d11/DeviceAttachmentsD3D11.h",
"d3d11/FenceD3D11.h",
"d3d11/GpuProcessD3D11FencesHolderMap.h",
"d3d11/GpuProcessD3D11TextureMap.h",
"d3d11/HelpersD3D11.h",
"d3d11/ShaderDefinitionsD3D11.h",
@@ -47,8 +47,8 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
"d3d11/VideoProcessorD3D11.h",
]
UNIFIED_SOURCES += [
"d3d11/CompositeProcessD3D11FencesHolderMap.cpp",
"d3d11/FenceD3D11.cpp",
"d3d11/GpuProcessD3D11FencesHolderMap.cpp",
"d3d11/GpuProcessD3D11TextureMap.cpp",
"d3d11/TextureD3D11.cpp",
"d3d11/TextureHostWrapperD3D11.cpp",

View File

@@ -77,7 +77,7 @@
#if defined(XP_WIN)
# include "gfxWindowsPlatform.h"
# include "mozilla/layers/GpuProcessD3D11FencesHolderMap.h"
# include "mozilla/layers/CompositeProcessD3D11FencesHolderMap.h"
# include "mozilla/widget/WinWindowOcclusionTracker.h"
#elif defined(XP_DARWIN)
# include "gfxPlatformMac.h"
@@ -1338,7 +1338,7 @@ void gfxPlatform::InitLayersIPC() {
#endif
if (!gfxConfig::IsEnabled(Feature::GPU_PROCESS)) {
#if defined(XP_WIN)
GpuProcessD3D11FencesHolderMap::Init();
CompositeProcessD3D11FencesHolderMap::Init();
#endif
RemoteTextureMap::Init();
wr::RenderThread::Start(GPUProcessManager::Get()->AllocateNamespace());
@@ -1395,7 +1395,7 @@ void gfxPlatform::ShutdownLayersIPC() {
StaticPrefs::GetPrefName_gfx_webrender_blob_tile_size()));
}
#if defined(XP_WIN)
GpuProcessD3D11FencesHolderMap::Shutdown();
CompositeProcessD3D11FencesHolderMap::Shutdown();
widget::WinWindowOcclusionTracker::ShutDown();
#endif
} else {
@@ -3980,7 +3980,7 @@ void gfxPlatform::DisableGPUProcess() {
}
#if defined(XP_WIN)
GpuProcessD3D11FencesHolderMap::Init();
CompositeProcessD3D11FencesHolderMap::Init();
#endif
RemoteTextureMap::Init();
// We need to initialize the parent process to prepare for WebRender if we

View File

@@ -18,7 +18,7 @@
#include "mozilla/gfx/Logging.h"
#include "mozilla/layers/FenceD3D11.h"
#include "mozilla/layers/GpuProcessD3D11TextureMap.h"
#include "mozilla/layers/GpuProcessD3D11FencesHolderMap.h"
#include "mozilla/layers/CompositeProcessD3D11FencesHolderMap.h"
#include "mozilla/layers/TextureD3D11.h"
namespace mozilla {
@@ -371,7 +371,7 @@ bool RenderDXGITextureHost::LockInternal() {
if (!mLocked) {
if (mFencesHolderId.isSome()) {
auto* fencesHolderMap = layers::GpuProcessD3D11FencesHolderMap::Get();
auto* fencesHolderMap = layers::CompositeProcessD3D11FencesHolderMap::Get();
if (!fencesHolderMap) {
MOZ_ASSERT_UNREACHABLE("unexpected to be called");
return false;
@@ -642,7 +642,7 @@ bool RenderDXGIYCbCrTextureHost::EnsureD3D11Texture2D(ID3D11Device* aDevice) {
bool RenderDXGIYCbCrTextureHost::LockInternal() {
if (!mLocked) {
auto* fencesHolderMap = layers::GpuProcessD3D11FencesHolderMap::Get();
auto* fencesHolderMap = layers::CompositeProcessD3D11FencesHolderMap::Get();
if (!fencesHolderMap) {
MOZ_ASSERT_UNREACHABLE("unexpected to be called");
return false;