xref: /aosp_15_r20/external/OpenCL-Headers/CL/cl_d3d10.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_D3D10_H_
18*3cc25752SFrank Piva #define OPENCL_CL_D3D10_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(_MSC_VER)
25*3cc25752SFrank Piva #if _MSC_VER >=1500
26*3cc25752SFrank Piva #pragma warning( push )
27*3cc25752SFrank Piva #pragma warning( disable : 4201 )
28*3cc25752SFrank Piva #pragma warning( disable : 5105 )
29*3cc25752SFrank Piva #endif
30*3cc25752SFrank Piva #endif
31*3cc25752SFrank Piva #include <d3d10.h>
32*3cc25752SFrank Piva #if defined(_MSC_VER)
33*3cc25752SFrank Piva #if _MSC_VER >=1500
34*3cc25752SFrank Piva #pragma warning( pop )
35*3cc25752SFrank Piva #endif
36*3cc25752SFrank Piva #endif
37*3cc25752SFrank Piva 
38*3cc25752SFrank Piva #include <CL/cl.h>
39*3cc25752SFrank Piva 
40*3cc25752SFrank Piva /* CL_NO_PROTOTYPES implies CL_NO_EXTENSION_PROTOTYPES: */
41*3cc25752SFrank Piva #if defined(CL_NO_PROTOTYPES) && !defined(CL_NO_EXTENSION_PROTOTYPES)
42*3cc25752SFrank Piva #define CL_NO_EXTENSION_PROTOTYPES
43*3cc25752SFrank Piva #endif
44*3cc25752SFrank Piva 
45*3cc25752SFrank Piva /* CL_NO_EXTENSION_PROTOTYPES implies
46*3cc25752SFrank Piva    CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES and
47*3cc25752SFrank Piva    CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES: */
48*3cc25752SFrank Piva #if defined(CL_NO_EXTENSION_PROTOTYPES) && \
49*3cc25752SFrank Piva     !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
50*3cc25752SFrank Piva #define CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES
51*3cc25752SFrank Piva #endif
52*3cc25752SFrank Piva #if defined(CL_NO_EXTENSION_PROTOTYPES) && \
53*3cc25752SFrank Piva     !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
54*3cc25752SFrank Piva #define CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES
55*3cc25752SFrank Piva #endif
56*3cc25752SFrank Piva 
57*3cc25752SFrank Piva #ifdef __cplusplus
58*3cc25752SFrank Piva extern "C" {
59*3cc25752SFrank Piva #endif
60*3cc25752SFrank Piva 
61*3cc25752SFrank Piva /***************************************************************
62*3cc25752SFrank Piva * cl_khr_d3d10_sharing
63*3cc25752SFrank Piva ***************************************************************/
64*3cc25752SFrank Piva #define cl_khr_d3d10_sharing 1
65*3cc25752SFrank Piva #define CL_KHR_D3D10_SHARING_EXTENSION_NAME \
66*3cc25752SFrank Piva     "cl_khr_d3d10_sharing"
67*3cc25752SFrank Piva 
68*3cc25752SFrank Piva typedef cl_uint             cl_d3d10_device_source_khr;
69*3cc25752SFrank Piva typedef cl_uint             cl_d3d10_device_set_khr;
70*3cc25752SFrank Piva 
71*3cc25752SFrank Piva /* Error codes */
72*3cc25752SFrank Piva #define CL_INVALID_D3D10_DEVICE_KHR                         -1002
73*3cc25752SFrank Piva #define CL_INVALID_D3D10_RESOURCE_KHR                       -1003
74*3cc25752SFrank Piva #define CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR              -1004
75*3cc25752SFrank Piva #define CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR                  -1005
76*3cc25752SFrank Piva 
77*3cc25752SFrank Piva /* cl_d3d10_device_source_khr */
78*3cc25752SFrank Piva #define CL_D3D10_DEVICE_KHR                                 0x4010
79*3cc25752SFrank Piva #define CL_D3D10_DXGI_ADAPTER_KHR                           0x4011
80*3cc25752SFrank Piva 
81*3cc25752SFrank Piva /* cl_d3d10_device_set_khr */
82*3cc25752SFrank Piva #define CL_PREFERRED_DEVICES_FOR_D3D10_KHR                  0x4012
83*3cc25752SFrank Piva #define CL_ALL_DEVICES_FOR_D3D10_KHR                        0x4013
84*3cc25752SFrank Piva 
85*3cc25752SFrank Piva /* cl_context_info */
86*3cc25752SFrank Piva #define CL_CONTEXT_D3D10_DEVICE_KHR                         0x4014
87*3cc25752SFrank Piva #define CL_CONTEXT_D3D10_PREFER_SHARED_RESOURCES_KHR        0x402C
88*3cc25752SFrank Piva 
89*3cc25752SFrank Piva /* cl_mem_info */
90*3cc25752SFrank Piva #define CL_MEM_D3D10_RESOURCE_KHR                           0x4015
91*3cc25752SFrank Piva 
92*3cc25752SFrank Piva /* cl_image_info */
93*3cc25752SFrank Piva #define CL_IMAGE_D3D10_SUBRESOURCE_KHR                      0x4016
94*3cc25752SFrank Piva 
95*3cc25752SFrank Piva /* cl_command_type */
96*3cc25752SFrank Piva #define CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR                0x4017
97*3cc25752SFrank Piva #define CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR                0x4018
98*3cc25752SFrank Piva 
99*3cc25752SFrank Piva 
100*3cc25752SFrank Piva typedef cl_int CL_API_CALL
101*3cc25752SFrank Piva clGetDeviceIDsFromD3D10KHR_t(
102*3cc25752SFrank Piva     cl_platform_id platform,
103*3cc25752SFrank Piva     cl_d3d10_device_source_khr d3d_device_source,
104*3cc25752SFrank Piva     void* d3d_object,
105*3cc25752SFrank Piva     cl_d3d10_device_set_khr d3d_device_set,
106*3cc25752SFrank Piva     cl_uint num_entries,
107*3cc25752SFrank Piva     cl_device_id* devices,
108*3cc25752SFrank Piva     cl_uint* num_devices);
109*3cc25752SFrank Piva 
110*3cc25752SFrank Piva typedef clGetDeviceIDsFromD3D10KHR_t *
111*3cc25752SFrank Piva clGetDeviceIDsFromD3D10KHR_fn CL_API_SUFFIX__VERSION_1_0;
112*3cc25752SFrank Piva 
113*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
114*3cc25752SFrank Piva clCreateFromD3D10BufferKHR_t(
115*3cc25752SFrank Piva     cl_context context,
116*3cc25752SFrank Piva     cl_mem_flags flags,
117*3cc25752SFrank Piva     ID3D10Buffer* resource,
118*3cc25752SFrank Piva     cl_int* errcode_ret);
119*3cc25752SFrank Piva 
120*3cc25752SFrank Piva typedef clCreateFromD3D10BufferKHR_t *
121*3cc25752SFrank Piva clCreateFromD3D10BufferKHR_fn CL_API_SUFFIX__VERSION_1_0;
122*3cc25752SFrank Piva 
123*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
124*3cc25752SFrank Piva clCreateFromD3D10Texture2DKHR_t(
125*3cc25752SFrank Piva     cl_context context,
126*3cc25752SFrank Piva     cl_mem_flags flags,
127*3cc25752SFrank Piva     ID3D10Texture2D* resource,
128*3cc25752SFrank Piva     UINT subresource,
129*3cc25752SFrank Piva     cl_int* errcode_ret);
130*3cc25752SFrank Piva 
131*3cc25752SFrank Piva typedef clCreateFromD3D10Texture2DKHR_t *
132*3cc25752SFrank Piva clCreateFromD3D10Texture2DKHR_fn CL_API_SUFFIX__VERSION_1_0;
133*3cc25752SFrank Piva 
134*3cc25752SFrank Piva typedef cl_mem CL_API_CALL
135*3cc25752SFrank Piva clCreateFromD3D10Texture3DKHR_t(
136*3cc25752SFrank Piva     cl_context context,
137*3cc25752SFrank Piva     cl_mem_flags flags,
138*3cc25752SFrank Piva     ID3D10Texture3D* resource,
139*3cc25752SFrank Piva     UINT subresource,
140*3cc25752SFrank Piva     cl_int* errcode_ret);
141*3cc25752SFrank Piva 
142*3cc25752SFrank Piva typedef clCreateFromD3D10Texture3DKHR_t *
143*3cc25752SFrank Piva clCreateFromD3D10Texture3DKHR_fn CL_API_SUFFIX__VERSION_1_0;
144*3cc25752SFrank Piva 
145*3cc25752SFrank Piva typedef cl_int CL_API_CALL
146*3cc25752SFrank Piva clEnqueueAcquireD3D10ObjectsKHR_t(
147*3cc25752SFrank Piva     cl_command_queue command_queue,
148*3cc25752SFrank Piva     cl_uint num_objects,
149*3cc25752SFrank Piva     const cl_mem* mem_objects,
150*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
151*3cc25752SFrank Piva     const cl_event* event_wait_list,
152*3cc25752SFrank Piva     cl_event* event);
153*3cc25752SFrank Piva 
154*3cc25752SFrank Piva typedef clEnqueueAcquireD3D10ObjectsKHR_t *
155*3cc25752SFrank Piva clEnqueueAcquireD3D10ObjectsKHR_fn CL_API_SUFFIX__VERSION_1_0;
156*3cc25752SFrank Piva 
157*3cc25752SFrank Piva typedef cl_int CL_API_CALL
158*3cc25752SFrank Piva clEnqueueReleaseD3D10ObjectsKHR_t(
159*3cc25752SFrank Piva     cl_command_queue command_queue,
160*3cc25752SFrank Piva     cl_uint num_objects,
161*3cc25752SFrank Piva     const cl_mem* mem_objects,
162*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
163*3cc25752SFrank Piva     const cl_event* event_wait_list,
164*3cc25752SFrank Piva     cl_event* event);
165*3cc25752SFrank Piva 
166*3cc25752SFrank Piva typedef clEnqueueReleaseD3D10ObjectsKHR_t *
167*3cc25752SFrank Piva clEnqueueReleaseD3D10ObjectsKHR_fn CL_API_SUFFIX__VERSION_1_0;
168*3cc25752SFrank Piva 
169*3cc25752SFrank Piva #if !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES)
170*3cc25752SFrank Piva 
171*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
172*3cc25752SFrank Piva clGetDeviceIDsFromD3D10KHR(
173*3cc25752SFrank Piva     cl_platform_id platform,
174*3cc25752SFrank Piva     cl_d3d10_device_source_khr d3d_device_source,
175*3cc25752SFrank Piva     void* d3d_object,
176*3cc25752SFrank Piva     cl_d3d10_device_set_khr d3d_device_set,
177*3cc25752SFrank Piva     cl_uint num_entries,
178*3cc25752SFrank Piva     cl_device_id* devices,
179*3cc25752SFrank Piva     cl_uint* num_devices) CL_API_SUFFIX__VERSION_1_0;
180*3cc25752SFrank Piva 
181*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
182*3cc25752SFrank Piva clCreateFromD3D10BufferKHR(
183*3cc25752SFrank Piva     cl_context context,
184*3cc25752SFrank Piva     cl_mem_flags flags,
185*3cc25752SFrank Piva     ID3D10Buffer* resource,
186*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
187*3cc25752SFrank Piva 
188*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
189*3cc25752SFrank Piva clCreateFromD3D10Texture2DKHR(
190*3cc25752SFrank Piva     cl_context context,
191*3cc25752SFrank Piva     cl_mem_flags flags,
192*3cc25752SFrank Piva     ID3D10Texture2D* resource,
193*3cc25752SFrank Piva     UINT subresource,
194*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
195*3cc25752SFrank Piva 
196*3cc25752SFrank Piva extern CL_API_ENTRY cl_mem CL_API_CALL
197*3cc25752SFrank Piva clCreateFromD3D10Texture3DKHR(
198*3cc25752SFrank Piva     cl_context context,
199*3cc25752SFrank Piva     cl_mem_flags flags,
200*3cc25752SFrank Piva     ID3D10Texture3D* resource,
201*3cc25752SFrank Piva     UINT subresource,
202*3cc25752SFrank Piva     cl_int* errcode_ret) CL_API_SUFFIX__VERSION_1_0;
203*3cc25752SFrank Piva 
204*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
205*3cc25752SFrank Piva clEnqueueAcquireD3D10ObjectsKHR(
206*3cc25752SFrank Piva     cl_command_queue command_queue,
207*3cc25752SFrank Piva     cl_uint num_objects,
208*3cc25752SFrank Piva     const cl_mem* mem_objects,
209*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
210*3cc25752SFrank Piva     const cl_event* event_wait_list,
211*3cc25752SFrank Piva     cl_event* event) CL_API_SUFFIX__VERSION_1_0;
212*3cc25752SFrank Piva 
213*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
214*3cc25752SFrank Piva clEnqueueReleaseD3D10ObjectsKHR(
215*3cc25752SFrank Piva     cl_command_queue command_queue,
216*3cc25752SFrank Piva     cl_uint num_objects,
217*3cc25752SFrank Piva     const cl_mem* mem_objects,
218*3cc25752SFrank Piva     cl_uint num_events_in_wait_list,
219*3cc25752SFrank Piva     const cl_event* event_wait_list,
220*3cc25752SFrank Piva     cl_event* event) CL_API_SUFFIX__VERSION_1_0;
221*3cc25752SFrank Piva 
222*3cc25752SFrank Piva #endif /* !defined(CL_NO_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
223*3cc25752SFrank Piva 
224*3cc25752SFrank Piva /***************************************************************
225*3cc25752SFrank Piva * cl_intel_sharing_format_query_d3d10
226*3cc25752SFrank Piva ***************************************************************/
227*3cc25752SFrank Piva #define cl_intel_sharing_format_query_d3d10 1
228*3cc25752SFrank Piva #define CL_INTEL_SHARING_FORMAT_QUERY_D3D10_EXTENSION_NAME \
229*3cc25752SFrank Piva     "cl_intel_sharing_format_query_d3d10"
230*3cc25752SFrank Piva 
231*3cc25752SFrank Piva /* when cl_khr_d3d10_sharing is supported */
232*3cc25752SFrank Piva 
233*3cc25752SFrank Piva typedef cl_int CL_API_CALL
234*3cc25752SFrank Piva clGetSupportedD3D10TextureFormatsINTEL_t(
235*3cc25752SFrank Piva     cl_context context,
236*3cc25752SFrank Piva     cl_mem_flags flags,
237*3cc25752SFrank Piva     cl_mem_object_type image_type,
238*3cc25752SFrank Piva     cl_uint num_entries,
239*3cc25752SFrank Piva     DXGI_FORMAT* d3d10_formats,
240*3cc25752SFrank Piva     cl_uint* num_texture_formats);
241*3cc25752SFrank Piva 
242*3cc25752SFrank Piva typedef clGetSupportedD3D10TextureFormatsINTEL_t *
243*3cc25752SFrank Piva clGetSupportedD3D10TextureFormatsINTEL_fn ;
244*3cc25752SFrank Piva 
245*3cc25752SFrank Piva #if !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES)
246*3cc25752SFrank Piva 
247*3cc25752SFrank Piva extern CL_API_ENTRY cl_int CL_API_CALL
248*3cc25752SFrank Piva clGetSupportedD3D10TextureFormatsINTEL(
249*3cc25752SFrank Piva     cl_context context,
250*3cc25752SFrank Piva     cl_mem_flags flags,
251*3cc25752SFrank Piva     cl_mem_object_type image_type,
252*3cc25752SFrank Piva     cl_uint num_entries,
253*3cc25752SFrank Piva     DXGI_FORMAT* d3d10_formats,
254*3cc25752SFrank Piva     cl_uint* num_texture_formats) ;
255*3cc25752SFrank Piva 
256*3cc25752SFrank Piva #endif /* !defined(CL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES) */
257*3cc25752SFrank Piva 
258*3cc25752SFrank Piva #ifdef __cplusplus
259*3cc25752SFrank Piva }
260*3cc25752SFrank Piva #endif
261*3cc25752SFrank Piva 
262*3cc25752SFrank Piva #endif /* OPENCL_CL_D3D10_H_ */
263