xref: /aosp_15_r20/external/OpenCL-Headers/CL/cl_gl.h (revision 3cc257528f335c5672e46865a03b8ee020e5fe2d)
1*3cc25752SFrank Piva /*******************************************************************************
2*3cc25752SFrank Piva  * Copyright (c) 2008-2023 The Khronos Group Inc.
3*3cc25752SFrank Piva  *
4*3cc25752SFrank Piva  * Licensed under the Apache License, Version 2.0 (the "License");
5*3cc25752SFrank Piva  * you may not use this file except in compliance with the License.
6*3cc25752SFrank Piva  * You may obtain a copy of the License at
7*3cc25752SFrank Piva  *
8*3cc25752SFrank Piva  *    http://www.apache.org/licenses/LICENSE-2.0
9*3cc25752SFrank Piva  *
10*3cc25752SFrank Piva  * Unless required by applicable law or agreed to in writing, software
11*3cc25752SFrank Piva  * distributed under the License is distributed on an "AS IS" BASIS,
12*3cc25752SFrank Piva  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*3cc25752SFrank Piva  * See the License for the specific language governing permissions and
14*3cc25752SFrank Piva  * limitations under the License.
15*3cc25752SFrank Piva  ******************************************************************************/
16*3cc25752SFrank Piva 
17*3cc25752SFrank Piva #ifndef OPENCL_CL_GL_H_
18*3cc25752SFrank Piva #define OPENCL_CL_GL_H_
19*3cc25752SFrank Piva 
20*3cc25752SFrank Piva /*
21*3cc25752SFrank Piva ** This header is generated from the Khronos OpenCL XML API Registry.
22*3cc25752SFrank Piva */
23*3cc25752SFrank Piva 
24*3cc25752SFrank Piva #include <CL/cl.h>
25*3cc25752SFrank Piva 
26*3cc25752SFrank Piva /* CL_NO_PROTOTYPES implies CL_NO_EXTENSION_PROTOTYPES: */
27*3cc25752SFrank Piva #if defined(CL_NO_PROTOTYPES) && !defined(CL_NO_EXTENSION_PROTOTYPES)
28*3cc25752SFrank Piva #define CL_NO_EXTENSION_PROTOTYPES
29*3cc25752SFrank Piva #endif
30*3cc25752SFrank Piva 
31*3cc25752SFrank Piva /* CL_NO_EXTENSION_PROTOTYPES implies
32*3cc25752SFrank Piva    CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES and
33*3cc25752SFrank Piva    CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES: */
34*3cc25752SFrank Piva #if defined(CL_NO_EXTENSION_PROTOTYPES) && \
35*3cc25752SFrank Piva     !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
36*3cc25752SFrank Piva #define CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES
37*3cc25752SFrank Piva #endif
38*3cc25752SFrank Piva #if defined(CL_NO_EXTENSION_PROTOTYPES) && \
39*3cc25752SFrank Piva     !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
40*3cc25752SFrank Piva #define CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES
41*3cc25752SFrank Piva #endif
42*3cc25752SFrank Piva 
43*3cc25752SFrank Piva #ifdef __cplusplus
44*3cc25752SFrank Piva extern "C" {
45*3cc25752SFrank Piva #endif
46*3cc25752SFrank Piva 
47*3cc25752SFrank Piva /***************************************************************
48*3cc25752SFrank Piva * cl_khr_gl_sharing
49*3cc25752SFrank Piva ***************************************************************/
50*3cc25752SFrank Piva #define cl_khr_gl_sharing 1
51*3cc25752SFrank Piva #define CL_KHR_GL_SHARING_EXTENSION_NAME \
52*3cc25752SFrank Piva     "cl_khr_gl_sharing"
53*3cc25752SFrank Piva 
54*3cc25752SFrank Piva typedef cl_uint             cl_gl_context_info;
55*3cc25752SFrank Piva 
56*3cc25752SFrank Piva /* Error codes */
57*3cc25752SFrank Piva #define CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR              -1000
58*3cc25752SFrank Piva 
59*3cc25752SFrank Piva /* cl_gl_context_info */
60*3cc25752SFrank Piva #define CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR                0x2006
61*3cc25752SFrank Piva #define CL_DEVICES_FOR_GL_CONTEXT_KHR                       0x2007
62*3cc25752SFrank Piva 
63*3cc25752SFrank Piva /* Additional cl_context_properties */
64*3cc25752SFrank Piva #define CL_GL_CONTEXT_KHR                                   0x2008
65*3cc25752SFrank Piva #define CL_EGL_DISPLAY_KHR                                  0x2009
66*3cc25752SFrank Piva #define CL_GLX_DISPLAY_KHR                                  0x200A
67*3cc25752SFrank Piva #define CL_WGL_HDC_KHR                                      0x200B
68*3cc25752SFrank Piva #define CL_CGL_SHAREGROUP_KHR                               0x200C
69*3cc25752SFrank Piva 
70*3cc25752SFrank Piva typedef cl_uint             cl_gl_object_type;
71*3cc25752SFrank Piva typedef cl_uint             cl_gl_texture_info;
72*3cc25752SFrank Piva typedef cl_uint             cl_gl_platform_info;
73*3cc25752SFrank Piva 
74*3cc25752SFrank Piva /* cl_gl_object_type */
75*3cc25752SFrank Piva #define CL_GL_OBJECT_BUFFER                                 0x2000
76*3cc25752SFrank Piva #define CL_GL_OBJECT_TEXTURE2D                              0x2001
77*3cc25752SFrank Piva #define CL_GL_OBJECT_TEXTURE3D                              0x2002
78*3cc25752SFrank Piva #define CL_GL_OBJECT_RENDERBUFFER                           0x2003
79*3cc25752SFrank Piva 
80*3cc25752SFrank Piva #if defined(CL_VERSION_1_2)
81*3cc25752SFrank Piva /* cl_gl_object_type */
82*3cc25752SFrank Piva #define CL_GL_OBJECT_TEXTURE2D_ARRAY                        0x200E
83*3cc25752SFrank Piva #define CL_GL_OBJECT_TEXTURE1D                              0x200F
84*3cc25752SFrank Piva #define CL_GL_OBJECT_TEXTURE1D_ARRAY                        0x2010
85*3cc25752SFrank Piva #define CL_GL_OBJECT_TEXTURE_BUFFER                         0x2011
86*3cc25752SFrank Piva 
87*3cc25752SFrank Piva #endif /* defined(CL_VERSION_1_2) */
88*3cc25752SFrank Piva 
89*3cc25752SFrank Piva /* cl_gl_texture_info */
90*3cc25752SFrank Piva #define CL_GL_TEXTURE_TARGET                                0x2004
91*3cc25752SFrank Piva #define CL_GL_MIPMAP_LEVEL                                  0x2005
92*3cc25752SFrank Piva 
93*3cc25752SFrank Piva 
94*3cc25752SFrank Piva typedef cl_int CL_API_CALL
95*3cc25752SFrank Piva clGetGLContextInfoKHR_t(
96*3cc25752SFrank Piva     const cl_context_properties* properties,
97*3cc25752SFrank Piva     cl_gl_context_info param_name,
98*3cc25752SFrank Piva     size_t param_value_size,
99*3cc25752SFrank Piva     void* param_value,
100*3cc25752SFrank Piva     size_t* param_value_size_ret);
101*3cc25752SFrank Piva 
102*3cc25752SFrank Piva typedef clGetGLContextInfoKHR_t *
103*3cc25752SFrank Piva clGetGLContextInfoKHR_fn CL_API_SUFFIX__VERSION_1_0;
104*3cc25752SFrank Piva 
105*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
106*3cc25752SFrank Piva clCreateFromGLBuffer_t(
107*3cc25752SFrank Piva     cl_context context,
108*3cc25752SFrank Piva     cl_mem_flags flags,
109*3cc25752SFrank Piva     cl_GLuint bufobj,
110*3cc25752SFrank Piva     cl_int* errcode_ret);
111*3cc25752SFrank Piva 
112*3cc25752SFrank Piva typedef clCreateFromGLBuffer_t *
113*3cc25752SFrank Piva clCreateFromGLBuffer_fn CL_API_SUFFIX__VERSION_1_0;
114*3cc25752SFrank Piva 
115*3cc25752SFrank Piva #if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
116*3cc25752SFrank Piva 
117*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
118*3cc25752SFrank Piva clGetGLContextInfoKHR(
119*3cc25752SFrank Piva     const cl_context_properties* properties,
120*3cc25752SFrank Piva     cl_gl_context_info param_name,
121*3cc25752SFrank Piva     size_t param_value_size,
122*3cc25752SFrank Piva     void* param_value,
123*3cc25752SFrank Piva     size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
124*3cc25752SFrank Piva 
125*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
126*3cc25752SFrank Piva clCreateFromGLBuffer(
127*3cc25752SFrank Piva     cl_context context,
128*3cc25752SFrank Piva     cl_mem_flags flags,
129*3cc25752SFrank Piva     cl_GLuint bufobj,
130*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
131*3cc25752SFrank Piva 
132*3cc25752SFrank Piva #endif /* !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
133*3cc25752SFrank Piva 
134*3cc25752SFrank Piva #if defined(CL_VERSION_1_2)
135*3cc25752SFrank Piva 
136*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
137*3cc25752SFrank Piva clCreateFromGLTexture_t(
138*3cc25752SFrank Piva     cl_context context,
139*3cc25752SFrank Piva     cl_mem_flags flags,
140*3cc25752SFrank Piva     cl_GLenum target,
141*3cc25752SFrank Piva     cl_GLint miplevel,
142*3cc25752SFrank Piva     cl_GLuint texture,
143*3cc25752SFrank Piva     cl_int* errcode_ret);
144*3cc25752SFrank Piva 
145*3cc25752SFrank Piva typedef clCreateFromGLTexture_t *
146*3cc25752SFrank Piva clCreateFromGLTexture_fn CL_API_SUFFIX__VERSION_1_2;
147*3cc25752SFrank Piva 
148*3cc25752SFrank Piva #if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
149*3cc25752SFrank Piva 
150*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
151*3cc25752SFrank Piva clCreateFromGLTexture(
152*3cc25752SFrank Piva     cl_context context,
153*3cc25752SFrank Piva     cl_mem_flags flags,
154*3cc25752SFrank Piva     cl_GLenum target,
155*3cc25752SFrank Piva     cl_GLint miplevel,
156*3cc25752SFrank Piva     cl_GLuint texture,
157*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
158*3cc25752SFrank Piva 
159*3cc25752SFrank Piva #endif /* !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
160*3cc25752SFrank Piva 
161*3cc25752SFrank Piva #endif /* defined(CL_VERSION_1_2) */
162*3cc25752SFrank Piva 
163*3cc25752SFrank Piva 
164*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
165*3cc25752SFrank Piva clCreateFromGLRenderbuffer_t(
166*3cc25752SFrank Piva     cl_context context,
167*3cc25752SFrank Piva     cl_mem_flags flags,
168*3cc25752SFrank Piva     cl_GLuint renderbuffer,
169*3cc25752SFrank Piva     cl_int* errcode_ret);
170*3cc25752SFrank Piva 
171*3cc25752SFrank Piva typedef clCreateFromGLRenderbuffer_t *
172*3cc25752SFrank Piva clCreateFromGLRenderbuffer_fn CL_API_SUFFIX__VERSION_1_0;
173*3cc25752SFrank Piva 
174*3cc25752SFrank Piva typedef cl_int CL_API_CALL
175*3cc25752SFrank Piva clGetGLObjectInfo_t(
176*3cc25752SFrank Piva     cl_mem memobj,
177*3cc25752SFrank Piva     cl_gl_object_type* gl_object_type,
178*3cc25752SFrank Piva     cl_GLuint* gl_object_name);
179*3cc25752SFrank Piva 
180*3cc25752SFrank Piva typedef clGetGLObjectInfo_t *
181*3cc25752SFrank Piva clGetGLObjectInfo_fn CL_API_SUFFIX__VERSION_1_0;
182*3cc25752SFrank Piva 
183*3cc25752SFrank Piva typedef cl_int CL_API_CALL
184*3cc25752SFrank Piva clGetGLTextureInfo_t(
185*3cc25752SFrank Piva     cl_mem memobj,
186*3cc25752SFrank Piva     cl_gl_texture_info param_name,
187*3cc25752SFrank Piva     size_t param_value_size,
188*3cc25752SFrank Piva     void* param_value,
189*3cc25752SFrank Piva     size_t* param_value_size_ret);
190*3cc25752SFrank Piva 
191*3cc25752SFrank Piva typedef clGetGLTextureInfo_t *
192*3cc25752SFrank Piva clGetGLTextureInfo_fn CL_API_SUFFIX__VERSION_1_0;
193*3cc25752SFrank Piva 
194*3cc25752SFrank Piva typedef cl_int CL_API_CALL
195*3cc25752SFrank Piva clEnqueueAcquireGLObjects_t(
196*3cc25752SFrank Piva     cl_command_queue command_queue,
197*3cc25752SFrank Piva     cl_uint num_objects,
198*3cc25752SFrank Piva     const cl_mem* mem_objects,
199*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
200*3cc25752SFrank Piva     const cl_event* event_wait_list,
201*3cc25752SFrank Piva     cl_event* event);
202*3cc25752SFrank Piva 
203*3cc25752SFrank Piva typedef clEnqueueAcquireGLObjects_t *
204*3cc25752SFrank Piva clEnqueueAcquireGLObjects_fn CL_API_SUFFIX__VERSION_1_0;
205*3cc25752SFrank Piva 
206*3cc25752SFrank Piva typedef cl_int CL_API_CALL
207*3cc25752SFrank Piva clEnqueueReleaseGLObjects_t(
208*3cc25752SFrank Piva     cl_command_queue command_queue,
209*3cc25752SFrank Piva     cl_uint num_objects,
210*3cc25752SFrank Piva     const cl_mem* mem_objects,
211*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
212*3cc25752SFrank Piva     const cl_event* event_wait_list,
213*3cc25752SFrank Piva     cl_event* event);
214*3cc25752SFrank Piva 
215*3cc25752SFrank Piva typedef clEnqueueReleaseGLObjects_t *
216*3cc25752SFrank Piva clEnqueueReleaseGLObjects_fn CL_API_SUFFIX__VERSION_1_0;
217*3cc25752SFrank Piva 
218*3cc25752SFrank Piva #if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
219*3cc25752SFrank Piva 
220*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
221*3cc25752SFrank Piva clCreateFromGLRenderbuffer(
222*3cc25752SFrank Piva     cl_context context,
223*3cc25752SFrank Piva     cl_mem_flags flags,
224*3cc25752SFrank Piva     cl_GLuint renderbuffer,
225*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
226*3cc25752SFrank Piva 
227*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
228*3cc25752SFrank Piva clGetGLObjectInfo(
229*3cc25752SFrank Piva     cl_mem memobj,
230*3cc25752SFrank Piva     cl_gl_object_type* gl_object_type,
231*3cc25752SFrank Piva     cl_GLuint* gl_object_name) CL_API_SUFFIX__VERSION_1_0;
232*3cc25752SFrank Piva 
233*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
234*3cc25752SFrank Piva clGetGLTextureInfo(
235*3cc25752SFrank Piva     cl_mem memobj,
236*3cc25752SFrank Piva     cl_gl_texture_info param_name,
237*3cc25752SFrank Piva     size_t param_value_size,
238*3cc25752SFrank Piva     void* param_value,
239*3cc25752SFrank Piva     size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
240*3cc25752SFrank Piva 
241*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
242*3cc25752SFrank Piva clEnqueueAcquireGLObjects(
243*3cc25752SFrank Piva     cl_command_queue command_queue,
244*3cc25752SFrank Piva     cl_uint num_objects,
245*3cc25752SFrank Piva     const cl_mem* mem_objects,
246*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
247*3cc25752SFrank Piva     const cl_event* event_wait_list,
248*3cc25752SFrank Piva     cl_event* event) CL_API_SUFFIX__VERSION_1_0;
249*3cc25752SFrank Piva 
250*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
251*3cc25752SFrank Piva clEnqueueReleaseGLObjects(
252*3cc25752SFrank Piva     cl_command_queue command_queue,
253*3cc25752SFrank Piva     cl_uint num_objects,
254*3cc25752SFrank Piva     const cl_mem* mem_objects,
255*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
256*3cc25752SFrank Piva     const cl_event* event_wait_list,
257*3cc25752SFrank Piva     cl_event* event) CL_API_SUFFIX__VERSION_1_0;
258*3cc25752SFrank Piva 
259*3cc25752SFrank Piva #endif /* !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
260*3cc25752SFrank Piva 
261*3cc25752SFrank Piva /* OpenCL 1.0 APIs that were deprecated in OpenCL 1.2 */
262*3cc25752SFrank Piva 
263*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
264*3cc25752SFrank Piva clCreateFromGLTexture2D_t(
265*3cc25752SFrank Piva     cl_context context,
266*3cc25752SFrank Piva     cl_mem_flags flags,
267*3cc25752SFrank Piva     cl_GLenum target,
268*3cc25752SFrank Piva     cl_GLint miplevel,
269*3cc25752SFrank Piva     cl_GLuint texture,
270*3cc25752SFrank Piva     cl_int* errcode_ret);
271*3cc25752SFrank Piva 
272*3cc25752SFrank Piva typedef clCreateFromGLTexture2D_t *
273*3cc25752SFrank Piva clCreateFromGLTexture2D_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
274*3cc25752SFrank Piva 
275*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
276*3cc25752SFrank Piva clCreateFromGLTexture3D_t(
277*3cc25752SFrank Piva     cl_context context,
278*3cc25752SFrank Piva     cl_mem_flags flags,
279*3cc25752SFrank Piva     cl_GLenum target,
280*3cc25752SFrank Piva     cl_GLint miplevel,
281*3cc25752SFrank Piva     cl_GLuint texture,
282*3cc25752SFrank Piva     cl_int* errcode_ret);
283*3cc25752SFrank Piva 
284*3cc25752SFrank Piva typedef clCreateFromGLTexture3D_t *
285*3cc25752SFrank Piva clCreateFromGLTexture3D_fn CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
286*3cc25752SFrank Piva 
287*3cc25752SFrank Piva #if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
288*3cc25752SFrank Piva 
289*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
290*3cc25752SFrank Piva clCreateFromGLTexture2D(
291*3cc25752SFrank Piva     cl_context context,
292*3cc25752SFrank Piva     cl_mem_flags flags,
293*3cc25752SFrank Piva     cl_GLenum target,
294*3cc25752SFrank Piva     cl_GLint miplevel,
295*3cc25752SFrank Piva     cl_GLuint texture,
296*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
297*3cc25752SFrank Piva 
298*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
299*3cc25752SFrank Piva clCreateFromGLTexture3D(
300*3cc25752SFrank Piva     cl_context context,
301*3cc25752SFrank Piva     cl_mem_flags flags,
302*3cc25752SFrank Piva     cl_GLenum target,
303*3cc25752SFrank Piva     cl_GLint miplevel,
304*3cc25752SFrank Piva     cl_GLuint texture,
305*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
306*3cc25752SFrank Piva 
307*3cc25752SFrank Piva #endif /* !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
308*3cc25752SFrank Piva 
309*3cc25752SFrank Piva /***************************************************************
310*3cc25752SFrank Piva * cl_khr_gl_event
311*3cc25752SFrank Piva ***************************************************************/
312*3cc25752SFrank Piva #define cl_khr_gl_event 1
313*3cc25752SFrank Piva #define CL_KHR_GL_EVENT_EXTENSION_NAME \
314*3cc25752SFrank Piva     "cl_khr_gl_event"
315*3cc25752SFrank Piva 
316*3cc25752SFrank Piva typedef struct __GLsync *   cl_GLsync;
317*3cc25752SFrank Piva 
318*3cc25752SFrank Piva /* cl_command_type */
319*3cc25752SFrank Piva #define CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR                 0x200D
320*3cc25752SFrank Piva 
321*3cc25752SFrank Piva 
322*3cc25752SFrank Piva typedef cl_event CL_API_CALL
323*3cc25752SFrank Piva clCreateEventFromGLsyncKHR_t(
324*3cc25752SFrank Piva     cl_context context,
325*3cc25752SFrank Piva     cl_GLsync sync,
326*3cc25752SFrank Piva     cl_int* errcode_ret);
327*3cc25752SFrank Piva 
328*3cc25752SFrank Piva typedef clCreateEventFromGLsyncKHR_t *
329*3cc25752SFrank Piva clCreateEventFromGLsyncKHR_fn CL_API_SUFFIX__VERSION_1_1;
330*3cc25752SFrank Piva 
331*3cc25752SFrank Piva #if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
332*3cc25752SFrank Piva 
333*3cc25752SFrank Piva extern CL_API_ENTRY cl_event CL_API_CALL
334*3cc25752SFrank Piva clCreateEventFromGLsyncKHR(
335*3cc25752SFrank Piva     cl_context context,
336*3cc25752SFrank Piva     cl_GLsync sync,
337*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_1;
338*3cc25752SFrank Piva 
339*3cc25752SFrank Piva #endif /* !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
340*3cc25752SFrank Piva 
341*3cc25752SFrank Piva /***************************************************************
342*3cc25752SFrank Piva * cl_khr_gl_depth_images
343*3cc25752SFrank Piva ***************************************************************/
344*3cc25752SFrank Piva #define cl_khr_gl_depth_images 1
345*3cc25752SFrank Piva #define CL_KHR_GL_DEPTH_IMAGES_EXTENSION_NAME \
346*3cc25752SFrank Piva     "cl_khr_gl_depth_images"
347*3cc25752SFrank Piva 
348*3cc25752SFrank Piva /* cl_channel_order */
349*3cc25752SFrank Piva #define CL_DEPTH_STENCIL                                    0x10BE
350*3cc25752SFrank Piva 
351*3cc25752SFrank Piva /* cl_channel_type */
352*3cc25752SFrank Piva #define CL_UNORM_INT24                                      0x10DF
353*3cc25752SFrank Piva 
354*3cc25752SFrank Piva /***************************************************************
355*3cc25752SFrank Piva * cl_khr_gl_msaa_sharing
356*3cc25752SFrank Piva ***************************************************************/
357*3cc25752SFrank Piva #define cl_khr_gl_msaa_sharing 1
358*3cc25752SFrank Piva #define CL_KHR_GL_MSAA_SHARING_EXTENSION_NAME \
359*3cc25752SFrank Piva     "cl_khr_gl_msaa_sharing"
360*3cc25752SFrank Piva 
361*3cc25752SFrank Piva /* cl_gl_texture_info */
362*3cc25752SFrank Piva #define CL_GL_NUM_SAMPLES                                   0x2012
363*3cc25752SFrank Piva 
364*3cc25752SFrank Piva /***************************************************************
365*3cc25752SFrank Piva * cl_intel_sharing_format_query_gl
366*3cc25752SFrank Piva ***************************************************************/
367*3cc25752SFrank Piva #define cl_intel_sharing_format_query_gl 1
368*3cc25752SFrank Piva #define CL_INTEL_SHARING_FORMAT_QUERY_GL_EXTENSION_NAME \
369*3cc25752SFrank Piva     "cl_intel_sharing_format_query_gl"
370*3cc25752SFrank Piva 
371*3cc25752SFrank Piva /* when cl_khr_gl_sharing is supported */
372*3cc25752SFrank Piva 
373*3cc25752SFrank Piva typedef cl_int CL_API_CALL
374*3cc25752SFrank Piva clGetSupportedGLTextureFormatsINTEL_t(
375*3cc25752SFrank Piva     cl_context context,
376*3cc25752SFrank Piva     cl_mem_flags flags,
377*3cc25752SFrank Piva     cl_mem_object_type image_type,
378*3cc25752SFrank Piva     cl_uint num_entries,
379*3cc25752SFrank Piva     cl_GLenum* gl_formats,
380*3cc25752SFrank Piva     cl_uint* num_texture_formats);
381*3cc25752SFrank Piva 
382*3cc25752SFrank Piva typedef clGetSupportedGLTextureFormatsINTEL_t *
383*3cc25752SFrank Piva clGetSupportedGLTextureFormatsINTEL_fn ;
384*3cc25752SFrank Piva 
385*3cc25752SFrank Piva #if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
386*3cc25752SFrank Piva 
387*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
388*3cc25752SFrank Piva clGetSupportedGLTextureFormatsINTEL(
389*3cc25752SFrank Piva     cl_context context,
390*3cc25752SFrank Piva     cl_mem_flags flags,
391*3cc25752SFrank Piva     cl_mem_object_type image_type,
392*3cc25752SFrank Piva     cl_uint num_entries,
393*3cc25752SFrank Piva     cl_GLenum* gl_formats,
394*3cc25752SFrank Piva     cl_uint* num_texture_formats) ;
395*3cc25752SFrank Piva 
396*3cc25752SFrank Piva #endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
397*3cc25752SFrank Piva 
398*3cc25752SFrank Piva #ifdef __cplusplus
399*3cc25752SFrank Piva }
400*3cc25752SFrank Piva #endif
401*3cc25752SFrank Piva 
402*3cc25752SFrank Piva #endif /* OPENCL_CL_GL_H_ */
403