blob: cadc64796399413332314ec796978da38eccdafc [file] [log] [blame]
Avi Drissman4e1b7bc32022-09-15 14:03:501// Copyright 2019 The Chromium Authors
Ken Rockot6d9ed95032019-11-13 17:20:472// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_GPU_BROWSER_EXPOSED_GPU_INTERFACES_H_
6#define CONTENT_GPU_BROWSER_EXPOSED_GPU_INTERFACES_H_
7
8namespace gpu {
9struct GpuPreferences;
Chunbo Huad90bffb22020-09-28 15:34:3610class GpuDriverBugWorkarounds;
Ken Rockot6d9ed95032019-11-13 17:20:4711}
12
13namespace mojo {
14class BinderMap;
15}
16
Colin Blundell8b1809e2025-07-09 08:01:1117namespace viz {
18class GpuServiceImpl;
19}
20
Ken Rockot6d9ed95032019-11-13 17:20:4721namespace content {
22
23// Populates a BinderMap with interfaces exposed by all Content embedders from
24// the GPU process to the browser. The browser can bind these interfaces through
25// |GpuProcessHost::BindReceiver()|.
26//
27// Embedder-specific GPU interfaces can be exposed to the browser via
28// |ContentGpuClient::ExposeInterfacesToBrowser()| or embedder-specific helper
29// functions.
Chunbo Huad90bffb22020-09-28 15:34:3630void ExposeGpuInterfacesToBrowser(
Colin Blundell8b1809e2025-07-09 08:01:1131 viz::GpuServiceImpl* gpu_service,
Chunbo Huad90bffb22020-09-28 15:34:3632 const gpu::GpuPreferences& gpu_preferences,
33 const gpu::GpuDriverBugWorkarounds& gpu_workarounds,
34 mojo::BinderMap* binders);
Ken Rockot6d9ed95032019-11-13 17:20:4735
36} // namespace content
37
38#endif // CONTENT_GPU_BROWSER_EXPOSED_GPU_INTERFACES_H_