blob: fe765a71caaf527fd224e1310fe753a84e2b3146 [file] [log] [blame]
// Copyright 2019 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_extra_info_mojom_traits.h"
#include "build/build_config.h"
#include "ui/gfx/mojom/buffer_types_mojom_traits.h"
namespace mojo {
// static
bool StructTraits<gpu::mojom::ANGLEFeatureDataView, gpu::ANGLEFeature>::Read(
gpu::mojom::ANGLEFeatureDataView data,
gpu::ANGLEFeature* out) {
return data.ReadName(&out->name) && data.ReadCategory(&out->category) &&
data.ReadDescription(&out->description) && data.ReadBug(&out->bug) &&
data.ReadStatus(&out->status) && data.ReadCondition(&out->condition);
}
// static
bool StructTraits<gpu::mojom::GpuExtraInfoDataView, gpu::GpuExtraInfo>::Read(
gpu::mojom::GpuExtraInfoDataView data,
gpu::GpuExtraInfo* out) {
if (!data.ReadAngleFeatures(&out->angle_features))
return false;
#if defined(USE_X11)
out->system_visual = data.system_visual();
out->rgba_visual = data.rgba_visual();
if (!data.ReadGpuMemoryBufferSupportX11(&out->gpu_memory_buffer_support_x11))
return false;
#endif
return true;
}
} // namespace mojo