Skip to content

Commit 56b7fb9

Browse files
committed
nfc: prep dxbc::RootDescriptorFlags
1 parent b97cec4 commit 56b7fb9

File tree

5 files changed

+31
-18
lines changed

5 files changed

+31
-18
lines changed

llvm/include/llvm/BinaryFormat/DXContainer.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,13 @@ enum class RootFlags : uint32_t {
164164

165165
LLVM_ABI ArrayRef<EnumEntry<RootFlags>> getRootFlags();
166166

167-
#define ROOT_DESCRIPTOR_FLAG(Num, Val) Val = Num,
168-
enum class RootDescriptorFlag : uint32_t {
167+
#define ROOT_DESCRIPTOR_FLAG(Num, Enum, Flag) Enum = Num,
168+
enum class RootDescriptorFlags : uint32_t {
169169
#include "DXContainerConstants.def"
170170
};
171171

172+
LLVM_ABI ArrayRef<EnumEntry<RootDescriptorFlags>> getRootDescriptorFlags();
173+
172174
#define DESCRIPTOR_RANGE_FLAG(Num, Val) Val = Num,
173175
enum class DescriptorRangeFlag : uint32_t {
174176
#include "DXContainerConstants.def"

llvm/include/llvm/BinaryFormat/DXContainerConstants.def

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,17 @@ ROOT_SIGNATURE_FLAG(0x800, SamplerHeapDirectlyIndexed)
8080
#undef ROOT_SIGNATURE_FLAG
8181
#endif // ROOT_SIGNATURE_FLAG
8282

83-
// ROOT_DESCRIPTOR_FLAG(bit offset for the flag, name).
83+
// ROOT_DESCRIPTOR_FLAG(flag value, name, flag).
8484
#ifdef ROOT_DESCRIPTOR_FLAG
8585

86-
ROOT_DESCRIPTOR_FLAG(0, NONE)
87-
ROOT_DESCRIPTOR_FLAG(0x2, DATA_VOLATILE)
88-
ROOT_DESCRIPTOR_FLAG(0x4, DATA_STATIC_WHILE_SET_AT_EXECUTE)
89-
ROOT_DESCRIPTOR_FLAG(0x8, DATA_STATIC)
86+
ROOT_DESCRIPTOR_FLAG(0, None, NONE)
87+
ROOT_DESCRIPTOR_FLAG(0x2, DataVolatile, DATA_VOLATILE)
88+
ROOT_DESCRIPTOR_FLAG(0x4, DataStaticWhileSetAtExecute, DATA_STATIC_WHILE_SET_AT_EXECUTE)
89+
ROOT_DESCRIPTOR_FLAG(0x8, DataStatic, DATA_STATIC)
90+
9091
#undef ROOT_DESCRIPTOR_FLAG
9192
#endif // ROOT_DESCRIPTOR_FLAG
9293

93-
9494
// DESCRIPTOR_RANGE_FLAG(bit offset for the flag, name).
9595
#ifdef DESCRIPTOR_RANGE_FLAG
9696

llvm/include/llvm/ObjectYAML/DXContainerYAML.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ struct RootDescriptorYaml {
8787

8888
LLVM_ABI uint32_t getEncodedFlags() const;
8989

90-
#define ROOT_DESCRIPTOR_FLAG(Num, Val) bool Val = false;
90+
#define ROOT_DESCRIPTOR_FLAG(Num, Enum, Flag) bool Enum = false;
9191
#include "llvm/BinaryFormat/DXContainerConstants.def"
9292
};
9393

llvm/lib/BinaryFormat/DXContainer.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,16 @@ ArrayRef<EnumEntry<RootFlags>> dxbc::getRootFlags() {
6969
return ArrayRef(RootFlagNames);
7070
}
7171

72+
static const EnumEntry<RootDescriptorFlags> RootDescriptorFlagNames[] = {
73+
#define ROOT_DESCRIPTOR_FLAG(Val, Enum, Flag) \
74+
{#Enum, RootDescriptorFlags::Enum},
75+
#include "llvm/BinaryFormat/DXContainerConstants.def"
76+
};
77+
78+
ArrayRef<EnumEntry<RootDescriptorFlags>> dxbc::getRootDescriptorFlags() {
79+
return ArrayRef(RootDescriptorFlagNames);
80+
}
81+
7282
#define SHADER_VISIBILITY(Val, Enum) {#Enum, ShaderVisibility::Enum},
7383

7484
static const EnumEntry<ShaderVisibility> ShaderVisibilityValues[] = {

llvm/lib/ObjectYAML/DXContainerYAML.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,10 @@ DXContainerYAML::RootSignatureYamlDesc::create(
140140
YamlDescriptor.ShaderRegister = Descriptor.ShaderRegister;
141141
YamlDescriptor.RegisterSpace = Descriptor.RegisterSpace;
142142
if (Version > 1) {
143-
#define ROOT_DESCRIPTOR_FLAG(Num, Val) \
144-
YamlDescriptor.Val = \
143+
#define ROOT_DESCRIPTOR_FLAG(Num, Enum, Flag) \
144+
YamlDescriptor.Enum = \
145145
(Descriptor.Flags & \
146-
llvm::to_underlying(dxbc::RootDescriptorFlag::Val)) > 0;
146+
llvm::to_underlying(dxbc::RootDescriptorFlags::Enum)) > 0;
147147
#include "llvm/BinaryFormat/DXContainerConstants.def"
148148
}
149149
} else if (auto *DTV =
@@ -187,12 +187,12 @@ DXContainerYAML::RootSignatureYamlDesc::create(
187187
}
188188

189189
uint32_t DXContainerYAML::RootDescriptorYaml::getEncodedFlags() const {
190-
uint64_t Flag = 0;
191-
#define ROOT_DESCRIPTOR_FLAG(Num, Val) \
192-
if (Val) \
193-
Flag |= (uint32_t)dxbc::RootDescriptorFlag::Val;
190+
uint64_t Flags = 0;
191+
#define ROOT_DESCRIPTOR_FLAG(Num, Enum, Flag) \
192+
if (Enum) \
193+
Flags |= (uint32_t)dxbc::RootDescriptorFlags::Enum;
194194
#include "llvm/BinaryFormat/DXContainerConstants.def"
195-
return Flag;
195+
return Flags;
196196
}
197197

198198
uint32_t DXContainerYAML::RootSignatureYamlDesc::getEncodedFlags() {
@@ -458,7 +458,8 @@ void MappingTraits<llvm::DXContainerYAML::RootDescriptorYaml>::mapping(
458458
IO &IO, llvm::DXContainerYAML::RootDescriptorYaml &D) {
459459
IO.mapRequired("RegisterSpace", D.RegisterSpace);
460460
IO.mapRequired("ShaderRegister", D.ShaderRegister);
461-
#define ROOT_DESCRIPTOR_FLAG(Num, Val) IO.mapOptional(#Val, D.Val, false);
461+
#define ROOT_DESCRIPTOR_FLAG(Num, Enum, Flag) \
462+
IO.mapOptional(#Flag, D.Enum, false);
462463
#include "llvm/BinaryFormat/DXContainerConstants.def"
463464
}
464465

0 commit comments

Comments
 (0)