Skip to content

Commit fe13b61

Browse files
author
joaosaffran
committed
addressing pr comments
1 parent 4de5c29 commit fe13b61

File tree

5 files changed

+25
-33
lines changed

5 files changed

+25
-33
lines changed

llvm/include/llvm/BinaryFormat/DXContainer.h

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,11 @@ enum class RootParameterType : uint32_t {
165165
ArrayRef<EnumEntry<RootParameterType>> getRootParameterTypes();
166166

167167
#define SHADER_VISIBILITY(Val, Enum) Enum = Val,
168-
enum class ShaderVisibilityFlag : uint32_t {
168+
enum class ShaderVisibility : uint32_t {
169169
#include "DXContainerConstants.def"
170170
};
171171

172-
ArrayRef<EnumEntry<ShaderVisibilityFlag>> getShaderVisibilityFlags();
172+
ArrayRef<EnumEntry<ShaderVisibility>> getShaderVisibility();
173173

174174
PartType parsePartType(StringRef S);
175175

@@ -565,8 +565,6 @@ struct RootConstants {
565565
uint32_t RegisterSpace = 0;
566566
uint32_t Num32BitValues = 0;
567567

568-
RootConstants() = default;
569-
570568
void swapBytes() {
571569
sys::swapByteOrder(ShaderRegister);
572570
sys::swapByteOrder(RegisterSpace);
@@ -579,16 +577,14 @@ struct RootParameter {
579577
union {
580578
dxbc::RootConstants Constants;
581579
};
582-
dxbc::ShaderVisibilityFlag ShaderVisibility;
580+
dxbc::ShaderVisibility ShaderVisibility;
583581

584582
RootParameter() {
585-
Constants = RootConstants();
586583
ParameterType = dxbc::RootParameterType::Empty;
587-
ShaderVisibility = dxbc::ShaderVisibilityFlag::Empty;
584+
ShaderVisibility = dxbc::ShaderVisibility::Empty;
588585
}
589586

590587
void swapBytes() {
591-
592588
sys::swapByteOrder(ParameterType);
593589
sys::swapByteOrder(ShaderVisibility);
594590
switch (ParameterType) {
@@ -620,14 +616,14 @@ struct RootSignatureValidations {
620616
return (Version == 1 || Version == 2);
621617
}
622618

623-
static bool isValidParameterType(dxbc::RootParameterType Flag) {
619+
static bool isValidParameterType(dxbc::RootParameterType Type) {
624620
// RootParameterType::Empty is the higest value in the enum.
625-
return Flag < dxbc::RootParameterType::Empty;
621+
return Type < dxbc::RootParameterType::Empty;
626622
}
627623

628-
static bool isValidShaderVisibility(dxbc::ShaderVisibilityFlag Flag) {
624+
static bool isValidShaderVisibility(dxbc::ShaderVisibility Visibility) {
629625
// ShaderVisibilityFlag::Empty is the higest value in the enum.
630-
return Flag < dxbc::ShaderVisibilityFlag::Empty;
626+
return Visibility < dxbc::ShaderVisibility::Empty;
631627
}
632628
};
633629

llvm/include/llvm/ObjectYAML/DXContainerYAML.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ LLVM_YAML_DECLARE_ENUM_TRAITS(llvm::dxbc::D3DSystemValue)
202202
LLVM_YAML_DECLARE_ENUM_TRAITS(llvm::dxbc::SigComponentType)
203203
LLVM_YAML_DECLARE_ENUM_TRAITS(llvm::dxbc::SigMinPrecision)
204204
LLVM_YAML_DECLARE_ENUM_TRAITS(llvm::dxbc::RootParameterType)
205-
LLVM_YAML_DECLARE_ENUM_TRAITS(llvm::dxbc::ShaderVisibilityFlag)
205+
LLVM_YAML_DECLARE_ENUM_TRAITS(llvm::dxbc::ShaderVisibility)
206206

207207
namespace llvm {
208208

llvm/lib/BinaryFormat/DXContainer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ ArrayRef<EnumEntry<SigComponentType>> dxbc::getSigComponentTypes() {
6060
return ArrayRef(SigComponentTypes);
6161
}
6262

63-
#define SHADER_VISIBILITY(Val, Enum) {#Enum, ShaderVisibilityFlag::Enum},
63+
#define SHADER_VISIBILITY(Val, Enum) {#Enum, ShaderVisibility::Enum},
6464

65-
static const EnumEntry<ShaderVisibilityFlag> ShaderVisibilityFlags[] = {
65+
static const EnumEntry<ShaderVisibility> ShaderVisibilityValues[] = {
6666
#include "llvm/BinaryFormat/DXContainerConstants.def"
6767
};
6868

69-
ArrayRef<EnumEntry<ShaderVisibilityFlag>> dxbc::getShaderVisibilityFlags() {
70-
return ArrayRef(ShaderVisibilityFlags);
69+
ArrayRef<EnumEntry<ShaderVisibility>> dxbc::getShaderVisibility() {
70+
return ArrayRef(ShaderVisibilityValues);
7171
}
7272

7373
#define ROOT_PARAMETER(Val, Enum) {#Enum, RootParameterType::Enum},

llvm/lib/Object/DXContainer.cpp

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -293,28 +293,23 @@ Error DirectX::RootSignature::parse(StringRef Data) {
293293
for (uint32_t It = 0; It < NumParameters; It++) {
294294
dxbc::RootParameter NewParam;
295295

296-
dxbc::RootParameterType PTValue =
296+
NewParam.ParameterType =
297297
support::endian::read<dxbc::RootParameterType,
298298
llvm::endianness::little>(Current);
299-
if (!dxbc::RootSignatureValidations::isValidParameterType(PTValue))
299+
if (!dxbc::RootSignatureValidations::isValidParameterType(NewParam.ParameterType))
300300
return validationFailed("unsupported parameter type value read: " +
301-
llvm::Twine((uint32_t)PTValue));
301+
llvm::Twine((uint32_t)NewParam.ParameterType));
302302

303-
NewParam.ParameterType =
304-
support::endian::read<dxbc::RootParameterType,
305-
llvm::endianness::little>(Current);
306303
Current += sizeof(dxbc::RootParameterType);
307304

308-
dxbc::ShaderVisibilityFlag SVValue =
309-
support::endian::read<dxbc::ShaderVisibilityFlag,
305+
NewParam.ShaderVisibility =
306+
support::endian::read<dxbc::ShaderVisibility,
310307
llvm::endianness::little>(Current);
311-
312-
if (!dxbc::RootSignatureValidations::isValidShaderVisibility(SVValue))
308+
if (!dxbc::RootSignatureValidations::isValidShaderVisibility(NewParam.ShaderVisibility))
313309
return validationFailed("unsupported shader visility flag value read: " +
314-
llvm::Twine((uint32_t)SVValue));
310+
llvm::Twine((uint32_t)NewParam.ShaderVisibility));
315311

316-
NewParam.ShaderVisibility = SVValue;
317-
Current += sizeof(dxbc::ShaderVisibilityFlag);
312+
Current += sizeof(dxbc::ShaderVisibility);
318313

319314
uint32_t Offset =
320315
support::endian::read<uint32_t, llvm::endianness::little>(Current);
@@ -327,6 +322,7 @@ Error DirectX::RootSignature::parse(StringRef Data) {
327322
return Err;
328323
} break;
329324
case dxbc::RootParameterType::Empty:
325+
// unreachable because it was validated and assigned before this point.
330326
llvm_unreachable("Invalid value for RootParameterType");
331327
}
332328

llvm/lib/ObjectYAML/DXContainerYAML.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -348,9 +348,9 @@ void ScalarEnumerationTraits<dxbc::RootParameterType>::enumeration(
348348
IO.enumCase(Value, E.Name.str().c_str(), E.Value);
349349
}
350350

351-
void ScalarEnumerationTraits<dxbc::ShaderVisibilityFlag>::enumeration(
352-
IO &IO, dxbc::ShaderVisibilityFlag &Value) {
353-
for (const auto &E : dxbc::getShaderVisibilityFlags())
351+
void ScalarEnumerationTraits<dxbc::ShaderVisibility>::enumeration(
352+
IO &IO, dxbc::ShaderVisibility &Value) {
353+
for (const auto &E : dxbc::getShaderVisibility())
354354
IO.enumCase(Value, E.Name.str().c_str(), E.Value);
355355
}
356356

0 commit comments

Comments
 (0)