mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
49 lines
2.0 KiB
Plaintext
49 lines
2.0 KiB
Plaintext
// Copyright 2016 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
module ws.mojom;
|
|
|
|
import "gpu/ipc/common/gpu_feature_info.mojom";
|
|
import "gpu/ipc/common/gpu_info.mojom";
|
|
import "gpu/ipc/common/sync_token.mojom";
|
|
import "media/mojo/interfaces/jpeg_decode_accelerator.mojom";
|
|
import "media/mojo/interfaces/video_encode_accelerator.mojom";
|
|
import "ui/gfx/geometry/mojo/geometry.mojom";
|
|
import "ui/gfx/mojo/buffer_types.mojom";
|
|
|
|
interface GpuMemoryBufferFactory {
|
|
// Tells the GPU service to create a new GPU memory buffer.
|
|
CreateGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id,
|
|
gfx.mojom.Size size,
|
|
gfx.mojom.BufferFormat format,
|
|
gfx.mojom.BufferUsage usage)
|
|
=> (gfx.mojom.GpuMemoryBufferHandle buffer_handle);
|
|
|
|
// Tells the GPU process to destroy GPU memory buffer.
|
|
DestroyGpuMemoryBuffer(gfx.mojom.GpuMemoryBufferId id,
|
|
gpu.mojom.SyncToken sync_token);
|
|
};
|
|
|
|
// API exposed to clients with lower level of trust, e.g. Renderers.
|
|
interface Gpu {
|
|
// Note: The bound-to GpuMemoryBufferFactory instance is only guaranteed to
|
|
// stay alive for as long as the invoked Gpu instance.
|
|
CreateGpuMemoryBufferFactory(GpuMemoryBufferFactory& request);
|
|
|
|
// Tells the GPU service to create a new channel for communication with a
|
|
// client. The GPU service responds with client ID, IPC handle and
|
|
// GPUInfo.
|
|
EstablishGpuChannel() => (int32 client_id,
|
|
handle<message_pipe>? channel_handle,
|
|
gpu.mojom.GpuInfo gpu_info,
|
|
gpu.mojom.GpuFeatureInfo gpu_feature_info);
|
|
|
|
// Creates a new JpegDecodeAccelerator and binds it to |jda|.
|
|
CreateJpegDecodeAccelerator(media.mojom.JpegDecodeAccelerator& jda);
|
|
|
|
// Creates a VideoEncodeAcceleratorProvider and binds it to |vea_provider|.
|
|
CreateVideoEncodeAcceleratorProvider(
|
|
media.mojom.VideoEncodeAcceleratorProvider& vea_provider);
|
|
};
|