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