Fix OpenCL device detection when some OpenCL platform has no devices
authorIgor Murzov <igor.murzov@xperience.ai>
Wed, 30 Oct 2019 15:24:32 +0000 (18:24 +0300)
committerIgor Murzov <igor.murzov@xperience.ai>
Tue, 5 Nov 2019 17:02:39 +0000 (20:02 +0300)
commitcdbfdcc36327f593b1c96b8f6a1f4a21ecc0fca7
tree41a398ab12e1d300abc87d908081fde9b08983e4
parent53139e6ebe5cb76adddb9bf08590c878dc6a10e3
Fix OpenCL device detection when some OpenCL platform has no devices

It's not an error if some OpenCL platform has no devices. This makes
OpenCL device detection work correctly in the following scenario:

$ OPENCV_OPENCL_DEVICE=:GPU: ./opencv_test_dnn

OpenCV version: 4.1.2-dev
OpenCV VCS version: 4.1.2-80-g467748ee98-dirty
Build type: Debug
Compiler: /usr/bin/g++  (ver 7.4.0)
Parallel framework: pthreads
CPU features: SSE SSE2 SSE3 *SSE4.1 *SSE4.2 *FP16 *AVX *AVX2 *AVX512-SKX?
Intel(R) IPP version: ippIP AVX2 (l9) 2019.0.0 Gold (-) Jul 24 2018
OpenCL Platforms:
    AMD Accelerated Parallel Processing
    Portable Computing Language
        CPU: pthread-AMD Ryzen 7 2700X Eight-Core Processor (OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-znver1)
    NVIDIA CUDA
        dGPU: GeForce GTX 1080 (OpenCL 1.2 CUDA)
Current OpenCL device:
    Type = dGPU
    Name = GeForce GTX 1080
    Version = OpenCL 1.2 CUDA
    Driver version = 430.26
modules/core/src/ocl.cpp