xref: /aosp_15_r20/external/angle/include/CL/cl_layer.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker /*******************************************************************************
2*8975f5c5SAndroid Build Coastguard Worker  * Copyright (c) 2008-2023 The Khronos Group Inc.
3*8975f5c5SAndroid Build Coastguard Worker  *
4*8975f5c5SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
5*8975f5c5SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
6*8975f5c5SAndroid Build Coastguard Worker  * You may obtain a copy of the License at
7*8975f5c5SAndroid Build Coastguard Worker  *
8*8975f5c5SAndroid Build Coastguard Worker  *    http://www.apache.org/licenses/LICENSE-2.0
9*8975f5c5SAndroid Build Coastguard Worker  *
10*8975f5c5SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
11*8975f5c5SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
12*8975f5c5SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*8975f5c5SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
14*8975f5c5SAndroid Build Coastguard Worker  * limitations under the License.
15*8975f5c5SAndroid Build Coastguard Worker  ******************************************************************************/
16*8975f5c5SAndroid Build Coastguard Worker 
17*8975f5c5SAndroid Build Coastguard Worker #ifndef OPENCL_CL_LAYER_H_
18*8975f5c5SAndroid Build Coastguard Worker #define OPENCL_CL_LAYER_H_
19*8975f5c5SAndroid Build Coastguard Worker 
20*8975f5c5SAndroid Build Coastguard Worker /*
21*8975f5c5SAndroid Build Coastguard Worker ** This header is generated from the Khronos OpenCL XML API Registry.
22*8975f5c5SAndroid Build Coastguard Worker */
23*8975f5c5SAndroid Build Coastguard Worker 
24*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl_icd.h>
25*8975f5c5SAndroid Build Coastguard Worker 
26*8975f5c5SAndroid Build Coastguard Worker #include <CL/cl.h>
27*8975f5c5SAndroid Build Coastguard Worker 
28*8975f5c5SAndroid Build Coastguard Worker /* CL_NO_PROTOTYPES implies CL_NO_EXTENSION_PROTOTYPES: */
29*8975f5c5SAndroid Build Coastguard Worker #if defined(CL_NO_PROTOTYPES) && !defined(CL_NO_EXTENSION_PROTOTYPES)
30*8975f5c5SAndroid Build Coastguard Worker #define CL_NO_EXTENSION_PROTOTYPES
31*8975f5c5SAndroid Build Coastguard Worker #endif
32*8975f5c5SAndroid Build Coastguard Worker 
33*8975f5c5SAndroid Build Coastguard Worker /* CL_NO_EXTENSION_PROTOTYPES implies
34*8975f5c5SAndroid Build Coastguard Worker    CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES and
35*8975f5c5SAndroid Build Coastguard Worker    CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES: */
36*8975f5c5SAndroid Build Coastguard Worker #if defined(CL_NO_EXTENSION_PROTOTYPES) && \
37*8975f5c5SAndroid Build Coastguard Worker     !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
38*8975f5c5SAndroid Build Coastguard Worker #define CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES
39*8975f5c5SAndroid Build Coastguard Worker #endif
40*8975f5c5SAndroid Build Coastguard Worker #if defined(CL_NO_EXTENSION_PROTOTYPES) && \
41*8975f5c5SAndroid Build Coastguard Worker     !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
42*8975f5c5SAndroid Build Coastguard Worker #define CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES
43*8975f5c5SAndroid Build Coastguard Worker #endif
44*8975f5c5SAndroid Build Coastguard Worker 
45*8975f5c5SAndroid Build Coastguard Worker #ifdef __cplusplus
46*8975f5c5SAndroid Build Coastguard Worker extern "C" {
47*8975f5c5SAndroid Build Coastguard Worker #endif
48*8975f5c5SAndroid Build Coastguard Worker 
49*8975f5c5SAndroid Build Coastguard Worker /***************************************************************
50*8975f5c5SAndroid Build Coastguard Worker * cl_loader_layers
51*8975f5c5SAndroid Build Coastguard Worker ***************************************************************/
52*8975f5c5SAndroid Build Coastguard Worker #define cl_loader_layers 1
53*8975f5c5SAndroid Build Coastguard Worker #define CL_LOADER_LAYERS_EXTENSION_NAME \
54*8975f5c5SAndroid Build Coastguard Worker     "cl_loader_layers"
55*8975f5c5SAndroid Build Coastguard Worker 
56*8975f5c5SAndroid Build Coastguard Worker typedef cl_uint             cl_layer_info;
57*8975f5c5SAndroid Build Coastguard Worker typedef cl_uint             cl_layer_api_version;
58*8975f5c5SAndroid Build Coastguard Worker 
59*8975f5c5SAndroid Build Coastguard Worker /* cl_layer_info */
60*8975f5c5SAndroid Build Coastguard Worker #define CL_LAYER_API_VERSION                                0x4240
61*8975f5c5SAndroid Build Coastguard Worker #define CL_LAYER_NAME                                       0x4241
62*8975f5c5SAndroid Build Coastguard Worker 
63*8975f5c5SAndroid Build Coastguard Worker /* Misc API enums */
64*8975f5c5SAndroid Build Coastguard Worker #define CL_LAYER_API_VERSION_100                            100
65*8975f5c5SAndroid Build Coastguard Worker 
66*8975f5c5SAndroid Build Coastguard Worker 
67*8975f5c5SAndroid Build Coastguard Worker typedef cl_int CL_API_CALL
68*8975f5c5SAndroid Build Coastguard Worker clGetLayerInfo_t(
69*8975f5c5SAndroid Build Coastguard Worker     cl_layer_info param_name,
70*8975f5c5SAndroid Build Coastguard Worker     size_t param_value_size,
71*8975f5c5SAndroid Build Coastguard Worker     void* param_value,
72*8975f5c5SAndroid Build Coastguard Worker     size_t* param_value_size_ret);
73*8975f5c5SAndroid Build Coastguard Worker 
74*8975f5c5SAndroid Build Coastguard Worker typedef clGetLayerInfo_t *
75*8975f5c5SAndroid Build Coastguard Worker clGetLayerInfo_fn ;
76*8975f5c5SAndroid Build Coastguard Worker 
77*8975f5c5SAndroid Build Coastguard Worker typedef cl_int CL_API_CALL
78*8975f5c5SAndroid Build Coastguard Worker clInitLayer_t(
79*8975f5c5SAndroid Build Coastguard Worker     cl_uint num_entries,
80*8975f5c5SAndroid Build Coastguard Worker     const cl_icd_dispatch* target_dispatch,
81*8975f5c5SAndroid Build Coastguard Worker     cl_uint* num_entries_ret,
82*8975f5c5SAndroid Build Coastguard Worker     const cl_icd_dispatch** layer_dispatch_ret);
83*8975f5c5SAndroid Build Coastguard Worker 
84*8975f5c5SAndroid Build Coastguard Worker typedef clInitLayer_t *
85*8975f5c5SAndroid Build Coastguard Worker clInitLayer_fn ;
86*8975f5c5SAndroid Build Coastguard Worker 
87*8975f5c5SAndroid Build Coastguard Worker /*
88*8975f5c5SAndroid Build Coastguard Worker ** The function pointer typedefs prefixed with "pfn_" are provided for
89*8975f5c5SAndroid Build Coastguard Worker ** compatibility with earlier versions of the headers.  New code is
90*8975f5c5SAndroid Build Coastguard Worker ** encouraged to use the function pointer typedefs that are suffixed with
91*8975f5c5SAndroid Build Coastguard Worker ** "_fn" instead, for consistency.
92*8975f5c5SAndroid Build Coastguard Worker */
93*8975f5c5SAndroid Build Coastguard Worker 
94*8975f5c5SAndroid Build Coastguard Worker typedef clGetLayerInfo_t *
95*8975f5c5SAndroid Build Coastguard Worker pfn_clGetLayerInfo ;
96*8975f5c5SAndroid Build Coastguard Worker 
97*8975f5c5SAndroid Build Coastguard Worker typedef clInitLayer_t *
98*8975f5c5SAndroid Build Coastguard Worker pfn_clInitLayer ;
99*8975f5c5SAndroid Build Coastguard Worker 
100*8975f5c5SAndroid Build Coastguard Worker #if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
101*8975f5c5SAndroid Build Coastguard Worker 
102*8975f5c5SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL
103*8975f5c5SAndroid Build Coastguard Worker clGetLayerInfo(
104*8975f5c5SAndroid Build Coastguard Worker     cl_layer_info param_name,
105*8975f5c5SAndroid Build Coastguard Worker     size_t param_value_size,
106*8975f5c5SAndroid Build Coastguard Worker     void* param_value,
107*8975f5c5SAndroid Build Coastguard Worker     size_t* param_value_size_ret) ;
108*8975f5c5SAndroid Build Coastguard Worker 
109*8975f5c5SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL
110*8975f5c5SAndroid Build Coastguard Worker clInitLayer(
111*8975f5c5SAndroid Build Coastguard Worker     cl_uint num_entries,
112*8975f5c5SAndroid Build Coastguard Worker     const cl_icd_dispatch* target_dispatch,
113*8975f5c5SAndroid Build Coastguard Worker     cl_uint* num_entries_ret,
114*8975f5c5SAndroid Build Coastguard Worker     const cl_icd_dispatch** layer_dispatch_ret) ;
115*8975f5c5SAndroid Build Coastguard Worker 
116*8975f5c5SAndroid Build Coastguard Worker #endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
117*8975f5c5SAndroid Build Coastguard Worker 
118*8975f5c5SAndroid Build Coastguard Worker #ifdef __cplusplus
119*8975f5c5SAndroid Build Coastguard Worker }
120*8975f5c5SAndroid Build Coastguard Worker #endif
121*8975f5c5SAndroid Build Coastguard Worker 
122*8975f5c5SAndroid Build Coastguard Worker #endif /* OPENCL_CL_LAYER_H_ */
123