aboutsummaryrefslogtreecommitdiff
path: root/src/core/icd.cpp
AgeCommit message (Collapse)Author
2015-04-29Stub out new v1.2 functions, sufficient to allow building of test_buffersGil Pitney
Khronos test 'test_buffers' requires new v1.2 API symbols to compile. This is in preparation for developing and validating the new v1.2 buffer functions (clEnqueueFillBuffer(), clEnqueueMigrateMemObjects()). Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2015-04-29Added v1.2 API clUnloadPlatformCompiler()Gil Pitney
Default to current clUnloadCompiler() function. No Khronos v1.2 test available. Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2015-04-29Added v1.2 clGetExtensionFunctionAddressForPlatform() APIGil Pitney
Simply check the platform ID, and call the existing clGetExtensionFunctionAddress() v1.1 API. Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2015-04-10Implementied clEnqueueBarrierWithWaitList(), and updated clEnqueueBarrier()Gil Pitney
clEnqueueBarrierWithWaitList() is a new OpenCL v1.2 API, which adds a list of dependent events to the barrier being enqueued. The new API was also added to ICD table. This commit allows the Khronos barrier event tests to PASS: - % test_events event_enqueue_barrier_with_event_list - % test_events out_of_order_event_enqueue_barrier_single_queue Also, added the new API to the ICD table. Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2015-04-09Implement clEnqueueMarkerWithWaitList(), and updated clEnqueueMarker()Gil Pitney
clEnqueueMarkerWithWaitList() is a new OpenCL v1.2 API, which adds a list of dependent events to the marker being enqueued. Semantics of clEnqueueMarker() were also modified (error check) to the updated spec. The new API was also added to ICD table. This commit enables passing the following Khronos conformance tests: - % test_events event_enqueue_marker - % test_events event_enqueue_marker_with_event_list - % test_events out_of_order_event_enqueue_marker_single_queue - % test_events out_of_order_event_enqueue_marker_multi_queue - % test_events out_of_order_event_enqueue_marker_multi_queue_multi_device => PASSED (by default, since only one device). Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2015-03-18Implement the basics of separate Compilation and Linking (v1.2 feature)Gil Pitney
Separate the Program::build() method into separate ::compile() and link() phases. Implement basic clCompileProgram() and clLinkProgram() APIs, and export via ICD table. This commit allows the following Khronos v1.2 tests to pass: % test_compiler simple_link_only % test_compiler simple_link_with_callback % test_compiler two_file_link % test_compiler multiple_files The last test validates linking 256 files together. Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2015-03-07Implement OpenCL v1.2 API clGetKernelArgInfo()Gil Pitney
Kernel argument metadata is generated when adding the clang switch: -cl-kernel-arg-info In this case, it is possible to walk the kernel metadata for the compiled module, and get information about each kernel's arguments. Upon calling Kernel::addFunction(), typically from createKernel(), this data is parsed and stored for later retrieval by the clGetKernelArgInfo(). Much of the parsing code was derived from review of the pocl and mesa/clover clGetKernelArgInfo() implementations. Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2015-02-12ICD: Update with entries matching OpenCL 1.2 dispatch tableGil Pitney
This initial commit has the new 1.2 entries commented out, to be added one at a time as those new APIs are added. Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2014-10-28Initial Commit: Based on TI OpenCL v0.8, originally based on clover.shamrock_v0.8Gil Pitney
This is a continuation of the clover OpenCL project: http://people.freedesktop.org/~steckdenis/clover based on the contributions from Texas Instruments for Keystone II DSP device: git.ti.com/opencl and adding contributions from Linaro for ARM CPU-only support. See README.txt for more info, and build instructions. Signed-off-by: Gil Pitney <gil.pitney@linaro.org>