Files
OpenCL-CTS/test_conformance/buffers/main.cpp
ellnor01 63f01be181 Reimplement buffer tests (#1007)
* Reimplement buffer tests

Reintegrated and fixed test code for buffer tests buffer_read_half and
buffer_write_half tests.

Added mem_alloc_ref_flags test code, as was previously non-existent,
to test CL_MEM_ALLOC_HOST_PTR. This flag was otherwise untested and
as similar tests within the suite are used to test other cl_mem_flags
it has been assumed that this was the purpose of the test.

Fixes #439

Change-Id: I5accf986be7436d09377d0bfd7afd5de2235c329
Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>

* move mem_read_write_flags to a common function

Code under mem_*_flags tests have a lot of duplication, this is
the first step of moving test code to a common function.

Contributes #439

Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>

* move mem_write_only_flags test code to a common function

Code under mem_*_flags tests have a lot of duplication

Contributes #439

Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>

* move mem_read_only_flags test code to a common function

Code under mem_*_flags tests have a lot of duplication

Contributes #439

Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>

* move mem_copy_host_flags test code to a common function

Code under mem_*_flags tests have a lot of duplication, moved
mem_copy_host_flags code and rearranged function where appropriate

mem_ref_alloc_flags test also uses common function.

Contributes #439

Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>

* Remove unused NOT_IMPLEMENTED_TEST macro

This define is not in use anymore, since tests have been
reimplemented in #439. Tests should be working and implemented
or not registered.

Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>
2020-11-06 11:33:36 +00:00

146 lines
4.6 KiB
C++

//
// Copyright (c) 2017 The Khronos Group Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#include "harness/compat.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "procs.h"
#include "harness/testHarness.h"
test_definition test_list[] = {
ADD_TEST(buffer_read_async_int),
ADD_TEST(buffer_read_async_uint),
ADD_TEST(buffer_read_async_long),
ADD_TEST(buffer_read_async_ulong),
ADD_TEST(buffer_read_async_short),
ADD_TEST(buffer_read_async_ushort),
ADD_TEST(buffer_read_async_char),
ADD_TEST(buffer_read_async_uchar),
ADD_TEST(buffer_read_async_float),
ADD_TEST(buffer_read_array_barrier_int),
ADD_TEST(buffer_read_array_barrier_uint),
ADD_TEST(buffer_read_array_barrier_long),
ADD_TEST(buffer_read_array_barrier_ulong),
ADD_TEST(buffer_read_array_barrier_short),
ADD_TEST(buffer_read_array_barrier_ushort),
ADD_TEST(buffer_read_array_barrier_char),
ADD_TEST(buffer_read_array_barrier_uchar),
ADD_TEST(buffer_read_array_barrier_float),
ADD_TEST(buffer_read_int),
ADD_TEST(buffer_read_uint),
ADD_TEST(buffer_read_long),
ADD_TEST(buffer_read_ulong),
ADD_TEST(buffer_read_short),
ADD_TEST(buffer_read_ushort),
ADD_TEST(buffer_read_float),
ADD_TEST(buffer_read_half),
ADD_TEST(buffer_read_char),
ADD_TEST(buffer_read_uchar),
ADD_TEST(buffer_read_struct),
ADD_TEST(buffer_read_random_size),
ADD_TEST(buffer_map_read_int),
ADD_TEST(buffer_map_read_uint),
ADD_TEST(buffer_map_read_long),
ADD_TEST(buffer_map_read_ulong),
ADD_TEST(buffer_map_read_short),
ADD_TEST(buffer_map_read_ushort),
ADD_TEST(buffer_map_read_char),
ADD_TEST(buffer_map_read_uchar),
ADD_TEST(buffer_map_read_float),
ADD_TEST(buffer_map_read_struct),
ADD_TEST(buffer_map_write_int),
ADD_TEST(buffer_map_write_uint),
ADD_TEST(buffer_map_write_long),
ADD_TEST(buffer_map_write_ulong),
ADD_TEST(buffer_map_write_short),
ADD_TEST(buffer_map_write_ushort),
ADD_TEST(buffer_map_write_char),
ADD_TEST(buffer_map_write_uchar),
ADD_TEST(buffer_map_write_float),
ADD_TEST(buffer_map_write_struct),
ADD_TEST(buffer_write_int),
ADD_TEST(buffer_write_uint),
ADD_TEST(buffer_write_short),
ADD_TEST(buffer_write_ushort),
ADD_TEST(buffer_write_char),
ADD_TEST(buffer_write_uchar),
ADD_TEST(buffer_write_float),
ADD_TEST(buffer_write_half),
ADD_TEST(buffer_write_long),
ADD_TEST(buffer_write_ulong),
ADD_TEST(buffer_write_struct),
ADD_TEST(buffer_write_async_int),
ADD_TEST(buffer_write_async_uint),
ADD_TEST(buffer_write_async_short),
ADD_TEST(buffer_write_async_ushort),
ADD_TEST(buffer_write_async_char),
ADD_TEST(buffer_write_async_uchar),
ADD_TEST(buffer_write_async_float),
ADD_TEST(buffer_write_async_long),
ADD_TEST(buffer_write_async_ulong),
ADD_TEST(buffer_copy),
ADD_TEST(buffer_partial_copy),
ADD_TEST(mem_read_write_flags),
ADD_TEST(mem_write_only_flags),
ADD_TEST(mem_read_only_flags),
ADD_TEST(mem_copy_host_flags),
ADD_TEST(mem_alloc_ref_flags),
ADD_TEST(array_info_size),
ADD_TEST(sub_buffers_read_write),
ADD_TEST(sub_buffers_read_write_dual_devices),
ADD_TEST(sub_buffers_overlapping),
ADD_TEST(buffer_fill_int),
ADD_TEST(buffer_fill_uint),
ADD_TEST(buffer_fill_short),
ADD_TEST(buffer_fill_ushort),
ADD_TEST(buffer_fill_char),
ADD_TEST(buffer_fill_uchar),
ADD_TEST(buffer_fill_long),
ADD_TEST(buffer_fill_ulong),
ADD_TEST(buffer_fill_float),
ADD_TEST(buffer_fill_struct),
ADD_TEST(buffer_migrate),
ADD_TEST(image_migrate),
};
const int test_num = ARRAY_SIZE( test_list );
const cl_mem_flags flag_set[] = {
CL_MEM_ALLOC_HOST_PTR,
CL_MEM_ALLOC_HOST_PTR | CL_MEM_COPY_HOST_PTR,
CL_MEM_USE_HOST_PTR,
CL_MEM_COPY_HOST_PTR,
0
};
const char* flag_set_names[] = {
"CL_MEM_ALLOC_HOST_PTR",
"CL_MEM_ALLOC_HOST_PTR | CL_MEM_COPY_HOST_PTR",
"CL_MEM_USE_HOST_PTR",
"CL_MEM_COPY_HOST_PTR",
"0"
};
int main( int argc, const char *argv[] )
{
return runTestHarness( argc, argv, test_num, test_list, false, false, 0 );
}