133 lines
4.4 KiB
C++
133 lines
4.4 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"
|
|
|
|
#if !defined(_WIN32)
|
|
#include <unistd.h>
|
|
#endif
|
|
|
|
// FIXME: To use certain functions in harness/imageHelpers.h
|
|
// (for example, generate_random_image_data()), the tests are required to declare
|
|
// the following variables (<rdar://problem/11111245>):
|
|
|
|
test_definition test_list[] = {
|
|
ADD_TEST( get_platform_info ),
|
|
ADD_TEST_VERSION( get_sampler_info, Version(2, 0) ),
|
|
ADD_TEST( get_sampler_info_compatibility ),
|
|
ADD_TEST_VERSION( get_command_queue_info, Version(2, 0) ),
|
|
ADD_TEST( get_command_queue_info_compatibility ),
|
|
ADD_TEST( get_context_info ),
|
|
ADD_TEST( get_device_info ),
|
|
ADD_TEST( enqueue_task ),
|
|
ADD_TEST( binary_get ),
|
|
ADD_TEST( binary_create ),
|
|
ADD_TEST( kernel_required_group_size ),
|
|
|
|
ADD_TEST( release_kernel_order ),
|
|
ADD_TEST( release_during_execute ),
|
|
|
|
ADD_TEST( load_single_kernel ),
|
|
ADD_TEST( load_two_kernels ),
|
|
ADD_TEST( load_two_kernels_in_one ),
|
|
ADD_TEST( load_two_kernels_manually ),
|
|
ADD_TEST( get_program_info_kernel_names ),
|
|
ADD_TEST( get_kernel_arg_info ),
|
|
ADD_TEST( get_kernel_arg_info_compatibility ),
|
|
ADD_TEST( create_kernels_in_program ),
|
|
ADD_TEST( get_kernel_info ),
|
|
ADD_TEST( execute_kernel_local_sizes ),
|
|
ADD_TEST( set_kernel_arg_by_index ),
|
|
ADD_TEST( set_kernel_arg_constant ),
|
|
ADD_TEST( set_kernel_arg_struct_array ),
|
|
ADD_TEST( kernel_global_constant ),
|
|
|
|
ADD_TEST( min_max_thread_dimensions ),
|
|
ADD_TEST( min_max_work_items_sizes ),
|
|
ADD_TEST( min_max_work_group_size ),
|
|
ADD_TEST( min_max_read_image_args ),
|
|
ADD_TEST( min_max_write_image_args ),
|
|
ADD_TEST( min_max_mem_alloc_size ),
|
|
ADD_TEST( min_max_image_2d_width ),
|
|
ADD_TEST( min_max_image_2d_height ),
|
|
ADD_TEST( min_max_image_3d_width ),
|
|
ADD_TEST( min_max_image_3d_height ),
|
|
ADD_TEST( min_max_image_3d_depth ),
|
|
ADD_TEST( min_max_image_array_size ),
|
|
ADD_TEST( min_max_image_buffer_size ),
|
|
ADD_TEST( min_max_parameter_size ),
|
|
ADD_TEST( min_max_samplers ),
|
|
ADD_TEST( min_max_constant_buffer_size ),
|
|
ADD_TEST( min_max_constant_args ),
|
|
ADD_TEST( min_max_compute_units ),
|
|
ADD_TEST( min_max_address_bits ),
|
|
ADD_TEST( min_max_single_fp_config ),
|
|
ADD_TEST( min_max_double_fp_config ),
|
|
ADD_TEST( min_max_local_mem_size ),
|
|
ADD_TEST( min_max_kernel_preferred_work_group_size_multiple ),
|
|
ADD_TEST( min_max_execution_capabilities ),
|
|
ADD_TEST( min_max_queue_properties ),
|
|
ADD_TEST( min_max_device_version ),
|
|
ADD_TEST( min_max_language_version ),
|
|
|
|
ADD_TEST( kernel_arg_changes ),
|
|
ADD_TEST( kernel_arg_multi_setup_random ),
|
|
|
|
ADD_TEST( native_kernel ),
|
|
|
|
ADD_TEST( create_context_from_type ),
|
|
|
|
ADD_TEST( platform_extensions ),
|
|
ADD_TEST( get_platform_ids ),
|
|
ADD_TEST( bool_type ),
|
|
|
|
ADD_TEST( repeated_setup_cleanup ),
|
|
|
|
ADD_TEST( retain_queue_single ),
|
|
ADD_TEST( retain_queue_multiple ),
|
|
ADD_TEST( retain_mem_object_single ),
|
|
ADD_TEST( retain_mem_object_multiple ),
|
|
ADD_TEST( retain_mem_object_set_kernel_arg ),
|
|
ADD_TEST( min_data_type_align_size_alignment ),
|
|
|
|
ADD_TEST( mem_object_destructor_callback ),
|
|
ADD_TEST( null_buffer_arg ),
|
|
ADD_TEST( get_buffer_info ),
|
|
ADD_TEST( get_image2d_info ),
|
|
ADD_TEST( get_image3d_info ),
|
|
ADD_TEST( get_image1d_info ),
|
|
ADD_TEST( get_image1d_array_info ),
|
|
ADD_TEST( get_image2d_array_info ),
|
|
ADD_TEST( queue_hint ),
|
|
ADD_TEST( queue_properties ),
|
|
ADD_TEST_VERSION( sub_group_dispatch, Version(2, 1) ),
|
|
ADD_TEST_VERSION( clone_kernel, Version(2, 1) ),
|
|
ADD_TEST_VERSION( zero_sized_enqueue, Version(2, 1) ),
|
|
};
|
|
|
|
const int test_num = ARRAY_SIZE( test_list );
|
|
|
|
int main(int argc, const char *argv[])
|
|
{
|
|
return runTestHarness( argc, argv, test_num, test_list, false, false, 0 );
|
|
}
|
|
|