xref: /aosp_15_r20/external/OpenCL-CTS/test_conformance/subgroups/procs.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 _procs_h
17*6467f958SSadaf Ebrahimi #define _procs_h
18*6467f958SSadaf Ebrahimi 
19*6467f958SSadaf Ebrahimi #include "harness/testHarness.h"
20*6467f958SSadaf Ebrahimi #include "harness/kernelHelpers.h"
21*6467f958SSadaf Ebrahimi #include "harness/errorHelpers.h"
22*6467f958SSadaf Ebrahimi #include "harness/conversions.h"
23*6467f958SSadaf Ebrahimi #include "harness/typeWrappers.h"
24*6467f958SSadaf Ebrahimi #include "harness/mt19937.h"
25*6467f958SSadaf Ebrahimi 
26*6467f958SSadaf Ebrahimi extern MTdata gMTdata;
27*6467f958SSadaf Ebrahimi 
28*6467f958SSadaf Ebrahimi extern int test_sub_group_info_ext(cl_device_id device, cl_context context,
29*6467f958SSadaf Ebrahimi                                    cl_command_queue queue, int num_elements);
30*6467f958SSadaf Ebrahimi extern int test_sub_group_info_core(cl_device_id device, cl_context context,
31*6467f958SSadaf Ebrahimi                                     cl_command_queue queue, int num_elements);
32*6467f958SSadaf Ebrahimi extern int test_work_item_functions_ext(cl_device_id device, cl_context context,
33*6467f958SSadaf Ebrahimi                                         cl_command_queue queue,
34*6467f958SSadaf Ebrahimi                                         int num_elements);
35*6467f958SSadaf Ebrahimi extern int test_work_item_functions_core(cl_device_id device,
36*6467f958SSadaf Ebrahimi                                          cl_context context,
37*6467f958SSadaf Ebrahimi                                          cl_command_queue queue,
38*6467f958SSadaf Ebrahimi                                          int num_elements);
39*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_ext(cl_device_id device, cl_context context,
40*6467f958SSadaf Ebrahimi                                        cl_command_queue queue,
41*6467f958SSadaf Ebrahimi                                        int num_elements);
42*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_core(cl_device_id device, cl_context context,
43*6467f958SSadaf Ebrahimi                                         cl_command_queue queue,
44*6467f958SSadaf Ebrahimi                                         int num_elements);
45*6467f958SSadaf Ebrahimi extern int test_barrier_functions_ext(cl_device_id device, cl_context context,
46*6467f958SSadaf Ebrahimi                                       cl_command_queue queue, int num_elements);
47*6467f958SSadaf Ebrahimi extern int test_barrier_functions_core(cl_device_id device, cl_context context,
48*6467f958SSadaf Ebrahimi                                        cl_command_queue queue,
49*6467f958SSadaf Ebrahimi                                        int num_elements);
50*6467f958SSadaf Ebrahimi extern int test_pipe_functions(cl_device_id device, cl_context context,
51*6467f958SSadaf Ebrahimi                                cl_command_queue queue, int num_elements);
52*6467f958SSadaf Ebrahimi extern int test_ifp_ext(cl_device_id device, cl_context context,
53*6467f958SSadaf Ebrahimi                         cl_command_queue queue, int num_elements);
54*6467f958SSadaf Ebrahimi extern int test_ifp_core(cl_device_id device, cl_context context,
55*6467f958SSadaf Ebrahimi                          cl_command_queue queue, int num_elements);
56*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_extended_types(cl_device_id device,
57*6467f958SSadaf Ebrahimi                                                   cl_context context,
58*6467f958SSadaf Ebrahimi                                                   cl_command_queue queue,
59*6467f958SSadaf Ebrahimi                                                   int num_elements);
60*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_non_uniform_vote(cl_device_id device,
61*6467f958SSadaf Ebrahimi                                                     cl_context context,
62*6467f958SSadaf Ebrahimi                                                     cl_command_queue queue,
63*6467f958SSadaf Ebrahimi                                                     int num_elements);
64*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_non_uniform_arithmetic(
65*6467f958SSadaf Ebrahimi     cl_device_id device, cl_context context, cl_command_queue queue,
66*6467f958SSadaf Ebrahimi     int num_elements);
67*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_ballot(cl_device_id device,
68*6467f958SSadaf Ebrahimi                                           cl_context context,
69*6467f958SSadaf Ebrahimi                                           cl_command_queue queue,
70*6467f958SSadaf Ebrahimi                                           int num_elements);
71*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_clustered_reduce(cl_device_id device,
72*6467f958SSadaf Ebrahimi                                                     cl_context context,
73*6467f958SSadaf Ebrahimi                                                     cl_command_queue queue,
74*6467f958SSadaf Ebrahimi                                                     int num_elements);
75*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_shuffle(cl_device_id device,
76*6467f958SSadaf Ebrahimi                                            cl_context context,
77*6467f958SSadaf Ebrahimi                                            cl_command_queue queue,
78*6467f958SSadaf Ebrahimi                                            int num_elements);
79*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_shuffle_relative(cl_device_id device,
80*6467f958SSadaf Ebrahimi                                                     cl_context context,
81*6467f958SSadaf Ebrahimi                                                     cl_command_queue queue,
82*6467f958SSadaf Ebrahimi                                                     int num_elements);
83*6467f958SSadaf Ebrahimi extern int test_subgroup_functions_rotate(cl_device_id device,
84*6467f958SSadaf Ebrahimi                                           cl_context context,
85*6467f958SSadaf Ebrahimi                                           cl_command_queue queue,
86*6467f958SSadaf Ebrahimi                                           int num_elements);
87*6467f958SSadaf Ebrahimi #endif /*_procs_h*/
88