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, ImeResultSingleRefStreamout)
32INTEL_SUBGROUP_AVC_TYPE(ime_result_dual_reference_streamout_t, ImeResultDualRefStreamout)
33INTEL_SUBGROUP_AVC_TYPE(ime_single_reference_streamin_t, ImeSingleRefStreamin)
34INTEL_SUBGROUP_AVC_TYPE(ime_dual_reference_streamin_t, ImeDualRefStreamin)
35
36#undef INTEL_SUBGROUP_AVC_TYPE
37#endif // INTEL_SUBGROUP_AVC_TYPE
38
39#undef EXT_OPAQUE_TYPE
40
41