diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-12-18 20:30:12 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2024-04-19 21:12:03 +0000 |
| commit | c9157d925c489f07ba9c0b2ce47e5149b75969a5 (patch) | |
| tree | 08bc4a3d9cad3f9ebffa558ddf140b9d9257b219 /contrib/llvm-project/llvm/lib/BinaryFormat/DXContainer.cpp | |
| parent | 2a66844f606a35d68ad8a8061f4bea204274b3bc (diff) | |
Diffstat (limited to 'contrib/llvm-project/llvm/lib/BinaryFormat/DXContainer.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/BinaryFormat/DXContainer.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/BinaryFormat/DXContainer.cpp b/contrib/llvm-project/llvm/lib/BinaryFormat/DXContainer.cpp index 60a89c66d28c..9c0e657b0696 100644 --- a/contrib/llvm-project/llvm/lib/BinaryFormat/DXContainer.cpp +++ b/contrib/llvm-project/llvm/lib/BinaryFormat/DXContainer.cpp @@ -13,6 +13,7 @@ #include "llvm/BinaryFormat/DXContainer.h" #include "llvm/ADT/StringSwitch.h" +#include "llvm/Support/ScopedPrinter.h" using namespace llvm; using namespace llvm::dxbc; @@ -28,3 +29,63 @@ bool ShaderHash::isPopulated() { static uint8_t Zeros[16] = {0}; return Flags > 0 || 0 != memcmp(&Digest, &Zeros, 16); } + +#define COMPONENT_PRECISION(Val, Enum) {#Enum, SigMinPrecision::Enum}, + +static const EnumEntry<SigMinPrecision> SigMinPrecisionNames[] = { +#include "llvm/BinaryFormat/DXContainerConstants.def" +}; + +ArrayRef<EnumEntry<SigMinPrecision>> dxbc::getSigMinPrecisions() { + return ArrayRef(SigMinPrecisionNames); +} + +#define D3D_SYSTEM_VALUE(Val, Enum) {#Enum, D3DSystemValue::Enum}, + +static const EnumEntry<D3DSystemValue> D3DSystemValueNames[] = { +#include "llvm/BinaryFormat/DXContainerConstants.def" +}; + +ArrayRef<EnumEntry<D3DSystemValue>> dxbc::getD3DSystemValues() { + return ArrayRef(D3DSystemValueNames); +} + +#define COMPONENT_TYPE(Val, Enum) {#Enum, SigComponentType::Enum}, + +static const EnumEntry<SigComponentType> SigComponentTypes[] = { +#include "llvm/BinaryFormat/DXContainerConstants.def" +}; + +ArrayRef<EnumEntry<SigComponentType>> dxbc::getSigComponentTypes() { + return ArrayRef(SigComponentTypes); +} + +#define SEMANTIC_KIND(Val, Enum) {#Enum, PSV::SemanticKind::Enum}, + +static const EnumEntry<PSV::SemanticKind> SemanticKindNames[] = { +#include "llvm/BinaryFormat/DXContainerConstants.def" +}; + +ArrayRef<EnumEntry<PSV::SemanticKind>> PSV::getSemanticKinds() { + return ArrayRef(SemanticKindNames); +} + +#define COMPONENT_TYPE(Val, Enum) {#Enum, PSV::ComponentType::Enum}, + +static const EnumEntry<PSV::ComponentType> ComponentTypeNames[] = { +#include "llvm/BinaryFormat/DXContainerConstants.def" +}; + +ArrayRef<EnumEntry<PSV::ComponentType>> PSV::getComponentTypes() { + return ArrayRef(ComponentTypeNames); +} + +#define INTERPOLATION_MODE(Val, Enum) {#Enum, PSV::InterpolationMode::Enum}, + +static const EnumEntry<PSV::InterpolationMode> InterpolationModeNames[] = { +#include "llvm/BinaryFormat/DXContainerConstants.def" +}; + +ArrayRef<EnumEntry<PSV::InterpolationMode>> PSV::getInterpolationModes() { + return ArrayRef(InterpolationModeNames); +} |
