1//===-- HLSLIntangibleTypes.def - HLSL standard intangible types ----*- 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//
9// This file defines HLSL standard intangible types. These are implementation-
10// defined types such as handle types that have no defined object
11// representation or value representation and their size is unknown at compile
12// time.
13//
14// The macro is:
15//
16// HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId)
17//
18// where:
19//
20// - Name is the name of the builtin type.
21//
22// - BuiltinType::Id is the enumerator defining the type.
23//
24// - Context.SingletonId is the global singleton of this type.
25//
26// To include this file, define HLSL_INTANGIBLE_TYPE.
27// The macro will be undefined after inclusion.
28//
29//===----------------------------------------------------------------------===//
30
31HLSL_INTANGIBLE_TYPE(__hlsl_resource_t, HLSLResource, HLSLResourceTy)
32
33#undef HLSL_INTANGIBLE_TYPE
34