#ifndef GPU_IPC_COMMON_GPU_FEATURE_INFO_MOJOM_SHARED_H_
#define GPU_IPC_COMMON_GPU_FEATURE_INFO_MOJOM_SHARED_H_
#include <stdint.h>
#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
#include "gpu/ipc/common/gpu_feature_info.mojom-shared-internal.h"
#include "ui/gfx/mojom/buffer_types.mojom-shared.h"
#include "base/component_export.h"
namespace gpu::mojom {
class GpuFeatureInfoDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::gpu::mojom::GpuFeatureInfoDataView> { … };
}
}
namespace gpumojom
namespace std {
template <>
struct hash<::gpu::mojom::GpuFeatureStatus>
: public mojo::internal::EnumHashImpl<::gpu::mojom::GpuFeatureStatus> { … };
}
namespace mojo {
namespace internal {
Serializer< ::gpu::mojom::GpuFeatureStatus, MaybeConstUserType>;
}
namespace internal {
Serializer< ::gpu::mojom::GpuFeatureInfoDataView, MaybeConstUserType>;
}
}
namespace gpu::mojom {
inline void GpuFeatureInfoDataView::GetStatusValuesDataView(
mojo::ArrayDataView<GpuFeatureStatus>* output) { … }
inline void GpuFeatureInfoDataView::GetEnabledGpuDriverBugWorkaroundsDataView(
mojo::ArrayDataView<int32_t>* output) { … }
inline void GpuFeatureInfoDataView::GetDisabledExtensionsDataView(
mojo::StringDataView* output) { … }
inline void GpuFeatureInfoDataView::GetDisabledWebglExtensionsDataView(
mojo::StringDataView* output) { … }
inline void GpuFeatureInfoDataView::GetAppliedGpuBlocklistEntriesDataView(
mojo::ArrayDataView<uint32_t>* output) { … }
inline void GpuFeatureInfoDataView::GetAppliedGpuDriverBugListEntriesDataView(
mojo::ArrayDataView<uint32_t>* output) { … }
inline void GpuFeatureInfoDataView::GetSupportedBufferFormatsForAllocationAndTexturingDataView(
mojo::ArrayDataView<::gfx::mojom::BufferFormat>* output) { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_GPU_EXPORT) TraceFormatTraits<::gpu::mojom::GpuFeatureStatus> { … };
}
#endif