static int hb_opencl_device_is_supported(hb_opencl_device_t* device)
{
// we only support OpenCL on GPUs for now
+ // Ivy Bridge supports OpenCL on GPU, but it's too slow to be usable
// FIXME: disable on NVIDIA to to a bug
if ((device != NULL) &&
(device->type & CL_DEVICE_TYPE_GPU) &&
- (device->ocl_vendor != HB_OCL_VENDOR_NVIDIA))
+ (device->ocl_vendor != HB_OCL_VENDOR_NVIDIA) &&
+ (device->ocl_vendor != HB_OCL_VENDOR_INTEL ||
+ hb_get_cpu_platform() != HB_CPU_PLATFORM_INTEL_IVB))
{
int major, minor;
// check OpenCL version:
{
device->ocl_vendor = HB_OCL_VENDOR_NVIDIA;
}
+ else if (!strncmp(device->vendor, "Intel", 5 /* strlen("Intel") */))
+ {
+ device->ocl_vendor = HB_OCL_VENDOR_INTEL;
+ }
else
{
device->ocl_vendor = HB_OCL_VENDOR_OTHER;