summaryrefslogtreecommitdiffstats
path: root/libhb/opencl.c
diff options
context:
space:
mode:
authorRodeo <[email protected]>2013-12-11 02:24:48 +0000
committerRodeo <[email protected]>2013-12-11 02:24:48 +0000
commit3443d1134af988467ef8ac4f2808f5e325ef4eb4 (patch)
tree2f3658d789c71ad94da41bbf1ce5f3edf81aadf2 /libhb/opencl.c
parentc872cbbc2a7817b2b938febeb3fdab36e6bfa570 (diff)
OpenCL: disable on Ivy Bridge integrated GPUs.
Ivy Bridge supports OpenCL on GPU, but it's too slow to be usable for scaling. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5926 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/opencl.c')
-rw-r--r--libhb/opencl.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libhb/opencl.c b/libhb/opencl.c
index 8d846a824..d9bfc89b2 100644
--- a/libhb/opencl.c
+++ b/libhb/opencl.c
@@ -161,10 +161,13 @@ void hb_opencl_library_close(hb_opencl_library_t **_opencl)
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:
@@ -230,6 +233,10 @@ static hb_opencl_device_t* hb_opencl_device_get(hb_opencl_library_t *opencl,
{
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;