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