From 88ce412d86e177e752af9e00b142d3a0c611ff34 Mon Sep 17 00:00:00 2001 From: Stephane Rigaud Date: Tue, 25 Jul 2023 13:58:39 +0200 Subject: [PATCH] fix: force float for gaussian blur --- clic/src/tier1.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/clic/src/tier1.cpp b/clic/src/tier1.cpp index 2b98926e9..02d5d91b0 100644 --- a/clic/src/tier1.cpp +++ b/clic/src/tier1.cpp @@ -606,11 +606,17 @@ gaussian_blur_func(const Device::Pointer & device, float sigma_y, float sigma_z) -> Array::Pointer { - tier0::create_like(src, dst); + tier0::create_like(src, dst, dType::FLOAT); + Array::Pointer temp = src; + if (temp->dtype() != dType::FLOAT) + { + temp = Array::create(dst); + tier1::copy_func(device, src, temp); + } const KernelInfo kernel = { "gaussian_blur_separable", kernel::gaussian_blur_separable }; tier0::execute_separable_func(device, kernel, - src, + temp, dst, { sigma_x, sigma_y, sigma_z }, { sigma2kernelsize(sigma_x), sigma2kernelsize(sigma_y), sigma2kernelsize(sigma_z) });