aboutsummaryrefslogtreecommitdiff
path: root/src/graph/backends
diff options
context:
space:
mode:
Diffstat (limited to 'src/graph/backends')
-rw-r--r--src/graph/backends/CL/CLFunctionsFactory.cpp17
-rw-r--r--src/graph/backends/GLES/GCFunctionsFactory.cpp11
-rw-r--r--src/graph/backends/NEON/NEFunctionFactory.cpp15
3 files changed, 23 insertions, 20 deletions
diff --git a/src/graph/backends/CL/CLFunctionsFactory.cpp b/src/graph/backends/CL/CLFunctionsFactory.cpp
index 4626cb5781..ac04f1063c 100644
--- a/src/graph/backends/CL/CLFunctionsFactory.cpp
+++ b/src/graph/backends/CL/CLFunctionsFactory.cpp
@@ -313,10 +313,11 @@ std::unique_ptr<IFunction> create_eltwise_layer(EltwiseLayerNode &node)
ARM_COMPUTE_ERROR_ON(node.num_outputs() != 1);
// Extract IO and info
- ICLTensor *input1 = get_backing_tensor(node.input(0));
- ICLTensor *input2 = get_backing_tensor(node.input(1));
- ICLTensor *output = get_backing_tensor(node.output(0));
- const EltwiseOperation eltwise_op = node.eltwise_operation();
+ ICLTensor *input1 = get_backing_tensor(node.input(0));
+ ICLTensor *input2 = get_backing_tensor(node.input(1));
+ ICLTensor *output = get_backing_tensor(node.output(0));
+ const EltwiseOperation eltwise_op = node.eltwise_operation();
+ const ConvertPolicy convert_policy = node.convert_policy();
ARM_COMPUTE_ERROR_ON(input1 == nullptr);
ARM_COMPUTE_ERROR_ON(input2 == nullptr);
ARM_COMPUTE_ERROR_ON(output == nullptr);
@@ -327,18 +328,18 @@ std::unique_ptr<IFunction> create_eltwise_layer(EltwiseLayerNode &node)
{
std::tie(func, func_name) = create_named_function<CLArithmeticAddition>(std::string("CLArithmeticAddition"),
input1, input2, output,
- ConvertPolicy::SATURATE);
+ convert_policy);
}
else if(eltwise_op == EltwiseOperation::SUB)
{
std::tie(func, func_name) = create_named_function<CLArithmeticSubtraction>(
- std::string("CLArithmeticSubtraction"), input1, input2, output, ConvertPolicy::SATURATE);
+ std::string("CLArithmeticSubtraction"), input1, input2, output, convert_policy);
}
else if(eltwise_op == EltwiseOperation::MUL)
{
std::tie(func, func_name) = create_named_function<CLPixelWiseMultiplication>(
- std::string("CLPixelWiseMultiplication"), input1, input2, output, 1.f, ConvertPolicy::SATURATE,
- RoundingPolicy::TO_NEAREST_EVEN);
+ std::string("CLPixelWiseMultiplication"), input1, input2, output, 1.f, convert_policy,
+ node.rounding_policy());
}
else
{
diff --git a/src/graph/backends/GLES/GCFunctionsFactory.cpp b/src/graph/backends/GLES/GCFunctionsFactory.cpp
index d3c5737e68..d53daf1109 100644
--- a/src/graph/backends/GLES/GCFunctionsFactory.cpp
+++ b/src/graph/backends/GLES/GCFunctionsFactory.cpp
@@ -301,10 +301,11 @@ std::unique_ptr<IFunction> create_eltwise_layer(EltwiseLayerNode &node)
ARM_COMPUTE_ERROR_ON(node.num_outputs() != 1);
// Extract IO and info
- IGCTensor *input1 = get_backing_tensor(node.input(0));
- IGCTensor *input2 = get_backing_tensor(node.input(1));
- IGCTensor *output = get_backing_tensor(node.output(0));
- const EltwiseOperation eltwise_op = node.eltwise_operation();
+ IGCTensor *input1 = get_backing_tensor(node.input(0));
+ IGCTensor *input2 = get_backing_tensor(node.input(1));
+ IGCTensor *output = get_backing_tensor(node.output(0));
+ const EltwiseOperation eltwise_op = node.eltwise_operation();
+ const ConvertPolicy convert_policy = node.convert_policy();
ARM_COMPUTE_ERROR_ON(input1 == nullptr);
ARM_COMPUTE_ERROR_ON(input2 == nullptr);
ARM_COMPUTE_ERROR_ON(output == nullptr);
@@ -315,7 +316,7 @@ std::unique_ptr<IFunction> create_eltwise_layer(EltwiseLayerNode &node)
{
std::tie(func, func_name) = create_named_function<GCArithmeticAddition>(std::string("GCArithmeticAddition"),
input1, input2, output,
- ConvertPolicy::SATURATE);
+ convert_policy);
}
else if(eltwise_op == EltwiseOperation::SUB)
{
diff --git a/src/graph/backends/NEON/NEFunctionFactory.cpp b/src/graph/backends/NEON/NEFunctionFactory.cpp
index 7a37dfa39d..7f97876e57 100644
--- a/src/graph/backends/NEON/NEFunctionFactory.cpp
+++ b/src/graph/backends/NEON/NEFunctionFactory.cpp
@@ -294,10 +294,11 @@ std::unique_ptr<IFunction> create_eltwise_layer(EltwiseLayerNode &node)
ARM_COMPUTE_ERROR_ON(node.num_outputs() != 1);
// Extract IO and info
- ITensor *input1 = get_backing_tensor(node.input(0));
- ITensor *input2 = get_backing_tensor(node.input(1));
- ITensor *output = get_backing_tensor(node.output(0));
- const EltwiseOperation eltwise_op = node.eltwise_operation();
+ ITensor *input1 = get_backing_tensor(node.input(0));
+ ITensor *input2 = get_backing_tensor(node.input(1));
+ ITensor *output = get_backing_tensor(node.output(0));
+ const EltwiseOperation eltwise_op = node.eltwise_operation();
+ const ConvertPolicy convert_policy = node.convert_policy();
ARM_COMPUTE_ERROR_ON(input1 == nullptr);
ARM_COMPUTE_ERROR_ON(input2 == nullptr);
ARM_COMPUTE_ERROR_ON(output == nullptr);
@@ -307,18 +308,18 @@ std::unique_ptr<IFunction> create_eltwise_layer(EltwiseLayerNode &node)
if(eltwise_op == EltwiseOperation::ADD)
{
std::tie(func, func_name) = create_named_function<NEArithmeticAddition>(std::string("NEArithmeticAddition"),
- input1, input2, output, ConvertPolicy::SATURATE);
+ input1, input2, output, convert_policy);
}
else if(eltwise_op == EltwiseOperation::SUB)
{
std::tie(func, func_name) = create_named_function<NEArithmeticSubtraction>(std::string("NEArithmeticSubtraction"),
- input1, input2, output, ConvertPolicy::SATURATE);
+ input1, input2, output, convert_policy);
}
else if(eltwise_op == EltwiseOperation::MUL)
{
std::tie(func, func_name) = create_named_function<NEPixelWiseMultiplication>(std::string("NEPixelWiseMultiplication"),
input1, input2, output, 1.f,
- ConvertPolicy::SATURATE, RoundingPolicy::TO_NEAREST_EVEN);
+ convert_policy, node.rounding_policy());
}
else
{