Skip to content

Commit 4a0a955

Browse files
author
joaosaffran
committed
fix merge and test issues
1 parent 351eee2 commit 4a0a955

File tree

3 files changed

+114
-122
lines changed

3 files changed

+114
-122
lines changed

llvm/lib/Target/DirectX/DXILRootSignature.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -391,14 +391,13 @@ static bool verifyDescriptorRangeFlag(uint32_t Version, uint32_t Type,
391391
Mask |= FlagT::DATA_STATIC;
392392
Mask |= FlagT::DATA_STATIC_WHILE_SET_AT_EXECUTE;
393393
}
394-
395-
if (!IsSampler)
396-
return (Flags & ~Mask) == FlagT::NONE;
397-
return false;
394+
return (Flags & ~Mask) == FlagT::NONE;
398395
}
399396

400397
// When no descriptor flag is set, any data flag is allowed.
401-
return (Flags & ~DataFlags) == FlagT::NONE;
398+
if (!IsSampler)
399+
return (Flags & ~DataFlags) == FlagT::NONE;
400+
return (Flags & ~FlagT::NONE) == FlagT::NONE;
402401
}
403402

404403
static bool validate(LLVMContext *Ctx, const mcdxbc::RootSignatureDesc &RSD) {

llvm/test/CodeGen/DirectX/ContainerData/RootSignature-DescriptorTable-AllValidFlagCombinations.ll

Lines changed: 109 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
1212
!dx.rootsignatures = !{!2} ; list of function/root signature pairs
1313
!2 = !{ ptr @main, !3, i32 2 } ; function, root signature
1414
!3 = !{ !5 } ; list of root signature elements
15-
!5 = !{ !"DescriptorTable", i32 0, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20 }
15+
!5 = !{ !"DescriptorTable", i32 0, !6, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20 }
1616

1717
; typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS {
1818
; NONE = 0,
@@ -25,14 +25,12 @@ attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
2525

2626
;0
2727
!6 = !{ !"Sampler", i32 1, i32 0, i32 1, i32 -1, i32 0 }
28-
;DATA_VOLATILE
29-
!7 = !{ !"Sampler", i32 1, i32 0, i32 2, i32 -1, i32 2 }
30-
;DATA_STATIC_WHILE_SET_AT_EXECUTE
31-
!8 = !{ !"Sampler", i32 1, i32 0, i32 3, i32 -1, i32 4 }
32-
;DATA_STATIC
33-
!9 = !{ !"Sampler", i32 1, i32 0, i32 4, i32 -1, i32 8 }
28+
;DESCRIPTORS_VOLATILE
29+
!8 = !{ !"Sampler", i32 1, i32 0, i32 3, i32 -1, i32 1 }
30+
;DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS
31+
!9 = !{ !"Sampler", i32 1, i32 0, i32 4, i32 -1, i32 65536 }
3432
;0
35-
!10 = !{ !"SRV", i32 1, i32 0, i32 5, i32 -1, i32 0 }
33+
!10 = !{ !"SRV", i32 1, i32 0, i32 5, i32 -1, i32 1 }
3634
;DESCRIPTORS_VOLATILE
3735
!11 = !{ !"UAV", i32 5, i32 1, i32 6, i32 5, i32 1 }
3836
;DATA_VOLATILE
@@ -54,111 +52,106 @@ attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
5452
;DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS | DATA_STATIC_WHILE_SET_AT_EXECUTE
5553
!20 = !{ !"UAV", i32 5, i32 1, i32 15, i32 5, i32 65540 }
5654

57-
; DXC: - Name: RTS0
58-
; DXC-NEXT: Size: 404
59-
; DXC-NEXT: RootSignature:
60-
; DXC-NEXT: Version: 2
61-
; DXC-NEXT: NumRootParameters: 1
62-
; DXC-NEXT: RootParametersOffset: 24
63-
; DXC-NEXT: NumStaticSamplers: 0
64-
; DXC-NEXT: StaticSamplersOffset: 0
65-
; DXC-NEXT: Parameters:
66-
; DXC-NEXT: - ParameterType: 0
67-
; DXC-NEXT: ShaderVisibility: 0
68-
; DXC-NEXT: Table:
69-
; DXC-NEXT: NumRanges: 15
70-
; DXC-NEXT: RangesOffset: 44
71-
; DXC-NEXT: Ranges:
72-
; DXC-NEXT: - RangeType: 3
73-
; DXC-NEXT: NumDescriptors: 1
74-
; DXC-NEXT: BaseShaderRegister: 0
75-
; DXC-NEXT: RegisterSpace: 1
76-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 4294967295
77-
; DXC-NEXT: - RangeType: 3
78-
; DXC-NEXT: NumDescriptors: 1
79-
; DXC-NEXT: BaseShaderRegister: 0
80-
; DXC-NEXT: RegisterSpace: 2
81-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 4294967295
82-
; DXC-NEXT: DATA_VOLATILE: true
83-
; DXC-NEXT: - RangeType: 3
84-
; DXC-NEXT: NumDescriptors: 1
85-
; DXC-NEXT: BaseShaderRegister: 0
86-
; DXC-NEXT: RegisterSpace: 3
87-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 4294967295
88-
; DXC-NEXT: DATA_STATIC_WHILE_SET_AT_EXECUTE: true
89-
; DXC-NEXT: - RangeType: 3
90-
; DXC-NEXT: NumDescriptors: 1
91-
; DXC-NEXT: BaseShaderRegister: 0
92-
; DXC-NEXT: RegisterSpace: 4
93-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 4294967295
94-
; DXC-NEXT: DATA_STATIC: true
95-
; DXC-NEXT: - RangeType: 0
96-
; DXC-NEXT: NumDescriptors: 1
97-
; DXC-NEXT: BaseShaderRegister: 0
98-
; DXC-NEXT: RegisterSpace: 5
99-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 4294967295
100-
; DXC-NEXT: - RangeType: 1
101-
; DXC-NEXT: NumDescriptors: 5
102-
; DXC-NEXT: BaseShaderRegister: 1
103-
; DXC-NEXT: RegisterSpace: 6
104-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
105-
; DXC-NEXT: DESCRIPTORS_VOLATILE: true
106-
; DXC-NEXT: - RangeType: 2
107-
; DXC-NEXT: NumDescriptors: 5
108-
; DXC-NEXT: BaseShaderRegister: 1
109-
; DXC-NEXT: RegisterSpace: 7
110-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
111-
; DXC-NEXT: DATA_VOLATILE: true
112-
; DXC-NEXT: - RangeType: 0
113-
; DXC-NEXT: NumDescriptors: 5
114-
; DXC-NEXT: BaseShaderRegister: 1
115-
; DXC-NEXT: RegisterSpace: 8
116-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
117-
; DXC-NEXT: DATA_STATIC: true
118-
; DXC-NEXT: - RangeType: 1
119-
; DXC-NEXT: NumDescriptors: 5
120-
; DXC-NEXT: BaseShaderRegister: 1
121-
; DXC-NEXT: RegisterSpace: 9
122-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
123-
; DXC-NEXT: DATA_STATIC_WHILE_SET_AT_EXECUTE: true
124-
; DXC-NEXT: - RangeType: 2
125-
; DXC-NEXT: NumDescriptors: 5
126-
; DXC-NEXT: BaseShaderRegister: 1
127-
; DXC-NEXT: RegisterSpace: 10
128-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
129-
; DXC-NEXT: DESCRIPTORS_VOLATILE: true
130-
; DXC-NEXT: DATA_VOLATILE: true
131-
; DXC-NEXT: - RangeType: 0
132-
; DXC-NEXT: NumDescriptors: 5
133-
; DXC-NEXT: BaseShaderRegister: 1
134-
; DXC-NEXT: RegisterSpace: 11
135-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
136-
; DXC-NEXT: DESCRIPTORS_VOLATILE: true
137-
; DXC-NEXT: DATA_STATIC_WHILE_SET_AT_EXECUTE: true
138-
; DXC-NEXT: - RangeType: 1
139-
; DXC-NEXT: NumDescriptors: 5
140-
; DXC-NEXT: BaseShaderRegister: 1
141-
; DXC-NEXT: RegisterSpace: 12
142-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
143-
; DXC-NEXT: DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true
144-
; DXC-NEXT: - RangeType: 2
145-
; DXC-NEXT: NumDescriptors: 5
146-
; DXC-NEXT: BaseShaderRegister: 1
147-
; DXC-NEXT: RegisterSpace: 13
148-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
149-
; DXC-NEXT: DATA_VOLATILE: true
150-
; DXC-NEXT: DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true
151-
; DXC-NEXT: - RangeType: 0
152-
; DXC-NEXT: NumDescriptors: 5
153-
; DXC-NEXT: BaseShaderRegister: 1
154-
; DXC-NEXT: RegisterSpace: 14
155-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
156-
; DXC-NEXT: DATA_STATIC: true
157-
; DXC-NEXT: DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true
158-
; DXC-NEXT: - RangeType: 1
159-
; DXC-NEXT: NumDescriptors: 5
160-
; DXC-NEXT: BaseShaderRegister: 1
161-
; DXC-NEXT: RegisterSpace: 15
162-
; DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
163-
; DXC-NEXT: DATA_STATIC_WHILE_SET_AT_EXECUTE: true
164-
; DXC-NEXT: DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true
55+
;DXC:- Name: RTS0
56+
;DXC-NEXT: Size: 380
57+
;DXC-NEXT: RootSignature:
58+
;DXC-NEXT: Version: 2
59+
;DXC-NEXT: NumRootParameters: 1
60+
;DXC-NEXT: RootParametersOffset: 24
61+
;DXC-NEXT: NumStaticSamplers: 0
62+
;DXC-NEXT: StaticSamplersOffset: 0
63+
;DXC-NEXT: Parameters:
64+
;DXC-NEXT: - ParameterType: 0
65+
;DXC-NEXT: ShaderVisibility: 0
66+
;DXC-NEXT: Table:
67+
;DXC-NEXT: NumRanges: 14
68+
;DXC-NEXT: RangesOffset: 44
69+
;DXC-NEXT: Ranges:
70+
;DXC-NEXT: - RangeType: 3
71+
;DXC-NEXT: NumDescriptors: 1
72+
;DXC-NEXT: BaseShaderRegister: 0
73+
;DXC-NEXT: RegisterSpace: 1
74+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 4294967295
75+
;DXC-NEXT: - RangeType: 3
76+
;DXC-NEXT: NumDescriptors: 1
77+
;DXC-NEXT: BaseShaderRegister: 0
78+
;DXC-NEXT: RegisterSpace: 3
79+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 4294967295
80+
;DXC-NEXT: DESCRIPTORS_VOLATILE: true
81+
;DXC-NEXT: - RangeType: 3
82+
;DXC-NEXT: NumDescriptors: 1
83+
;DXC-NEXT: BaseShaderRegister: 0
84+
;DXC-NEXT: RegisterSpace: 4
85+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 4294967295
86+
;DXC-NEXT: DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true
87+
;DXC-NEXT: - RangeType: 0
88+
;DXC-NEXT: NumDescriptors: 1
89+
;DXC-NEXT: BaseShaderRegister: 0
90+
;DXC-NEXT: RegisterSpace: 5
91+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 4294967295
92+
;DXC-NEXT: DESCRIPTORS_VOLATILE: true
93+
;DXC-NEXT: - RangeType: 1
94+
;DXC-NEXT: NumDescriptors: 5
95+
;DXC-NEXT: BaseShaderRegister: 1
96+
;DXC-NEXT: RegisterSpace: 6
97+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
98+
;DXC-NEXT: DESCRIPTORS_VOLATILE: true
99+
;DXC-NEXT: - RangeType: 2
100+
;DXC-NEXT: NumDescriptors: 5
101+
;DXC-NEXT: BaseShaderRegister: 1
102+
;DXC-NEXT: RegisterSpace: 7
103+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
104+
;DXC-NEXT: DATA_VOLATILE: true
105+
;DXC-NEXT: - RangeType: 0
106+
;DXC-NEXT: NumDescriptors: 5
107+
;DXC-NEXT: BaseShaderRegister: 1
108+
;DXC-NEXT: RegisterSpace: 8
109+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
110+
;DXC-NEXT: DATA_STATIC: true
111+
;DXC-NEXT: - RangeType: 1
112+
;DXC-NEXT: NumDescriptors: 5
113+
;DXC-NEXT: BaseShaderRegister: 1
114+
;DXC-NEXT: RegisterSpace: 9
115+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
116+
;DXC-NEXT: DATA_STATIC_WHILE_SET_AT_EXECUTE: true
117+
;DXC-NEXT: - RangeType: 2
118+
;DXC-NEXT: NumDescriptors: 5
119+
;DXC-NEXT: BaseShaderRegister: 1
120+
;DXC-NEXT: RegisterSpace: 10
121+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
122+
;DXC-NEXT: DESCRIPTORS_VOLATILE: true
123+
;DXC-NEXT: DATA_VOLATILE: true
124+
;DXC-NEXT: - RangeType: 0
125+
;DXC-NEXT: NumDescriptors: 5
126+
;DXC-NEXT: BaseShaderRegister: 1
127+
;DXC-NEXT: RegisterSpace: 11
128+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
129+
;DXC-NEXT: DESCRIPTORS_VOLATILE: true
130+
;DXC-NEXT: DATA_STATIC_WHILE_SET_AT_EXECUTE: true
131+
;DXC-NEXT: - RangeType: 1
132+
;DXC-NEXT: NumDescriptors: 5
133+
;DXC-NEXT: BaseShaderRegister: 1
134+
;DXC-NEXT: RegisterSpace: 12
135+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
136+
;DXC-NEXT: DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true
137+
;DXC-NEXT: - RangeType: 2
138+
;DXC-NEXT: NumDescriptors: 5
139+
;DXC-NEXT: BaseShaderRegister: 1
140+
;DXC-NEXT: RegisterSpace: 13
141+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
142+
;DXC-NEXT: DATA_VOLATILE: true
143+
;DXC-NEXT: DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true
144+
;DXC-NEXT: - RangeType: 0
145+
;DXC-NEXT: NumDescriptors: 5
146+
;DXC-NEXT: BaseShaderRegister: 1
147+
;DXC-NEXT: RegisterSpace: 14
148+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
149+
;DXC-NEXT: DATA_STATIC: true
150+
;DXC-NEXT: DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true
151+
;DXC-NEXT: - RangeType: 1
152+
;DXC-NEXT: NumDescriptors: 5
153+
;DXC-NEXT: BaseShaderRegister: 1
154+
;DXC-NEXT: RegisterSpace: 15
155+
;DXC-NEXT: OffsetInDescriptorsFromTableStart: 5
156+
;DXC-NEXT: DATA_STATIC_WHILE_SET_AT_EXECUTE: true
157+
;DXC-NEXT: DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: true

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ entry:
1111
attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
1212

1313
!dx.rootsignatures = !{!2} ; list of function/root signature pairs
14-
!2 = !{ ptr @main, !3, i32 2, i32 2 } ; function, root signature
14+
!2 = !{ ptr @main, !3, i32 2 } ; function, root signature
1515
!3 = !{ !4, !5, !6, !7 } ; list of root signature elements
1616
!4 = !{ !"RootFlags", i32 1 } ; 1 = allow_input_assembler_input_layout
1717
!5 = !{ !"RootConstants", i32 0, i32 1, i32 2, i32 3 }

0 commit comments

Comments
 (0)