Warious fixes for case where HAVE_CUDA==OFF.
This commit is contained in:
@@ -1,12 +1,8 @@
|
|||||||
set(the_description "The Core Functionality")
|
set(the_description "The Core Functionality")
|
||||||
|
|
||||||
message(STATUS "ENABLE_DYNAMIC_CUDA ${ENABLE_DYNAMIC_CUDA}")
|
|
||||||
|
|
||||||
if (ENABLE_DYNAMIC_CUDA)
|
if (ENABLE_DYNAMIC_CUDA)
|
||||||
message(STATUS "Using dynamic cuda approach")
|
|
||||||
ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES})
|
ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES})
|
||||||
else()
|
else()
|
||||||
message(STATUS "Link CUDA statically")
|
|
||||||
ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
|
ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -44,7 +44,7 @@
|
|||||||
#include "opencv2/core/gpumat.hpp"
|
#include "opencv2/core/gpumat.hpp"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#if defined(HAVE_CUDA) || defined(DYNAMIC_CUDA_SUPPORT)
|
#if defined(HAVE_CUDA)
|
||||||
#include <cuda_runtime.h>
|
#include <cuda_runtime.h>
|
||||||
#include <npp.h>
|
#include <npp.h>
|
||||||
|
|
||||||
@@ -273,8 +273,6 @@ void cv::gpu::DeviceInfo::query() { deviceInfoFuncTable()->query(); }
|
|||||||
void cv::gpu::printCudaDeviceInfo(int device) { deviceInfoFuncTable()->printCudaDeviceInfo(device); }
|
void cv::gpu::printCudaDeviceInfo(int device) { deviceInfoFuncTable()->printCudaDeviceInfo(device); }
|
||||||
void cv::gpu::printShortCudaDeviceInfo(int device) { deviceInfoFuncTable()->printShortCudaDeviceInfo(device); }
|
void cv::gpu::printShortCudaDeviceInfo(int device) { deviceInfoFuncTable()->printShortCudaDeviceInfo(device); }
|
||||||
|
|
||||||
#ifdef HAVE_CUDA
|
|
||||||
|
|
||||||
namespace cv { namespace gpu
|
namespace cv { namespace gpu
|
||||||
{
|
{
|
||||||
CV_EXPORTS void copyWithMask(const cv::gpu::GpuMat&, cv::gpu::GpuMat&, const cv::gpu::GpuMat&, cudaStream_t);
|
CV_EXPORTS void copyWithMask(const cv::gpu::GpuMat&, cv::gpu::GpuMat&, const cv::gpu::GpuMat&, cudaStream_t);
|
||||||
@@ -286,8 +284,6 @@ namespace cv { namespace gpu
|
|||||||
CV_EXPORTS void setTo(cv::gpu::GpuMat&, cv::Scalar, const cv::gpu::GpuMat&);
|
CV_EXPORTS void setTo(cv::gpu::GpuMat&, cv::Scalar, const cv::gpu::GpuMat&);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//////////////////////////////// GpuMat ///////////////////////////////
|
//////////////////////////////// GpuMat ///////////////////////////////
|
||||||
|
|
||||||
cv::gpu::GpuMat::GpuMat(const GpuMat& m)
|
cv::gpu::GpuMat::GpuMat(const GpuMat& m)
|
||||||
@@ -707,8 +703,6 @@ void cv::gpu::GpuMat::release()
|
|||||||
refcount = 0;
|
refcount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_CUDA
|
|
||||||
|
|
||||||
namespace cv { namespace gpu
|
namespace cv { namespace gpu
|
||||||
{
|
{
|
||||||
void convertTo(const GpuMat& src, GpuMat& dst)
|
void convertTo(const GpuMat& src, GpuMat& dst)
|
||||||
@@ -742,8 +736,6 @@ namespace cv { namespace gpu
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
// Error handling
|
// Error handling
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
if(NOT ANDROID)
|
if(NOT ANDROID OR NOT HAVE_CUDA)
|
||||||
ocv_module_disable(dynamicuda)
|
ocv_module_disable(dynamicuda)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -1,6 +1,10 @@
|
|||||||
#ifndef __GPUMAT_CUDA_HPP__
|
#ifndef __GPUMAT_CUDA_HPP__
|
||||||
#define __GPUMAT_CUDA_HPP__
|
#define __GPUMAT_CUDA_HPP__
|
||||||
|
|
||||||
|
#ifndef HAVE_CUDA
|
||||||
|
typedef void* cudaStream_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
class DeviceInfoFuncTable
|
class DeviceInfoFuncTable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -56,7 +60,7 @@ public:
|
|||||||
virtual void convert(const GpuMat& src, GpuMat& dst) const = 0;
|
virtual void convert(const GpuMat& src, GpuMat& dst) const = 0;
|
||||||
|
|
||||||
// for gpu::device::setTo funcs
|
// for gpu::device::setTo funcs
|
||||||
virtual void setTo(cv::gpu::GpuMat&, cv::Scalar, const cv::gpu::GpuMat&, CUstream_st*) const = 0;
|
virtual void setTo(cv::gpu::GpuMat&, cv::Scalar, const cv::gpu::GpuMat&, cudaStream_t) const = 0;
|
||||||
|
|
||||||
virtual void mallocPitch(void** devPtr, size_t* step, size_t width, size_t height) const = 0;
|
virtual void mallocPitch(void** devPtr, size_t* step, size_t width, size_t height) const = 0;
|
||||||
virtual void free(void* devPtr) const = 0;
|
virtual void free(void* devPtr) const = 0;
|
||||||
@@ -96,8 +100,15 @@ public:
|
|||||||
bool hasEqualOrGreaterPtx(int, int) const { throw_nogpu; return false; }
|
bool hasEqualOrGreaterPtx(int, int) const { throw_nogpu; return false; }
|
||||||
bool hasEqualOrGreaterBin(int, int) const { throw_nogpu; return false; }
|
bool hasEqualOrGreaterBin(int, int) const { throw_nogpu; return false; }
|
||||||
|
|
||||||
void printCudaDeviceInfo(int) const { throw_nogpu; }
|
void printCudaDeviceInfo(int) const
|
||||||
void printShortCudaDeviceInfo(int) const { throw_nogpu; }
|
{
|
||||||
|
printf("The library is compiled without CUDA support\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void printShortCudaDeviceInfo(int) const
|
||||||
|
{
|
||||||
|
printf("The library is compiled without CUDA support\n");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class EmptyFuncTable : public GpuFuncTable
|
class EmptyFuncTable : public GpuFuncTable
|
||||||
@@ -113,7 +124,7 @@ public:
|
|||||||
void convert(const GpuMat&, GpuMat&) const { throw_nogpu; }
|
void convert(const GpuMat&, GpuMat&) const { throw_nogpu; }
|
||||||
void convert(const GpuMat&, GpuMat&, double, double, cudaStream_t stream = 0) const { (void)stream; throw_nogpu; }
|
void convert(const GpuMat&, GpuMat&, double, double, cudaStream_t stream = 0) const { (void)stream; throw_nogpu; }
|
||||||
|
|
||||||
virtual void setTo(cv::gpu::GpuMat&, cv::Scalar, const cv::gpu::GpuMat&, CUstream_st*) const { throw_nogpu; }
|
virtual void setTo(cv::gpu::GpuMat&, cv::Scalar, const cv::gpu::GpuMat&, cudaStream_t) const { throw_nogpu; }
|
||||||
|
|
||||||
void mallocPitch(void**, size_t*, size_t, size_t) const { throw_nogpu; }
|
void mallocPitch(void**, size_t*, size_t, size_t) const { throw_nogpu; }
|
||||||
void free(void*) const {}
|
void free(void*) const {}
|
||||||
|
Reference in New Issue
Block a user