ocl: fix PlatformInfo usage
authorAlexander Alekhin <alexander.a.alekhin@gmail.com>
Fri, 25 Sep 2020 19:22:12 +0000 (19:22 +0000)
committerAlexander Alekhin <alexander.a.alekhin@gmail.com>
Fri, 25 Sep 2020 19:22:12 +0000 (19:22 +0000)
modules/core/src/directx.cpp
modules/core/src/ocl.cpp
modules/core/src/opengl.cpp
modules/core/src/va_intel.cpp

index c651449..c9bd1a4 100644 (file)
@@ -459,7 +459,7 @@ Context& initializeContextFromD3D11Device(ID3D11Device* pD3D11Device)
     }
 
     cl_platform_id platform = platforms[found];
-    std::string platformName = PlatformInfo(platform).name();
+    std::string platformName = PlatformInfo(&platform).name();
 
     OpenCLExecutionContext clExecCtx;
     try
@@ -579,7 +579,7 @@ Context& initializeContextFromD3D10Device(ID3D10Device* pD3D10Device)
     }
 
     cl_platform_id platform = platforms[found];
-    std::string platformName = PlatformInfo(platform).name();
+    std::string platformName = PlatformInfo(&platform).name();
 
     OpenCLExecutionContext clExecCtx;
     try
@@ -701,7 +701,7 @@ Context& initializeContextFromDirect3DDevice9Ex(IDirect3DDevice9Ex* pDirect3DDev
     }
 
     cl_platform_id platform = platforms[found];
-    std::string platformName = PlatformInfo(platform).name();
+    std::string platformName = PlatformInfo(&platform).name();
 
     OpenCLExecutionContext clExecCtx;
     try
@@ -824,7 +824,7 @@ Context& initializeContextFromDirect3DDevice9(IDirect3DDevice9* pDirect3DDevice9
     }
 
     cl_platform_id platform = platforms[found];
-    std::string platformName = PlatformInfo(platform).name();
+    std::string platformName = PlatformInfo(&platform).name();
 
     OpenCLExecutionContext clExecCtx;
     try
index 8a99240..0a82424 100644 (file)
@@ -3102,7 +3102,7 @@ void initializeContextFromHandle(Context& ctx, void* _platform, void* _context,
     cl_context context = (cl_context)_context;
     cl_device_id deviceID = (cl_device_id)_device;
 
-    std::string platformName = PlatformInfo(platformID).name();
+    std::string platformName = PlatformInfo(&platformID).name();
 
     auto clExecCtx = OpenCLExecutionContext::create(platformName, platformID, context, deviceID);
     CV_Assert(!clExecCtx.empty());
index a95191e..5ff3c71 100644 (file)
@@ -1690,7 +1690,7 @@ Context& initializeContextFromGL()
         CV_Error(cv::Error::OpenCLInitError, "OpenCL: Can't create context for OpenGL interop");
 
     cl_platform_id platform = platforms[found];
-    std::string platformName = PlatformInfo(platform).name();
+    std::string platformName = PlatformInfo(&platform).name();
 
     OpenCLExecutionContext clExecCtx = OpenCLExecutionContext::create(platformName, platform, context, device);
     clReleaseDevice(device);
index 1fd574b..c640a08 100644 (file)
@@ -141,13 +141,7 @@ Context& initializeContextFromVA(VADisplay display, bool tryInterop)
             contextInitialized = true;
 
             cl_platform_id platform = platforms[found];
-            char platformName[1024] = {0};
-            size_t sz = 0;
-            if (clGetPlatformInfo(platform, CL_PLATFORM_NAME, sizeof(platformName) - 16, platformName, &sz) != CL_SUCCESS
-                || sz >= sizeof(platformName))
-            {
-                CV_Error(cv::Error::OpenCLInitError, "OpenCL: Failed to get platform name");
-            }
+            std::string platformName = PlatformInfo(&platform).name();
 
             OpenCLExecutionContext clExecCtx;
             try