Skip to content

Commit 860fddd

Browse files
author
joaosaffran
committed
addressing comments
1 parent 578faea commit 860fddd

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

llvm/lib/Target/DirectX/DXILRootSignature.cpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ static bool validate(LLVMContext *Ctx, const mcdxbc::RootSignatureDesc &RSD) {
164164
return reportValueError(Ctx, "RootFlags", RSD.Flags);
165165
}
166166

167-
for (const auto &P : RSD.Parameters) {
167+
for (const mcdxbc::RootParameter &P : RSD.Parameters) {
168168
if (!dxbc::isValidShaderVisibility(P.Header.ShaderVisibility))
169169
return reportValueError(Ctx, "ShaderVisibility",
170170
P.Header.ShaderVisibility);
@@ -242,9 +242,9 @@ analyzeModule(Module &M) {
242242

243243
mcdxbc::RootSignatureDesc RSD;
244244
// Clang emits the root signature data in dxcontainer following a specific
245-
// sequence. First the header, then the root parameters. The header is
246-
// always 24 bytes long, this is why we have 24 here.
247-
RSD.RootParameterOffset = 24U;
245+
// sequence. First the header, then the root parameters. So the header
246+
// offset will always equal to the header size.
247+
RSD.RootParameterOffset = sizeof(dxbc::RootSignatureHeader);
248248

249249
if (parse(Ctx, RSD, RootElementListNode) || validate(Ctx, RSD)) {
250250
return RSDMap;
@@ -271,7 +271,6 @@ PreservedAnalyses RootSignatureAnalysisPrinter::run(Module &M,
271271
SmallDenseMap<const Function *, mcdxbc::RootSignatureDesc> &RSDMap =
272272
AM.getResult<RootSignatureAnalysis>(M);
273273

274-
const size_t RSHSize = sizeof(dxbc::RootSignatureHeader);
275274
OS << "Root Signature Definitions"
276275
<< "\n";
277276
uint8_t Space = 0;
@@ -286,13 +285,9 @@ PreservedAnalyses RootSignatureAnalysisPrinter::run(Module &M,
286285
Space++;
287286
OS << indent(Space) << "Flags: " << format_hex(RS.Flags, 8) << "\n";
288287
OS << indent(Space) << "Version: " << RS.Version << "\n";
289-
OS << indent(Space) << "NumParameters: " << RS.Parameters.size() << "\n";
290288
OS << indent(Space) << "RootParametersOffset: " << RS.RootParameterOffset
291289
<< "\n";
292-
OS << indent(Space) << "NumStaticSamplers: " << 0 << "\n";
293-
OS << indent(Space) << "StaticSamplersOffset: " << RS.StaticSamplersOffset
294-
<< "\n";
295-
290+
OS << indent(Space) << "NumParameters: " << RS.Parameters.size() << "\n";
296291
Space++;
297292
for (auto const &P : RS.Parameters) {
298293
OS << indent(Space) << "- Parameter Type: " << P.Header.ParameterType
@@ -311,6 +306,9 @@ PreservedAnalyses RootSignatureAnalysisPrinter::run(Module &M,
311306
}
312307
}
313308
Space--;
309+
OS << indent(Space) << "NumStaticSamplers: " << 0 << "\n";
310+
OS << indent(Space) << "StaticSamplersOffset: " << RS.StaticSamplersOffset
311+
<< "\n";
314312

315313
Space--;
316314
// end root signature header

llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
2626
; CHECK-LABEL: Definition for 'main':
2727
; CHECK-NEXT: Flags: 0x000001
2828
; CHECK-NEXT: Version: 2
29-
; CHECK-NEXT: NumParameters: 0
3029
; CHECK-NEXT: RootParametersOffset: 24
30+
; CHECK-NEXT: NumParameters: 0
3131
; CHECK-NEXT: NumStaticSamplers: 0
3232
; CHECK-NEXT: StaticSamplersOffset: 0
3333

3434
; CHECK-LABEL: Definition for 'anotherMain':
3535
; CHECK-NEXT: Flags: 0x000002
3636
; CHECK-NEXT: Version: 2
37-
; CHECK-NEXT: NumParameters: 0
3837
; CHECK-NEXT: RootParametersOffset: 24
38+
; CHECK-NEXT: NumParameters: 0
3939
; CHECK-NEXT: NumStaticSamplers: 0
4040
; CHECK-NEXT: StaticSamplersOffset: 0

llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
1919
;CHECK-LABEL: Definition for 'main':
2020
;CHECK-NEXT: Flags: 0x000001
2121
;CHECK-NEXT: Version: 2
22-
;CHECK-NEXT: NumParameters: 1
2322
;CHECK-NEXT: RootParametersOffset: 24
24-
;CHECK-NEXT: NumStaticSamplers: 0
25-
;CHECK-NEXT: StaticSamplersOffset: 0
23+
;CHECK-NEXT: NumParameters: 1
2624
;CHECK-NEXT: - Parameter Type: 1
2725
;CHECK-NEXT: Shader Visibility: 0
2826
;CHECK-NEXT: Register Space: 2
2927
;CHECK-NEXT: Shader Register: 1
3028
;CHECK-NEXT: Num 32 Bit Values: 3
29+
;CHECK-NEXT: NumStaticSamplers: 0
30+
;CHECK-NEXT: StaticSamplersOffset: 0

0 commit comments

Comments
 (0)