//===-- DXILABI.h - ABI Sensitive Values for DXIL ---------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file contains definitions of various constants and enums that are // required to remain stable as per the DXIL format's requirements. // // Documentation for DXIL can be found in // https://github.com/Microsoft/DirectXShaderCompiler/blob/main/docs/DXIL.rst. // //===----------------------------------------------------------------------===// #ifndef LLVM_SUPPORT_DXILABI_H #define LLVM_SUPPORT_DXILABI_H #include <cstdint> namespace llvm { namespace dxil { enum class ResourceClass : uint8_t { … }; /// The kind of resource for an SRV or UAV resource. Sometimes referred to as /// "Shape" in the DXIL docs. enum class ResourceKind : uint32_t { … }; /// The element type of an SRV or UAV resource. enum class ElementType : uint32_t { … }; /// Metadata tags for extra resource properties. enum class ExtPropTags : uint32_t { … }; enum class SamplerType : uint32_t { … }; enum class SamplerFeedbackType : uint32_t { … }; const unsigned MinWaveSize = …; const unsigned MaxWaveSize = …; } // namespace dxil } // namespace llvm #endif // LLVM_SUPPORT_DXILABI_H