1 //===-- OpenCLExtensionTypes.def - Metadata about BuiltinTypes ------*- C++ -*-===//
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
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)
12 #ifdef EXT_OPAQUE_TYPE
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)
22 #ifdef INTEL_SUBGROUP_AVC_TYPE
23 INTEL_SUBGROUP_AVC_TYPE(mce_payload_t, McePayload)
24 INTEL_SUBGROUP_AVC_TYPE(ime_payload_t, ImePayload)
25 INTEL_SUBGROUP_AVC_TYPE(ref_payload_t, RefPayload)
26 INTEL_SUBGROUP_AVC_TYPE(sic_payload_t, SicPayload)
27 INTEL_SUBGROUP_AVC_TYPE(mce_result_t, MceResult)
28 INTEL_SUBGROUP_AVC_TYPE(ime_result_t, ImeResult)
29 INTEL_SUBGROUP_AVC_TYPE(ref_result_t, RefResult)
30 INTEL_SUBGROUP_AVC_TYPE(sic_result_t, SicResult)
31 INTEL_SUBGROUP_AVC_TYPE(ime_result_single_reference_streamout_t, ImeResultSingleRefStreamout)
32 INTEL_SUBGROUP_AVC_TYPE(ime_result_dual_reference_streamout_t, ImeResultDualRefStreamout)
33 INTEL_SUBGROUP_AVC_TYPE(ime_single_reference_streamin_t, ImeSingleRefStreamin)
34 INTEL_SUBGROUP_AVC_TYPE(ime_dual_reference_streamin_t, ImeDualRefStreamin)
36 #undef INTEL_SUBGROUP_AVC_TYPE
37 #endif // INTEL_SUBGROUP_AVC_TYPE
39 #undef EXT_OPAQUE_TYPE