#define PCI_CHIP_IVYBRIDGE_M_GT2 0x0166
#define PCI_CHIP_IVYBRIDGE_S_GT1 0x015a /* Server */
+#define PCI_CHIP_BAYTRAIL_T 0x0F31
+
#define IS_IVB_GT1(devid) \
(devid == PCI_CHIP_IVYBRIDGE_GT1 || \
devid == PCI_CHIP_IVYBRIDGE_M_GT1 || \
(devid == PCI_CHIP_IVYBRIDGE_GT2 || \
devid == PCI_CHIP_IVYBRIDGE_M_GT2)
-#define IS_IVYBRIDGE(devid) (IS_IVB_GT1(devid) || IS_IVB_GT2(devid))
+#define IS_BAYTRAIL_T(devid) \
+ (devid == PCI_CHIP_BAYTRAIL_T)
+
+#define IS_IVYBRIDGE(devid) (IS_IVB_GT1(devid) || IS_IVB_GT2(devid) || IS_BAYTRAIL_T(devid))
#define IS_GEN7(devid) IS_IVYBRIDGE(devid)
#define PCI_CHIP_HASWELL_CRW_M2 0x0D16 /* CRW GT2 mobile */
#define PCI_CHIP_HASWELL_CRW_M3 0x0D26 /* CRW GT3 mobile */
+
#define IS_HASWELL(devid) ( \
(devid) == PCI_CHIP_HASWELL_D1 || (devid) == PCI_CHIP_HASWELL_D2 || \
(devid) == PCI_CHIP_HASWELL_D3 || (devid) == PCI_CHIP_HASWELL_S1 || \
#include "cl_gen7_device.h"
};
+static struct _cl_device_id intel_baytrail_t_device = {
+ INIT_ICD(dispatch)
+ .max_compute_unit = 32,
+ .max_thread_per_unit = 8,
+ .max_work_item_sizes = {512, 512, 512},
+ .max_work_group_size = 256,
+ .max_clock_frequency = 1000,
+ .wg_sz = 256,
+#include "cl_gen7_device.h"
+};
+
/* XXX we clone IVB for HSW now */
static struct _cl_device_id intel_hsw_device = {
INIT_ICD(dispatch)
ret = &intel_ivb_gt2_device;
break;
+ case PCI_CHIP_BAYTRAIL_T:
+ DECL_INFO_STRING(baytrail_t_device_break, intel_baytrail_t_device, name, "Intel(R) HD Graphics Bay Trail-T");
+baytrail_t_device_break:
+ intel_baytrail_t_device.vendor_id = device_id;
+ intel_baytrail_t_device.platform = intel_platform;
+ ret = &intel_baytrail_t_device;
+ break;
+
case PCI_CHIP_SANDYBRIDGE_BRIDGE:
case PCI_CHIP_SANDYBRIDGE_GT1:
case PCI_CHIP_SANDYBRIDGE_GT2:
{
if (UNLIKELY(device != &intel_ivb_gt1_device &&
device != &intel_ivb_gt2_device &&
+ device != &intel_baytrail_t_device &&
device != &intel_hsw_device))
return CL_INVALID_DEVICE;
{
if (UNLIKELY(device != &intel_ivb_gt1_device &&
device != &intel_ivb_gt2_device &&
+ device != &intel_baytrail_t_device &&
device != &intel_hsw_device))
return CL_INVALID_DEVICE;
if (ver == NULL)
return CL_SUCCESS;
- if (device == &intel_ivb_gt1_device || device == &intel_ivb_gt2_device)
+ if (device == &intel_ivb_gt1_device ||
+ device == &intel_ivb_gt2_device ||
+ device == &intel_baytrail_t_device)
*ver = 7;
else
*ver = 75;
{
int err = CL_SUCCESS;
if (UNLIKELY(device != &intel_ivb_gt1_device &&
+ device != &intel_baytrail_t_device &&
device != &intel_ivb_gt2_device))
return CL_INVALID_DEVICE;