// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module gpu.mojom;
import "gpu/ipc/common/gpu_info.mojom";
import "gpu/ipc/common/gpu_preferences.mojom";
import "gpu/ipc/common/mailbox.mojom";
import "gpu/ipc/common/mailbox_holder.mojom";
import "gpu/ipc/common/sync_token.mojom";
// All functions on this interface echo their arguments to test StructTraits
// serialization and deserialization.
interface TraitsTestService {
[Sync]
EchoGpuDevice(GpuDevice g) => (GpuDevice pass);
[Sync]
EchoGpuInfo(GpuInfo g) => (GpuInfo pass);
[Sync]
EchoMailbox(Mailbox m) => (Mailbox pass);
[Sync]
EchoMailboxHolder(MailboxHolder m) => (MailboxHolder pass);
[Sync]
EchoSyncToken(SyncToken s) => (SyncToken pass);
[Sync]
EchoVideoDecodeAcceleratorSupportedProfile(
VideoDecodeAcceleratorSupportedProfile v) =>
(VideoDecodeAcceleratorSupportedProfile pass);
[Sync]
EchoVideoDecodeAcceleratorCapabilities(
VideoDecodeAcceleratorCapabilities v) =>
(VideoDecodeAcceleratorCapabilities pass);
[Sync]
EchoVideoEncodeAcceleratorSupportedProfile(
VideoEncodeAcceleratorSupportedProfile v) =>
(VideoEncodeAcceleratorSupportedProfile pass);
[Sync]
EchoGpuPreferences(GpuPreferences prefs) => (GpuPreferences pass);
};