mirror of https://github.com/opencv/opencv.git
Merge pull request #2431 from ilya-lavrenov:tapi_perf
commit
d1d451c952
3 changed files with 87 additions and 2 deletions
@ -0,0 +1,84 @@ |
||||
// This file is part of OpenCV project.
|
||||
// It is subject to the license terms in the LICENSE file found in the top-level directory
|
||||
// of this distribution and at http://opencv.org/license.html.
|
||||
|
||||
// Copyright (C) 2014, Advanced Micro Devices, Inc., all rights reserved.
|
||||
// Third party copyrights are property of their respective owners.
|
||||
|
||||
#include "perf_precomp.hpp" |
||||
#include "opencv2/ts/ocl_perf.hpp" |
||||
|
||||
#ifdef HAVE_OPENCL |
||||
|
||||
namespace cvtest { |
||||
namespace ocl { |
||||
|
||||
///////////// SetTo ////////////////////////
|
||||
|
||||
typedef Size_MatType SetToFixture; |
||||
|
||||
OCL_PERF_TEST_P(SetToFixture, SetTo, |
||||
::testing::Combine(OCL_TEST_SIZES, OCL_TEST_TYPES)) |
||||
{ |
||||
const Size_MatType_t params = GetParam(); |
||||
const Size srcSize = get<0>(params); |
||||
const int type = get<1>(params); |
||||
const Scalar s = Scalar::all(17); |
||||
|
||||
checkDeviceMaxMemoryAllocSize(srcSize, type); |
||||
|
||||
UMat src(srcSize, type); |
||||
declare.in(src, WARMUP_RNG).out(src); |
||||
|
||||
OCL_TEST_CYCLE() src.setTo(s); |
||||
|
||||
SANITY_CHECK(src); |
||||
} |
||||
|
||||
///////////// ConvertTo ////////////////////////
|
||||
|
||||
typedef Size_MatType ConvertToFixture; |
||||
|
||||
OCL_PERF_TEST_P(ConvertToFixture, ConvertTo, |
||||
::testing::Combine(OCL_TEST_SIZES, OCL_TEST_TYPES)) |
||||
{ |
||||
const Size_MatType_t params = GetParam(); |
||||
const Size srcSize = get<0>(params); |
||||
const int type = get<1>(params), ddepth = CV_MAT_DEPTH(type) == CV_8U ? CV_32F : CV_8U, |
||||
cn = CV_MAT_CN(type), dtype = CV_MAKE_TYPE(ddepth, cn); |
||||
|
||||
checkDeviceMaxMemoryAllocSize(srcSize, type); |
||||
checkDeviceMaxMemoryAllocSize(srcSize, dtype); |
||||
|
||||
UMat src(srcSize, type), dst(srcSize, dtype); |
||||
declare.in(src, WARMUP_RNG).out(dst); |
||||
|
||||
OCL_TEST_CYCLE() src.convertTo(dst, dtype); |
||||
|
||||
SANITY_CHECK(dst); |
||||
} |
||||
|
||||
///////////// CopyTo ////////////////////////
|
||||
|
||||
typedef Size_MatType CopyToFixture; |
||||
|
||||
OCL_PERF_TEST_P(CopyToFixture, CopyTo, |
||||
::testing::Combine(OCL_TEST_SIZES, OCL_TEST_TYPES)) |
||||
{ |
||||
const Size_MatType_t params = GetParam(); |
||||
const Size srcSize = get<0>(params); |
||||
const int type = get<1>(params); |
||||
|
||||
checkDeviceMaxMemoryAllocSize(srcSize, type); |
||||
|
||||
UMat src(srcSize, type), dst(srcSize, type); |
||||
declare.in(src, WARMUP_RNG).out(dst); |
||||
|
||||
OCL_TEST_CYCLE() src.copyTo(dst); |
||||
|
||||
SANITY_CHECK(dst); |
||||
} |
||||
|
||||
} } // namespace cvtest::ocl
|
||||
|
||||
#endif // HAVE_OPENCL
|
Loading…
Reference in new issue