#include "third_party/blink/renderer/platform/graphics/gpu/dawn_control_client_holder.h"
#include <dawn/wire/WireClient.h>
#include "base/check.h"
#include "base/command_line.h"
#include "base/strings/string_split.h"
#include "base/task/single_thread_task_runner.h"
#include "gpu/config/gpu_finch_features.h"
#include "gpu/config/gpu_switches.h"
#include "third_party/blink/renderer/platform/graphics/gpu/webgpu_resource_provider_cache.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/scheduler/public/event_loop.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
#include "ui/gl/buildflags.h"
namespace blink {
scoped_refptr<DawnControlClientHolder> DawnControlClientHolder::Create(
std::unique_ptr<WebGraphicsContext3DProvider> context_provider,
scoped_refptr<base::SingleThreadTaskRunner> task_runner) { … }
DawnControlClientHolder::DawnControlClientHolder(
std::unique_ptr<WebGraphicsContext3DProvider> context_provider,
scoped_refptr<base::SingleThreadTaskRunner> task_runner)
: … { … }
DawnControlClientHolder::~DawnControlClientHolder() = default;
void DawnControlClientHolder::Destroy() { … }
base::WeakPtr<WebGraphicsContext3DProviderWrapper>
DawnControlClientHolder::GetContextProviderWeakPtr() const { … }
wgpu::Instance DawnControlClientHolder::GetWGPUInstance() const { … }
void DawnControlClientHolder::MarkContextLost() { … }
bool DawnControlClientHolder::IsContextLost() const { … }
std::unique_ptr<RecyclableCanvasResource>
DawnControlClientHolder::GetOrCreateCanvasResource(const SkImageInfo& info) { … }
void DawnControlClientHolder::Flush() { … }
void DawnControlClientHolder::EnsureFlush(scheduler::EventLoop& event_loop) { … }
std::vector<wgpu::WGSLFeatureName> GatherWGSLFeatures() { … }
}