HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cl_d3d10.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (c) 2008-2020 The Khronos Group Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  ******************************************************************************/
16 
17 #ifndef __OPENCL_CL_D3D10_H
18 #define __OPENCL_CL_D3D10_H
19 
20 #if defined(_MSC_VER)
21 #if _MSC_VER >=1500
22 #pragma warning( push )
23 #pragma warning( disable : 4201 )
24 #pragma warning( disable : 5105 )
25 #endif
26 #endif
27 #include <d3d10.h>
28 #if defined(_MSC_VER)
29 #if _MSC_VER >=1500
30 #pragma warning( pop )
31 #endif
32 #endif
33 #include <CL/cl.h>
34 #include <CL/cl_platform.h>
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 /******************************************************************************
41  * cl_khr_d3d10_sharing */
42 #define cl_khr_d3d10_sharing 1
43 
46 
47 /******************************************************************************/
48 
49 /* Error Codes */
50 #define CL_INVALID_D3D10_DEVICE_KHR -1002
51 #define CL_INVALID_D3D10_RESOURCE_KHR -1003
52 #define CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR -1004
53 #define CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR -1005
54 
55 /* cl_d3d10_device_source_nv */
56 #define CL_D3D10_DEVICE_KHR 0x4010
57 #define CL_D3D10_DXGI_ADAPTER_KHR 0x4011
58 
59 /* cl_d3d10_device_set_nv */
60 #define CL_PREFERRED_DEVICES_FOR_D3D10_KHR 0x4012
61 #define CL_ALL_DEVICES_FOR_D3D10_KHR 0x4013
62 
63 /* cl_context_info */
64 #define CL_CONTEXT_D3D10_DEVICE_KHR 0x4014
65 #define CL_CONTEXT_D3D10_PREFER_SHARED_RESOURCES_KHR 0x402C
66 
67 /* cl_mem_info */
68 #define CL_MEM_D3D10_RESOURCE_KHR 0x4015
69 
70 /* cl_image_info */
71 #define CL_IMAGE_D3D10_SUBRESOURCE_KHR 0x4016
72 
73 /* cl_command_type */
74 #define CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR 0x4017
75 #define CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR 0x4018
76 
77 /******************************************************************************/
78 
80  cl_platform_id platform,
81  cl_d3d10_device_source_khr d3d_device_source,
82  void * d3d_object,
83  cl_d3d10_device_set_khr d3d_device_set,
84  cl_uint num_entries,
85  cl_device_id * devices,
86  cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_0;
87 
89  cl_context context,
91  ID3D10Buffer * resource,
92  cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
93 
95  cl_context context,
97  ID3D10Texture2D * resource,
98  UINT subresource,
99  cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
100 
102  cl_context context,
104  ID3D10Texture3D * resource,
105  UINT subresource,
106  cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
107 
109  cl_command_queue command_queue,
110  cl_uint num_objects,
111  const cl_mem * mem_objects,
112  cl_uint num_events_in_wait_list,
113  const cl_event * event_wait_list,
115 
117  cl_command_queue command_queue,
118  cl_uint num_objects,
119  const cl_mem * mem_objects,
120  cl_uint num_events_in_wait_list,
121  const cl_event * event_wait_list,
123 
124 /***************************************************************
125 * cl_intel_sharing_format_query_d3d10
126 ***************************************************************/
127 #define cl_intel_sharing_format_query_d3d10 1
128 
129 /* when cl_khr_d3d10_sharing is supported */
130 
133  cl_context context,
134  cl_mem_flags flags,
135  cl_mem_object_type image_type,
136  cl_uint num_entries,
137  DXGI_FORMAT* d3d10_formats,
138  cl_uint* num_texture_formats) ;
139 
140 typedef cl_int (CL_API_CALL *
142  cl_context context,
144  cl_mem_object_type image_type,
145  cl_uint num_entries,
146  DXGI_FORMAT* d3d10_formats,
147  cl_uint* num_texture_formats) ;
148 
149 #ifdef __cplusplus
150 }
151 #endif
152 
153 #endif /* __OPENCL_CL_D3D10_H */
154 
struct _cl_device_id * cl_device_id
Definition: cl.h:30
uint32_t cl_uint
Definition: cl_platform.h:261
GLbitfield flags
Definition: glcorearb.h:1596
struct _cl_context * cl_context
Definition: cl.h:31
cl_uint cl_mem_object_type
Definition: cl.h:70
cl_int(CL_API_CALL * clEnqueueReleaseD3D10ObjectsKHR_fn)(cl_command_queue command_queue, cl_uint num_objects, const cl_mem *mem_objects, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_0
Definition: cl_d3d10.h:116
cl_int(CL_API_CALL * clGetSupportedD3D10TextureFormatsINTEL_fn)(cl_context context, cl_mem_flags flags, cl_mem_object_type image_type, cl_uint num_entries, DXGI_FORMAT *d3d10_formats, cl_uint *num_texture_formats)
Definition: cl_d3d10.h:141
CL_API_ENTRY cl_int CL_API_CALL clGetSupportedD3D10TextureFormatsINTEL(cl_context context, cl_mem_flags flags, cl_mem_object_type image_type, cl_uint num_entries, DXGI_FORMAT *d3d10_formats, cl_uint *num_texture_formats)
int32_t cl_int
Definition: cl_platform.h:260
cl_int(CL_API_CALL * clEnqueueAcquireD3D10ObjectsKHR_fn)(cl_command_queue command_queue, cl_uint num_objects, const cl_mem *mem_objects, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event) CL_API_SUFFIX__VERSION_1_0
Definition: cl_d3d10.h:108
cl_uint cl_d3d10_device_source_khr
Definition: cl_d3d10.h:44
struct _cl_platform_id * cl_platform_id
Definition: cl.h:29
struct _cl_event * event
Definition: glcorearb.h:2961
#define CL_API_ENTRY
Definition: cl_platform.h:38
cl_uint cl_d3d10_device_set_khr
Definition: cl_d3d10.h:45
cl_int(CL_API_CALL * clGetDeviceIDsFromD3D10KHR_fn)(cl_platform_id platform, cl_d3d10_device_source_khr d3d_device_source, void *d3d_object, cl_d3d10_device_set_khr d3d_device_set, cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_0
Definition: cl_d3d10.h:79
struct _cl_mem * cl_mem
Definition: cl.h:33
cl_mem(CL_API_CALL * clCreateFromD3D10Texture2DKHR_fn)(cl_context context, cl_mem_flags flags, ID3D10Texture2D *resource, UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0
Definition: cl_d3d10.h:94
cl_mem(CL_API_CALL * clCreateFromD3D10Texture3DKHR_fn)(cl_context context, cl_mem_flags flags, ID3D10Texture3D *resource, UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0
Definition: cl_d3d10.h:101
struct _cl_event * cl_event
Definition: cl.h:36
struct _cl_command_queue * cl_command_queue
Definition: cl.h:32
#define CL_API_SUFFIX__VERSION_1_0
Definition: cl_platform.h:67
#define CL_API_CALL
Definition: cl_platform.h:41
cl_mem(CL_API_CALL * clCreateFromD3D10BufferKHR_fn)(cl_context context, cl_mem_flags flags, ID3D10Buffer *resource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0
Definition: cl_d3d10.h:88
cl_bitfield cl_mem_flags
Definition: cl.h:66
UINT
Definition: ImfPixelType.h:22