blob: 6bcea5ce9ea1324912c68afa199eb52964e06e1d [file] [log] [blame]
// 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.
#include "gpu/ipc/common/gpu_info_struct_traits.h"
namespace mojo {
// static
bool StructTraits<gpu::mojom::GpuDevice, gpu::GPUInfo::GPUDevice>::Read(
gpu::mojom::GpuDeviceDataView data,
gpu::GPUInfo::GPUDevice* out) {
out->vendor_id = data.vendor_id();
out->device_id = data.device_id();
out->active = data.active();
return data.ReadVendorString(&out->vendor_string) &&
data.ReadDeviceString(&out->device_string);
}
// static
gpu::mojom::CollectInfoResult
EnumTraits<gpu::mojom::CollectInfoResult, gpu::CollectInfoResult>::ToMojom(
gpu::CollectInfoResult collect_info_result) {
switch (collect_info_result) {
case gpu::CollectInfoResult::kCollectInfoNone:
return gpu::mojom::CollectInfoResult::kCollectInfoNone;
case gpu::CollectInfoResult::kCollectInfoSuccess:
return gpu::mojom::CollectInfoResult::kCollectInfoSuccess;
case gpu::CollectInfoResult::kCollectInfoNonFatalFailure:
return gpu::mojom::CollectInfoResult::kCollectInfoNonFatalFailure;
case gpu::CollectInfoResult::kCollectInfoFatalFailure:
return gpu::mojom::CollectInfoResult::kCollectInfoFatalFailure;
}
NOTREACHED() << "Invalid CollectInfoResult value:" << collect_info_result;
return gpu::mojom::CollectInfoResult::kCollectInfoNone;
}
// static
bool EnumTraits<gpu::mojom::CollectInfoResult, gpu::CollectInfoResult>::
FromMojom(gpu::mojom::CollectInfoResult input,
gpu::CollectInfoResult* out) {
switch (input) {
case gpu::mojom::CollectInfoResult::kCollectInfoNone:
*out = gpu::CollectInfoResult::kCollectInfoNone;
return true;
case gpu::mojom::CollectInfoResult::kCollectInfoSuccess:
*out = gpu::CollectInfoResult::kCollectInfoSuccess;
return true;
case gpu::mojom::CollectInfoResult::kCollectInfoNonFatalFailure:
*out = gpu::CollectInfoResult::kCollectInfoNonFatalFailure;
return true;
case gpu::mojom::CollectInfoResult::kCollectInfoFatalFailure:
*out = gpu::CollectInfoResult::kCollectInfoFatalFailure;
return true;
}
NOTREACHED() << "Invalid CollectInfoResult value:" << input;
return false;
}
} // namespace mojo