xref: /aosp_15_r20/external/OpenCL-CTS/test_conformance/events/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 #include "harness/errorHelpers.h"
17*6467f958SSadaf Ebrahimi #include "harness/kernelHelpers.h"
18*6467f958SSadaf Ebrahimi #include "harness/typeWrappers.h"
19*6467f958SSadaf Ebrahimi #include "harness/clImageHelper.h"
20*6467f958SSadaf Ebrahimi 
21*6467f958SSadaf Ebrahimi extern float random_float(float low, float high);
22*6467f958SSadaf Ebrahimi extern float calculate_ulperror(float a, float b);
23*6467f958SSadaf Ebrahimi 
24*6467f958SSadaf Ebrahimi 
25*6467f958SSadaf Ebrahimi extern int test_event_get_execute_status(cl_device_id deviceID,
26*6467f958SSadaf Ebrahimi                                          cl_context context,
27*6467f958SSadaf Ebrahimi                                          cl_command_queue queue,
28*6467f958SSadaf Ebrahimi                                          int num_elements);
29*6467f958SSadaf Ebrahimi extern int test_event_get_write_array_status(cl_device_id deviceID,
30*6467f958SSadaf Ebrahimi                                              cl_context context,
31*6467f958SSadaf Ebrahimi                                              cl_command_queue queue,
32*6467f958SSadaf Ebrahimi                                              int num_elements);
33*6467f958SSadaf Ebrahimi extern int test_event_get_read_array_status(cl_device_id deviceID,
34*6467f958SSadaf Ebrahimi                                             cl_context context,
35*6467f958SSadaf Ebrahimi                                             cl_command_queue queue,
36*6467f958SSadaf Ebrahimi                                             int num_elements);
37*6467f958SSadaf Ebrahimi extern int test_event_get_info(cl_device_id deviceID, cl_context context,
38*6467f958SSadaf Ebrahimi                                cl_command_queue queue, int num_elements);
39*6467f958SSadaf Ebrahimi extern int test_event_wait_for_execute(cl_device_id deviceID,
40*6467f958SSadaf Ebrahimi                                        cl_context context,
41*6467f958SSadaf Ebrahimi                                        cl_command_queue queue,
42*6467f958SSadaf Ebrahimi                                        int num_elements);
43*6467f958SSadaf Ebrahimi extern int test_event_wait_for_array(cl_device_id deviceID, cl_context context,
44*6467f958SSadaf Ebrahimi                                      cl_command_queue queue, int num_elements);
45*6467f958SSadaf Ebrahimi extern int test_event_flush(cl_device_id deviceID, cl_context context,
46*6467f958SSadaf Ebrahimi                             cl_command_queue queue, int num_elements);
47*6467f958SSadaf Ebrahimi extern int test_event_finish_execute(cl_device_id deviceID, cl_context context,
48*6467f958SSadaf Ebrahimi                                      cl_command_queue queue, int num_elements);
49*6467f958SSadaf Ebrahimi extern int test_event_finish_array(cl_device_id deviceID, cl_context context,
50*6467f958SSadaf Ebrahimi                                    cl_command_queue queue, int num_elements);
51*6467f958SSadaf Ebrahimi extern int test_event_release_before_done(cl_device_id deviceID,
52*6467f958SSadaf Ebrahimi                                           cl_context context,
53*6467f958SSadaf Ebrahimi                                           cl_command_queue queue,
54*6467f958SSadaf Ebrahimi                                           int num_elements);
55*6467f958SSadaf Ebrahimi extern int test_event_enqueue_marker(cl_device_id deviceID, cl_context context,
56*6467f958SSadaf Ebrahimi                                      cl_command_queue queue, int num_elements);
57*6467f958SSadaf Ebrahimi #ifdef CL_VERSION_1_2
58*6467f958SSadaf Ebrahimi extern int test_event_enqueue_marker_with_event_list(cl_device_id deviceID,
59*6467f958SSadaf Ebrahimi                                                      cl_context context,
60*6467f958SSadaf Ebrahimi                                                      cl_command_queue queue,
61*6467f958SSadaf Ebrahimi                                                      int num_elements);
62*6467f958SSadaf Ebrahimi extern int test_event_enqueue_barrier_with_event_list(cl_device_id deviceID,
63*6467f958SSadaf Ebrahimi                                                       cl_context context,
64*6467f958SSadaf Ebrahimi                                                       cl_command_queue queue,
65*6467f958SSadaf Ebrahimi                                                       int num_elements);
66*6467f958SSadaf Ebrahimi #endif
67*6467f958SSadaf Ebrahimi 
68*6467f958SSadaf Ebrahimi extern int test_out_of_order_event_waitlist_single_queue(cl_device_id deviceID,
69*6467f958SSadaf Ebrahimi                                                          cl_context context,
70*6467f958SSadaf Ebrahimi                                                          cl_command_queue queue,
71*6467f958SSadaf Ebrahimi                                                          int num_elements);
72*6467f958SSadaf Ebrahimi extern int test_out_of_order_event_waitlist_multi_queue(cl_device_id deviceID,
73*6467f958SSadaf Ebrahimi                                                         cl_context context,
74*6467f958SSadaf Ebrahimi                                                         cl_command_queue queue,
75*6467f958SSadaf Ebrahimi                                                         int num_elements);
76*6467f958SSadaf Ebrahimi extern int test_out_of_order_event_waitlist_multi_queue_multi_device(
77*6467f958SSadaf Ebrahimi     cl_device_id deviceID, cl_context context, cl_command_queue queue,
78*6467f958SSadaf Ebrahimi     int num_elements);
79*6467f958SSadaf Ebrahimi 
80*6467f958SSadaf Ebrahimi extern int test_out_of_order_event_enqueue_wait_for_events_single_queue(
81*6467f958SSadaf Ebrahimi     cl_device_id deviceID, cl_context context, cl_command_queue queue,
82*6467f958SSadaf Ebrahimi     int num_elements);
83*6467f958SSadaf Ebrahimi extern int test_out_of_order_event_enqueue_wait_for_events_multi_queue(
84*6467f958SSadaf Ebrahimi     cl_device_id deviceID, cl_context context, cl_command_queue queue,
85*6467f958SSadaf Ebrahimi     int num_elements);
86*6467f958SSadaf Ebrahimi extern int
87*6467f958SSadaf Ebrahimi test_out_of_order_event_enqueue_wait_for_events_multi_queue_multi_device(
88*6467f958SSadaf Ebrahimi     cl_device_id deviceID, cl_context context, cl_command_queue queue,
89*6467f958SSadaf Ebrahimi     int num_elements);
90*6467f958SSadaf Ebrahimi 
91*6467f958SSadaf Ebrahimi extern int test_out_of_order_event_enqueue_barrier_single_queue(
92*6467f958SSadaf Ebrahimi     cl_device_id deviceID, cl_context context, cl_command_queue queue,
93*6467f958SSadaf Ebrahimi     int num_elements);
94*6467f958SSadaf Ebrahimi 
95*6467f958SSadaf Ebrahimi extern int test_out_of_order_event_enqueue_marker_single_queue(
96*6467f958SSadaf Ebrahimi     cl_device_id deviceID, cl_context context, cl_command_queue queue,
97*6467f958SSadaf Ebrahimi     int num_elements);
98*6467f958SSadaf Ebrahimi extern int test_out_of_order_event_enqueue_marker_multi_queue(
99*6467f958SSadaf Ebrahimi     cl_device_id deviceID, cl_context context, cl_command_queue queue,
100*6467f958SSadaf Ebrahimi     int num_elements);
101*6467f958SSadaf Ebrahimi extern int test_out_of_order_event_enqueue_marker_multi_queue_multi_device(
102*6467f958SSadaf Ebrahimi     cl_device_id deviceID, cl_context context, cl_command_queue queue,
103*6467f958SSadaf Ebrahimi     int num_elements);
104*6467f958SSadaf Ebrahimi 
105*6467f958SSadaf Ebrahimi extern int test_waitlists(cl_device_id deviceID, cl_context context,
106*6467f958SSadaf Ebrahimi                           cl_command_queue queue, int num_elements);
107*6467f958SSadaf Ebrahimi extern int test_userevents(cl_device_id deviceID, cl_context context,
108*6467f958SSadaf Ebrahimi                            cl_command_queue queue, int num_elements);
109*6467f958SSadaf Ebrahimi extern int test_callbacks(cl_device_id deviceID, cl_context context,
110*6467f958SSadaf Ebrahimi                           cl_command_queue queue, int num_elements);
111*6467f958SSadaf Ebrahimi extern int test_callbacks_simultaneous(cl_device_id deviceID,
112*6467f958SSadaf Ebrahimi                                        cl_context context,
113*6467f958SSadaf Ebrahimi                                        cl_command_queue queue,
114*6467f958SSadaf Ebrahimi                                        int num_elements);
115*6467f958SSadaf Ebrahimi extern int test_userevents_multithreaded(cl_device_id deviceID,
116*6467f958SSadaf Ebrahimi                                          cl_context context,
117*6467f958SSadaf Ebrahimi                                          cl_command_queue queue,
118*6467f958SSadaf Ebrahimi                                          int num_elements);
119