mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-11-23 15:30:09 +00:00
725df7c15d
This just updates the headers from Khronos. Change the cl_mem initialisers, not sure what totally correct answer is. Acked-by: Francisco Jerez <currojerez@riseup.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7468>
732 lines
28 KiB
C
732 lines
28 KiB
C
/*******************************************************************************
|
|
* 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 */
|