Commit ad6aae45 authored by yao's avatar yao

more fix of mismatch functions on CPU OCL

parent 2c06e59a
This diff is collapsed.
...@@ -953,8 +953,8 @@ CvSeq *cv::ocl::OclCascadeClassifier::oclHaarDetectObjects( oclMat &gimg, CvMemS ...@@ -953,8 +953,8 @@ CvSeq *cv::ocl::OclCascadeClassifier::oclHaarDetectObjects( oclMat &gimg, CvMemS
//int flag = 0; //int flag = 0;
oclMat gimg1(gimg.rows, gimg.cols, CV_8UC1); oclMat gimg1(gimg.rows, gimg.cols, CV_8UC1);
oclMat gsum(totalheight, gimg.cols + 1, CV_32SC1); oclMat gsum(totalheight + 4, gimg.cols + 1, CV_32SC1);
oclMat gsqsum(totalheight, gimg.cols + 1, CV_32FC1); oclMat gsqsum(totalheight + 4, gimg.cols + 1, CV_32FC1);
//cl_mem cascadebuffer; //cl_mem cascadebuffer;
cl_mem stagebuffer; cl_mem stagebuffer;
......
...@@ -106,7 +106,7 @@ static void icvContourMoments( CvSeq* contour, CvMoments* mom ) ...@@ -106,7 +106,7 @@ static void icvContourMoments( CvSeq* contour, CvMoments* mom )
bool is_float = CV_SEQ_ELTYPE(contour) == CV_32FC2; bool is_float = CV_SEQ_ELTYPE(contour) == CV_32FC2;
if (!cv::ocl::Context::getContext()->impl->double_support && is_float) if (!cv::ocl::Context::getContext()->supportsFeature(Context::CL_DOUBLE) && is_float)
{ {
CV_Error(CV_StsUnsupportedFormat, "Moments - double is not supported by your GPU!"); CV_Error(CV_StsUnsupportedFormat, "Moments - double is not supported by your GPU!");
} }
...@@ -146,7 +146,7 @@ static void icvContourMoments( CvSeq* contour, CvMoments* mom ) ...@@ -146,7 +146,7 @@ static void icvContourMoments( CvSeq* contour, CvMoments* mom )
cv::Mat dst(dst_a); cv::Mat dst(dst_a);
a00 = a10 = a01 = a20 = a11 = a02 = a30 = a21 = a12 = a03 = 0.0; a00 = a10 = a01 = a20 = a11 = a02 = a30 = a21 = a12 = a03 = 0.0;
if (!cv::ocl::Context::getContext()->impl->double_support) if (!cv::ocl::Context::getContext()->supportsFeature(Context::CL_DOUBLE))
{ {
for (int i = 0; i < contour->total; ++i) for (int i = 0; i < contour->total; ++i)
{ {
......
This diff is collapsed.
...@@ -211,10 +211,14 @@ __kernel void __attribute__((reqd_work_group_size(8,8,1)))gpuRunHaarClassifierCa ...@@ -211,10 +211,14 @@ __kernel void __attribute__((reqd_work_group_size(8,8,1)))gpuRunHaarClassifierCa
int4 data = *(__global int4*)&sum[glb_off]; int4 data = *(__global int4*)&sum[glb_off];
int lcl_off = mad24(lcl_y, readwidth, lcl_x<<2); int lcl_off = mad24(lcl_y, readwidth, lcl_x<<2);
#if OFF
lcldata[lcl_off] = data.x; lcldata[lcl_off] = data.x;
lcldata[lcl_off+1] = data.y; lcldata[lcl_off+1] = data.y;
lcldata[lcl_off+2] = data.z; lcldata[lcl_off+2] = data.z;
lcldata[lcl_off+3] = data.w; lcldata[lcl_off+3] = data.w;
#else
vstore4(data, 0, &lcldata[lcl_off]);
#endif
} }
lcloutindex[lcl_id] = 0; lcloutindex[lcl_id] = 0;
...@@ -559,3 +563,7 @@ if(result) ...@@ -559,3 +563,7 @@ if(result)
} }
} }
*/ */
...@@ -110,7 +110,7 @@ namespace ...@@ -110,7 +110,7 @@ namespace
} }
}; };
TEST_P(BruteForceMatcher, DISABLED_Match_Single) TEST_P(BruteForceMatcher, Match_Single)
{ {
cv::ocl::BruteForceMatcher_OCL_base matcher(distType); cv::ocl::BruteForceMatcher_OCL_base matcher(distType);
...@@ -130,7 +130,7 @@ namespace ...@@ -130,7 +130,7 @@ namespace
ASSERT_EQ(0, badCount); ASSERT_EQ(0, badCount);
} }
TEST_P(BruteForceMatcher, DISABLED_KnnMatch_2_Single) TEST_P(BruteForceMatcher, KnnMatch_2_Single)
{ {
const int knn = 2; const int knn = 2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment