aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/CL/kernels/CLDepthConvertKernel.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/CL/kernels/CLDepthConvertKernel.cpp b/src/core/CL/kernels/CLDepthConvertKernel.cpp
index c43884a509..b2132073d5 100644
--- a/src/core/CL/kernels/CLDepthConvertKernel.cpp
+++ b/src/core/CL/kernels/CLDepthConvertKernel.cpp
@@ -90,7 +90,8 @@ void CLDepthConvertKernel::configure(const ICLTensor *input, ICLTensor *output,
if(input_size > output_size)
{
kernel_name += "_down";
- build_opts.insert((policy == ConvertPolicy::WRAP) ? "-DWRAP" : "-DSATURATE");
+ // Down conversions from float always SATURATE as out-of-bounds conversion from float->integer is implementation defined
+ build_opts.insert(((policy == ConvertPolicy::WRAP) && !is_data_type_float(input->info()->data_type())) ? "-DWRAP" : "-DSATURATE");
}
else
{