From 73c9537f3bf543ba76ca26218da8c578407ba75b Mon Sep 17 00:00:00 2001 From: Sergiu Deitsch Date: Sat, 18 Jul 2026 14:24:50 +0200 Subject: [PATCH] imgproc: fix NVIDIA OpenCL remap kernel types Match interpolation coefficient types to the working type so the double kernel compiles on NVIDIA devices. --- modules/imgproc/src/opencl/remap.cl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/imgproc/src/opencl/remap.cl b/modules/imgproc/src/opencl/remap.cl index 668ea9519e..ad77764fbb 100644 --- a/modules/imgproc/src/opencl/remap.cl +++ b/modules/imgproc/src/opencl/remap.cl @@ -464,7 +464,7 @@ __kernel void remap_2_32FC1(__global const uchar * srcptr, int src_step, int src #else #pragma unroll for (int xp = 0; xp < 2; ++xp) - xsum = fma(CONVERT_TO_WT(loadpix(srcptr + mad24(xp, TSIZE, src_index))), coeffs_x[xp], xsum); + xsum = fma(CONVERT_TO_WT(loadpix(srcptr + mad24(xp, TSIZE, src_index))), (WT)(coeffs_x[xp]), xsum); #endif } else @@ -472,12 +472,12 @@ __kernel void remap_2_32FC1(__global const uchar * srcptr, int src_step, int src #pragma unroll for (int xp = 0; xp < 2; ++xp) xsum = fma(sx + xp >= 0 && sx + xp < src_cols ? - CONVERT_TO_WT(loadpix(srcptr + mad24(xp, TSIZE, src_index))) : scalar, coeffs_x[xp], xsum); + CONVERT_TO_WT(loadpix(srcptr + mad24(xp, TSIZE, src_index))) : scalar, (WT)(coeffs_x[xp]), xsum); } - sum = fma(xsum, coeffs_y[yp], sum); + sum = fma(xsum, (WT)(coeffs_y[yp]), sum); } else - sum = fma(scalar, coeffs_y[yp], sum); + sum = fma(scalar, (WT)(coeffs_y[yp]), sum); } storepix(CONVERT_TO_T(sum), dst);