Age | Commit message (Collapse) | Author |
|
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Previously, shamrock was generating load instructions in the kernel stub with
a strict type alignment, which was not being followed by the argument
marshalling code.
This resulted in a NEON vld1 instruction failing in the kernel stub,
and trashing a base register which was not 16 byte aligned.
Now the marshalling code calculates the proper alignement for each argument,
and is based on a buffer aligned to double16 to begin with.
With this patch, all the vector sub-tests of the Khronos basic_parameter_types
test now pass.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
Previously, clCreateBuffer() was using malloc to allocate buffers, which
caused havoc with NEON instructions expecting 128 bit alignment for float4
vectors.
Now, use posix_memallign() to ensure alignment meets requirements of largest
OpenCL data type (double16).
Also, update clGetDeviceInfo()'s CL_DEVICE_MEM_BASE_ADDR_ALIGN and
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE accordingly.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
JIT's getPointerToFunction() call was redundant and deprecated by
getFunctionAddress().
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
See tests/basic_parameter_types.txt for usage.
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
|
|
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>
|