1*61046927SAndroid Build Coastguard Worker /******************************************************************************* 2*61046927SAndroid Build Coastguard Worker * Copyright (c) 2008-2020 The Khronos Group Inc. 3*61046927SAndroid Build Coastguard Worker * 4*61046927SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*61046927SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*61046927SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*61046927SAndroid Build Coastguard Worker * 8*61046927SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*61046927SAndroid Build Coastguard Worker * 10*61046927SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*61046927SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*61046927SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*61046927SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*61046927SAndroid Build Coastguard Worker * limitations under the License. 15*61046927SAndroid Build Coastguard Worker ******************************************************************************/ 16*61046927SAndroid Build Coastguard Worker 17*61046927SAndroid Build Coastguard Worker #ifndef __OPENCL_CL_EGL_H 18*61046927SAndroid Build Coastguard Worker #define __OPENCL_CL_EGL_H 19*61046927SAndroid Build Coastguard Worker 20*61046927SAndroid Build Coastguard Worker #include <CL/cl.h> 21*61046927SAndroid Build Coastguard Worker 22*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 23*61046927SAndroid Build Coastguard Worker extern "C" { 24*61046927SAndroid Build Coastguard Worker #endif 25*61046927SAndroid Build Coastguard Worker 26*61046927SAndroid Build Coastguard Worker 27*61046927SAndroid Build Coastguard Worker /* Command type for events created with clEnqueueAcquireEGLObjectsKHR */ 28*61046927SAndroid Build Coastguard Worker #define CL_COMMAND_EGL_FENCE_SYNC_OBJECT_KHR 0x202F 29*61046927SAndroid Build Coastguard Worker #define CL_COMMAND_ACQUIRE_EGL_OBJECTS_KHR 0x202D 30*61046927SAndroid Build Coastguard Worker #define CL_COMMAND_RELEASE_EGL_OBJECTS_KHR 0x202E 31*61046927SAndroid Build Coastguard Worker 32*61046927SAndroid Build Coastguard Worker /* Error type for clCreateFromEGLImageKHR */ 33*61046927SAndroid Build Coastguard Worker #define CL_INVALID_EGL_OBJECT_KHR -1093 34*61046927SAndroid Build Coastguard Worker #define CL_EGL_RESOURCE_NOT_ACQUIRED_KHR -1092 35*61046927SAndroid Build Coastguard Worker 36*61046927SAndroid Build Coastguard Worker /* CLeglImageKHR is an opaque handle to an EGLImage */ 37*61046927SAndroid Build Coastguard Worker typedef void* CLeglImageKHR; 38*61046927SAndroid Build Coastguard Worker 39*61046927SAndroid Build Coastguard Worker /* CLeglDisplayKHR is an opaque handle to an EGLDisplay */ 40*61046927SAndroid Build Coastguard Worker typedef void* CLeglDisplayKHR; 41*61046927SAndroid Build Coastguard Worker 42*61046927SAndroid Build Coastguard Worker /* CLeglSyncKHR is an opaque handle to an EGLSync object */ 43*61046927SAndroid Build Coastguard Worker typedef void* CLeglSyncKHR; 44*61046927SAndroid Build Coastguard Worker 45*61046927SAndroid Build Coastguard Worker /* properties passed to clCreateFromEGLImageKHR */ 46*61046927SAndroid Build Coastguard Worker typedef intptr_t cl_egl_image_properties_khr; 47*61046927SAndroid Build Coastguard Worker 48*61046927SAndroid Build Coastguard Worker 49*61046927SAndroid Build Coastguard Worker #define cl_khr_egl_image 1 50*61046927SAndroid Build Coastguard Worker 51*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_mem CL_API_CALL 52*61046927SAndroid Build Coastguard Worker clCreateFromEGLImageKHR(cl_context context, 53*61046927SAndroid Build Coastguard Worker CLeglDisplayKHR egldisplay, 54*61046927SAndroid Build Coastguard Worker CLeglImageKHR eglimage, 55*61046927SAndroid Build Coastguard Worker cl_mem_flags flags, 56*61046927SAndroid Build Coastguard Worker const cl_egl_image_properties_khr * properties, 57*61046927SAndroid Build Coastguard Worker cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0; 58*61046927SAndroid Build Coastguard Worker 59*61046927SAndroid Build Coastguard Worker typedef cl_mem (CL_API_CALL *clCreateFromEGLImageKHR_fn)( 60*61046927SAndroid Build Coastguard Worker cl_context context, 61*61046927SAndroid Build Coastguard Worker CLeglDisplayKHR egldisplay, 62*61046927SAndroid Build Coastguard Worker CLeglImageKHR eglimage, 63*61046927SAndroid Build Coastguard Worker cl_mem_flags flags, 64*61046927SAndroid Build Coastguard Worker const cl_egl_image_properties_khr * properties, 65*61046927SAndroid Build Coastguard Worker cl_int * errcode_ret); 66*61046927SAndroid Build Coastguard Worker 67*61046927SAndroid Build Coastguard Worker 68*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL 69*61046927SAndroid Build Coastguard Worker clEnqueueAcquireEGLObjectsKHR(cl_command_queue command_queue, 70*61046927SAndroid Build Coastguard Worker cl_uint num_objects, 71*61046927SAndroid Build Coastguard Worker const cl_mem * mem_objects, 72*61046927SAndroid Build Coastguard Worker cl_uint num_events_in_wait_list, 73*61046927SAndroid Build Coastguard Worker const cl_event * event_wait_list, 74*61046927SAndroid Build Coastguard Worker cl_event * event) CL_API_SUFFIX__VERSION_1_0; 75*61046927SAndroid Build Coastguard Worker 76*61046927SAndroid Build Coastguard Worker typedef cl_int (CL_API_CALL *clEnqueueAcquireEGLObjectsKHR_fn)( 77*61046927SAndroid Build Coastguard Worker cl_command_queue command_queue, 78*61046927SAndroid Build Coastguard Worker cl_uint num_objects, 79*61046927SAndroid Build Coastguard Worker const cl_mem * mem_objects, 80*61046927SAndroid Build Coastguard Worker cl_uint num_events_in_wait_list, 81*61046927SAndroid Build Coastguard Worker const cl_event * event_wait_list, 82*61046927SAndroid Build Coastguard Worker cl_event * event); 83*61046927SAndroid Build Coastguard Worker 84*61046927SAndroid Build Coastguard Worker 85*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL 86*61046927SAndroid Build Coastguard Worker clEnqueueReleaseEGLObjectsKHR(cl_command_queue command_queue, 87*61046927SAndroid Build Coastguard Worker cl_uint num_objects, 88*61046927SAndroid Build Coastguard Worker const cl_mem * mem_objects, 89*61046927SAndroid Build Coastguard Worker cl_uint num_events_in_wait_list, 90*61046927SAndroid Build Coastguard Worker const cl_event * event_wait_list, 91*61046927SAndroid Build Coastguard Worker cl_event * event) CL_API_SUFFIX__VERSION_1_0; 92*61046927SAndroid Build Coastguard Worker 93*61046927SAndroid Build Coastguard Worker typedef cl_int (CL_API_CALL *clEnqueueReleaseEGLObjectsKHR_fn)( 94*61046927SAndroid Build Coastguard Worker cl_command_queue command_queue, 95*61046927SAndroid Build Coastguard Worker cl_uint num_objects, 96*61046927SAndroid Build Coastguard Worker const cl_mem * mem_objects, 97*61046927SAndroid Build Coastguard Worker cl_uint num_events_in_wait_list, 98*61046927SAndroid Build Coastguard Worker const cl_event * event_wait_list, 99*61046927SAndroid Build Coastguard Worker cl_event * event); 100*61046927SAndroid Build Coastguard Worker 101*61046927SAndroid Build Coastguard Worker 102*61046927SAndroid Build Coastguard Worker #define cl_khr_egl_event 1 103*61046927SAndroid Build Coastguard Worker 104*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_event CL_API_CALL 105*61046927SAndroid Build Coastguard Worker clCreateEventFromEGLSyncKHR(cl_context context, 106*61046927SAndroid Build Coastguard Worker CLeglSyncKHR sync, 107*61046927SAndroid Build Coastguard Worker CLeglDisplayKHR display, 108*61046927SAndroid Build Coastguard Worker cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0; 109*61046927SAndroid Build Coastguard Worker 110*61046927SAndroid Build Coastguard Worker typedef cl_event (CL_API_CALL *clCreateEventFromEGLSyncKHR_fn)( 111*61046927SAndroid Build Coastguard Worker cl_context context, 112*61046927SAndroid Build Coastguard Worker CLeglSyncKHR sync, 113*61046927SAndroid Build Coastguard Worker CLeglDisplayKHR display, 114*61046927SAndroid Build Coastguard Worker cl_int * errcode_ret); 115*61046927SAndroid Build Coastguard Worker 116*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 117*61046927SAndroid Build Coastguard Worker } 118*61046927SAndroid Build Coastguard Worker #endif 119*61046927SAndroid Build Coastguard Worker 120*61046927SAndroid Build Coastguard Worker #endif /* __OPENCL_CL_EGL_H */ 121