forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
731 lines
28 KiB
731 lines
28 KiB
/******************************************************************************* |
|
* Copyright (c) 2008-2020 The Khronos Group Inc. |
|
* |
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
* you may not use this file except in compliance with the License. |
|
* You may obtain a copy of the License at |
|
* |
|
* http://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
* |
|
******************************************************************************/ |
|
/*****************************************************************************\ |
|
|
|
Copyright (c) 2013-2020 Intel Corporation All Rights Reserved. |
|
|
|
THESE MATERIALS ARE PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS |
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
|
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
|
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING |
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THESE |
|
MATERIALS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
|
|
File Name: cl_ext_intel.h |
|
|
|
Abstract: |
|
|
|
Notes: |
|
|
|
\*****************************************************************************/ |
|
|
|
#ifndef __CL_EXT_INTEL_H |
|
#define __CL_EXT_INTEL_H |
|
|
|
#include <CL/cl.h> |
|
#include <CL/cl_platform.h> |
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
/*************************************** |
|
* cl_intel_thread_local_exec extension * |
|
****************************************/ |
|
|
|
#define cl_intel_thread_local_exec 1 |
|
|
|
#define CL_QUEUE_THREAD_LOCAL_EXEC_ENABLE_INTEL (((cl_bitfield)1) << 31) |
|
|
|
/*********************************************** |
|
* cl_intel_device_partition_by_names extension * |
|
************************************************/ |
|
|
|
#define cl_intel_device_partition_by_names 1 |
|
|
|
#define CL_DEVICE_PARTITION_BY_NAMES_INTEL 0x4052 |
|
#define CL_PARTITION_BY_NAMES_LIST_END_INTEL -1 |
|
|
|
/************************************************ |
|
* cl_intel_accelerator extension * |
|
* cl_intel_motion_estimation extension * |
|
* cl_intel_advanced_motion_estimation extension * |
|
*************************************************/ |
|
|
|
#define cl_intel_accelerator 1 |
|
#define cl_intel_motion_estimation 1 |
|
#define cl_intel_advanced_motion_estimation 1 |
|
|
|
typedef struct _cl_accelerator_intel* cl_accelerator_intel; |
|
typedef cl_uint cl_accelerator_type_intel; |
|
typedef cl_uint cl_accelerator_info_intel; |
|
|
|
typedef struct _cl_motion_estimation_desc_intel { |
|
cl_uint mb_block_type; |
|
cl_uint subpixel_mode; |
|
cl_uint sad_adjust_mode; |
|
cl_uint search_path_type; |
|
} cl_motion_estimation_desc_intel; |
|
|
|
/* error codes */ |
|
#define CL_INVALID_ACCELERATOR_INTEL -1094 |
|
#define CL_INVALID_ACCELERATOR_TYPE_INTEL -1095 |
|
#define CL_INVALID_ACCELERATOR_DESCRIPTOR_INTEL -1096 |
|
#define CL_ACCELERATOR_TYPE_NOT_SUPPORTED_INTEL -1097 |
|
|
|
/* cl_accelerator_type_intel */ |
|
#define CL_ACCELERATOR_TYPE_MOTION_ESTIMATION_INTEL 0x0 |
|
|
|
/* cl_accelerator_info_intel */ |
|
#define CL_ACCELERATOR_DESCRIPTOR_INTEL 0x4090 |
|
#define CL_ACCELERATOR_REFERENCE_COUNT_INTEL 0x4091 |
|
#define CL_ACCELERATOR_CONTEXT_INTEL 0x4092 |
|
#define CL_ACCELERATOR_TYPE_INTEL 0x4093 |
|
|
|
/* cl_motion_detect_desc_intel flags */ |
|
#define CL_ME_MB_TYPE_16x16_INTEL 0x0 |
|
#define CL_ME_MB_TYPE_8x8_INTEL 0x1 |
|
#define CL_ME_MB_TYPE_4x4_INTEL 0x2 |
|
|
|
#define CL_ME_SUBPIXEL_MODE_INTEGER_INTEL 0x0 |
|
#define CL_ME_SUBPIXEL_MODE_HPEL_INTEL 0x1 |
|
#define CL_ME_SUBPIXEL_MODE_QPEL_INTEL 0x2 |
|
|
|
#define CL_ME_SAD_ADJUST_MODE_NONE_INTEL 0x0 |
|
#define CL_ME_SAD_ADJUST_MODE_HAAR_INTEL 0x1 |
|
|
|
#define CL_ME_SEARCH_PATH_RADIUS_2_2_INTEL 0x0 |
|
#define CL_ME_SEARCH_PATH_RADIUS_4_4_INTEL 0x1 |
|
#define CL_ME_SEARCH_PATH_RADIUS_16_12_INTEL 0x5 |
|
|
|
#define CL_ME_SKIP_BLOCK_TYPE_16x16_INTEL 0x0 |
|
#define CL_ME_CHROMA_INTRA_PREDICT_ENABLED_INTEL 0x1 |
|
#define CL_ME_LUMA_INTRA_PREDICT_ENABLED_INTEL 0x2 |
|
#define CL_ME_SKIP_BLOCK_TYPE_8x8_INTEL 0x4 |
|
|
|
#define CL_ME_FORWARD_INPUT_MODE_INTEL 0x1 |
|
#define CL_ME_BACKWARD_INPUT_MODE_INTEL 0x2 |
|
#define CL_ME_BIDIRECTION_INPUT_MODE_INTEL 0x3 |
|
|
|
#define CL_ME_BIDIR_WEIGHT_QUARTER_INTEL 16 |
|
#define CL_ME_BIDIR_WEIGHT_THIRD_INTEL 21 |
|
#define CL_ME_BIDIR_WEIGHT_HALF_INTEL 32 |
|
#define CL_ME_BIDIR_WEIGHT_TWO_THIRD_INTEL 43 |
|
#define CL_ME_BIDIR_WEIGHT_THREE_QUARTER_INTEL 48 |
|
|
|
#define CL_ME_COST_PENALTY_NONE_INTEL 0x0 |
|
#define CL_ME_COST_PENALTY_LOW_INTEL 0x1 |
|
#define CL_ME_COST_PENALTY_NORMAL_INTEL 0x2 |
|
#define CL_ME_COST_PENALTY_HIGH_INTEL 0x3 |
|
|
|
#define CL_ME_COST_PRECISION_QPEL_INTEL 0x0 |
|
#define CL_ME_COST_PRECISION_HPEL_INTEL 0x1 |
|
#define CL_ME_COST_PRECISION_PEL_INTEL 0x2 |
|
#define CL_ME_COST_PRECISION_DPEL_INTEL 0x3 |
|
|
|
#define CL_ME_LUMA_PREDICTOR_MODE_VERTICAL_INTEL 0x0 |
|
#define CL_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1 |
|
#define CL_ME_LUMA_PREDICTOR_MODE_DC_INTEL 0x2 |
|
#define CL_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_LEFT_INTEL 0x3 |
|
|
|
#define CL_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_RIGHT_INTEL 0x4 |
|
#define CL_ME_LUMA_PREDICTOR_MODE_PLANE_INTEL 0x4 |
|
#define CL_ME_LUMA_PREDICTOR_MODE_VERTICAL_RIGHT_INTEL 0x5 |
|
#define CL_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_DOWN_INTEL 0x6 |
|
#define CL_ME_LUMA_PREDICTOR_MODE_VERTICAL_LEFT_INTEL 0x7 |
|
#define CL_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_UP_INTEL 0x8 |
|
|
|
#define CL_ME_CHROMA_PREDICTOR_MODE_DC_INTEL 0x0 |
|
#define CL_ME_CHROMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1 |
|
#define CL_ME_CHROMA_PREDICTOR_MODE_VERTICAL_INTEL 0x2 |
|
#define CL_ME_CHROMA_PREDICTOR_MODE_PLANE_INTEL 0x3 |
|
|
|
/* cl_device_info */ |
|
#define CL_DEVICE_ME_VERSION_INTEL 0x407E |
|
|
|
#define CL_ME_VERSION_LEGACY_INTEL 0x0 |
|
#define CL_ME_VERSION_ADVANCED_VER_1_INTEL 0x1 |
|
#define CL_ME_VERSION_ADVANCED_VER_2_INTEL 0x2 |
|
|
|
extern CL_API_ENTRY cl_accelerator_intel CL_API_CALL |
|
clCreateAcceleratorINTEL( |
|
cl_context context, |
|
cl_accelerator_type_intel accelerator_type, |
|
size_t descriptor_size, |
|
const void* descriptor, |
|
cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2; |
|
|
|
typedef CL_API_ENTRY cl_accelerator_intel (CL_API_CALL *clCreateAcceleratorINTEL_fn)( |
|
cl_context context, |
|
cl_accelerator_type_intel accelerator_type, |
|
size_t descriptor_size, |
|
const void* descriptor, |
|
cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2; |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clGetAcceleratorInfoINTEL( |
|
cl_accelerator_intel accelerator, |
|
cl_accelerator_info_intel param_name, |
|
size_t param_value_size, |
|
void* param_value, |
|
size_t* param_value_size_ret) CL_EXT_SUFFIX__VERSION_1_2; |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetAcceleratorInfoINTEL_fn)( |
|
cl_accelerator_intel accelerator, |
|
cl_accelerator_info_intel param_name, |
|
size_t param_value_size, |
|
void* param_value, |
|
size_t* param_value_size_ret) CL_EXT_SUFFIX__VERSION_1_2; |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clRetainAcceleratorINTEL( |
|
cl_accelerator_intel accelerator) CL_EXT_SUFFIX__VERSION_1_2; |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL *clRetainAcceleratorINTEL_fn)( |
|
cl_accelerator_intel accelerator) CL_EXT_SUFFIX__VERSION_1_2; |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clReleaseAcceleratorINTEL( |
|
cl_accelerator_intel accelerator) CL_EXT_SUFFIX__VERSION_1_2; |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL *clReleaseAcceleratorINTEL_fn)( |
|
cl_accelerator_intel accelerator) CL_EXT_SUFFIX__VERSION_1_2; |
|
|
|
/****************************************** |
|
* cl_intel_simultaneous_sharing extension * |
|
*******************************************/ |
|
|
|
#define cl_intel_simultaneous_sharing 1 |
|
|
|
#define CL_DEVICE_SIMULTANEOUS_INTEROPS_INTEL 0x4104 |
|
#define CL_DEVICE_NUM_SIMULTANEOUS_INTEROPS_INTEL 0x4105 |
|
|
|
/*********************************** |
|
* cl_intel_egl_image_yuv extension * |
|
************************************/ |
|
|
|
#define cl_intel_egl_image_yuv 1 |
|
|
|
#define CL_EGL_YUV_PLANE_INTEL 0x4107 |
|
|
|
/******************************** |
|
* cl_intel_packed_yuv extension * |
|
*********************************/ |
|
|
|
#define cl_intel_packed_yuv 1 |
|
|
|
#define CL_YUYV_INTEL 0x4076 |
|
#define CL_UYVY_INTEL 0x4077 |
|
#define CL_YVYU_INTEL 0x4078 |
|
#define CL_VYUY_INTEL 0x4079 |
|
|
|
/******************************************** |
|
* cl_intel_required_subgroup_size extension * |
|
*********************************************/ |
|
|
|
#define cl_intel_required_subgroup_size 1 |
|
|
|
#define CL_DEVICE_SUB_GROUP_SIZES_INTEL 0x4108 |
|
#define CL_KERNEL_SPILL_MEM_SIZE_INTEL 0x4109 |
|
#define CL_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL 0x410A |
|
|
|
/**************************************** |
|
* cl_intel_driver_diagnostics extension * |
|
*****************************************/ |
|
|
|
#define cl_intel_driver_diagnostics 1 |
|
|
|
typedef cl_uint cl_diagnostics_verbose_level; |
|
|
|
#define CL_CONTEXT_SHOW_DIAGNOSTICS_INTEL 0x4106 |
|
|
|
#define CL_CONTEXT_DIAGNOSTICS_LEVEL_ALL_INTEL ( 0xff ) |
|
#define CL_CONTEXT_DIAGNOSTICS_LEVEL_GOOD_INTEL ( 1 ) |
|
#define CL_CONTEXT_DIAGNOSTICS_LEVEL_BAD_INTEL ( 1 << 1 ) |
|
#define CL_CONTEXT_DIAGNOSTICS_LEVEL_NEUTRAL_INTEL ( 1 << 2 ) |
|
|
|
/******************************** |
|
* cl_intel_planar_yuv extension * |
|
*********************************/ |
|
|
|
#define CL_NV12_INTEL 0x410E |
|
|
|
#define CL_MEM_NO_ACCESS_INTEL ( 1 << 24 ) |
|
#define CL_MEM_ACCESS_FLAGS_UNRESTRICTED_INTEL ( 1 << 25 ) |
|
|
|
#define CL_DEVICE_PLANAR_YUV_MAX_WIDTH_INTEL 0x417E |
|
#define CL_DEVICE_PLANAR_YUV_MAX_HEIGHT_INTEL 0x417F |
|
|
|
/******************************************************* |
|
* cl_intel_device_side_avc_motion_estimation extension * |
|
********************************************************/ |
|
|
|
#define CL_DEVICE_AVC_ME_VERSION_INTEL 0x410B |
|
#define CL_DEVICE_AVC_ME_SUPPORTS_TEXTURE_SAMPLER_USE_INTEL 0x410C |
|
#define CL_DEVICE_AVC_ME_SUPPORTS_PREEMPTION_INTEL 0x410D |
|
|
|
#define CL_AVC_ME_VERSION_0_INTEL 0x0 /* No support. */ |
|
#define CL_AVC_ME_VERSION_1_INTEL 0x1 /* First supported version. */ |
|
|
|
#define CL_AVC_ME_MAJOR_16x16_INTEL 0x0 |
|
#define CL_AVC_ME_MAJOR_16x8_INTEL 0x1 |
|
#define CL_AVC_ME_MAJOR_8x16_INTEL 0x2 |
|
#define CL_AVC_ME_MAJOR_8x8_INTEL 0x3 |
|
|
|
#define CL_AVC_ME_MINOR_8x8_INTEL 0x0 |
|
#define CL_AVC_ME_MINOR_8x4_INTEL 0x1 |
|
#define CL_AVC_ME_MINOR_4x8_INTEL 0x2 |
|
#define CL_AVC_ME_MINOR_4x4_INTEL 0x3 |
|
|
|
#define CL_AVC_ME_MAJOR_FORWARD_INTEL 0x0 |
|
#define CL_AVC_ME_MAJOR_BACKWARD_INTEL 0x1 |
|
#define CL_AVC_ME_MAJOR_BIDIRECTIONAL_INTEL 0x2 |
|
|
|
#define CL_AVC_ME_PARTITION_MASK_ALL_INTEL 0x0 |
|
#define CL_AVC_ME_PARTITION_MASK_16x16_INTEL 0x7E |
|
#define CL_AVC_ME_PARTITION_MASK_16x8_INTEL 0x7D |
|
#define CL_AVC_ME_PARTITION_MASK_8x16_INTEL 0x7B |
|
#define CL_AVC_ME_PARTITION_MASK_8x8_INTEL 0x77 |
|
#define CL_AVC_ME_PARTITION_MASK_8x4_INTEL 0x6F |
|
#define CL_AVC_ME_PARTITION_MASK_4x8_INTEL 0x5F |
|
#define CL_AVC_ME_PARTITION_MASK_4x4_INTEL 0x3F |
|
|
|
#define CL_AVC_ME_SEARCH_WINDOW_EXHAUSTIVE_INTEL 0x0 |
|
#define CL_AVC_ME_SEARCH_WINDOW_SMALL_INTEL 0x1 |
|
#define CL_AVC_ME_SEARCH_WINDOW_TINY_INTEL 0x2 |
|
#define CL_AVC_ME_SEARCH_WINDOW_EXTRA_TINY_INTEL 0x3 |
|
#define CL_AVC_ME_SEARCH_WINDOW_DIAMOND_INTEL 0x4 |
|
#define CL_AVC_ME_SEARCH_WINDOW_LARGE_DIAMOND_INTEL 0x5 |
|
#define CL_AVC_ME_SEARCH_WINDOW_RESERVED0_INTEL 0x6 |
|
#define CL_AVC_ME_SEARCH_WINDOW_RESERVED1_INTEL 0x7 |
|
#define CL_AVC_ME_SEARCH_WINDOW_CUSTOM_INTEL 0x8 |
|
#define CL_AVC_ME_SEARCH_WINDOW_16x12_RADIUS_INTEL 0x9 |
|
#define CL_AVC_ME_SEARCH_WINDOW_4x4_RADIUS_INTEL 0x2 |
|
#define CL_AVC_ME_SEARCH_WINDOW_2x2_RADIUS_INTEL 0xa |
|
|
|
#define CL_AVC_ME_SAD_ADJUST_MODE_NONE_INTEL 0x0 |
|
#define CL_AVC_ME_SAD_ADJUST_MODE_HAAR_INTEL 0x2 |
|
|
|
#define CL_AVC_ME_SUBPIXEL_MODE_INTEGER_INTEL 0x0 |
|
#define CL_AVC_ME_SUBPIXEL_MODE_HPEL_INTEL 0x1 |
|
#define CL_AVC_ME_SUBPIXEL_MODE_QPEL_INTEL 0x3 |
|
|
|
#define CL_AVC_ME_COST_PRECISION_QPEL_INTEL 0x0 |
|
#define CL_AVC_ME_COST_PRECISION_HPEL_INTEL 0x1 |
|
#define CL_AVC_ME_COST_PRECISION_PEL_INTEL 0x2 |
|
#define CL_AVC_ME_COST_PRECISION_DPEL_INTEL 0x3 |
|
|
|
#define CL_AVC_ME_BIDIR_WEIGHT_QUARTER_INTEL 0x10 |
|
#define CL_AVC_ME_BIDIR_WEIGHT_THIRD_INTEL 0x15 |
|
#define CL_AVC_ME_BIDIR_WEIGHT_HALF_INTEL 0x20 |
|
#define CL_AVC_ME_BIDIR_WEIGHT_TWO_THIRD_INTEL 0x2B |
|
#define CL_AVC_ME_BIDIR_WEIGHT_THREE_QUARTER_INTEL 0x30 |
|
|
|
#define CL_AVC_ME_BORDER_REACHED_LEFT_INTEL 0x0 |
|
#define CL_AVC_ME_BORDER_REACHED_RIGHT_INTEL 0x2 |
|
#define CL_AVC_ME_BORDER_REACHED_TOP_INTEL 0x4 |
|
#define CL_AVC_ME_BORDER_REACHED_BOTTOM_INTEL 0x8 |
|
|
|
#define CL_AVC_ME_SKIP_BLOCK_PARTITION_16x16_INTEL 0x0 |
|
#define CL_AVC_ME_SKIP_BLOCK_PARTITION_8x8_INTEL 0x4000 |
|
|
|
#define CL_AVC_ME_SKIP_BLOCK_16x16_FORWARD_ENABLE_INTEL ( 0x1 << 24 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_16x16_BACKWARD_ENABLE_INTEL ( 0x2 << 24 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_16x16_DUAL_ENABLE_INTEL ( 0x3 << 24 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_FORWARD_ENABLE_INTEL ( 0x55 << 24 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_BACKWARD_ENABLE_INTEL ( 0xAA << 24 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_DUAL_ENABLE_INTEL ( 0xFF << 24 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_0_FORWARD_ENABLE_INTEL ( 0x1 << 24 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_0_BACKWARD_ENABLE_INTEL ( 0x2 << 24 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_1_FORWARD_ENABLE_INTEL ( 0x1 << 26 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_1_BACKWARD_ENABLE_INTEL ( 0x2 << 26 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_2_FORWARD_ENABLE_INTEL ( 0x1 << 28 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_2_BACKWARD_ENABLE_INTEL ( 0x2 << 28 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_3_FORWARD_ENABLE_INTEL ( 0x1 << 30 ) |
|
#define CL_AVC_ME_SKIP_BLOCK_8x8_3_BACKWARD_ENABLE_INTEL ( 0x2 << 30 ) |
|
|
|
#define CL_AVC_ME_BLOCK_BASED_SKIP_4x4_INTEL 0x00 |
|
#define CL_AVC_ME_BLOCK_BASED_SKIP_8x8_INTEL 0x80 |
|
|
|
#define CL_AVC_ME_INTRA_16x16_INTEL 0x0 |
|
#define CL_AVC_ME_INTRA_8x8_INTEL 0x1 |
|
#define CL_AVC_ME_INTRA_4x4_INTEL 0x2 |
|
|
|
#define CL_AVC_ME_INTRA_LUMA_PARTITION_MASK_16x16_INTEL 0x6 |
|
#define CL_AVC_ME_INTRA_LUMA_PARTITION_MASK_8x8_INTEL 0x5 |
|
#define CL_AVC_ME_INTRA_LUMA_PARTITION_MASK_4x4_INTEL 0x3 |
|
|
|
#define CL_AVC_ME_INTRA_NEIGHBOR_LEFT_MASK_ENABLE_INTEL 0x60 |
|
#define CL_AVC_ME_INTRA_NEIGHBOR_UPPER_MASK_ENABLE_INTEL 0x10 |
|
#define CL_AVC_ME_INTRA_NEIGHBOR_UPPER_RIGHT_MASK_ENABLE_INTEL 0x8 |
|
#define CL_AVC_ME_INTRA_NEIGHBOR_UPPER_LEFT_MASK_ENABLE_INTEL 0x4 |
|
|
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_INTEL 0x0 |
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1 |
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_DC_INTEL 0x2 |
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_LEFT_INTEL 0x3 |
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_RIGHT_INTEL 0x4 |
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_PLANE_INTEL 0x4 |
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_RIGHT_INTEL 0x5 |
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_DOWN_INTEL 0x6 |
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_LEFT_INTEL 0x7 |
|
#define CL_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_UP_INTEL 0x8 |
|
#define CL_AVC_ME_CHROMA_PREDICTOR_MODE_DC_INTEL 0x0 |
|
#define CL_AVC_ME_CHROMA_PREDICTOR_MODE_HORIZONTAL_INTEL 0x1 |
|
#define CL_AVC_ME_CHROMA_PREDICTOR_MODE_VERTICAL_INTEL 0x2 |
|
#define CL_AVC_ME_CHROMA_PREDICTOR_MODE_PLANE_INTEL 0x3 |
|
|
|
#define CL_AVC_ME_FRAME_FORWARD_INTEL 0x1 |
|
#define CL_AVC_ME_FRAME_BACKWARD_INTEL 0x2 |
|
#define CL_AVC_ME_FRAME_DUAL_INTEL 0x3 |
|
|
|
#define CL_AVC_ME_SLICE_TYPE_PRED_INTEL 0x0 |
|
#define CL_AVC_ME_SLICE_TYPE_BPRED_INTEL 0x1 |
|
#define CL_AVC_ME_SLICE_TYPE_INTRA_INTEL 0x2 |
|
|
|
#define CL_AVC_ME_INTERLACED_SCAN_TOP_FIELD_INTEL 0x0 |
|
#define CL_AVC_ME_INTERLACED_SCAN_BOTTOM_FIELD_INTEL 0x1 |
|
|
|
/******************************************* |
|
* cl_intel_unified_shared_memory extension * |
|
********************************************/ |
|
|
|
/* These APIs are in sync with Revision Q of the cl_intel_unified_shared_memory spec! */ |
|
|
|
#define cl_intel_unified_shared_memory 1 |
|
|
|
/* cl_device_info */ |
|
#define CL_DEVICE_HOST_MEM_CAPABILITIES_INTEL 0x4190 |
|
#define CL_DEVICE_DEVICE_MEM_CAPABILITIES_INTEL 0x4191 |
|
#define CL_DEVICE_SINGLE_DEVICE_SHARED_MEM_CAPABILITIES_INTEL 0x4192 |
|
#define CL_DEVICE_CROSS_DEVICE_SHARED_MEM_CAPABILITIES_INTEL 0x4193 |
|
#define CL_DEVICE_SHARED_SYSTEM_MEM_CAPABILITIES_INTEL 0x4194 |
|
|
|
typedef cl_bitfield cl_device_unified_shared_memory_capabilities_intel; |
|
|
|
/* cl_device_unified_shared_memory_capabilities_intel - bitfield */ |
|
#define CL_UNIFIED_SHARED_MEMORY_ACCESS_INTEL (1 << 0) |
|
#define CL_UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS_INTEL (1 << 1) |
|
#define CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ACCESS_INTEL (1 << 2) |
|
#define CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ATOMIC_ACCESS_INTEL (1 << 3) |
|
|
|
typedef cl_properties cl_mem_properties_intel; |
|
|
|
/* cl_mem_properties_intel */ |
|
#define CL_MEM_ALLOC_FLAGS_INTEL 0x4195 |
|
|
|
typedef cl_bitfield cl_mem_alloc_flags_intel; |
|
|
|
/* cl_mem_alloc_flags_intel - bitfield */ |
|
#define CL_MEM_ALLOC_WRITE_COMBINED_INTEL (1 << 0) |
|
|
|
typedef cl_uint cl_mem_info_intel; |
|
|
|
/* cl_mem_alloc_info_intel */ |
|
#define CL_MEM_ALLOC_TYPE_INTEL 0x419A |
|
#define CL_MEM_ALLOC_BASE_PTR_INTEL 0x419B |
|
#define CL_MEM_ALLOC_SIZE_INTEL 0x419C |
|
#define CL_MEM_ALLOC_DEVICE_INTEL 0x419D |
|
/* Enum values 0x419E-0x419F are reserved for future queries. */ |
|
|
|
typedef cl_uint cl_unified_shared_memory_type_intel; |
|
|
|
/* cl_unified_shared_memory_type_intel */ |
|
#define CL_MEM_TYPE_UNKNOWN_INTEL 0x4196 |
|
#define CL_MEM_TYPE_HOST_INTEL 0x4197 |
|
#define CL_MEM_TYPE_DEVICE_INTEL 0x4198 |
|
#define CL_MEM_TYPE_SHARED_INTEL 0x4199 |
|
|
|
typedef cl_uint cl_mem_advice_intel; |
|
|
|
/* cl_mem_advice_intel */ |
|
/* Enum values 0x4208-0x420F are reserved for future memory advices. */ |
|
|
|
/* cl_kernel_exec_info */ |
|
#define CL_KERNEL_EXEC_INFO_INDIRECT_HOST_ACCESS_INTEL 0x4200 |
|
#define CL_KERNEL_EXEC_INFO_INDIRECT_DEVICE_ACCESS_INTEL 0x4201 |
|
#define CL_KERNEL_EXEC_INFO_INDIRECT_SHARED_ACCESS_INTEL 0x4202 |
|
#define CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL 0x4203 |
|
|
|
/* cl_command_type */ |
|
#define CL_COMMAND_MEMFILL_INTEL 0x4204 |
|
#define CL_COMMAND_MEMCPY_INTEL 0x4205 |
|
#define CL_COMMAND_MIGRATEMEM_INTEL 0x4206 |
|
#define CL_COMMAND_MEMADVISE_INTEL 0x4207 |
|
|
|
extern CL_API_ENTRY void* CL_API_CALL |
|
clHostMemAllocINTEL( |
|
cl_context context, |
|
const cl_mem_properties_intel* properties, |
|
size_t size, |
|
cl_uint alignment, |
|
cl_int* errcode_ret); |
|
|
|
typedef CL_API_ENTRY void* (CL_API_CALL * |
|
clHostMemAllocINTEL_fn)( |
|
cl_context context, |
|
const cl_mem_properties_intel* properties, |
|
size_t size, |
|
cl_uint alignment, |
|
cl_int* errcode_ret); |
|
|
|
extern CL_API_ENTRY void* CL_API_CALL |
|
clDeviceMemAllocINTEL( |
|
cl_context context, |
|
cl_device_id device, |
|
const cl_mem_properties_intel* properties, |
|
size_t size, |
|
cl_uint alignment, |
|
cl_int* errcode_ret); |
|
|
|
typedef CL_API_ENTRY void* (CL_API_CALL * |
|
clDeviceMemAllocINTEL_fn)( |
|
cl_context context, |
|
cl_device_id device, |
|
const cl_mem_properties_intel* properties, |
|
size_t size, |
|
cl_uint alignment, |
|
cl_int* errcode_ret); |
|
|
|
extern CL_API_ENTRY void* CL_API_CALL |
|
clSharedMemAllocINTEL( |
|
cl_context context, |
|
cl_device_id device, |
|
const cl_mem_properties_intel* properties, |
|
size_t size, |
|
cl_uint alignment, |
|
cl_int* errcode_ret); |
|
|
|
typedef CL_API_ENTRY void* (CL_API_CALL * |
|
clSharedMemAllocINTEL_fn)( |
|
cl_context context, |
|
cl_device_id device, |
|
const cl_mem_properties_intel* properties, |
|
size_t size, |
|
cl_uint alignment, |
|
cl_int* errcode_ret); |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clMemFreeINTEL( |
|
cl_context context, |
|
void* ptr); |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL * |
|
clMemFreeINTEL_fn)( |
|
cl_context context, |
|
void* ptr); |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clMemBlockingFreeINTEL( |
|
cl_context context, |
|
void* ptr); |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL * |
|
clMemBlockingFreeINTEL_fn)( |
|
cl_context context, |
|
void* ptr); |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clGetMemAllocInfoINTEL( |
|
cl_context context, |
|
const void* ptr, |
|
cl_mem_info_intel param_name, |
|
size_t param_value_size, |
|
void* param_value, |
|
size_t* param_value_size_ret); |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL * |
|
clGetMemAllocInfoINTEL_fn)( |
|
cl_context context, |
|
const void* ptr, |
|
cl_mem_info_intel param_name, |
|
size_t param_value_size, |
|
void* param_value, |
|
size_t* param_value_size_ret); |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clSetKernelArgMemPointerINTEL( |
|
cl_kernel kernel, |
|
cl_uint arg_index, |
|
const void* arg_value); |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL * |
|
clSetKernelArgMemPointerINTEL_fn)( |
|
cl_kernel kernel, |
|
cl_uint arg_index, |
|
const void* arg_value); |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clEnqueueMemsetINTEL( /* Deprecated */ |
|
cl_command_queue command_queue, |
|
void* dst_ptr, |
|
cl_int value, |
|
size_t size, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL * |
|
clEnqueueMemsetINTEL_fn)( /* Deprecated */ |
|
cl_command_queue command_queue, |
|
void* dst_ptr, |
|
cl_int value, |
|
size_t size, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clEnqueueMemFillINTEL( |
|
cl_command_queue command_queue, |
|
void* dst_ptr, |
|
const void* pattern, |
|
size_t pattern_size, |
|
size_t size, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL * |
|
clEnqueueMemFillINTEL_fn)( |
|
cl_command_queue command_queue, |
|
void* dst_ptr, |
|
const void* pattern, |
|
size_t pattern_size, |
|
size_t size, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clEnqueueMemcpyINTEL( |
|
cl_command_queue command_queue, |
|
cl_bool blocking, |
|
void* dst_ptr, |
|
const void* src_ptr, |
|
size_t size, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL * |
|
clEnqueueMemcpyINTEL_fn)( |
|
cl_command_queue command_queue, |
|
cl_bool blocking, |
|
void* dst_ptr, |
|
const void* src_ptr, |
|
size_t size, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
#ifdef CL_VERSION_1_2 |
|
|
|
/* Because these APIs use cl_mem_migration_flags, they require |
|
OpenCL 1.2: */ |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clEnqueueMigrateMemINTEL( |
|
cl_command_queue command_queue, |
|
const void* ptr, |
|
size_t size, |
|
cl_mem_migration_flags flags, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL * |
|
clEnqueueMigrateMemINTEL_fn)( |
|
cl_command_queue command_queue, |
|
const void* ptr, |
|
size_t size, |
|
cl_mem_migration_flags flags, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
#endif |
|
|
|
extern CL_API_ENTRY cl_int CL_API_CALL |
|
clEnqueueMemAdviseINTEL( |
|
cl_command_queue command_queue, |
|
const void* ptr, |
|
size_t size, |
|
cl_mem_advice_intel advice, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
typedef CL_API_ENTRY cl_int (CL_API_CALL * |
|
clEnqueueMemAdviseINTEL_fn)( |
|
cl_command_queue command_queue, |
|
const void* ptr, |
|
size_t size, |
|
cl_mem_advice_intel advice, |
|
cl_uint num_events_in_wait_list, |
|
const cl_event* event_wait_list, |
|
cl_event* event); |
|
|
|
/*************************************************** |
|
* cl_intel_create_buffer_with_properties extension * |
|
****************************************************/ |
|
|
|
#define cl_intel_create_buffer_with_properties 1 |
|
|
|
extern CL_API_ENTRY cl_mem CL_API_CALL |
|
clCreateBufferWithPropertiesINTEL( |
|
cl_context context, |
|
const cl_mem_properties_intel* properties, |
|
cl_mem_flags flags, |
|
size_t size, |
|
void * host_ptr, |
|
cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_0; |
|
|
|
typedef CL_API_ENTRY cl_mem (CL_API_CALL * |
|
clCreateBufferWithPropertiesINTEL_fn)( |
|
cl_context context, |
|
const cl_mem_properties_intel* properties, |
|
cl_mem_flags flags, |
|
size_t size, |
|
void * host_ptr, |
|
cl_int * errcode_ret) CL_EXT_SUFFIX__VERSION_1_0; |
|
|
|
/****************************************** |
|
* cl_intel_mem_channel_property extension * |
|
*******************************************/ |
|
|
|
#define CL_MEM_CHANNEL_INTEL 0x4213 |
|
|
|
/********************************* |
|
* cl_intel_mem_force_host_memory * |
|
**********************************/ |
|
|
|
#define cl_intel_mem_force_host_memory 1 |
|
|
|
/* cl_mem_flags */ |
|
#define CL_MEM_FORCE_HOST_MEMORY_INTEL (1 << 20) |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif /* __CL_EXT_INTEL_H */
|
|
|