Commit bb4b4105 authored by peng xiao's avatar peng xiao

Add ocl::PlatformName to ocl::Info.

parent 416fb505
...@@ -103,6 +103,7 @@ namespace cv ...@@ -103,6 +103,7 @@ namespace cv
void release(); void release();
Info &operator = (const Info &m); Info &operator = (const Info &m);
std::vector<String> DeviceName; std::vector<String> DeviceName;
String PlatformName;
}; };
//////////////////////////////// Initialization & Info //////////////////////// //////////////////////////////// Initialization & Info ////////////////////////
//this function may be obsoleted //this function may be obsoleted
......
...@@ -127,7 +127,7 @@ namespace cv ...@@ -127,7 +127,7 @@ namespace cv
cl_platform_id oclplatform; cl_platform_id oclplatform;
std::vector<cl_device_id> devices; std::vector<cl_device_id> devices;
std::vector<String> devName; std::vector<String> devName;
String platName;
cl_context oclcontext; cl_context oclcontext;
cl_command_queue clCmdQueue; cl_command_queue clCmdQueue;
int devnum; int devnum;
...@@ -298,10 +298,14 @@ namespace cv ...@@ -298,10 +298,14 @@ namespace cv
std::vector<cl_platform_id> platforms(numPlatforms); std::vector<cl_platform_id> platforms(numPlatforms);
openCLSafeCall(clGetPlatformIDs(numPlatforms, &platforms[0], 0)); openCLSafeCall(clGetPlatformIDs(numPlatforms, &platforms[0], 0));
char deviceName[256];
int devcienums = 0; int devcienums = 0;
const static int max_name_length = 256;
char deviceName[max_name_length];
char plfmName[max_name_length];
for (unsigned i = 0; i < numPlatforms; ++i) for (unsigned i = 0; i < numPlatforms; ++i)
{ {
cl_uint numsdev; cl_uint numsdev;
cl_int status = clGetDeviceIDs(platforms[i], devicetype, 0, NULL, &numsdev); cl_int status = clGetDeviceIDs(platforms[i], devicetype, 0, NULL, &numsdev);
if(status != CL_DEVICE_NOT_FOUND) if(status != CL_DEVICE_NOT_FOUND)
...@@ -314,6 +318,9 @@ namespace cv ...@@ -314,6 +318,9 @@ namespace cv
openCLSafeCall(clGetDeviceIDs(platforms[i], devicetype, numsdev, &devices[0], 0)); openCLSafeCall(clGetDeviceIDs(platforms[i], devicetype, numsdev, &devices[0], 0));
Info ocltmpinfo; Info ocltmpinfo;
openCLSafeCall(clGetPlatformInfo(platforms[i], CL_PLATFORM_VENDOR, sizeof(plfmName), plfmName, NULL));
ocltmpinfo.PlatformName = String(plfmName);
ocltmpinfo.impl->platName = String(plfmName);
ocltmpinfo.impl->oclplatform = platforms[i]; ocltmpinfo.impl->oclplatform = platforms[i];
for(unsigned j = 0; j < numsdev; ++j) for(unsigned j = 0; j < numsdev; ++j)
{ {
...@@ -1035,6 +1042,7 @@ namespace cv ...@@ -1035,6 +1042,7 @@ namespace cv
impl->release(); impl->release();
impl = new Impl; impl = new Impl;
DeviceName.clear(); DeviceName.clear();
PlatformName.clear();
} }
Info::~Info() Info::~Info()
...@@ -1048,6 +1056,7 @@ namespace cv ...@@ -1048,6 +1056,7 @@ namespace cv
impl->release(); impl->release();
impl = m.impl->copy(); impl = m.impl->copy();
DeviceName = m.DeviceName; DeviceName = m.DeviceName;
PlatformName = m.PlatformName;
return *this; return *this;
} }
...@@ -1055,6 +1064,7 @@ namespace cv ...@@ -1055,6 +1064,7 @@ namespace cv
{ {
impl = m.impl->copy(); impl = m.impl->copy();
DeviceName = m.DeviceName; DeviceName = m.DeviceName;
PlatformName = m.PlatformName;
} }
}//namespace ocl }//namespace ocl
......
...@@ -117,7 +117,7 @@ int main(int argc, char **argv) ...@@ -117,7 +117,7 @@ int main(int argc, char **argv)
} }
setDevice(oclinfo[pid], device); setDevice(oclinfo[pid], device);
cout << "Platform name:" << oclinfo[pid].PlatformName << endl;
cout << "Device type:" << type << endl << "Device name:" << oclinfo[pid].DeviceName[device] << endl; cout << "Device type:" << type << endl << "Device name:" << oclinfo[pid].DeviceName[device] << endl;
return RUN_ALL_TESTS(); return RUN_ALL_TESTS();
} }
......
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