From 7d82a14d1ab5ccb78b66fde91312ebbc5526a9bc Mon Sep 17 00:00:00 2001 From: Anatoly Baksheev Date: Mon, 8 Aug 2011 09:23:44 +0000 Subject: [PATCH] ticket 1280 --- modules/gpu/src/initialization.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/modules/gpu/src/initialization.cpp b/modules/gpu/src/initialization.cpp index 84da515513..2b7ceea90a 100644 --- a/modules/gpu/src/initialization.cpp +++ b/modules/gpu/src/initialization.cpp @@ -190,9 +190,17 @@ void cv::gpu::setDevice(int device) int cv::gpu::getDevice() { - int device; - cudaSafeCall( cudaGetDevice( &device ) ); - return device; + int count; + cudaError_t error = cudaGetDeviceCount( &count ); + + if (error == cudaErrorInsufficientDriver) + return -1; + + if (error == cudaErrorNoDevice) + return 0; + + cudaSafeCall(error); + return count; }