diff options
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); +} |
