From f16eed48dac6076adc07f273910dd22cfd8b4af3 Mon Sep 17 00:00:00 2001 From: calderpg-tri <32444241+calderpg-tri@users.noreply.github.com> Date: Tue, 2 Apr 2019 17:05:15 -0400 Subject: [PATCH] Fix OpenCL compile failure on Intel (beignet) Intel OpenCL driver (beignet) fails to compile the registration kernel because the call to sqrt is ambiguous. Adding a float specifier is enough to compile. --- kinect2_registration/src/depth_registration.cl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kinect2_registration/src/depth_registration.cl b/kinect2_registration/src/depth_registration.cl index 4011b9ae..ba0c7972 100644 --- a/kinect2_registration/src/depth_registration.cl +++ b/kinect2_registration/src/depth_registration.cl @@ -187,7 +187,7 @@ void kernel remapDepth(global const ushort *in, global ushort *out, global const } const float4 distXY = (float4)((x - xL) * (x - xL), (xH - x) * (xH - x), (y - yL) * (y - yL), (yH - y) * (yH - y)); - const float4 tmp = (float4)(sqrt(2.0)); + const float4 tmp = (float4)(sqrt(2.0f)); const float4 dist2 = (float4)(distXY.s0 + distXY.s2, distXY.s1 + distXY.s2, distXY.s0 + distXY.s3, distXY.s1 + distXY.s3); const float4 dist = select((float4)(0), tmp - sqrt(dist2), valid); const float sum = dist.s0 + dist.s1 + dist.s2 + dist.s3;