1*61046927SAndroid Build Coastguard Worker /******************************************************************************* 2*61046927SAndroid Build Coastguard Worker * Copyright (c) 2008-2020 The Khronos Group Inc. 3*61046927SAndroid Build Coastguard Worker * 4*61046927SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*61046927SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*61046927SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*61046927SAndroid Build Coastguard Worker * 8*61046927SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*61046927SAndroid Build Coastguard Worker * 10*61046927SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*61046927SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*61046927SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*61046927SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*61046927SAndroid Build Coastguard Worker * limitations under the License. 15*61046927SAndroid Build Coastguard Worker ******************************************************************************/ 16*61046927SAndroid Build Coastguard Worker 17*61046927SAndroid Build Coastguard Worker #ifndef __OPENCL_CL_D3D11_H 18*61046927SAndroid Build Coastguard Worker #define __OPENCL_CL_D3D11_H 19*61046927SAndroid Build Coastguard Worker 20*61046927SAndroid Build Coastguard Worker #if defined(_MSC_VER) 21*61046927SAndroid Build Coastguard Worker #if _MSC_VER >=1500 22*61046927SAndroid Build Coastguard Worker #pragma warning( push ) 23*61046927SAndroid Build Coastguard Worker #pragma warning( disable : 4201 ) 24*61046927SAndroid Build Coastguard Worker #pragma warning( disable : 5105 ) 25*61046927SAndroid Build Coastguard Worker #endif 26*61046927SAndroid Build Coastguard Worker #endif 27*61046927SAndroid Build Coastguard Worker #include <d3d11.h> 28*61046927SAndroid Build Coastguard Worker #if defined(_MSC_VER) 29*61046927SAndroid Build Coastguard Worker #if _MSC_VER >=1500 30*61046927SAndroid Build Coastguard Worker #pragma warning( pop ) 31*61046927SAndroid Build Coastguard Worker #endif 32*61046927SAndroid Build Coastguard Worker #endif 33*61046927SAndroid Build Coastguard Worker #include <CL/cl.h> 34*61046927SAndroid Build Coastguard Worker #include <CL/cl_platform.h> 35*61046927SAndroid Build Coastguard Worker 36*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 37*61046927SAndroid Build Coastguard Worker extern "C" { 38*61046927SAndroid Build Coastguard Worker #endif 39*61046927SAndroid Build Coastguard Worker 40*61046927SAndroid Build Coastguard Worker /****************************************************************************** 41*61046927SAndroid Build Coastguard Worker * cl_khr_d3d11_sharing */ 42*61046927SAndroid Build Coastguard Worker #define cl_khr_d3d11_sharing 1 43*61046927SAndroid Build Coastguard Worker 44*61046927SAndroid Build Coastguard Worker typedef cl_uint cl_d3d11_device_source_khr; 45*61046927SAndroid Build Coastguard Worker typedef cl_uint cl_d3d11_device_set_khr; 46*61046927SAndroid Build Coastguard Worker 47*61046927SAndroid Build Coastguard Worker /******************************************************************************/ 48*61046927SAndroid Build Coastguard Worker 49*61046927SAndroid Build Coastguard Worker /* Error Codes */ 50*61046927SAndroid Build Coastguard Worker #define CL_INVALID_D3D11_DEVICE_KHR -1006 51*61046927SAndroid Build Coastguard Worker #define CL_INVALID_D3D11_RESOURCE_KHR -1007 52*61046927SAndroid Build Coastguard Worker #define CL_D3D11_RESOURCE_ALREADY_ACQUIRED_KHR -1008 53*61046927SAndroid Build Coastguard Worker #define CL_D3D11_RESOURCE_NOT_ACQUIRED_KHR -1009 54*61046927SAndroid Build Coastguard Worker 55*61046927SAndroid Build Coastguard Worker /* cl_d3d11_device_source */ 56*61046927SAndroid Build Coastguard Worker #define CL_D3D11_DEVICE_KHR 0x4019 57*61046927SAndroid Build Coastguard Worker #define CL_D3D11_DXGI_ADAPTER_KHR 0x401A 58*61046927SAndroid Build Coastguard Worker 59*61046927SAndroid Build Coastguard Worker /* cl_d3d11_device_set */ 60*61046927SAndroid Build Coastguard Worker #define CL_PREFERRED_DEVICES_FOR_D3D11_KHR 0x401B 61*61046927SAndroid Build Coastguard Worker #define CL_ALL_DEVICES_FOR_D3D11_KHR 0x401C 62*61046927SAndroid Build Coastguard Worker 63*61046927SAndroid Build Coastguard Worker /* cl_context_info */ 64*61046927SAndroid Build Coastguard Worker #define CL_CONTEXT_D3D11_DEVICE_KHR 0x401D 65*61046927SAndroid Build Coastguard Worker #define CL_CONTEXT_D3D11_PREFER_SHARED_RESOURCES_KHR 0x402D 66*61046927SAndroid Build Coastguard Worker 67*61046927SAndroid Build Coastguard Worker /* cl_mem_info */ 68*61046927SAndroid Build Coastguard Worker #define CL_MEM_D3D11_RESOURCE_KHR 0x401E 69*61046927SAndroid Build Coastguard Worker 70*61046927SAndroid Build Coastguard Worker /* cl_image_info */ 71*61046927SAndroid Build Coastguard Worker #define CL_IMAGE_D3D11_SUBRESOURCE_KHR 0x401F 72*61046927SAndroid Build Coastguard Worker 73*61046927SAndroid Build Coastguard Worker /* cl_command_type */ 74*61046927SAndroid Build Coastguard Worker #define CL_COMMAND_ACQUIRE_D3D11_OBJECTS_KHR 0x4020 75*61046927SAndroid Build Coastguard Worker #define CL_COMMAND_RELEASE_D3D11_OBJECTS_KHR 0x4021 76*61046927SAndroid Build Coastguard Worker 77*61046927SAndroid Build Coastguard Worker /******************************************************************************/ 78*61046927SAndroid Build Coastguard Worker 79*61046927SAndroid Build Coastguard Worker typedef cl_int (CL_API_CALL *clGetDeviceIDsFromD3D11KHR_fn)( 80*61046927SAndroid Build Coastguard Worker cl_platform_id platform, 81*61046927SAndroid Build Coastguard Worker cl_d3d11_device_source_khr d3d_device_source, 82*61046927SAndroid Build Coastguard Worker void * d3d_object, 83*61046927SAndroid Build Coastguard Worker cl_d3d11_device_set_khr d3d_device_set, 84*61046927SAndroid Build Coastguard Worker cl_uint num_entries, 85*61046927SAndroid Build Coastguard Worker cl_device_id * devices, 86*61046927SAndroid Build Coastguard Worker cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_2; 87*61046927SAndroid Build Coastguard Worker 88*61046927SAndroid Build Coastguard Worker typedef cl_mem (CL_API_CALL *clCreateFromD3D11BufferKHR_fn)( 89*61046927SAndroid Build Coastguard Worker cl_context context, 90*61046927SAndroid Build Coastguard Worker cl_mem_flags flags, 91*61046927SAndroid Build Coastguard Worker ID3D11Buffer * resource, 92*61046927SAndroid Build Coastguard Worker cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2; 93*61046927SAndroid Build Coastguard Worker 94*61046927SAndroid Build Coastguard Worker typedef cl_mem (CL_API_CALL *clCreateFromD3D11Texture2DKHR_fn)( 95*61046927SAndroid Build Coastguard Worker cl_context context, 96*61046927SAndroid Build Coastguard Worker cl_mem_flags flags, 97*61046927SAndroid Build Coastguard Worker ID3D11Texture2D * resource, 98*61046927SAndroid Build Coastguard Worker UINT subresource, 99*61046927SAndroid Build Coastguard Worker cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2; 100*61046927SAndroid Build Coastguard Worker 101*61046927SAndroid Build Coastguard Worker typedef cl_mem (CL_API_CALL *clCreateFromD3D11Texture3DKHR_fn)( 102*61046927SAndroid Build Coastguard Worker cl_context context, 103*61046927SAndroid Build Coastguard Worker cl_mem_flags flags, 104*61046927SAndroid Build Coastguard Worker ID3D11Texture3D * resource, 105*61046927SAndroid Build Coastguard Worker UINT subresource, 106*61046927SAndroid Build Coastguard Worker cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2; 107*61046927SAndroid Build Coastguard Worker 108*61046927SAndroid Build Coastguard Worker typedef cl_int (CL_API_CALL *clEnqueueAcquireD3D11ObjectsKHR_fn)( 109*61046927SAndroid Build Coastguard Worker cl_command_queue command_queue, 110*61046927SAndroid Build Coastguard Worker cl_uint num_objects, 111*61046927SAndroid Build Coastguard Worker const cl_mem * mem_objects, 112*61046927SAndroid Build Coastguard Worker cl_uint num_events_in_wait_list, 113*61046927SAndroid Build Coastguard Worker const cl_event * event_wait_list, 114*61046927SAndroid Build Coastguard Worker cl_event * event) CL_API_SUFFIX__VERSION_1_2; 115*61046927SAndroid Build Coastguard Worker 116*61046927SAndroid Build Coastguard Worker typedef cl_int (CL_API_CALL *clEnqueueReleaseD3D11ObjectsKHR_fn)( 117*61046927SAndroid Build Coastguard Worker cl_command_queue command_queue, 118*61046927SAndroid Build Coastguard Worker cl_uint num_objects, 119*61046927SAndroid Build Coastguard Worker const cl_mem * mem_objects, 120*61046927SAndroid Build Coastguard Worker cl_uint num_events_in_wait_list, 121*61046927SAndroid Build Coastguard Worker const cl_event * event_wait_list, 122*61046927SAndroid Build Coastguard Worker cl_event * event) CL_API_SUFFIX__VERSION_1_2; 123*61046927SAndroid Build Coastguard Worker 124*61046927SAndroid Build Coastguard Worker /*************************************************************** 125*61046927SAndroid Build Coastguard Worker * cl_intel_sharing_format_query_d3d11 126*61046927SAndroid Build Coastguard Worker ***************************************************************/ 127*61046927SAndroid Build Coastguard Worker #define cl_intel_sharing_format_query_d3d11 1 128*61046927SAndroid Build Coastguard Worker 129*61046927SAndroid Build Coastguard Worker /* when cl_khr_d3d11_sharing is supported */ 130*61046927SAndroid Build Coastguard Worker 131*61046927SAndroid Build Coastguard Worker extern CL_API_ENTRY cl_int CL_API_CALL 132*61046927SAndroid Build Coastguard Worker clGetSupportedD3D11TextureFormatsINTEL( 133*61046927SAndroid Build Coastguard Worker cl_context context, 134*61046927SAndroid Build Coastguard Worker cl_mem_flags flags, 135*61046927SAndroid Build Coastguard Worker cl_mem_object_type image_type, 136*61046927SAndroid Build Coastguard Worker cl_uint plane, 137*61046927SAndroid Build Coastguard Worker cl_uint num_entries, 138*61046927SAndroid Build Coastguard Worker DXGI_FORMAT* d3d11_formats, 139*61046927SAndroid Build Coastguard Worker cl_uint* num_texture_formats) ; 140*61046927SAndroid Build Coastguard Worker 141*61046927SAndroid Build Coastguard Worker typedef cl_int (CL_API_CALL * 142*61046927SAndroid Build Coastguard Worker clGetSupportedD3D11TextureFormatsINTEL_fn)( 143*61046927SAndroid Build Coastguard Worker cl_context context, 144*61046927SAndroid Build Coastguard Worker cl_mem_flags flags, 145*61046927SAndroid Build Coastguard Worker cl_mem_object_type image_type, 146*61046927SAndroid Build Coastguard Worker cl_uint plane, 147*61046927SAndroid Build Coastguard Worker cl_uint num_entries, 148*61046927SAndroid Build Coastguard Worker DXGI_FORMAT* d3d11_formats, 149*61046927SAndroid Build Coastguard Worker cl_uint* num_texture_formats) ; 150*61046927SAndroid Build Coastguard Worker 151*61046927SAndroid Build Coastguard Worker #ifdef __cplusplus 152*61046927SAndroid Build Coastguard Worker } 153*61046927SAndroid Build Coastguard Worker #endif 154*61046927SAndroid Build Coastguard Worker 155*61046927SAndroid Build Coastguard Worker #endif /* __OPENCL_CL_D3D11_H */ 156*61046927SAndroid Build Coastguard Worker 157