blob: e4919bdc598f0b9938f31f850c6b1e6dee21e5ff [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "cc/test/test_client_shared_image_interface.h"
#include <utility>
namespace cc {
TestGpuChannelHost::TestGpuChannelHost()
: GpuChannelHost(0 /* channel_id */,
gpu::GPUInfo(),
gpu::GpuFeatureInfo(),
gpu::SharedImageCapabilities(),
mojo::ScopedMessagePipeHandle(
mojo::MessagePipeHandle(mojo::kInvalidHandleValue))) {
// There is a "LeakSanitizer: detected memory leaks" on
// mojo::SharedRemoteBase<mojo::AssociatedRemote<gpu::mojom::GpuChannel>> in
// the multithread ASAN test when TestGpuChannelHost is created on the Main
// thread and released on the Compositor thread. Because |remote_| is not
// actually used in the tests, so it's reset here to avoid the memory leak at
// the end.
ResetChannelRemoteForTesting();
}
TestGpuChannelHost::~TestGpuChannelHost() = default;
TestClientSharedImageInterface::TestClientSharedImageInterface(
scoped_refptr<gpu::SharedImageInterface> shared_image_interface)
: gpu::ClientSharedImageInterface(
nullptr,
base::MakeRefCounted<TestGpuChannelHost>()),
shared_image_interface_(std::move(shared_image_interface)) {}
TestClientSharedImageInterface::~TestClientSharedImageInterface() = default;
gpu::SyncToken TestClientSharedImageInterface::GenVerifiedSyncToken() {
return shared_image_interface_->GenVerifiedSyncToken();
}
gpu::SyncToken TestClientSharedImageInterface::GenUnverifiedSyncToken() {
return shared_image_interface_->GenUnverifiedSyncToken();
}
void TestClientSharedImageInterface::VerifySyncToken(
gpu::SyncToken& sync_token) {
shared_image_interface_->VerifySyncToken(sync_token);
}
bool TestClientSharedImageInterface::CanVerifySyncToken(
const gpu::SyncToken& sync_token) {
return shared_image_interface_->CanVerifySyncToken(sync_token);
}
void TestClientSharedImageInterface::VerifyFlush() {
shared_image_interface_->VerifyFlush();
}
void TestClientSharedImageInterface::WaitSyncToken(
const gpu::SyncToken& sync_token) {
shared_image_interface_->WaitSyncToken(sync_token);
}
scoped_refptr<gpu::ClientSharedImage>
TestClientSharedImageInterface::CreateSharedImageForSoftwareCompositor(
const gpu::SharedImageInfo& si_info) {
return shared_image_interface_->CreateSharedImageForSoftwareCompositor(
si_info);
}
} // namespace cc