xref: /aosp_15_r20/external/OpenCL-Headers/CL/cl_dx9_media_sharing.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_DX9_MEDIA_SHARING_H_
18*3cc25752SFrank Piva #define OPENCL_CL_DX9_MEDIA_SHARING_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 #if defined(_WIN32)
25*3cc25752SFrank Piva #if defined(_MSC_VER)
26*3cc25752SFrank Piva #if _MSC_VER >=1500
27*3cc25752SFrank Piva #pragma warning( push )
28*3cc25752SFrank Piva #pragma warning( disable : 4201 )
29*3cc25752SFrank Piva #pragma warning( disable : 5105 )
30*3cc25752SFrank Piva #endif
31*3cc25752SFrank Piva #endif
32*3cc25752SFrank Piva #include <d3d9.h>
33*3cc25752SFrank Piva #if defined(_MSC_VER)
34*3cc25752SFrank Piva #if _MSC_VER >=1500
35*3cc25752SFrank Piva #pragma warning( pop )
36*3cc25752SFrank Piva #endif
37*3cc25752SFrank Piva #endif
38*3cc25752SFrank Piva #endif
39*3cc25752SFrank Piva 
40*3cc25752SFrank Piva #include <CL/cl.h>
41*3cc25752SFrank Piva 
42*3cc25752SFrank Piva /* CL_NO_PROTOTYPES implies CL_NO_EXTENSION_PROTOTYPES: */
43*3cc25752SFrank Piva #if defined(CL_NO_PROTOTYPES) && !defined(CL_NO_EXTENSION_PROTOTYPES)
44*3cc25752SFrank Piva #define CL_NO_EXTENSION_PROTOTYPES
45*3cc25752SFrank Piva #endif
46*3cc25752SFrank Piva 
47*3cc25752SFrank Piva /* CL_NO_EXTENSION_PROTOTYPES implies
48*3cc25752SFrank Piva    CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES and
49*3cc25752SFrank Piva    CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES: */
50*3cc25752SFrank Piva #if defined(CL_NO_EXTENSION_PROTOTYPES) && \
51*3cc25752SFrank Piva     !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
52*3cc25752SFrank Piva #define CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES
53*3cc25752SFrank Piva #endif
54*3cc25752SFrank Piva #if defined(CL_NO_EXTENSION_PROTOTYPES) && \
55*3cc25752SFrank Piva     !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
56*3cc25752SFrank Piva #define CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES
57*3cc25752SFrank Piva #endif
58*3cc25752SFrank Piva 
59*3cc25752SFrank Piva #ifdef __cplusplus
60*3cc25752SFrank Piva extern "C" {
61*3cc25752SFrank Piva #endif
62*3cc25752SFrank Piva 
63*3cc25752SFrank Piva /***************************************************************
64*3cc25752SFrank Piva * cl_khr_dx9_media_sharing
65*3cc25752SFrank Piva ***************************************************************/
66*3cc25752SFrank Piva #define cl_khr_dx9_media_sharing 1
67*3cc25752SFrank Piva #define CL_KHR_DX9_MEDIA_SHARING_EXTENSION_NAME \
68*3cc25752SFrank Piva     "cl_khr_dx9_media_sharing"
69*3cc25752SFrank Piva 
70*3cc25752SFrank Piva typedef cl_uint             cl_dx9_media_adapter_type_khr;
71*3cc25752SFrank Piva typedef cl_uint             cl_dx9_media_adapter_set_khr;
72*3cc25752SFrank Piva 
73*3cc25752SFrank Piva #if defined(_WIN32)
74*3cc25752SFrank Piva typedef struct _cl_dx9_surface_info_khr {
75*3cc25752SFrank Piva     IDirect3DSurface9* resource;
76*3cc25752SFrank Piva     HANDLE shared_handle;
77*3cc25752SFrank Piva } cl_dx9_surface_info_khr;
78*3cc25752SFrank Piva 
79*3cc25752SFrank Piva #endif /* defined(_WIN32) */
80*3cc25752SFrank Piva 
81*3cc25752SFrank Piva /* Error codes */
82*3cc25752SFrank Piva #define CL_INVALID_DX9_MEDIA_ADAPTER_KHR                    -1010
83*3cc25752SFrank Piva #define CL_INVALID_DX9_MEDIA_SURFACE_KHR                    -1011
84*3cc25752SFrank Piva #define CL_DX9_MEDIA_SURFACE_ALREADY_ACQUIRED_KHR           -1012
85*3cc25752SFrank Piva #define CL_DX9_MEDIA_SURFACE_NOT_ACQUIRED_KHR               -1013
86*3cc25752SFrank Piva 
87*3cc25752SFrank Piva /* cl_media_adapter_type_khr */
88*3cc25752SFrank Piva #define CL_ADAPTER_D3D9_KHR                                 0x2020
89*3cc25752SFrank Piva #define CL_ADAPTER_D3D9EX_KHR                               0x2021
90*3cc25752SFrank Piva #define CL_ADAPTER_DXVA_KHR                                 0x2022
91*3cc25752SFrank Piva 
92*3cc25752SFrank Piva /* cl_media_adapter_set_khr */
93*3cc25752SFrank Piva #define CL_PREFERRED_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR      0x2023
94*3cc25752SFrank Piva #define CL_ALL_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR            0x2024
95*3cc25752SFrank Piva 
96*3cc25752SFrank Piva /* cl_context_info */
97*3cc25752SFrank Piva #define CL_CONTEXT_ADAPTER_D3D9_KHR                         0x2025
98*3cc25752SFrank Piva #define CL_CONTEXT_ADAPTER_D3D9EX_KHR                       0x2026
99*3cc25752SFrank Piva #define CL_CONTEXT_ADAPTER_DXVA_KHR                         0x2027
100*3cc25752SFrank Piva 
101*3cc25752SFrank Piva /* cl_mem_info */
102*3cc25752SFrank Piva #define CL_MEM_DX9_MEDIA_ADAPTER_TYPE_KHR                   0x2028
103*3cc25752SFrank Piva #define CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR                   0x2029
104*3cc25752SFrank Piva 
105*3cc25752SFrank Piva /* cl_image_info */
106*3cc25752SFrank Piva #define CL_IMAGE_DX9_MEDIA_PLANE_KHR                        0x202A
107*3cc25752SFrank Piva 
108*3cc25752SFrank Piva /* cl_command_type */
109*3cc25752SFrank Piva #define CL_COMMAND_ACQUIRE_DX9_MEDIA_SURFACES_KHR           0x202B
110*3cc25752SFrank Piva #define CL_COMMAND_RELEASE_DX9_MEDIA_SURFACES_KHR           0x202C
111*3cc25752SFrank Piva 
112*3cc25752SFrank Piva 
113*3cc25752SFrank Piva typedef cl_int CL_API_CALL
114*3cc25752SFrank Piva clGetDeviceIDsFromDX9MediaAdapterKHR_t(
115*3cc25752SFrank Piva     cl_platform_id platform,
116*3cc25752SFrank Piva     cl_uint num_media_adapters,
117*3cc25752SFrank Piva     cl_dx9_media_adapter_type_khr* media_adapter_type,
118*3cc25752SFrank Piva     void* media_adapters,
119*3cc25752SFrank Piva     cl_dx9_media_adapter_set_khr media_adapter_set,
120*3cc25752SFrank Piva     cl_uint num_entries,
121*3cc25752SFrank Piva     cl_device_id* devices,
122*3cc25752SFrank Piva     cl_uint* num_devices);
123*3cc25752SFrank Piva 
124*3cc25752SFrank Piva typedef clGetDeviceIDsFromDX9MediaAdapterKHR_t *
125*3cc25752SFrank Piva clGetDeviceIDsFromDX9MediaAdapterKHR_fn CL_API_SUFFIX__VERSION_1_2;
126*3cc25752SFrank Piva 
127*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
128*3cc25752SFrank Piva clCreateFromDX9MediaSurfaceKHR_t(
129*3cc25752SFrank Piva     cl_context context,
130*3cc25752SFrank Piva     cl_mem_flags flags,
131*3cc25752SFrank Piva     cl_dx9_media_adapter_type_khr adapter_type,
132*3cc25752SFrank Piva     void* surface_info,
133*3cc25752SFrank Piva     cl_uint plane,
134*3cc25752SFrank Piva     cl_int* errcode_ret);
135*3cc25752SFrank Piva 
136*3cc25752SFrank Piva typedef clCreateFromDX9MediaSurfaceKHR_t *
137*3cc25752SFrank Piva clCreateFromDX9MediaSurfaceKHR_fn CL_API_SUFFIX__VERSION_1_2;
138*3cc25752SFrank Piva 
139*3cc25752SFrank Piva typedef cl_int CL_API_CALL
140*3cc25752SFrank Piva clEnqueueAcquireDX9MediaSurfacesKHR_t(
141*3cc25752SFrank Piva     cl_command_queue command_queue,
142*3cc25752SFrank Piva     cl_uint num_objects,
143*3cc25752SFrank Piva     const cl_mem* mem_objects,
144*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
145*3cc25752SFrank Piva     const cl_event* event_wait_list,
146*3cc25752SFrank Piva     cl_event* event);
147*3cc25752SFrank Piva 
148*3cc25752SFrank Piva typedef clEnqueueAcquireDX9MediaSurfacesKHR_t *
149*3cc25752SFrank Piva clEnqueueAcquireDX9MediaSurfacesKHR_fn CL_API_SUFFIX__VERSION_1_2;
150*3cc25752SFrank Piva 
151*3cc25752SFrank Piva typedef cl_int CL_API_CALL
152*3cc25752SFrank Piva clEnqueueReleaseDX9MediaSurfacesKHR_t(
153*3cc25752SFrank Piva     cl_command_queue command_queue,
154*3cc25752SFrank Piva     cl_uint num_objects,
155*3cc25752SFrank Piva     const cl_mem* mem_objects,
156*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
157*3cc25752SFrank Piva     const cl_event* event_wait_list,
158*3cc25752SFrank Piva     cl_event* event);
159*3cc25752SFrank Piva 
160*3cc25752SFrank Piva typedef clEnqueueReleaseDX9MediaSurfacesKHR_t *
161*3cc25752SFrank Piva clEnqueueReleaseDX9MediaSurfacesKHR_fn CL_API_SUFFIX__VERSION_1_2;
162*3cc25752SFrank Piva 
163*3cc25752SFrank Piva #if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
164*3cc25752SFrank Piva 
165*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
166*3cc25752SFrank Piva clGetDeviceIDsFromDX9MediaAdapterKHR(
167*3cc25752SFrank Piva     cl_platform_id platform,
168*3cc25752SFrank Piva     cl_uint num_media_adapters,
169*3cc25752SFrank Piva     cl_dx9_media_adapter_type_khr* media_adapter_type,
170*3cc25752SFrank Piva     void* media_adapters,
171*3cc25752SFrank Piva     cl_dx9_media_adapter_set_khr media_adapter_set,
172*3cc25752SFrank Piva     cl_uint num_entries,
173*3cc25752SFrank Piva     cl_device_id* devices,
174*3cc25752SFrank Piva     cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_2;
175*3cc25752SFrank Piva 
176*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
177*3cc25752SFrank Piva clCreateFromDX9MediaSurfaceKHR(
178*3cc25752SFrank Piva     cl_context context,
179*3cc25752SFrank Piva     cl_mem_flags flags,
180*3cc25752SFrank Piva     cl_dx9_media_adapter_type_khr adapter_type,
181*3cc25752SFrank Piva     void* surface_info,
182*3cc25752SFrank Piva     cl_uint plane,
183*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_2;
184*3cc25752SFrank Piva 
185*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
186*3cc25752SFrank Piva clEnqueueAcquireDX9MediaSurfacesKHR(
187*3cc25752SFrank Piva     cl_command_queue command_queue,
188*3cc25752SFrank Piva     cl_uint num_objects,
189*3cc25752SFrank Piva     const cl_mem* mem_objects,
190*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
191*3cc25752SFrank Piva     const cl_event* event_wait_list,
192*3cc25752SFrank Piva     cl_event* event) CL_API_SUFFIX__VERSION_1_2;
193*3cc25752SFrank Piva 
194*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
195*3cc25752SFrank Piva clEnqueueReleaseDX9MediaSurfacesKHR(
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) CL_API_SUFFIX__VERSION_1_2;
202*3cc25752SFrank Piva 
203*3cc25752SFrank Piva #endif /* !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
204*3cc25752SFrank Piva 
205*3cc25752SFrank Piva /***************************************************************
206*3cc25752SFrank Piva * cl_intel_dx9_media_sharing
207*3cc25752SFrank Piva ***************************************************************/
208*3cc25752SFrank Piva #define cl_intel_dx9_media_sharing 1
209*3cc25752SFrank Piva #define CL_INTEL_DX9_MEDIA_SHARING_EXTENSION_NAME \
210*3cc25752SFrank Piva     "cl_intel_dx9_media_sharing"
211*3cc25752SFrank Piva 
212*3cc25752SFrank Piva typedef cl_uint             cl_dx9_device_source_intel;
213*3cc25752SFrank Piva typedef cl_uint             cl_dx9_device_set_intel;
214*3cc25752SFrank Piva 
215*3cc25752SFrank Piva /* Error codes */
216*3cc25752SFrank Piva #define CL_INVALID_DX9_DEVICE_INTEL                         -1010
217*3cc25752SFrank Piva #define CL_INVALID_DX9_RESOURCE_INTEL                       -1011
218*3cc25752SFrank Piva #define CL_DX9_RESOURCE_ALREADY_ACQUIRED_INTEL              -1012
219*3cc25752SFrank Piva #define CL_DX9_RESOURCE_NOT_ACQUIRED_INTEL                  -1013
220*3cc25752SFrank Piva 
221*3cc25752SFrank Piva /* cl_dx9_device_source_intel */
222*3cc25752SFrank Piva #define CL_D3D9_DEVICE_INTEL                                0x4022
223*3cc25752SFrank Piva #define CL_D3D9EX_DEVICE_INTEL                              0x4070
224*3cc25752SFrank Piva #define CL_DXVA_DEVICE_INTEL                                0x4071
225*3cc25752SFrank Piva 
226*3cc25752SFrank Piva /* cl_dx9_device_set_intel */
227*3cc25752SFrank Piva #define CL_PREFERRED_DEVICES_FOR_DX9_INTEL                  0x4024
228*3cc25752SFrank Piva #define CL_ALL_DEVICES_FOR_DX9_INTEL                        0x4025
229*3cc25752SFrank Piva 
230*3cc25752SFrank Piva /* cl_context_info */
231*3cc25752SFrank Piva #define CL_CONTEXT_D3D9_DEVICE_INTEL                        0x4026
232*3cc25752SFrank Piva #define CL_CONTEXT_D3D9EX_DEVICE_INTEL                      0x4072
233*3cc25752SFrank Piva #define CL_CONTEXT_DXVA_DEVICE_INTEL                        0x4073
234*3cc25752SFrank Piva 
235*3cc25752SFrank Piva /* cl_mem_info */
236*3cc25752SFrank Piva #define CL_MEM_DX9_RESOURCE_INTEL                           0x4027
237*3cc25752SFrank Piva #define CL_MEM_DX9_SHARED_HANDLE_INTEL                      0x4074
238*3cc25752SFrank Piva 
239*3cc25752SFrank Piva /* cl_image_info */
240*3cc25752SFrank Piva #define CL_IMAGE_DX9_PLANE_INTEL                            0x4075
241*3cc25752SFrank Piva 
242*3cc25752SFrank Piva /* cl_command_type */
243*3cc25752SFrank Piva #define CL_COMMAND_ACQUIRE_DX9_OBJECTS_INTEL                0x402A
244*3cc25752SFrank Piva #define CL_COMMAND_RELEASE_DX9_OBJECTS_INTEL                0x402B
245*3cc25752SFrank Piva 
246*3cc25752SFrank Piva 
247*3cc25752SFrank Piva typedef cl_int CL_API_CALL
248*3cc25752SFrank Piva clGetDeviceIDsFromDX9INTEL_t(
249*3cc25752SFrank Piva     cl_platform_id platform,
250*3cc25752SFrank Piva     cl_dx9_device_source_intel dx9_device_source,
251*3cc25752SFrank Piva     void* dx9_object,
252*3cc25752SFrank Piva     cl_dx9_device_set_intel dx9_device_set,
253*3cc25752SFrank Piva     cl_uint num_entries,
254*3cc25752SFrank Piva     cl_device_id* devices,
255*3cc25752SFrank Piva     cl_uint* num_devices);
256*3cc25752SFrank Piva 
257*3cc25752SFrank Piva typedef clGetDeviceIDsFromDX9INTEL_t *
258*3cc25752SFrank Piva clGetDeviceIDsFromDX9INTEL_fn CL_API_SUFFIX__VERSION_1_1;
259*3cc25752SFrank Piva 
260*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
261*3cc25752SFrank Piva clCreateFromDX9MediaSurfaceINTEL_t(
262*3cc25752SFrank Piva     cl_context context,
263*3cc25752SFrank Piva     cl_mem_flags flags,
264*3cc25752SFrank Piva     IDirect3DSurface9* resource,
265*3cc25752SFrank Piva     HANDLE sharedHandle,
266*3cc25752SFrank Piva     UINT plane,
267*3cc25752SFrank Piva     cl_int* errcode_ret);
268*3cc25752SFrank Piva 
269*3cc25752SFrank Piva typedef clCreateFromDX9MediaSurfaceINTEL_t *
270*3cc25752SFrank Piva clCreateFromDX9MediaSurfaceINTEL_fn CL_API_SUFFIX__VERSION_1_1;
271*3cc25752SFrank Piva 
272*3cc25752SFrank Piva typedef cl_int CL_API_CALL
273*3cc25752SFrank Piva clEnqueueAcquireDX9ObjectsINTEL_t(
274*3cc25752SFrank Piva     cl_command_queue command_queue,
275*3cc25752SFrank Piva     cl_uint num_objects,
276*3cc25752SFrank Piva     const cl_mem* mem_objects,
277*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
278*3cc25752SFrank Piva     const cl_event* event_wait_list,
279*3cc25752SFrank Piva     cl_event* event);
280*3cc25752SFrank Piva 
281*3cc25752SFrank Piva typedef clEnqueueAcquireDX9ObjectsINTEL_t *
282*3cc25752SFrank Piva clEnqueueAcquireDX9ObjectsINTEL_fn CL_API_SUFFIX__VERSION_1_1;
283*3cc25752SFrank Piva 
284*3cc25752SFrank Piva typedef cl_int CL_API_CALL
285*3cc25752SFrank Piva clEnqueueReleaseDX9ObjectsINTEL_t(
286*3cc25752SFrank Piva     cl_command_queue command_queue,
287*3cc25752SFrank Piva     cl_uint num_objects,
288*3cc25752SFrank Piva     cl_mem* mem_objects,
289*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
290*3cc25752SFrank Piva     const cl_event* event_wait_list,
291*3cc25752SFrank Piva     cl_event* event);
292*3cc25752SFrank Piva 
293*3cc25752SFrank Piva typedef clEnqueueReleaseDX9ObjectsINTEL_t *
294*3cc25752SFrank Piva clEnqueueReleaseDX9ObjectsINTEL_fn CL_API_SUFFIX__VERSION_1_1;
295*3cc25752SFrank Piva 
296*3cc25752SFrank Piva #if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
297*3cc25752SFrank Piva 
298*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
299*3cc25752SFrank Piva clGetDeviceIDsFromDX9INTEL(
300*3cc25752SFrank Piva     cl_platform_id platform,
301*3cc25752SFrank Piva     cl_dx9_device_source_intel dx9_device_source,
302*3cc25752SFrank Piva     void* dx9_object,
303*3cc25752SFrank Piva     cl_dx9_device_set_intel dx9_device_set,
304*3cc25752SFrank Piva     cl_uint num_entries,
305*3cc25752SFrank Piva     cl_device_id* devices,
306*3cc25752SFrank Piva     cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_1;
307*3cc25752SFrank Piva 
308*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
309*3cc25752SFrank Piva clCreateFromDX9MediaSurfaceINTEL(
310*3cc25752SFrank Piva     cl_context context,
311*3cc25752SFrank Piva     cl_mem_flags flags,
312*3cc25752SFrank Piva     IDirect3DSurface9* resource,
313*3cc25752SFrank Piva     HANDLE sharedHandle,
314*3cc25752SFrank Piva     UINT plane,
315*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_1;
316*3cc25752SFrank Piva 
317*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
318*3cc25752SFrank Piva clEnqueueAcquireDX9ObjectsINTEL(
319*3cc25752SFrank Piva     cl_command_queue command_queue,
320*3cc25752SFrank Piva     cl_uint num_objects,
321*3cc25752SFrank Piva     const cl_mem* mem_objects,
322*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
323*3cc25752SFrank Piva     const cl_event* event_wait_list,
324*3cc25752SFrank Piva     cl_event* event) CL_API_SUFFIX__VERSION_1_1;
325*3cc25752SFrank Piva 
326*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
327*3cc25752SFrank Piva clEnqueueReleaseDX9ObjectsINTEL(
328*3cc25752SFrank Piva     cl_command_queue command_queue,
329*3cc25752SFrank Piva     cl_uint num_objects,
330*3cc25752SFrank Piva     cl_mem* mem_objects,
331*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
332*3cc25752SFrank Piva     const cl_event* event_wait_list,
333*3cc25752SFrank Piva     cl_event* event) CL_API_SUFFIX__VERSION_1_1;
334*3cc25752SFrank Piva 
335*3cc25752SFrank Piva #endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
336*3cc25752SFrank Piva 
337*3cc25752SFrank Piva /***************************************************************
338*3cc25752SFrank Piva * cl_intel_sharing_format_query_dx9
339*3cc25752SFrank Piva ***************************************************************/
340*3cc25752SFrank Piva #define cl_intel_sharing_format_query_dx9 1
341*3cc25752SFrank Piva #define CL_INTEL_SHARING_FORMAT_QUERY_DX9_EXTENSION_NAME \
342*3cc25752SFrank Piva     "cl_intel_sharing_format_query_dx9"
343*3cc25752SFrank Piva 
344*3cc25752SFrank Piva /* when cl_khr_dx9_media_sharing or cl_intel_dx9_media_sharing is supported */
345*3cc25752SFrank Piva 
346*3cc25752SFrank Piva typedef cl_int CL_API_CALL
347*3cc25752SFrank Piva clGetSupportedDX9MediaSurfaceFormatsINTEL_t(
348*3cc25752SFrank Piva     cl_context context,
349*3cc25752SFrank Piva     cl_mem_flags flags,
350*3cc25752SFrank Piva     cl_mem_object_type image_type,
351*3cc25752SFrank Piva     cl_uint plane,
352*3cc25752SFrank Piva     cl_uint num_entries,
353*3cc25752SFrank Piva     D3DFORMAT* dx9_formats,
354*3cc25752SFrank Piva     cl_uint* num_surface_formats);
355*3cc25752SFrank Piva 
356*3cc25752SFrank Piva typedef clGetSupportedDX9MediaSurfaceFormatsINTEL_t *
357*3cc25752SFrank Piva clGetSupportedDX9MediaSurfaceFormatsINTEL_fn ;
358*3cc25752SFrank Piva 
359*3cc25752SFrank Piva #if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
360*3cc25752SFrank Piva 
361*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
362*3cc25752SFrank Piva clGetSupportedDX9MediaSurfaceFormatsINTEL(
363*3cc25752SFrank Piva     cl_context context,
364*3cc25752SFrank Piva     cl_mem_flags flags,
365*3cc25752SFrank Piva     cl_mem_object_type image_type,
366*3cc25752SFrank Piva     cl_uint plane,
367*3cc25752SFrank Piva     cl_uint num_entries,
368*3cc25752SFrank Piva     D3DFORMAT* dx9_formats,
369*3cc25752SFrank Piva     cl_uint* num_surface_formats) ;
370*3cc25752SFrank Piva 
371*3cc25752SFrank Piva #endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
372*3cc25752SFrank Piva 
373*3cc25752SFrank Piva #ifdef __cplusplus
374*3cc25752SFrank Piva }
375*3cc25752SFrank Piva #endif
376*3cc25752SFrank Piva 
377*3cc25752SFrank Piva #endif /* OPENCL_CL_DX9_MEDIA_SHARING_H_ */
378