Also changed the test so that any implementation supporting < 1.2 can skip the test.
Uses format that @gwawiork has recently used to verify device version.
* imageHelpers: Created generic function that returns a vector of required image formats.
An upcoming commit requires access to the vector of required image formats, separatley from check_minimum_supported.
* imageHelpers: Added a new function is_image_format_required.
This function can be used to determine for any given cl_image_format, whether the implementaion is required to support it.
Conditionally test BGRA in Basic readimage3d (#623)
This change adds checks to see if testing against an embedded implementation and if so, queries whether BGRA is supported or not.
* Refactor based on PR review.
* Update passed message code.
* Changed scope of struct to be within test_readimage3d.
* Add Travis CI jobs for Arm and AArch64
- Use fixed Linaro toolchains
- Move travis script to a shell file
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
* Fix Arm build and string comparisons added under #637
* Remove verbose flag on tar command
* Update table of required image formats (#427)
This commit updates the table of required image formats. The table is built depending on the profile of the device, the requested image type, and the avaiablitiy of relevent extensions.
* Fixed incorrect argument to memcpy.
* Made image format arrays static.
* Utilised ARRAY_SIZE where appropriate.
* Re-named required image format bools to be more explicit.
* Made sRGBA, CL_UNORM_INT8 a required full format profile.
Misinterpretation of the spec had made this optional.
* check_minimum_supported: switched to using vectors.
* Added CL_sRGB CL_UNORM_INT8 to full profile required formats.
This matches the same channel data type requirement as CL_sRGBA.
* Overload <= and >= for the Version class.
* Correct the condition under which sRGB images are required.
* Correct the required image formats are based on OpenCL version.
The spec says that for different OpenCL versions, different sets of image formats are required.
* Print out the correct OpenCL version when required image format is not found.
* Improved the way in which image formats are added based on profile and version.
* Potential build fix regarding isnan namespace issues.
* Image Helpers: Remove duplicate copies when building required image format vectors.
Also re-ordered a branch to make it clearer.
* allow conditional execution of subgroups test suite
* make subgroups test suite execution optional
* make execution of subgroups suite optioanl
* allow conditional execution of subgroups test suite
* make subgroups test suite execution optional
* make execution of subgroups suite optioanl
* Fix conversions build with gcc 4.8.5 armhf.
Re-named fplib.c to fplib.cpp.
Updated the conditions under which fplib.cpp will be included in the build by CMake.
* Build: Added a global archtiecture variable, CLConform_TARGET_ARCH.
The reset of the build can query this variable whenever archtiecture specific options are required. The current supported values of this variable are "ARM", "x86", and "x86_64".
This change also replaces all existing locations where CMAKE_SYSTEM_PROCESSOR was queried.
* Build: Added ARM64 as a valid value for CLConform_TARGET_ARCH.
* Conversions: Don't build fplib.cpp for ARM64.
* Define CMAKE_ARM_COMPILER automatically (#469)
Makes use of CMAKE_SYSTEM_PROCESSOR to detect whether compilation is happening for an ARM architecture.
* Use the correct guard for specifying msse2 compiler flags.
Bruteforce and conversions were only checking against ANDROID which was not sufficient for ARM Linux builds.
* Remove redundant uses of the msse2 compiler flag.
* Globally set -msse2 for x86/amd64 gcc, Apple and Clang builds.
This is a change in behaviour. Prior to this commit, msse2 was only set for bruteforce and conversions.
msse and mfpmath=sse were already set globally prior to this change.
This commit introduces a generic method of copying the opencl_conformance_tests_*.csv files during the build.
Fixes any unspecified files from being omitted during the copy process.
Add size_t overflow contingency code for 32-bit platforms where
max_width,max_height are 64k each. The code is modified to avoid
the overflowing multiplication.
Signed-off-by: John Kesapides <john.kesapides@arm.com>
code for test_api sub_group_dispatch. Although subgroups
is a core feature there is no separate 2.1 language spec
so we use the 2.0 with the pragma.
Signed-off-by: John Kesapides <john.kesapides@arm.com>
Moved all duplicate 'PrintArch' functions to testHarness.c
Replaced sysctl system call used in 'PrintArch' function with uname
system call
Signed-off-by: bhargavdas <bhargav_das@mentor.com>
Update testHarness.c
* set gDeviceType in testharness.c, also moved gTestRounding to imageHelpers.cpp & .h and removed duplicate code from host_atomics.cpp
* Cleaned up some redundant code
* Reversed the change in testharness.c
Tests that the new queries work, and that what they return is consistent with
the information returned by the string-based queries.
Signed-off-by: Einar Hov <einar.hov@arm.com>
These tests have been moved to the headers repository. None of these
tests exercise the OpenCL implementation. They are just testing the
headers and host toolchain.
Whether they are required to build and run as part of the conformance
process will be discussed under
https://github.com/KhronosGroup/OpenCL-Headers/issues/58.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
* Moved all instances of gDeviceType to imageHelper.cpp
* Missed one instance of gDeviceType
* Removed all instances of extern cl_device_type gDeviceType, except in imageHelpers.h
They were a duplicate of the non-compatibility version.
The non-compatibility version assumed that BGRA formats aren't
required for implementations that support the embedded profile,
while the compatibility version didn't.
The unified specification doesn't currently document any format
requirements for the embedded profile but the OpenCL 1.2 specification
did and no BGRA format was part of the list. The consensus from the
Working Group is that BGRA formats are not a requirement of the embedded
profile and the specification will be changed to reflect this
(see https://github.com/KhronosGroup/OpenCL-Docs/issues/201).
Closes#494.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
... and fix bug 16041 in the main suite.
The only diffs were:
- changes made to support both 1.2 and 2.0 on master
- changes to fix bug 16041 in the compatibility version that
hadn't made it to the main version.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Currently capabilities with size_t type like CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE
are printed as signed values for example:
CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE == -881700864
Currently capabilities with size_t type like CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE
are printed as signed values for example:
CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE == -881700864
The only diff between the main and compatibility versions of the test
is that the region overlap check was fixed in the main one (see
487c4696ff070e1a3cb23dbb08096d3f4ef11fe3 in Gitlab).
Contributes to #494
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Put "run_conformance.py" and all test runner files ".csv" in build directory
Put "run_conformance.py" and all test runner files ".csv" in build directory
Added steps in CMakeLists.txt to copy the ".csv" files and "run_conformance.py" from 'test_conformance' directory
Signed-off-by: bhargavthriler <bhargavthriler@gmail.com>
cl12: change binary names to aligned with the test runner files
Changed output binary names to match with the test runner files .csv files
Signed-off-by: bhargavthriler <bhargavthriler@gmail.com>
Removed relative paths, changed comment style
Removed relative paths and replaced with CMake variables
Changed comment style to match with remaining comment style to maintain consistency
changed destination relative path with cmake variable
Signed-off-by: bhargavthriler <bhargavthriler@gmail.com>
fixed binary name in test runner files
Signed-off-by: bhargavthriler <bhargavthriler@gmail.com>
test_3D_2D_array uses max limits of 3D images
for both 3D images and 2D_array.
This leads to testing of sizes larger than
2D array limits.
Use correct CL_MEM_OBJECT_IMAGE_TYPE to avoid
test-cases with invalid sizes.