1//===-- OpenCLExtensionTypes.def - Metadata about BuiltinTypes --*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8// This file extends builtin types database with OpenCL extension types. 9// Custom code should define this macro: 10// EXT_OPAQUE_TYPE(Name, Id, Ext) 11 12#ifdef EXT_OPAQUE_TYPE 13 14#ifndef INTEL_SUBGROUP_AVC_TYPE 15#define INTEL_SUBGROUP_AVC_TYPE(Name, Id) \ 16 EXT_OPAQUE_TYPE(intel_sub_group_avc_##Name, OCLIntelSubgroupAVC##Id, \ 17 cl_intel_device_side_avc_motion_estimation) 18#endif 19 20#endif 21 22#ifdef INTEL_SUBGROUP_AVC_TYPE 23INTEL_SUBGROUP_AVC_TYPE(mce_payload_t, McePayload) 24INTEL_SUBGROUP_AVC_TYPE(ime_payload_t, ImePayload) 25INTEL_SUBGROUP_AVC_TYPE(ref_payload_t, RefPayload) 26INTEL_SUBGROUP_AVC_TYPE(sic_payload_t, SicPayload) 27INTEL_SUBGROUP_AVC_TYPE(mce_result_t, MceResult) 28INTEL_SUBGROUP_AVC_TYPE(ime_result_t, ImeResult) 29INTEL_SUBGROUP_AVC_TYPE(ref_result_t, RefResult) 30INTEL_SUBGROUP_AVC_TYPE(sic_result_t, SicResult) 31INTEL_SUBGROUP_AVC_TYPE(ime_result_single_reference_streamout_t, ImeResultSingleReferenceStreamout) 32INTEL_SUBGROUP_AVC_TYPE(ime_result_dual_reference_streamout_t, ImeResultDualReferenceStreamout) 33INTEL_SUBGROUP_AVC_TYPE(ime_single_reference_streamin_t, ImeSingleReferenceStreamin) 34INTEL_SUBGROUP_AVC_TYPE(ime_dual_reference_streamin_t, ImeDualReferenceStreamin) 35 36#undef INTEL_SUBGROUP_AVC_TYPE 37#endif // INTEL_SUBGROUP_AVC_TYPE 38 39#undef EXT_OPAQUE_TYPE 40 41