Mark SandyBridge as unsupported
authorJesper Pedersen <jesper.pedersen@comcast.net>
Sun, 13 Apr 2014 13:58:12 +0000 (09:58 -0400)
committerZhigang Gong <zhigang.gong@intel.com>
Thu, 17 Apr 2014 02:43:56 +0000 (10:43 +0800)
Signed-off-by: Jesper Pedersen <jesper.pedersen@comcast.net>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
src/cl_device_id.c
utests/utest_helper.cpp

index 0426738..c6bce7d 100644 (file)
@@ -182,9 +182,22 @@ ivb_gt2_break:
       intel_ivb_gt2_device.platform = intel_platform;
       ret = &intel_ivb_gt2_device;
       break;
+
+    case PCI_CHIP_SANDYBRIDGE_BRIDGE:
+    case PCI_CHIP_SANDYBRIDGE_GT1:
+    case PCI_CHIP_SANDYBRIDGE_GT2:
+    case PCI_CHIP_SANDYBRIDGE_GT2_PLUS:
+    case PCI_CHIP_SANDYBRIDGE_BRIDGE_M:
+    case PCI_CHIP_SANDYBRIDGE_M_GT1:
+    case PCI_CHIP_SANDYBRIDGE_M_GT2:
+    case PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS:
+    case PCI_CHIP_SANDYBRIDGE_BRIDGE_S:
+    case PCI_CHIP_SANDYBRIDGE_S_GT:
+      // Intel(R) HD Graphics SandyBridge not supported yet
+      ret = NULL;
+      break;
     default:
-      printf("cl_get_gt_device(): error, unknown device\n");
-      exit(1);
+      printf("cl_get_gt_device(): error, unknown device: %x\n", device_id);
   }
 
   return ret;
index a9e270e..cb4dd66 100644 (file)
@@ -337,20 +337,26 @@ cl_ocl_init(void)
   GET_PLATFORM_STR_INFO(extensions, EXTENSIONS);
 
   /* Get the device (only GPU device is supported right now) */
-  OCL_CALL (clGetDeviceIDs, platform, CL_DEVICE_TYPE_GPU, 1, &device, NULL);
-  {
-    size_t param_value_size;
-    GET_DEVICE_STR_INFO(profile, PROFILE);
-    GET_DEVICE_STR_INFO(name, NAME);
-    GET_DEVICE_STR_INFO(vendor, VENDOR);
-    GET_DEVICE_STR_INFO(version, VERSION);
-    GET_DEVICE_STR_INFO(extensions, EXTENSIONS);
-    GET_DEVICE_STR_INFO(opencl_c_version, OPENCL_C_VERSION);
+  try {
+    OCL_CALL (clGetDeviceIDs, platform, CL_DEVICE_TYPE_GPU, 1, &device, NULL);
+    {
+      size_t param_value_size;
+      GET_DEVICE_STR_INFO(profile, PROFILE);
+      GET_DEVICE_STR_INFO(name, NAME);
+      GET_DEVICE_STR_INFO(vendor, VENDOR);
+      GET_DEVICE_STR_INFO(version, VERSION);
+      GET_DEVICE_STR_INFO(extensions, EXTENSIONS);
+      GET_DEVICE_STR_INFO(opencl_c_version, OPENCL_C_VERSION);
 #ifdef HAS_EGL
-    if (std::strstr(extensionsStr.c_str(), "cl_khr_gl_sharing")) {
-      hasGLExt = true;
-    }
+      if (std::strstr(extensionsStr.c_str(), "cl_khr_gl_sharing")) {
+        hasGLExt = true;
+      }
 #endif
+    }
+  } catch (...) {
+     fprintf(stderr, "error calling clGetDeviceIDs\n");
+     status = CL_DEVICE_NOT_FOUND;
+     goto error;
   }
 
 #ifdef HAS_EGL