Fix the mismatch on NV GPUs
authoryao <bitwangyaoyao@gmail.com>
Mon, 20 May 2013 06:46:17 +0000 (14:46 +0800)
committeryao <bitwangyaoyao@gmail.com>
Mon, 20 May 2013 06:46:17 +0000 (14:46 +0800)
modules/ocl/src/opencl/arithm_mul.cl
modules/ocl/src/tvl1flow.cpp

index e1cc9f6ab4fcc35c4bf7f5b35bc38c4156fb79b8..40988f5fed51a0e5cb0bb7453a8bfd256290d3ae 100644 (file)
@@ -277,9 +277,15 @@ __kernel void arithm_mul_D6 (__global double *src1, int src1_step, int src1_offs
 }
 #endif
 
+#ifdef DOUBLE_SUPPORT
+#define SCALAR_TYPE double
+#else
+#define SCALAR_TYPE float
+#endif
+
 __kernel void arithm_muls_D5 (__global float *src1, int src1_step, int src1_offset,
                               __global float *dst,  int dst_step,  int dst_offset,
-                              int rows, int cols, int dst_step1, float scalar)
+                              int rows, int cols, int dst_step1, SCALAR_TYPE scalar)
 {
     int x = get_global_id(0);
     int y = get_global_id(1);
index 8182f41a19b76f021a0b223cbb7603c966771ce0..a322f62a4edf39ff61893d81ecd5de6a81684832 100644 (file)
@@ -472,4 +472,8 @@ void ocl_tvl1flow::warpBackward(const oclMat &I0, const oclMat &I1, oclMat &I1x,
     args.push_back( make_pair( sizeof(cl_int), (void*)&u2_offset_y));
 
     openCLExecuteKernel(clCxt, &tvl1flow, kernelName, globalThread, localThread, args, -1, -1);
+
+    releaseTexture(I1_tex);
+    releaseTexture(I1x_tex);
+    releaseTexture(I1y_tex);
 }
\ No newline at end of file