Skip to content

Commit efc5e52

Browse files
author
joaosaffran
committed
add test
1 parent 9b59d01 commit efc5e52

File tree

2 files changed

+46
-17
lines changed

2 files changed

+46
-17
lines changed

llvm/lib/Target/DirectX/DXILRootSignature.cpp

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -299,31 +299,30 @@ PreservedAnalyses RootSignatureAnalysisPrinter::run(Module &M,
299299

300300
// start root signature header
301301
Space++;
302-
OS << indent(Space) << "Flags: " << format_hex(RS.Header.Flags, 8) << ":\n";
303-
OS << indent(Space) << "Version: " << RS.Header.Version << ":\n";
304-
OS << indent(Space) << "NumParameters: " << RS.Parameters.size() << ":\n";
302+
OS << indent(Space) << "Flags: " << format_hex(RS.Header.Flags, 8) << "\n";
303+
OS << indent(Space) << "Version: " << RS.Header.Version << "\n";
304+
OS << indent(Space) << "NumParameters: " << RS.Parameters.size() << "\n";
305305
OS << indent(Space) << "RootParametersOffset: " << sizeof(RS.Header)
306-
<< ":\n";
307-
OS << indent(Space) << "NumStaticSamplers: " << 0 << ":\n";
306+
<< "\n";
307+
OS << indent(Space) << "NumStaticSamplers: " << 0 << "\n";
308308
OS << indent(Space) << "StaticSamplersOffset: "
309-
<< sizeof(RS.Header) + RS.Parameters.size_in_bytes() << ":\n";
309+
<< sizeof(RS.Header) + RS.Parameters.size_in_bytes() << "\n";
310310

311311
Space++;
312312
for (auto const &P : RS.Parameters) {
313-
OS << indent(Space) << "Parameter Type: " << &P.Header.ParameterType
314-
<< ":\n";
315-
OS << indent(Space) << "Shader Visibility: " << &P.Header.ShaderVisibility
316-
<< ":\n";
317-
OS << indent(Space) << "Parameter Offset: " << &P.Header.ParameterOffset
318-
<< ":\n";
313+
OS << indent(Space)
314+
<< "Parameter Type: " << (uint32_t)P.Header.ParameterType << "\n";
315+
OS << indent(Space)
316+
<< "Shader Visibility: " << (uint32_t)P.Header.ShaderVisibility
317+
<< "\n";
319318
switch (P.Header.ParameterType) {
320319
case dxbc::RootParameterType::Constants32Bit:
321-
OS << indent(Space) << "Register Space: " << &P.Constants.RegisterSpace
322-
<< ":\n";
320+
OS << indent(Space) << "Register Space: " << P.Constants.RegisterSpace
321+
<< "\n";
322+
OS << indent(Space) << "Shader Register: " << P.Constants.ShaderRegister
323+
<< "\n";
323324
OS << indent(Space)
324-
<< "Shader Register: " << &P.Constants.ShaderRegister << ":\n";
325-
OS << indent(Space)
326-
<< "Num 32 Bit Values: " << &P.Constants.Num32BitValues << ":\n";
325+
<< "Num 32 Bit Values: " << P.Constants.Num32BitValues << "\n";
327326
break;
328327
}
329328
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
; RUN: opt -passes='print<dxil-root-signature>' %s -S -o - 2>&1 | FileCheck %s
2+
3+
target triple = "dxil-unknown-shadermodel6.0-compute"
4+
5+
6+
define void @main() #0 {
7+
entry:
8+
ret void
9+
}
10+
11+
attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
12+
13+
!dx.rootsignatures = !{!2} ; list of function/root signature pairs
14+
!2 = !{ ptr @main, !3 } ; function, root signature
15+
!3 = !{ !4, !5 } ; list of root signature elements
16+
!4 = !{ !"RootFlags", i32 1 } ; 1 = allow_input_assembler_input_layout
17+
!5 = !{ !"RootConstants", i32 0, i32 1, i32 2, i32 3 }
18+
19+
; CHECK-LABEL: Definition for 'main':
20+
; CHECK-NEXT: Flags: 0x000001
21+
; CHECK-NEXT: Version: 2
22+
; CHECK-NEXT: NumParameters: 1
23+
; CHECK-NEXT: RootParametersOffset: 24
24+
; CHECK-NEXT: NumStaticSamplers: 0
25+
; CHECK-NEXT: StaticSamplersOffset: 48
26+
; CHECK-NEXT: Parameter Type: 1
27+
; CHECK-NEXT: Shader Visibility: 0
28+
; CHECK-NEXT: Register Space: 2
29+
; CHECK-NEXT: Shader Register: 1
30+
; CHECK-NEXT: Num 32 Bit Values: 3

0 commit comments

Comments
 (0)