This repository has been archived by the owner on Apr 3, 2020. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Blink] WebCL support for Crosswalk.
WebCL 1.0 defines a JavaScript binding to the Khronos OpenCL standard for heterogeneous parallel computing. Its spec is available at: http://www.khronos.org/registry/webcl/specs/latest/1.0/ This patch includes WebCL basic APIs support, dynamic loading mechanism etc. WebCL support is controlled by "ENABLE_WEBCL" flag, and it's enabled by default on Android. If you want to disable with WebCL, please add "-Denable_webcl=0" when running the "xwalk/gyp_xwalk" before building. Currently, Intel CPU/GPU, Qualcomm CPU/GPU and Power VR GPU are supported. But OpenCL library isn't always shipped with device by default, even it supports OpenCL. For example: Google Nexus series. It requires to install OpenCL library manually. TEST=WebCL conformances test on Asus MemoPad and Xiaomi3. Known issue: 1. miss oilpan support. 2. miss cl_khr_gl_sharing extension support. 3. load library in render process. [email protected], [email protected], [email protected] BUG=XWALK-4254 [M48: adapted to the following upstream changes: - https://codereview.chromium.org/1303153005 - https://codereview.chromium.org/1362103002 - https://codereview.chromium.org/1372463002 - https://codereview.chromium.org/1441573002] [M49: adapted to the following changes: WebCL: Only set ENABLE_WEBCL in the relevant files. WebCL: Remove "config.h" in WebCL Related Implementation and Fix Compile Error WebCL: Using gyp to enable or disable WebCL. BUG=XWALK-6200 WebCL: Fix calling convention of callbacks. WebCL: Build WebCL for all platforms and enable it during runtime. WebCL: Use the CPU() macro provided by WTF for CPU arch detection. WebCL: Fix build with component=shared_library.] [M50: adapted to the following changes: WebCL: Modified corresponding class to final for warning error elimation. WebCL: Change WebCLCallback parent class from RefCounted to GarbageCollectedFinalized for idl generation rule changed. Now the upstream generate callbakc interface with oilpan support. WebCL: Due to WebCLCallback is oilpan supported, Modifined RefPtr to Persistent or Member, Vector to HeapVector/PersistentHeapVector in corresponding non-garbage-collected class to elimate compile error.]
- Loading branch information