LLVM 22.0.0git
DXContainerYAML.cpp File Reference
#include "llvm/ObjectYAML/DXContainerYAML.h"
#include "llvm/ADT/STLForwardCompat.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/BinaryFormat/DXContainer.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ScopedPrinter.h"
#include <cstdint>
#include <system_error>
#include "llvm/BinaryFormat/DXContainerConstants.def"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::yaml

Macros

#define SHADER_FEATURE_FLAG(Num, DxilModuleNum, Val, Str)
#define DESCRIPTOR_RANGE_FLAG(Num, Enum, Flag)
#define ROOT_DESCRIPTOR_FLAG(Num, Enum, Flag)
#define ROOT_SIGNATURE_FLAG(Num, Val)
#define ROOT_DESCRIPTOR_FLAG(Num, Enum, Flag)
#define ROOT_SIGNATURE_FLAG(Num, Val)
#define DESCRIPTOR_RANGE_FLAG(Num, Enum, Flag)
#define SHADER_FEATURE_FLAG(Num, DxilModuleNum, Val, Str)
#define SHADER_FEATURE_FLAG(Num, DxilModuleNum, Val, Str)
#define ROOT_SIGNATURE_FLAG(Num, Val)
#define DESCRIPTOR_RANGE_FLAG(Num, Enum, Flag)
#define ROOT_DESCRIPTOR_FLAG(Num, Enum, Flag)
#define RESOURCE_FLAG(FlagIndex, Enum)

Functions

template<typename T>
static llvm::Error llvm::readDescriptorRanges (DXContainerYAML::RootParameterHeaderYaml &Header, DXContainerYAML::RootSignatureYamlDesc &RootSigDesc, object::DirectX::DescriptorTableView *DTV)

Macro Definition Documentation

◆ DESCRIPTOR_RANGE_FLAG [1/3]

#define DESCRIPTOR_RANGE_FLAG ( Num,
Enum,
Flag )
Value:
NewR.Enum = \
(R.Flags & llvm::to_underlying(dxbc::DescriptorRangeFlags::Enum)) != 0;
constexpr std::underlying_type_t< Enum > to_underlying(Enum E)
Returns underlying integer value of an enum.

◆ DESCRIPTOR_RANGE_FLAG [2/3]

#define DESCRIPTOR_RANGE_FLAG ( Num,
Enum,
Flag )
Value:
if (Enum) \
Flags |= (uint32_t)dxbc::DescriptorRangeFlags::Enum;

◆ DESCRIPTOR_RANGE_FLAG [3/3]

#define DESCRIPTOR_RANGE_FLAG ( Num,
Enum,
Flag )
Value:
IO.mapOptional(#Flag, R.Enum, false);

◆ RESOURCE_FLAG

#define RESOURCE_FLAG ( FlagIndex,
Enum )
Value:
IO.mapRequired(#Enum, Flags.Bits.Enum);

◆ ROOT_DESCRIPTOR_FLAG [1/3]

#define ROOT_DESCRIPTOR_FLAG ( Num,
Enum,
Flag )
Value:
YamlDescriptor.Enum = \
(Descriptor.Flags & \
llvm::to_underlying(dxbc::RootDescriptorFlags::Enum)) > 0;

◆ ROOT_DESCRIPTOR_FLAG [2/3]

#define ROOT_DESCRIPTOR_FLAG ( Num,
Enum,
Flag )
Value:
if (Enum) \
Flags |= (uint32_t)dxbc::RootDescriptorFlags::Enum;

◆ ROOT_DESCRIPTOR_FLAG [3/3]

#define ROOT_DESCRIPTOR_FLAG ( Num,
Enum,
Flag )
Value:
IO.mapOptional(#Flag, D.Enum, false);
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")

◆ ROOT_SIGNATURE_FLAG [1/3]

#define ROOT_SIGNATURE_FLAG ( Num,
Val )
Value:
RootSigDesc.Val = (Flags & llvm::to_underlying(dxbc::RootFlags::Val)) > 0;

◆ ROOT_SIGNATURE_FLAG [2/3]

#define ROOT_SIGNATURE_FLAG ( Num,
Val )
Value:
if (Val) \
Flag |= (uint32_t)dxbc::RootFlags::Val;

◆ ROOT_SIGNATURE_FLAG [3/3]

#define ROOT_SIGNATURE_FLAG ( Num,
Val )
Value:
IO.mapOptional(#Val, S.Val, false);

◆ SHADER_FEATURE_FLAG [1/3]

#define SHADER_FEATURE_FLAG ( Num,
DxilModuleNum,
Val,
Str )
Value:
Val = (FlagData & (uint64_t)dxbc::FeatureFlags::Val) > 0;

◆ SHADER_FEATURE_FLAG [2/3]

#define SHADER_FEATURE_FLAG ( Num,
DxilModuleNum,
Val,
Str )
Value:
if (Val) \
Flag |= (uint64_t)dxbc::FeatureFlags::Val;

◆ SHADER_FEATURE_FLAG [3/3]

#define SHADER_FEATURE_FLAG ( Num,
DxilModuleNum,
Val,
Str )
Value:
IO.mapRequired(#Val, Flags.Val);