ocl: add map tests
This commit is contained in:
parent
b36f565d13
commit
cd5c70691a
@ -606,7 +606,7 @@ void* UMat::handle(int accessFlags) const
|
|||||||
// check flags: if CPU copy is newer, copy it back to GPU.
|
// check flags: if CPU copy is newer, copy it back to GPU.
|
||||||
if( u->deviceCopyObsolete() )
|
if( u->deviceCopyObsolete() )
|
||||||
{
|
{
|
||||||
CV_Assert(u->refcount == 0);
|
CV_Assert(u->refcount == 0 || u->origdata);
|
||||||
u->currAllocator->unmap(u);
|
u->currAllocator->unmap(u);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -935,9 +935,7 @@ TEST(UMat, DISABLED_synchronization_map_unmap)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} } // namespace cvtest::ocl
|
TEST(UMat, async_unmap)
|
||||||
|
|
||||||
TEST(UMat, DISABLED_bug_with_unmap)
|
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 20; i++)
|
for (int i = 0; i < 20; i++)
|
||||||
{
|
{
|
||||||
@ -963,7 +961,7 @@ TEST(UMat, DISABLED_bug_with_unmap)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(UMat, DISABLED_bug_with_unmap_in_class)
|
TEST(UMat, unmap_in_class)
|
||||||
{
|
{
|
||||||
class Logic
|
class Logic
|
||||||
{
|
{
|
||||||
@ -1004,6 +1002,28 @@ TEST(UMat, DISABLED_bug_with_unmap_in_class)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TEST(UMat, map_unmap_counting)
|
||||||
|
{
|
||||||
|
if (!cv::ocl::useOpenCL())
|
||||||
|
{
|
||||||
|
std::cout << "OpenCL is not enabled. Skip test" << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::cout << "Host memory: " << cv::ocl::Device::getDefault().hostUnifiedMemory() << std::endl;
|
||||||
|
Mat m(Size(10, 10), CV_8UC1);
|
||||||
|
UMat um = m.getUMat(ACCESS_RW);
|
||||||
|
{
|
||||||
|
Mat d = um.getMat(ACCESS_RW);
|
||||||
|
d.release();
|
||||||
|
}
|
||||||
|
void* h = NULL;
|
||||||
|
EXPECT_NO_THROW(h = um.handle(ACCESS_RW));
|
||||||
|
std::cout << "Handle: " << h << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TEST(UMat, Test_same_behaviour_read_and_read)
|
TEST(UMat, Test_same_behaviour_read_and_read)
|
||||||
{
|
{
|
||||||
bool exceptionDetected = false;
|
bool exceptionDetected = false;
|
||||||
@ -1070,3 +1090,6 @@ TEST(UMat, DISABLED_Test_same_behaviour_write_and_write)
|
|||||||
}
|
}
|
||||||
ASSERT_TRUE(exceptionDetected); // data race
|
ASSERT_TRUE(exceptionDetected); // data race
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} } // namespace cvtest::ocl
|
||||||
|
Loading…
x
Reference in New Issue
Block a user