180d59932Sopenharmony_ci/******************************************************************************* 280d59932Sopenharmony_ci * Copyright (c) 2008-2020 The Khronos Group Inc. 380d59932Sopenharmony_ci * 480d59932Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 580d59932Sopenharmony_ci * you may not use this file except in compliance with the License. 680d59932Sopenharmony_ci * You may obtain a copy of the License at 780d59932Sopenharmony_ci * 880d59932Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 980d59932Sopenharmony_ci * 1080d59932Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1180d59932Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1280d59932Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1380d59932Sopenharmony_ci * See the License for the specific language governing permissions and 1480d59932Sopenharmony_ci * limitations under the License. 1580d59932Sopenharmony_ci ******************************************************************************/ 1680d59932Sopenharmony_ci 1780d59932Sopenharmony_ci#ifndef __OPENCL_CL_D3D10_H 1880d59932Sopenharmony_ci#define __OPENCL_CL_D3D10_H 1980d59932Sopenharmony_ci 2080d59932Sopenharmony_ci#if defined(_MSC_VER) 2180d59932Sopenharmony_ci#if _MSC_VER >=1500 2280d59932Sopenharmony_ci#pragma warning( push ) 2380d59932Sopenharmony_ci#pragma warning( disable : 4201 ) 2480d59932Sopenharmony_ci#pragma warning( disable : 5105 ) 2580d59932Sopenharmony_ci#endif 2680d59932Sopenharmony_ci#endif 2780d59932Sopenharmony_ci#include <d3d10.h> 2880d59932Sopenharmony_ci#if defined(_MSC_VER) 2980d59932Sopenharmony_ci#if _MSC_VER >=1500 3080d59932Sopenharmony_ci#pragma warning( pop ) 3180d59932Sopenharmony_ci#endif 3280d59932Sopenharmony_ci#endif 3380d59932Sopenharmony_ci#include <CL/cl.h> 3480d59932Sopenharmony_ci#include <CL/cl_platform.h> 3580d59932Sopenharmony_ci 3680d59932Sopenharmony_ci#ifdef __cplusplus 3780d59932Sopenharmony_ciextern "C" { 3880d59932Sopenharmony_ci#endif 3980d59932Sopenharmony_ci 4080d59932Sopenharmony_ci/****************************************************************************** 4180d59932Sopenharmony_ci * cl_khr_d3d10_sharing */ 4280d59932Sopenharmony_ci#define cl_khr_d3d10_sharing 1 4380d59932Sopenharmony_ci 4480d59932Sopenharmony_citypedef cl_uint cl_d3d10_device_source_khr; 4580d59932Sopenharmony_citypedef cl_uint cl_d3d10_device_set_khr; 4680d59932Sopenharmony_ci 4780d59932Sopenharmony_ci/******************************************************************************/ 4880d59932Sopenharmony_ci 4980d59932Sopenharmony_ci/* Error Codes */ 5080d59932Sopenharmony_ci#define CL_INVALID_D3D10_DEVICE_KHR -1002 5180d59932Sopenharmony_ci#define CL_INVALID_D3D10_RESOURCE_KHR -1003 5280d59932Sopenharmony_ci#define CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR -1004 5380d59932Sopenharmony_ci#define CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR -1005 5480d59932Sopenharmony_ci 5580d59932Sopenharmony_ci/* cl_d3d10_device_source_nv */ 5680d59932Sopenharmony_ci#define CL_D3D10_DEVICE_KHR 0x4010 5780d59932Sopenharmony_ci#define CL_D3D10_DXGI_ADAPTER_KHR 0x4011 5880d59932Sopenharmony_ci 5980d59932Sopenharmony_ci/* cl_d3d10_device_set_nv */ 6080d59932Sopenharmony_ci#define CL_PREFERRED_DEVICES_FOR_D3D10_KHR 0x4012 6180d59932Sopenharmony_ci#define CL_ALL_DEVICES_FOR_D3D10_KHR 0x4013 6280d59932Sopenharmony_ci 6380d59932Sopenharmony_ci/* cl_context_info */ 6480d59932Sopenharmony_ci#define CL_CONTEXT_D3D10_DEVICE_KHR 0x4014 6580d59932Sopenharmony_ci#define CL_CONTEXT_D3D10_PREFER_SHARED_RESOURCES_KHR 0x402C 6680d59932Sopenharmony_ci 6780d59932Sopenharmony_ci/* cl_mem_info */ 6880d59932Sopenharmony_ci#define CL_MEM_D3D10_RESOURCE_KHR 0x4015 6980d59932Sopenharmony_ci 7080d59932Sopenharmony_ci/* cl_image_info */ 7180d59932Sopenharmony_ci#define CL_IMAGE_D3D10_SUBRESOURCE_KHR 0x4016 7280d59932Sopenharmony_ci 7380d59932Sopenharmony_ci/* cl_command_type */ 7480d59932Sopenharmony_ci#define CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR 0x4017 7580d59932Sopenharmony_ci#define CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR 0x4018 7680d59932Sopenharmony_ci 7780d59932Sopenharmony_ci/******************************************************************************/ 7880d59932Sopenharmony_ci 7980d59932Sopenharmony_citypedef cl_int (CL_API_CALL *clGetDeviceIDsFromD3D10KHR_fn)( 8080d59932Sopenharmony_ci cl_platform_id platform, 8180d59932Sopenharmony_ci cl_d3d10_device_source_khr d3d_device_source, 8280d59932Sopenharmony_ci void * d3d_object, 8380d59932Sopenharmony_ci cl_d3d10_device_set_khr d3d_device_set, 8480d59932Sopenharmony_ci cl_uint num_entries, 8580d59932Sopenharmony_ci cl_device_id * devices, 8680d59932Sopenharmony_ci cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_0; 8780d59932Sopenharmony_ci 8880d59932Sopenharmony_citypedef cl_mem (CL_API_CALL *clCreateFromD3D10BufferKHR_fn)( 8980d59932Sopenharmony_ci cl_context context, 9080d59932Sopenharmony_ci cl_mem_flags flags, 9180d59932Sopenharmony_ci ID3D10Buffer * resource, 9280d59932Sopenharmony_ci cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0; 9380d59932Sopenharmony_ci 9480d59932Sopenharmony_citypedef cl_mem (CL_API_CALL *clCreateFromD3D10Texture2DKHR_fn)( 9580d59932Sopenharmony_ci cl_context context, 9680d59932Sopenharmony_ci cl_mem_flags flags, 9780d59932Sopenharmony_ci ID3D10Texture2D * resource, 9880d59932Sopenharmony_ci UINT subresource, 9980d59932Sopenharmony_ci cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0; 10080d59932Sopenharmony_ci 10180d59932Sopenharmony_citypedef cl_mem (CL_API_CALL *clCreateFromD3D10Texture3DKHR_fn)( 10280d59932Sopenharmony_ci cl_context context, 10380d59932Sopenharmony_ci cl_mem_flags flags, 10480d59932Sopenharmony_ci ID3D10Texture3D * resource, 10580d59932Sopenharmony_ci UINT subresource, 10680d59932Sopenharmony_ci cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0; 10780d59932Sopenharmony_ci 10880d59932Sopenharmony_citypedef cl_int (CL_API_CALL *clEnqueueAcquireD3D10ObjectsKHR_fn)( 10980d59932Sopenharmony_ci cl_command_queue command_queue, 11080d59932Sopenharmony_ci cl_uint num_objects, 11180d59932Sopenharmony_ci const cl_mem * mem_objects, 11280d59932Sopenharmony_ci cl_uint num_events_in_wait_list, 11380d59932Sopenharmony_ci const cl_event * event_wait_list, 11480d59932Sopenharmony_ci cl_event * event) CL_API_SUFFIX__VERSION_1_0; 11580d59932Sopenharmony_ci 11680d59932Sopenharmony_citypedef cl_int (CL_API_CALL *clEnqueueReleaseD3D10ObjectsKHR_fn)( 11780d59932Sopenharmony_ci cl_command_queue command_queue, 11880d59932Sopenharmony_ci cl_uint num_objects, 11980d59932Sopenharmony_ci const cl_mem * mem_objects, 12080d59932Sopenharmony_ci cl_uint num_events_in_wait_list, 12180d59932Sopenharmony_ci const cl_event * event_wait_list, 12280d59932Sopenharmony_ci cl_event * event) CL_API_SUFFIX__VERSION_1_0; 12380d59932Sopenharmony_ci 12480d59932Sopenharmony_ci/*************************************************************** 12580d59932Sopenharmony_ci* cl_intel_sharing_format_query_d3d10 12680d59932Sopenharmony_ci***************************************************************/ 12780d59932Sopenharmony_ci#define cl_intel_sharing_format_query_d3d10 1 12880d59932Sopenharmony_ci 12980d59932Sopenharmony_ci/* when cl_khr_d3d10_sharing is supported */ 13080d59932Sopenharmony_ci 13180d59932Sopenharmony_ciextern CL_API_ENTRY cl_int CL_API_CALL 13280d59932Sopenharmony_ciclGetSupportedD3D10TextureFormatsINTEL( 13380d59932Sopenharmony_ci cl_context context, 13480d59932Sopenharmony_ci cl_mem_flags flags, 13580d59932Sopenharmony_ci cl_mem_object_type image_type, 13680d59932Sopenharmony_ci cl_uint num_entries, 13780d59932Sopenharmony_ci DXGI_FORMAT* d3d10_formats, 13880d59932Sopenharmony_ci cl_uint* num_texture_formats) ; 13980d59932Sopenharmony_ci 14080d59932Sopenharmony_citypedef cl_int (CL_API_CALL * 14180d59932Sopenharmony_ciclGetSupportedD3D10TextureFormatsINTEL_fn)( 14280d59932Sopenharmony_ci cl_context context, 14380d59932Sopenharmony_ci cl_mem_flags flags, 14480d59932Sopenharmony_ci cl_mem_object_type image_type, 14580d59932Sopenharmony_ci cl_uint num_entries, 14680d59932Sopenharmony_ci DXGI_FORMAT* d3d10_formats, 14780d59932Sopenharmony_ci cl_uint* num_texture_formats) ; 14880d59932Sopenharmony_ci 14980d59932Sopenharmony_ci#ifdef __cplusplus 15080d59932Sopenharmony_ci} 15180d59932Sopenharmony_ci#endif 15280d59932Sopenharmony_ci 15380d59932Sopenharmony_ci#endif /* __OPENCL_CL_D3D10_H */ 15480d59932Sopenharmony_ci 155