aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/bots/recipe_modules/flavor/default.py
diff options
context:
space:
mode:
Diffstat (limited to 'infra/bots/recipe_modules/flavor/default.py')
-rw-r--r--infra/bots/recipe_modules/flavor/default.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/infra/bots/recipe_modules/flavor/default.py b/infra/bots/recipe_modules/flavor/default.py
index 7425bdaf06..b45f489bdf 100644
--- a/infra/bots/recipe_modules/flavor/default.py
+++ b/infra/bots/recipe_modules/flavor/default.py
@@ -175,6 +175,22 @@ class DefaultFlavor(object):
path.append(slave_dir.join('linux_vulkan_sdk', 'bin'))
ld_library_path.append(slave_dir.join('linux_vulkan_sdk', 'lib'))
+ if 'OpenCL' in extra_tokens:
+ ld_library_path.append(slave_dir.join('opencl_ocl_icd_linux'))
+ # TODO(dogben): Limit to the appropriate GPUs when we start running on
+ # GPUs other than IntelIris640.
+ # Skylake and later use the NEO driver.
+ neo_path = slave_dir.join('opencl_intel_neo_linux')
+ ld_library_path.append(neo_path)
+ # Generate vendors dir contaning the ICD file pointing to the NEO OpenCL
+ # library.
+ vendors_dir = self.m.vars.tmp_dir.join('OpenCL', 'vendors')
+ self.m.file.ensure_directory('mkdirs OpenCL/vendors', vendors_dir)
+ self.m.file.write_raw('write NEO OpenCL ICD',
+ vendors_dir.join('neo.icd'),
+ '%s\n' % neo_path.join('libigdrcl.so'))
+ env['OPENCL_VENDOR_PATH'] = vendors_dir
+
if 'SwiftShader' in extra_tokens:
ld_library_path.append(self.host_dirs.bin_dir.join('swiftshader_out'))