]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/clang/include/clang/Basic/OpenCLExtensionTypes.def
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / clang / include / clang / Basic / OpenCLExtensionTypes.def
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
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)
35
36 #undef INTEL_SUBGROUP_AVC_TYPE
37 #endif // INTEL_SUBGROUP_AVC_TYPE
38
39 #undef EXT_OPAQUE_TYPE
40