xref: /aosp_15_r20/external/OpenCL-CTS/test_conformance/half/tests.h (revision 6467f958c7de8070b317fc65bcb0f6472e388d82)
1*6467f958SSadaf Ebrahimi //
2*6467f958SSadaf Ebrahimi // Copyright (c) 2017 The Khronos Group Inc.
3*6467f958SSadaf Ebrahimi //
4*6467f958SSadaf Ebrahimi // Licensed under the Apache License, Version 2.0 (the "License");
5*6467f958SSadaf Ebrahimi // you may not use this file except in compliance with the License.
6*6467f958SSadaf Ebrahimi // You may obtain a copy of the License at
7*6467f958SSadaf Ebrahimi //
8*6467f958SSadaf Ebrahimi //    http://www.apache.org/licenses/LICENSE-2.0
9*6467f958SSadaf Ebrahimi //
10*6467f958SSadaf Ebrahimi // Unless required by applicable law or agreed to in writing, software
11*6467f958SSadaf Ebrahimi // distributed under the License is distributed on an "AS IS" BASIS,
12*6467f958SSadaf Ebrahimi // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*6467f958SSadaf Ebrahimi // See the License for the specific language governing permissions and
14*6467f958SSadaf Ebrahimi // limitations under the License.
15*6467f958SSadaf Ebrahimi //
16*6467f958SSadaf Ebrahimi #ifndef TESTS_H
17*6467f958SSadaf Ebrahimi #define TESTS_H
18*6467f958SSadaf Ebrahimi 
19*6467f958SSadaf Ebrahimi #include <CL/cl.h>
20*6467f958SSadaf Ebrahimi 
21*6467f958SSadaf Ebrahimi typedef enum
22*6467f958SSadaf Ebrahimi {
23*6467f958SSadaf Ebrahimi 	AS_Global,
24*6467f958SSadaf Ebrahimi 	AS_Private,
25*6467f958SSadaf Ebrahimi 	AS_Local,
26*6467f958SSadaf Ebrahimi 	AS_Constant,
27*6467f958SSadaf Ebrahimi 	AS_NumAddressSpaces
28*6467f958SSadaf Ebrahimi } AddressSpaceEnum;
29*6467f958SSadaf Ebrahimi 
30*6467f958SSadaf Ebrahimi extern const char *addressSpaceNames[AS_NumAddressSpaces];
31*6467f958SSadaf Ebrahimi 
32*6467f958SSadaf Ebrahimi 
33*6467f958SSadaf Ebrahimi int test_vload_half( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
34*6467f958SSadaf Ebrahimi int test_vloada_half( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
35*6467f958SSadaf Ebrahimi int test_vstore_half( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
36*6467f958SSadaf Ebrahimi int test_vstorea_half( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
37*6467f958SSadaf Ebrahimi int test_vstore_half_rte( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
38*6467f958SSadaf Ebrahimi int test_vstorea_half_rte( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
39*6467f958SSadaf Ebrahimi int test_vstore_half_rtz( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
40*6467f958SSadaf Ebrahimi int test_vstorea_half_rtz( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
41*6467f958SSadaf Ebrahimi int test_vstore_half_rtp( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
42*6467f958SSadaf Ebrahimi int test_vstorea_half_rtp( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
43*6467f958SSadaf Ebrahimi int test_vstore_half_rtn( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
44*6467f958SSadaf Ebrahimi int test_vstorea_half_rtn( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
45*6467f958SSadaf Ebrahimi int test_roundTrip( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements );
46*6467f958SSadaf Ebrahimi 
47*6467f958SSadaf Ebrahimi typedef cl_ushort (*f2h)( float );
48*6467f958SSadaf Ebrahimi typedef cl_ushort (*d2h)( double );
49*6467f958SSadaf Ebrahimi int Test_vStoreHalf_private( cl_device_id device, f2h referenceFunc, d2h referenceDoubleFunc, const char *roundName );
50*6467f958SSadaf Ebrahimi int Test_vStoreaHalf_private( cl_device_id device, f2h referenceFunc, d2h referenceDoubleFunc, const char *roundName );
51*6467f958SSadaf Ebrahimi 
52*6467f958SSadaf Ebrahimi #endif /* TESTS_H */
53*6467f958SSadaf Ebrahimi 
54*6467f958SSadaf Ebrahimi 
55