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.
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.
The last test was also an almost-perfect duplicate of its sibling
in the non-compatibility suite. The only difference was the name
of the member of cl_image_desc used to point to the buffer/memory
object (which changed in 2.x).
We currently always build the conformance tests with the
headers configured for 2.2 (using the default value really) but I've
added code for the pre-2.x name as well for when CL_VERSION_2_0 isn't
defined in case we need it and to keep track of the distinction in that
test.
Contributes to #494.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Changes between the compatibility and non-compatibility versions:
- support for 3-element vectors added
- error printing improved
- bugfix for big allocations
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
The diff between the compatibility and non-compatibility tests
is rather big. These tests should both be replaced by a new
maintainable one (see #522).
Contributes to #494.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
The only diffs are:
- The non-compatibility version relies on the queue being in-order
to remove one explicit dependency. This isn't directly related
to the functionality under test.
- A memory leak was fixed in the non-compatibility suite
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
The only diffs are:
- obvious bug fixes in the non-compatibility suite
- use of 2.x vs 1.x device properties (now covered by compatibility
query tests in the non-compatibility suites)
- additional requirements for 2.x features in the non-compatibility
suite (gated by a version check so looks like it would work as is
on a 1.x implemenmtation)
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
...and mark tests that exercise new-style entrypoints as requiring 2.0
These tests give us (or rather will give us once made exhaustive, see
#508) coverage for both new-style and old-style creation entrypoints,
making the entrypoint used in other tests irrelevant as long as the
old-style entrypoints are required to be implemented.
Signed-off-by: Kévin Petit <kpet@free.fr>
As agreed in the WG calls, the query tests are sufficient to cover
both old-style and new-style sampler and command queue creation
entrypoints.
Use old-style entrypoints in all tests that don't require 2.x
features to get compatibility with 1.x implementations.
This makes it possible to remove duplicate compatibility tests.
Contributes to #494.
Signed-off-by: Kévin Petit <kpet@free.fr>
* Test name adjustment and Windows compilation clarification.
* Add CLConform_GL_LIBRARIES_DIR CmakeLists variable for GL support
* GL sharing tests - library names justification
* Fix compilation errors function are overridden in glext.h.
* Fix WIN compilation and add some clarification.
* Add CLConform_GL_LIBRARIES_DIR CmakeLists variable for GL support
* GL sharing tests - library names justification
* Fix compilation errors function are overridden in glext.h.
* fix cl12 - Add CLConform_GL_LIBRARIES_DIR CmakeLists variable for GL support
- whitespace diffs
- trivial differences (mostly bugfixes merged to master)
- use of the kernel helpers to create programs
Signed-off-by: Kévin Petit <kpet@free.fr>
Use clCreateCommandQueue before OpenCL 2.0.
This enables most of the binaries to run to completion on a
1.2 implementation.
Signed-off-by: Kévin Petit <kpet@free.fr>
* Reformat SPIR-V assembly using spirv-dis
Signed-off-by: Stuart Brady <stuart.brady@arm.com>
* Fix duplicate non-aggregate type decls in SPIR-V as reported by spirv-val
Signed-off-by: Stuart Brady <stuart.brady@arm.com>
* Reposition OpExtensions correctly in SPIR-V as reported by spirv-val
Signed-off-by: Stuart Brady <stuart.brady@arm.com>
* Reposition OpVariables correctly in SPIR-V as reported by spirv-val
Signed-off-by: Stuart Brady <stuart.brady@arm.com>
* Add missing OpTypeImage access qualifiers in SPIR-V as reported by spirv-val
Signed-off-by: Stuart Brady <stuart.brady@arm.com>
* Remove same-width OpSConverts in SPIR-V as reported by spirv-val
Signed-off-by: Stuart Brady <stuart.brady@arm.com>
* Replace -ILPath with --spirv-binaries-path in README
Signed-off-by: Stuart Brady <stuart.brady@arm.com>
* Introduces the ability to capture the kernel sources and the build
options used by the conformance tests to a .cl and .options files.
This is achieved via a new compilation cache mode called dump-cl-files.
Files will be generated to the folder pointed by the compilation cache
path.
When a conformance test is executed with dump-cl-files cache mode and online
compilation mode, the files will be saved to the disk and the regular execution
flow of the conformance continues uninterrupted.
When a conformance test is executed with dump-cl-files cache mode and binary or spir-v
compilation mode, the files will be saved to the disk as well, however the compilation
will fail - leading to a failure in all test cases.
* Introduces the ability to capture the kernel sources and the build
options used by the conformance tests to a .cl and .options files.
This is achieved via a new compilation cache mode called dump-cl-files.
Files will be generated to the folder pointed by the compilation cache
path.
When a conformance test is executed with dump-cl-files cache mode and online
compilation mode, the files will be saved to the disk and the regular execution
flow of the conformance continues uninterrupted.
When a conformance test is executed with dump-cl-files cache mode and binary or spir-v
compilation mode, the files will be saved to the disk as well, however the compilation
will fail - leading to a failure in all test cases.
* merged with latest CTS code