180d59932Sopenharmony_ci/* 280d59932Sopenharmony_ci * Copyright (c) 2020 The Khronos Group Inc. 380d59932Sopenharmony_ci * 480d59932Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 580d59932Sopenharmony_ci * you may not use this file except in compliance with the License. 680d59932Sopenharmony_ci * You may obtain a copy of the License at 780d59932Sopenharmony_ci * 880d59932Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 980d59932Sopenharmony_ci * 1080d59932Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1180d59932Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1280d59932Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1380d59932Sopenharmony_ci * See the License for the specific language governing permissions and 1480d59932Sopenharmony_ci * limitations under the License. 1580d59932Sopenharmony_ci * 1680d59932Sopenharmony_ci * OpenCL is a trademark of Apple Inc. used under license by Khronos. 1780d59932Sopenharmony_ci */ 1880d59932Sopenharmony_ci 1980d59932Sopenharmony_ci#ifndef OPENCL_CL_LAYER_H 2080d59932Sopenharmony_ci#define OPENCL_CL_LAYER_H 2180d59932Sopenharmony_ci 2280d59932Sopenharmony_ci#include <CL/cl_icd.h> 2380d59932Sopenharmony_ci 2480d59932Sopenharmony_ci#ifdef __cplusplus 2580d59932Sopenharmony_ciextern "C" { 2680d59932Sopenharmony_ci#endif 2780d59932Sopenharmony_ci 2880d59932Sopenharmony_citypedef cl_uint cl_layer_info; 2980d59932Sopenharmony_citypedef cl_uint cl_layer_api_version; 3080d59932Sopenharmony_ci#define CL_LAYER_API_VERSION 0x4240 3180d59932Sopenharmony_ci#define CL_LAYER_API_VERSION_100 100 3280d59932Sopenharmony_ci 3380d59932Sopenharmony_ciextern CL_API_ENTRY cl_int CL_API_CALL 3480d59932Sopenharmony_ciclGetLayerInfo(cl_layer_info param_name, 3580d59932Sopenharmony_ci size_t param_value_size, 3680d59932Sopenharmony_ci void *param_value, 3780d59932Sopenharmony_ci size_t *param_value_size_ret); 3880d59932Sopenharmony_ci 3980d59932Sopenharmony_citypedef cl_int 4080d59932Sopenharmony_ci(CL_API_CALL *pfn_clGetLayerInfo)(cl_layer_info param_name, 4180d59932Sopenharmony_ci size_t param_value_size, 4280d59932Sopenharmony_ci void *param_value, 4380d59932Sopenharmony_ci size_t *param_value_size_ret); 4480d59932Sopenharmony_ci 4580d59932Sopenharmony_ciextern CL_API_ENTRY cl_int CL_API_CALL 4680d59932Sopenharmony_ciclInitLayer(cl_uint num_entries, 4780d59932Sopenharmony_ci const cl_icd_dispatch *target_dispatch, 4880d59932Sopenharmony_ci cl_uint *num_entries_ret, 4980d59932Sopenharmony_ci const cl_icd_dispatch **layer_dispatch_ret); 5080d59932Sopenharmony_ci 5180d59932Sopenharmony_citypedef cl_int 5280d59932Sopenharmony_ci(CL_API_CALL *pfn_clInitLayer)(cl_uint num_entries, 5380d59932Sopenharmony_ci const cl_icd_dispatch *target_dispatch, 5480d59932Sopenharmony_ci cl_uint *num_entries_ret, 5580d59932Sopenharmony_ci const cl_icd_dispatch **layer_dispatch_ret); 5680d59932Sopenharmony_ci 5780d59932Sopenharmony_ci#ifdef __cplusplus 5880d59932Sopenharmony_ci} 5980d59932Sopenharmony_ci#endif 6080d59932Sopenharmony_ci 6180d59932Sopenharmony_ci#endif /* OPENCL_CL_LAYER_H */ 62