Commit Graph

83 Commits

Author SHA1 Message Date
Grzegorz Wawiorko
9daeca00ea cl21: Fix compilation in D3D cases (#393)
* Fix compilation in D3D cases

* Use existing harness include search path.
2019-07-24 14:20:39 +01:00
Wenju He
ccadaf3c1d test_basic/progvar: fix 64bit atomic types error (#370)
Enable 64bit atomics extentions in order to use 64bit atomic types in
test_progvar_prog_scope_init and test_progvar_prog_scope_uninit.
2019-07-15 10:46:58 +01:00
Grzegorz Wawiorko
4bd713856e cl21: Fix spirv path in bruteforce tests (#356)
* Fix spirv path in bruteforce tests

* Compilation fix - align_malloc already defined in kernelHelpers.c

* Fix spirv path in bruteforce tests - more places
2019-07-10 13:56:57 +01:00
Grzegorz Wawiorko
c6f515c0d3 Test fix - Test computeinfo should know each existing OCL version (#368) 2019-07-08 16:38:49 +01:00
Stuart Brady
f2f458b675 Rename gSpirVPath to gCompilationCachePath
gSpirVPath controls the location of the compilation cache for SPIR-V
offline compilation, but its name falsely implies that it is
SPIR-V specific.  This change renames it to gCompilationCachePath.
2019-07-08 11:33:50 +01:00
Stuart Brady
9be570cdf0 Refactor setting of compilation mode and cache mode
This change refactors the setting of the compilation mode, so that
instead of using a 'gOfflineCompiler' bool together with a
'gOfflineCompilerOutputType' enum, a single 'gCompilationMode' enum
is used.  The default value for gCompilationMode is 'kOnline', which
is equivalent to the previous defaulting of gOfflineCompiler to false.

In addition, it refactors the setting of the compilation cache mode,
so that instead of the 'gForceSpirVCache' and 'gForceSpirVGenerate'
bools, a single 'gCompilationCacheMode' enum is used.  The default
value for gCompilationCacheMode is 'kCacheModeCompileIfAbsent', which
is equivalent to the previous defaulting of both booleans to false.
2019-07-08 11:33:50 +01:00
Stuart Brady
5438c664a1 Rename gOfflineCompilerInput/Output locals
These are local variables, and wrongly start with a "g" indicating that
they are globals.
2019-07-05 14:27:25 +01:00
Stuart Brady
7486dd13ad Remove source transformation support
This change removes support for the "source" mode of offline compilation
which is commented with "to be removed in the future as we will use
offline compiler here".

The "source" mode allowed for the CL source to be transformed by
build_script_source.py and then passed to clCreateProgramWithSource(),
and appears to have been developed only for the purpose of testing the
offline compilation infrastructure.
2019-07-05 14:27:25 +01:00
Wenju He
e1874ba732 c11_atomics: fix ambiguous call atomic_fetch_add (#354)
Cast operand type to AddSubOperandType.
2019-07-05 11:37:23 +01:00
Nikhil Joshi
9686ea098c Fix enqueue_flags test to use correct barrier type. (#349)
Currently, enqueue_flags test uses CLK_LOCAL_MEM_FENCE.
Use CLK_GLOBAL_MEM_FENCE instead as all threads across work-groups
need to wait here.
2019-07-03 14:10:26 +01:00
Grzegorz Wawiorko
f7f6208f62 Fix test_api - query for device extensions in queue hint test (#352) 2019-07-03 12:16:05 +01:00
robquill
4eee1fe25e Use slice pitch instead of row pitch for 1D arrays. (#314)
Fixes fill_image 1Darray
2019-06-18 10:28:22 +01:00
Grzegorz Wawiorko
664b1ccf8d cl21: Enable compilation of spir 1.2 tests (#304)
* Enable compilation of spir 1.2 tests

* Files to copy as a list of files.
2019-06-17 12:59:44 +01:00
Grzegorz Wawiorko
94beef7cd3 Intel compiler bruteforce - fix signbitl function (#292) 2019-06-11 09:42:44 +01:00
Grzegorz Wawiorko
0c1f8d3166 Intel compiler - fix assert when checking OCL version (#291) 2019-06-11 09:25:27 +01:00
Marco Antognini
d99f96fe18 Improve exit codes (#32) (#297)
This patch ensures runTestHarness returns either EXIT_FAILURE or
EXIT_SUCCESS to avoid undefined behaviour.
2019-05-31 11:43:02 +01:00
Nikhil Joshi
03813a9674 Fix test_host_queue_order not to rely on bit accurate float ops (#294)
Currently, test_host_queue_order relies on bit accurate float ops.
It expects expects that sqrt((float)i * i) == i.
This is not always true due to floating point precision limitations.
The test does not really need the sqrt operation and it can be removed
instead of trying to correct the floating point check.

Replace problematic float operation with constant value of 1.
2019-05-29 11:09:04 +01:00
Grzegorz Wawiorko
fa312ab953 cl21: Fix Issue #35 - ask for capability size. Too small size could cause errors (#96)
* Fix Issue #35 - ask for capability size. Too small size could cause errors

* Fix Issue #35 - Review fixes

* Fix Issue #35 - Review fixes - build issues fixed
2019-05-23 18:19:51 +01:00
Radek Szymanski
bfb3e4aa2c cl21: Add minimal required version functionality (#270)
This adds functionality to define minimal required version through the
ADD_TEST* macros. Tests that don't meet the version requirement will
be skipped.

By default the minimal required version is set to 1.0, subsequent
patches will set the appropriate version for each of the tests.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-05-22 18:31:01 +01:00
Grzegorz Wawiorko
32e702efbc cl21: Fix Issue 38 - Test spirv_new - new test for cl_khr_spirv_no_integer_… (#119)
* Fix Issue 38 - Test spirv_new - new test for cl_khr_spirv_no_integer_wrap_decoration SPV_KHR_no_integer_wrap_decoration extension

* Remove not used variable.
2019-05-22 15:56:43 +01:00
Radek Szymanski
a6fdb7ce60 cl21: Use test_status for test results (#274)
This moves from numeric values to enum values to keep result state of
the test, so we can easily save this information in JSON results.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-05-17 14:31:55 +01:00
Sven van Haastregt
caae56d32c cl21: Add image access qualifier for spirv_new binaries (#272)
The OpenCL SPIR-V Environment Specification v2.2-10, Section 2.1
states that:

    For all OpTypeImage type-declaration instructions:
    The optional image Access Qualifier must be present.

Add the ReadOnly or WriteOnly qualifier as appropriate to the .spvasm
files, and regenerate the .spv files using

    spirv-as --target-env spv1.0
2019-05-15 19:02:06 +01:00
Radek Szymanski
f747995668 cl21: Reuse test harness code in kernel_read_write (#242)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-05-01 21:19:47 +08:00
Radek Szymanski
d8f307f7e6 cl21: Reuse test harness code in contractions (#253)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-05-01 19:10:58 +08:00
Radek Szymanski
3aae1d60ef cl21: Reuse test harness code in headers (#256)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-05-01 19:09:01 +08:00
cdai2
abe52cae81 Fix Issue #53: required buffer size exceed the available size in non_uniform_work_group (#54) 2019-04-30 22:21:35 +08:00
Radek Szymanski
211ea1e342 cl21: Reuse test harness code in samplerlessReads (#245)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-30 22:17:44 +08:00
Pierre Moreau
eb1b484c29 Fix compilation of gl/main.cpp
Fixes 07196c35 ("cl22: Use single array for function list (#148)")
2019-04-26 01:39:37 +01:00
Pierre Moreau
92fcfeda22 gl: Add missing tests to the CMakeLists.txt 2019-04-26 01:39:37 +01:00
Pierre Moreau
30fae0f9b1 gl: Remove non-existent file and fix compilation 2019-04-26 01:39:37 +01:00
Wenju He
f380c730da Use unique tmp file to allow parallel printf tests (#101)
Parallel printf tests fail because they use the same file /tmp/tmpfile
to capture OpenCL kernel outputs. This patch solves this problem by
using a unique file for each process.
2019-04-25 18:10:03 +01:00
Radek Szymanski
e9d9ffac6d cl21: Reuse test harness code in clFillImage (#201)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-25 02:49:11 +01:00
Radek Szymanski
189d907d76 cl21: Reuse test harness code in clCopyImage (#198)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-25 02:46:05 +01:00
Radek Szymanski
b1db97e403 cl21: Reuse test harness code in clReadWriteImage (#207)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-25 02:16:24 +01:00
Radek Szymanski
7185e9bb06 cl21: Reuse test harness code in clGetInfo (#204)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-25 01:56:50 +01:00
aarongreig
adb9dbbef9 Check device address width when deciding which SPIR-V binary to read (#172) 2019-04-25 01:42:12 +01:00
Radek Szymanski
a28cfca522 cl21: Reuse test harness code in kernel_image_methods (#210)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-24 04:28:38 +01:00
Radek Szymanski
0c45098fd4 cl21: Reuse test harness code in half (#191)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-22 12:11:15 +01:00
Wenju He
920f9ec127 Remove redundant releaseOutputStream call in printf (#217) 2019-04-22 12:07:11 +01:00
Radek Szymanski
d3d302187f cl21: Reuse test harness code in math_brute_force (#195)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-22 12:05:22 +01:00
Radek Szymanski
cba9dcebe5 cl21: Reuse test harness code in allocations (#188)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-22 12:02:51 +01:00
Wenju He
00f716b0f8 Reuse math_brute_force ulp threshold in spir test
Spir test compares floating-point kernel results bit-by-bit with
correct results. However, for math_brute_force kernels, specification
does not ask for SPIR and OpenCL C path to match bit-to-bit. This patch
reuses ulps threshold from math_brute_force folder for math_brute_force
kernels in spir test.

Signed-off-by: Wenju He <wenju.he@intel.com>
2019-04-19 14:51:40 +01:00
Radek Szymanski
a82e620b98 cl21: Test Harness minor cleanup (#185)
* Report an error when unimplemented test was specified
* Merge two common functions

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-18 15:10:14 +01:00
Grzegorz Wawiorko
700e68c732 cl21: Improved CRC calculation (#132)
* Improved CRC calculation

* Improved CRC calculation - review fix

* Improved CRC calculation - build brake fix

* Improved CRC calculation - remove external initializaiton
2019-04-18 14:59:04 +01:00
Jeremy Kemp
fb6ee7e939 cl21: Compiler - updated extension list for compiler_defines_for_exensions (#175)
* cl12: Compiler - added missing extensions to compiler_defines_for_extensions.

Updated the list of known extensions to include all extensions referenced in the OpenCL Extension Specification 1.2 - Revision 25 and OpenCL Specification 1.2 - Revision 19 documents.

* Re-added the cl_khr_il_program extension.

This was this was erroneously removed in the previous commit.

* Compiler: Added all known extensions to compiler_defines_for_extensions.

After discussion on the pull request, it was decided to have this test test for all known khr extensions accross all API levels. Some vendors support 2.x extensions on 1.x implementations, so wanted to ensure that the test still covered those cases.

Re-ordered each sub-list so that the order in which each extension appears mirrors that of https://www.khronos.org/registry/OpenCL/specs/2.2/html/OpenCL_Ext.html.

For reference: https://github.com/KhronosGroup/OpenCL-CTS/pull/55.

* Compiler: Moved priority and throttle hints to the API-only section of the array in compiler_defines_for_extensions.
2019-04-16 14:46:15 +01:00
Radek Szymanski
6acb468997 cl21: Reuse test harness code in conversions (#179)
Some of the setup functionality is already there in the test harness, so
use that and remove the duplicated code from within the suite.

Signed-off-by: Radek Szymanski <radek.szymanski@arm.com>
2019-04-16 11:52:21 +01:00
Grzegorz Wawiorko
113788517c Review fixes 2019-04-15 16:09:06 +01:00
Bartosz Sochacki
9e468747aa build break fix for bug 15266 "Add test for -cl-fp32-correctly-rounded-divide-sqrt to spir subtest." 2019-04-15 16:09:06 +01:00
Yaxun (Sam) Liu
ec6ceafc79 Add test for -cl-fp32-correctly-rounded-divide-sqrt to spir subtest. 2019-04-15 16:09:06 +01:00
Brian Sumner
d4c7d6dbcd Use correct format for unsigned long 2019-04-15 16:06:24 +01:00