#include "services/webnn/public/mojom/webnn_graph.mojom-shared.h"
#include <ostream>
#include <utility>
#include "base/strings/stringprintf.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/lib/validation_util.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
#include "services/webnn/public/mojom/webnn_graph.mojom-params-data.h"
namespace webnn {
namespace mojom {
NOINLINE static const char* DataTypeToStringHelper(DataType value) { … }
std::string DataTypeToString(DataType value) { … }
std::ostream& operator<<(std::ostream& os, DataType value) { … }
NOINLINE static const char* RecurrentNetworkActivationToStringHelper(RecurrentNetworkActivation value) { … }
std::string RecurrentNetworkActivationToString(RecurrentNetworkActivation value) { … }
std::ostream& operator<<(std::ostream& os, RecurrentNetworkActivation value) { … }
NOINLINE static const char* RecurrentNetworkDirectionToStringHelper(RecurrentNetworkDirection value) { … }
std::string RecurrentNetworkDirectionToString(RecurrentNetworkDirection value) { … }
std::ostream& operator<<(std::ostream& os, RecurrentNetworkDirection value) { … }
NOINLINE static const char* GruWeightLayoutToStringHelper(GruWeightLayout value) { … }
std::string GruWeightLayoutToString(GruWeightLayout value) { … }
std::ostream& operator<<(std::ostream& os, GruWeightLayout value) { … }
NOINLINE static const char* LstmWeightLayoutToStringHelper(LstmWeightLayout value) { … }
std::string LstmWeightLayoutToString(LstmWeightLayout value) { … }
std::ostream& operator<<(std::ostream& os, LstmWeightLayout value) { … }
NOINLINE static const char* Operand_KindToStringHelper(Operand_Kind value) { … }
std::string Operand_KindToString(Operand_Kind value) { … }
std::ostream& operator<<(std::ostream& os, Operand_Kind value) { … }
NOINLINE static const char* ArgMinMax_KindToStringHelper(ArgMinMax_Kind value) { … }
std::string ArgMinMax_KindToString(ArgMinMax_Kind value) { … }
std::ostream& operator<<(std::ostream& os, ArgMinMax_Kind value) { … }
NOINLINE static const char* Conv2d_KindToStringHelper(Conv2d_Kind value) { … }
std::string Conv2d_KindToString(Conv2d_Kind value) { … }
std::ostream& operator<<(std::ostream& os, Conv2d_Kind value) { … }
NOINLINE static const char* ElementWiseBinary_KindToStringHelper(ElementWiseBinary_Kind value) { … }
std::string ElementWiseBinary_KindToString(ElementWiseBinary_Kind value) { … }
std::ostream& operator<<(std::ostream& os, ElementWiseBinary_Kind value) { … }
NOINLINE static const char* ElementWiseUnary_KindToStringHelper(ElementWiseUnary_Kind value) { … }
std::string ElementWiseUnary_KindToString(ElementWiseUnary_Kind value) { … }
std::ostream& operator<<(std::ostream& os, ElementWiseUnary_Kind value) { … }
NOINLINE static const char* Reduce_KindToStringHelper(Reduce_Kind value) { … }
std::string Reduce_KindToString(Reduce_Kind value) { … }
std::ostream& operator<<(std::ostream& os, Reduce_Kind value) { … }
NOINLINE static const char* Pool2d_KindToStringHelper(Pool2d_Kind value) { … }
std::string Pool2d_KindToString(Pool2d_Kind value) { … }
std::ostream& operator<<(std::ostream& os, Pool2d_Kind value) { … }
NOINLINE static const char* Resample2d_InterpolationModeToStringHelper(Resample2d_InterpolationMode value) { … }
std::string Resample2d_InterpolationModeToString(Resample2d_InterpolationMode value) { … }
std::ostream& operator<<(std::ostream& os, Resample2d_InterpolationMode value) { … }
namespace internal {
bool PaddingMode_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context,
bool inlined) { … }
bool Operation_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context,
bool inlined) { … }
bool ComputeResult_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context,
bool inlined) { … }
bool OperandDescriptor_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
OperandDescriptor_Data::OperandDescriptor_Data()
: … { … }
bool Operand_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Operand_Data::Operand_Data()
: … { … }
bool ArgMinMax_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
ArgMinMax_Data::ArgMinMax_Data()
: … { … }
bool BatchNormalization_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
BatchNormalization_Data::BatchNormalization_Data()
: … { … }
bool Clamp_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Clamp_Data::Clamp_Data()
: … { … }
bool Concat_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Concat_Data::Concat_Data()
: … { … }
bool Size2d_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Size2d_Data::Size2d_Data()
: … { … }
bool Padding2d_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Padding2d_Data::Padding2d_Data()
: … { … }
bool Conv2d_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Conv2d_Data::Conv2d_Data()
: … { … }
bool ElementWiseBinary_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
ElementWiseBinary_Data::ElementWiseBinary_Data()
: … { … }
bool ElementWiseUnary_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
ElementWiseUnary_Data::ElementWiseUnary_Data()
: … { … }
bool Expand_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Expand_Data::Expand_Data()
: … { … }
bool ConstantPadding_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
ConstantPadding_Data::ConstantPadding_Data()
: … { … }
bool EdgePadding_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
EdgePadding_Data::EdgePadding_Data()
: … { … }
bool ReflectionPadding_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
ReflectionPadding_Data::ReflectionPadding_Data()
: … { … }
bool SymmetricPadding_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
SymmetricPadding_Data::SymmetricPadding_Data()
: … { … }
bool InstanceNormalization_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
InstanceNormalization_Data::InstanceNormalization_Data()
: … { … }
bool Matmul_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Matmul_Data::Matmul_Data()
: … { … }
bool Pad_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Pad_Data::Pad_Data()
: … { … }
bool Reduce_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Reduce_Data::Reduce_Data()
: … { … }
bool Pool2d_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Pool2d_Data::Pool2d_Data()
: … { … }
bool StartAndSize_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
StartAndSize_Data::StartAndSize_Data()
: … { … }
bool Slice_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Slice_Data::Slice_Data()
: … { … }
bool Elu_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Elu_Data::Elu_Data()
: … { … }
bool Gather_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Gather_Data::Gather_Data()
: … { … }
bool GatherElements_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
GatherElements_Data::GatherElements_Data()
: … { … }
bool Gelu_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Gelu_Data::Gelu_Data()
: … { … }
bool Gru_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Gru_Data::Gru_Data()
: … { … }
bool GruCell_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
GruCell_Data::GruCell_Data()
: … { … }
bool Gemm_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Gemm_Data::Gemm_Data()
: … { … }
bool HardSigmoid_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
HardSigmoid_Data::HardSigmoid_Data()
: … { … }
bool HardSwish_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
HardSwish_Data::HardSwish_Data()
: … { … }
bool LayerNormalization_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
LayerNormalization_Data::LayerNormalization_Data()
: … { … }
bool LeakyRelu_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
LeakyRelu_Data::LeakyRelu_Data()
: … { … }
bool Linear_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Linear_Data::Linear_Data()
: … { … }
bool Lstm_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Lstm_Data::Lstm_Data()
: … { … }
bool LstmCell_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
LstmCell_Data::LstmCell_Data()
: … { … }
bool Prelu_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Prelu_Data::Prelu_Data()
: … { … }
bool Relu_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Relu_Data::Relu_Data()
: … { … }
bool Reshape_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Reshape_Data::Reshape_Data()
: … { … }
bool Sigmoid_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Sigmoid_Data::Sigmoid_Data()
: … { … }
bool Softmax_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Softmax_Data::Softmax_Data()
: … { … }
bool Softplus_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Softplus_Data::Softplus_Data()
: … { … }
bool Softsign_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Softsign_Data::Softsign_Data()
: … { … }
bool Split_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Split_Data::Split_Data()
: … { … }
bool Tanh_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Tanh_Data::Tanh_Data()
: … { … }
bool Transpose_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Transpose_Data::Transpose_Data()
: … { … }
bool Triangular_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Triangular_Data::Triangular_Data()
: … { … }
bool Resample2d_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Resample2d_Data::Resample2d_Data()
: … { … }
bool Where_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
Where_Data::Where_Data()
: … { … }
bool GraphInfo_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
GraphInfo_Data::GraphInfo_Data()
: … { … }
bool WebNNGraph_Compute_Params_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
WebNNGraph_Compute_Params_Data::WebNNGraph_Compute_Params_Data()
: … { … }
bool WebNNGraph_Compute_ResponseParams_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
WebNNGraph_Compute_ResponseParams_Data::WebNNGraph_Compute_ResponseParams_Data()
: … { … }
bool WebNNGraph_Dispatch_Params_Data::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
WebNNGraph_Dispatch_Params_Data::WebNNGraph_Dispatch_Params_Data()
: … { … }
}
}
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::DataType>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::DataType value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::RecurrentNetworkActivation>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::RecurrentNetworkActivation value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::RecurrentNetworkDirection>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::RecurrentNetworkDirection value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::GruWeightLayout>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::GruWeightLayout value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::LstmWeightLayout>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::LstmWeightLayout value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::Operand_Kind>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::Operand_Kind value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::ArgMinMax_Kind>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::ArgMinMax_Kind value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::Conv2d_Kind>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::Conv2d_Kind value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::ElementWiseBinary_Kind>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::ElementWiseBinary_Kind value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::ElementWiseUnary_Kind>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::ElementWiseUnary_Kind value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::Reduce_Kind>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::Reduce_Kind value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::Pool2d_Kind>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::Pool2d_Kind value) { … }
}
namespace perfetto {
void TraceFormatTraits<::webnn::mojom::Resample2d_InterpolationMode>::WriteIntoTrace(
perfetto::TracedValue context, ::webnn::mojom::Resample2d_InterpolationMode value) { … }
}