diff options
Diffstat (limited to 'src/graph/backends/CL')
-rw-r--r-- | src/graph/backends/CL/CLFunctionsFactory.cpp | 17 |
1 files changed, 9 insertions, 8 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 { |