Age | Commit message (Collapse) | Author |
|
Change-Id: Id4f78be5ab405cb19a9b951de917d3a67685344e
|
|
a2ed420c7e
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2793473
Change-Id: I51f03fcf4112033a3f0ff8cf8af6937e3cc55237
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2793473
Change-Id: I36828a9562257917f36139c8a52500953e58de74
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Change-Id: I42e2a598021dd2eaa0c811f346ee6b5c9f455967
|
|
8a9622ec06
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2793473
Change-Id: I2040db65678d90373b41f9fc08d7792d6fa2396f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2793473
Change-Id: Icbc7d1916d38f4614003c305919ffd8e325d0b22
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2793473
Change-Id: Ib79c3c567b5d397ac871e7cc7d0d77d48effe760
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2793473
Change-Id: I79bd9760da26a23f2e2b494cff88a3e3215e9b63
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update OpenCL-CTS
For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
Test: TreeHugger
Change-Id: I9919d136565111a9313fe310348abd7c599d0950
|
|
The spec requires implementations return NULL for CL_MEM_HOST_PTR
when the flags passed at memory object creation time do not contain
CL_MEM_USE_HOST_PTR
CTS was not checking this. Add the same check.
Fixes #1752
|
|
* add tests for clCommandSVMMemcpyKHR & clCommandSVMMemfillKHR
* Fix typo SVMMemfill -> SVMMemFill
* fix clCommandSVMMemFillKHR calls to match extension
* add Khronos license + minor fixes
* review fixes
|
|
* Fix enqueue_flags test to use correct barrier type.
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.
* Add check for support for Read-Wrie images
Read-Write images have required OpenCL 2.x.
Read-Write image tests are already being skipped
for 1.x devices.
With OpenCL 3.0, read-write images being optional,
the tests should be run or skipped
depending on the implementation support.
Add a check to decide if Read-Write images are
supported or required to be supported depending
on OpenCL version and decide if the tests should
be run on skipped.
Fixes issue #894
* Fix formatting in case of Read-Write image checks.
Fix formatting in case of Read-write image checks.
Also, combine two ifs into one in case of
kerne_read_write tests
* Fix some more formatting for RW-image checks
Remove unnecessary spaces at various places.
Also, fix lengthy lines.
* Fix malloc-size calculation in test imagedim
unsigned char size is silently assumed to be 1
in imagedim test of test_basic.
Pass sizeof(type) in malloc size calculation.
Also, change loop variable from signed to unsigned.
Add checks for null pointer for malloced memory.
* Initial CTS for external sharing extensions
Initial set of tests for below extensions
with Vulkan as producer
1. cl_khr_external_memory
2. cl_khr_external_memory_win32
3. cl_khr_external_memory_opaque_fd
4. cl_khr_external_semaphore
5. cl_khr_external_semaphore_win32
6. cl_khr_external_semaphore_opaque_fd
* Updates to external sharing CTS
Updates to external sharing CTS
1. Fix some build issues to remove unnecessary, non-existent files
2. Add new tests for platform and device queries.
3. Some added checks for VK Support.
* Update CTS build script for Vulkan Headers
Update CTS build to clone Vulkan Headers
repo and pass it to CTS build
in preparation for external memory
and semaphore tests
* Fix Vulkan header path
Fix Vulkan header include path.
* Add Vulkan loader dependency
Vulkan loader is required to build
test_vulkan of OpenCL-CTS.
Clone and build Vulkan loader as prerequisite
to OpenCL-CTS.
* Fix Vulkan loader path in test_vulkan
Remove arch/os suffix in Vulkan loader path
to match vulkan loader repo build.
* Fix warnings around getHandle API.
Return type of getHandle is defined
differently based on win or linux builds.
Use appropriate guards when using API
at other places.
While at it remove duplicate definition
of ARRAY_SIZE.
* Use ARRAY_SIZE in harness.
Use already defined ARRAY_SIZE macro
from test_harness.
* Fix build issues for test_vulkan
Fix build issues for test_vulkan
1. Add cl_ext.h in common files
2. Replace cl_mem_properties_khr with cl_mem_properties
3. Replace cl_external_mem_handle_type_khr with
cl_external_memory_handle_type_khr
4. Type-cast malloc as required.
* Fix code formatting.
Fix code formatting to
get CTS CI builds clean.
* Fix formatting fixes part-2
Another set of formatting fixes.
* Fix code formatting part-3
Some more code formatting fixes.
* Fix code formatting issues part-4
More code formatting fixes.
* Formatting fixes part-5
Some more formatting fixes
* Fix formatting part-6
More formatting fixes continued.
* Code formatting fixes part-7
Code formatting fixes for image
* Code formatting fixes part-8
Fixes for platform and device query tests.
* Code formatting fixes part-9
More formatting fixes for vulkan_wrapper
* Code formatting fixes part-10
More fixes to wrapper header
* Code formatting fixes part-11
Formatting fixes for api_list
* Code formatting fixes part-12
Formatting fixes for api_list_map.
* Code formatting changes part-13
Code formatting changes for utility.
* Code formatting fixes part-15
Formatting fixes for wrapper.
* Misc Code formatting fixes
Some more misc code formatting fixes.
* Fix build breaks due to code formatting
Fix build issues arised with recent
code formatting issues.
* Fix presubmit script after merge
Fix presubmit script after merge conflicts.
* Fix Vulkan loader build in presubmit script.
Use cmake ninja and appropriate toolchain
for Vulkan loader dependency to fix
linking issue on arm/aarch64.
* Use static array sizes
Use static array sizes to fix
windows builds.
* Some left-out formatting fixes.
Fix remaining formatting issues.
* Fix harness header path
Fix harness header path
While at it, remove Misc and test pragma.
* Add/Fix license information
Add Khronos License info for test_vulkan.
Replace Apple license with Khronos
as applicable.
* Fix headers for Mac OSX builds.
Use appropriate headers for
Mac OSX builds
* Fix Mac OSX builds.
Use appropriate headers for
Mac OSX builds.
Also, fix some build issues
due to type-casting.
* Fix new code formatting issues
Fix new code formatting issues
with recent MacOS fixes.
* Add back missing case statement
Add back missing case statement
that was accidentally removed.
* Disable USE_GAS for Vulkan Loader build.
Disable USE_GAS for Vulkan Loader build
to fix aarch64 build.
* Fixes to OpenCL external sharing tests
Fix clReleaseSemaphore() API.
Fix copyright year.
Some other minor fixes.
* Improvements to OpenCL external sharing CTS
Use SPIR-V shaders instead of NV extension path
from GLSL to Vulkan shaders.
Fixes for lower end GPUs to use limited memory.
Update copy-right year at some more places.
* Fix new code formatting issues.
Fix code formatting issues with
recent changes for external sharing
tests.
* More formatting fixes.
More formatting fixes for recent
updates to external sharing tests.
* Final code formatting fixes.
Minor formatting fixes to get
format checks clean.
* Update extension list of test_compiler
Upate extension list of test_compiler
with missing external memory and semaphore
extensions
* Add ffp-contract=off Compilation flag for CTS build.
GCC defaults to using ffp-contract=fast even when fast math is disabled in the
case of GNU C
This creates precision issues when comparing the results with that of x86_64.
GNU options reference:
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#
This fix is to disable floating-point expression contractions with
flag ffp-contract=off for math_brute_force tests
Fixes #1794
* Make fp-contract flag arch-independent, but compiler dependent
Use existing CMake constructs to add fp-contract flag
so that it automatically checks for compiler support.
Also, make this change arch-independent.
Fixes #1794
* Fix typo in earlier commit
Fix typo in earlier commit
Fixes #1794
* Remove duplicate addition of ffp-contract flag
ffp-contract flag is currently added via two macros
Retain add_cxx_flag_if_supported macro and remove
set_gnulike_module_compile_flags.
Fixes #1794
* Fix typo in earlier commit
Add closing " that was unintentionally removed in previous commit.
|
|
* Update test_compile.cpp
Prevent the error:
"variable 'temp' is uninitialized when used here"
Since one of the generated kernels starts with:
__kernel void sample_test(__global float *src, __global int *dst)
{
float temp;
int tid = get_global_id(0);
dst[tid] = dst[tid] + temp;
* Update test_compile.cpp
clang format
* Update test_compile.cpp
Change the "0.0" literal to "0.0f" for devices that don't support FP64.
|
|
The suite's `main()` function already disables the FTZ mode prior to
invoking `runTestHarnessWithCheck` and restores the FP state
afterwards, so tests don't have to do so themselves.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
OpenCL FULL profile requires that online compiler be available.
OpenCL-CTS currently queries profile as well as online compiler
availability via device queries, but doesn't check for the consistency.
Check for consistency that if CL_DEVICE_PROFILE is "FULL_PROFILE"
(or technically is not "EMBEDDED_PROFILE") then CL_DEVICE_COMPILER_AVAILABLE
is CL_TRUE for that device.
Fixes #1763
|
|
The verification uses a common function with nested loops to verify
the result of the copy operation. The upper loop limits thirdDim and
SecondDim should be set according to the image type under test. Previously
for 1D/2D they were set from dstImageInfo->depth and dstImageInfo->height.
The issue is that the depth and height are set to 0 when unused. This
caused the verification loop to be skipped.
Signed-off-by: John Kesapides <john.kesapides@arm.com>
|
|
test_conformance/api/test_queue_properties.cpp uses a cl_queue_properties_khr value
to query CL_DEVICE_QUEUE_PROPERTIES, however this should be a cl_command_queue_properties
typed variable.
Fixes issue #1640
|
|
* rewrite test_select to run in a few seconds.
* removing the threading; reverting to the original method.
* Merge from Master, remove all suggested changes and start with a simple change report on each change's cost savings:
BEFORE:
real 47m8.497s
user 48m8.860s
sys 0m14.952s
AFTER:
real 17m53.383s
user 18m53.342s
sys 0m13.297s
initSrcBuffer generates the same random noise every iteration through the loop. There is no change to the arguments, and the host data itself doesn't need to get rewritten. Profiling realizes a 2 times speed accel from simply relying upon the buffer to remain randomized at the next loop iteration.
* BEFORE:
real 17m53.383s
user 18m53.342s
sys 0m13.297s
AFTER:
real 12m26.035s
user 13m15.505s
sys 0m15.414s
rearrange a few things in the loops to allow for vectorized / interleaved loop traversal. NB: not all loops are vectorizable obviously; but this addresses the worst offenders. Also note, to enable compiler to generate vectorized and interleaved loop traversal build with -o3.
* address the CI format requirements.
* address the CI format requirements.
* address the CI format requirements.
|
|
Bail out when hitting the default case, so that we don't attempt to
access the uninitialized `error` variable.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
* Printing of a `size_t` requires the `%z` specifier.
* Printing of `cl_long`/`cl_ulong` is now done using the `PRI*64`
macros to ensure portability across 32 and 64-bit builds.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
|
|
Only disable `-Wsign-compare` for tests that do not compile cleanly
with this warning enabled. Re-enable the warning for the other tests,
so that it can catch any new occurrences.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
The `CHECK_GL_ERROR` macro was lowercase before, which confused
clang-format and resulted in some odd indentations. Capitalize the
macro and run clang-format to fix the indentation.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
In preparation of re-enabling -Wformat globally, fix format string
warnings in test_common.
Printing a `size_t` requires the `%zu` specifier.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
Simplify code by returning directly instead of using goto statements.
Although intended as an NFC commit, this changes the behaviour when
verification fails: the output buffer is no longer unmapped. Although
not ideal, this aligns the behaviour of `macro_unary_float` to the
other math_brute_force tests.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
correct order. (#1758)
* Fix for Command buffer wait_for_sec_queue_event subtest, call clFinish in the correct order.
queue has a command that depends on a command that resides in queue_sec, calling clFinish(queue) before clFinish(queue_sec) causes the test to hang as the queue_sec command never got a chance to finish.
* Update PR change as per the suggestion.
|
|
* Vulkan: Fix descriptor sets
Use descriptor set arrays when programming
arrays for compute shader.
Change-Id: Idabab775a256a223660eb7a850e26f290453659e
* Vulkan: Fix queue propertyies
Transfer bit for queue family is not required
to be reported by the implementation, it is
implicit for compute.
Change-Id: I7424b00e25e35145433dd74b0b4dfe7eeeaf98c8
* Vulkan: Allow implementation to choose dedicated memory
Dedicated vs non-dedicated memory must be queried by
the app. Implementations are not required to support
exportable non-dedicated memory.
Change-Id: Idbc46ace1be20f61d1b58b34756f6d79a7745911
* Fix formatting
Auto-generated formatting fix
* Fix bug in dedicated memory.
* Add check for if OpenCL assumes linear tiling
Change-Id: Idd2e24d9d69e1fbc3ccb4a279067533104185332
* Changed macro name to reflect spec
CL_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_HANDLE_TYPES_KHR to
CL_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES_KHR
Also changed some functions to not use the KHR variants.
---------
Co-authored-by: Joshua Kelly <joshkell@qti.qualcomm.com>
|
|
statement (#1792)
|
|
Some new extension formats require the width to be a multiple
of 4 or 2 (see cl_ext_image_raw10_raw12).
Change has not functional impact as the affected image is only used
for generic queries.
Signed-off-by: John Kesapides <john.kesapides@arm.com>
|
|
|
|
This patch adds two test cases related to command-buffer finalization:
1) That it is an error to finalize and already finalized command-buffer.
See https://github.com/KhronosGroup/OpenCL-Docs/pull/817
2) That it is not an error to create, finalize, and execute an empty
command-buffer. Closes issue #1781
|
|
The subgroup and workgroup sizes reported by clGetKernelSubGroupInfo
and clGetKernelWorkGroupInfo are of type `size_t`. Avoid changing the
values to an `int` type as they are propagated through the tests and
then compared against `size_t` again.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
Before this change, `add_index_bin_test` would not release `cl_mem`
resources or `malloc`ed memory when encountering an error. Fix by
using `clMemWrapper` and `std::unique_ptr` to automatically release
resources.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
* ci: use ubuntu-22.04 instead of 20.04
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
* bump clang-format version
Oldest supported by 22.04
* update check-format script
---------
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
|
The initialisation code is clearly meant to be run once but the volatile
flag did not guarantee that at all:
- Volatile does not mean atomic and loading the flag vs. other writes
was not safe.
- Multiple threads could have loaded 0 and performed the initialisation
resulting in write collisions.
Rely on std::call_once to provide the guarantee.
This issue was flagged by TSAN.
Signed-off-by: Kévin Petit <kpet@free.fr>
|
|
The enum value `CL_COMMAND_BUFFER_STATE_INVALID_KHR` no longer exists:
* https://github.com/KhronosGroup/OpenCL-Headers/pull/235
* https://github.com/KhronosGroup/OpenCL-Docs/pull/885
Replace variable initialization using this enum with a value where
all the bits are set, requiring the runtime to write to it for the
test to pass.
|
|
Avoid a maybe-uninitialized warning by ensuring that `oldMode` is
always initialized to 0. There is no need to use `memset` for this,
as `FPU_mode_type` is either an `int` or an `int64_t`.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
Modify the external semaphore extension test
to use SYNC_FD, if available on the device.
Deleted tests that are not compatible with blocking
semaphores.
|
|
`gMTdata` was initialized twice, but freed only once.
Drop the first initialization with a local seed, and initialize with
`gRandomSeed` instead.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
* Use CTS type wrappers for test_basic test_loop
* Move variable declaration to first use in verify_loop
Signed-off-by: John Kesapides <john.kesapides@arm.com>
|
|
8660fe4d55 am: b8ba8e487f am: 150005d3d1
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2676035
Change-Id: I2ac9e6bee464f2cd597b51d9a203acc0691dfa37
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
8660fe4d55 am: b8ba8e487f
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2676035
Change-Id: If8b5f65cb9a9f3af3f76b67fed40eaf9b00885c0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
8660fe4d55
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2676035
Change-Id: I8b98c348d8f4429f6354fb9e685da43d1df7a436
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2676035
Change-Id: I712522d34a944a26ba97d537217e454e5b331f2a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/OpenCL-CTS/+/2676035
Change-Id: Iadf551dd5101a0238d5c09b4b0f9dfe6f86ad565
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update OpenCL-CTS
For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
Test: TreeHugger
Change-Id: I3013d11c405781325c4c4f8397a46d596ef9938c
|
|
With GCC 13 some headers are no longer included transitively through
C++ Standard Library headers.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
|
|
Signed-off-by: John Kesapides <john.kesapides@arm.com>
|
|
Signed-off-by: John Kesapides <john.kesapides@arm.com>
|