Commit 04894893 authored by Vladislav Vinogradov's avatar Vladislav Vinogradov

used cudaMalloc for 1-row or 1-column matrix instead of cudaMallocPitch

parent 1db4afac
......@@ -678,11 +678,17 @@ void cv::gpu::GpuMat::create(int _rows, int _cols, int _type)
size_t esz = elemSize();
void* devPtr;
cudaSafeCall( cudaMallocPitch(&devPtr, &step, esz * cols, rows) );
// Single row must be continuous
if (rows == 1)
if (rows > 1 && cols > 1)
{
cudaSafeCall( cudaMallocPitch(&devPtr, &step, esz * cols, rows) );
}
else
{
// Single row or single column must be continuous
cudaSafeCall( cudaMalloc(&devPtr, esz * cols * rows) );
step = esz * cols;
}
if (esz * cols == step)
flags |= Mat::CONTINUOUS_FLAG;
......
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