The test has been ignoring potential failures in memory allocations,
giving misleading error messages.
Add a simple check and return early if the allocation failed.
Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
This reduces the size of binaries, and makes the tests finish tiny
bit faster. The debug symbols can be enabled by passing to cmake one of:
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_BUILD_TYPE=RelWithDebInfo
Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
The test enqueued_local_size in test_basic used a
local work group size larger than the minimum max
supported work group size supported by some platforms.
This change checks the max and clamps to it if
requested size would be larger than supported.
Signed-off-by: Sam Laynton <sam.laynton@arm.com>
* test clEnqueueSVMMemcpy in case of host memory allocation
* test clEnqueueSVMMemcpy - refactored to call once API function
* test clEnqueueSVMMemcpy - review fixes
This was causing some tests to fail on 2.1 conformance
with : device version string does not match required format!
Signed-off-by: Oualid Khelifi <oualid.khelifi@arm.com>
M_PI is not part of C99 or C++ and thus aren't provided in all configurations.
This used to be handled in reference_math.c directly but was recently removed.
Just tweak the M_PI handling in the compatibility headers to restore builds.
Problem: Some tests assume that all local work-items can be used in a
single dimension of an NDRange.
Spec References: OpenCL C 2.0 r19, table 4.3,
CL_DEVICE_MAX_WORK_ITEM_SIZES.
Solution: The overall maximum local work size is trimmed to that of an
NDRange's first dimension or all dimensions, as appropriate.
Test Suite Affected: atomics, non_uniform_work_group, and workgroups.
Side Effects: None
Change-Id: I2e8179ca15c2c090f47ea84d1d3c109dd69ec185
Until now, the workgroups test computed the work-group size for
execution by querying the maximum number of work-items based on the
kernel. This returns the overall limit on workgroup size but not the
limits in each specific dimension. This change additionally restricts
the work-group size to the device's dimensional limits.
Problem: The kernel's maximum work-group size is used to execute it in a
single dimension, without regard for dimensional limitations.
Spec References: OpenCL 2.0 rev 19
Solution: The kernel's maximum work-group size is decreased such that it
meets any dimensional limitations before it's enqueued.
Test Suite Affected: Workgroups
Side Effects: None
Change-Id: I1c642af087f1934723ac7218ca9a35413ff83224
Add a special case for the Khronos compiler and always use it for
OpenCL C++, otherwise use the same logic as on the cl21_trunk
branch.
The CMake option to pass the path to the khronos compiler has
been renamed to KHRONOS_OFFLINE_COMPILER_OPTIONS and is no longer
mandatory.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
* Fix spirv path in bruteforce tests
* Compilation fix - align_malloc already defined in kernelHelpers.c
* Fix spirv path in bruteforce tests - more places
* Specific fix for cl20_trunk branch