Add loader for CL pass-through back end

Bug: angleproject:5904
Change-Id: If4960f3150f6bbc85a30f0f6ac5c9e668e6ff756
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2864022
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
This commit is contained in:
John Plate
2021-04-28 18:26:00 +01:00
committed by Commit Bot
parent 1f8ba8d3a3
commit dfe208f188
51 changed files with 1301 additions and 86 deletions

54
third_party/OpenCL-ICD-Loader/BUILD.gn vendored Normal file
View File

@@ -0,0 +1,54 @@
# Copyright 2021 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("../../gni/angle.gni")
config("opencl_icd_loader_config") {
include_dirs = [ "src/loader" ]
}
source_set("opencl_icd_loader") {
sources = [ "src/loader/icd.c" ]
defines = [
"CL_TARGET_OPENCL_VERSION=300",
"OPENCL_ICD_LOADER_DISABLE_OPENCLON12",
]
if (is_win) {
sources += [
"src/loader/windows/icd_windows.c",
"src/loader/windows/icd_windows_apppackage.cpp",
"src/loader/windows/icd_windows_dxgk.c",
"src/loader/windows/icd_windows_envvars.c",
"src/loader/windows/icd_windows_hkr.c",
]
configs -= [ "//build/config/win:lean_and_mean" ]
libs = [ "cfgmgr32.lib" ]
if (is_clang) {
cflags = [ "-Wno-incompatible-pointer-types" ]
} else {
cflags = [ "/wd4133" ]
}
} else {
sources += [
"src/loader/linux/icd_linux.c",
"src/loader/linux/icd_linux_envvars.c",
]
include_dirs = [ "." ]
if (is_android) {
cflags = [ "-Wno-#pragma-messages" ]
} else {
defines += [ "HAVE_SECURE_GETENV" ]
}
}
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
public_configs = [ ":opencl_icd_loader_config" ]
public_deps = [ "$angle_root:cl_includes" ]
}

View File

@@ -0,0 +1,15 @@
Name: Khronos OpenCL ICD Loader
Short Name: OpenCL-ICD-Loader
Version: v2021.04.29
URL: https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenCL-ICD-Loader
SOURCE CODE: git clone -b OpenCL-ICD-Loader https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenCL-ICD-Loader
Date: 29/04/2021
Revision: 9b5e3849b49a1448996c8b96ba086cd774d987db
Security Critical: no
License: Apache 2.0
License File: LICENSE
Description:
OpenCL defines an Installable Client Driver (ICD) mechanism to allow developers to build
applications against an Installable Client Driver loader (ICD loader) rather than linking
their applications against a specific OpenCL implementation.

View File

@@ -0,0 +1 @@
/* Empty on purpose, configured by BUILD.gn */