@@ -130,19 +130,21 @@ static uint32_t parameterToRangeType(uint32_t Type) {
130
130
switch (Type) {
131
131
case llvm::to_underlying (dxbc::RootParameterType::CBV):
132
132
return llvm::to_underlying (dxbc::DescriptorRangeType::CBV);
133
- break ;
133
+ break ;
134
134
case llvm::to_underlying (dxbc::RootParameterType::SRV):
135
- return llvm::to_underlying (dxbc::DescriptorRangeType::SRV);
136
- break ;
135
+ return llvm::to_underlying (dxbc::DescriptorRangeType::SRV);
136
+ break ;
137
137
case llvm::to_underlying (dxbc::RootParameterType::UAV):
138
- return llvm::to_underlying (dxbc::DescriptorRangeType::UAV);
139
- break ;
138
+ return llvm::to_underlying (dxbc::DescriptorRangeType::UAV);
139
+ break ;
140
140
default :
141
141
llvm_unreachable (" Root Parameter Type has no Range Type equivalent" );
142
142
}
143
143
}
144
144
145
- static RootSignatureBindingValidation initRsBindingValdation (const mcdxbc::RootSignatureDesc &RSD, dxbc::ShaderVisibility Visibility) {
145
+ static RootSignatureBindingValidation
146
+ initRsBindingValdation (const mcdxbc::RootSignatureDesc &RSD,
147
+ dxbc::ShaderVisibility Visibility) {
146
148
147
149
RootSignatureBindingValidation Validation;
148
150
@@ -152,10 +154,10 @@ static RootSignatureBindingValidation initRsBindingValdation(const mcdxbc::RootS
152
154
153
155
const auto &Header = RSD.ParametersContainer .getHeader (I);
154
156
if (Header.ShaderVisibility !=
155
- llvm::to_underlying (dxbc::ShaderVisibility::All) &&
156
- Header.ShaderVisibility != llvm::to_underlying (Visibility))
157
- continue ;
158
-
157
+ llvm::to_underlying (dxbc::ShaderVisibility::All) &&
158
+ Header.ShaderVisibility != llvm::to_underlying (Visibility))
159
+ continue ;
160
+
159
161
switch (Type) {
160
162
case llvm::to_underlying (dxbc::RootParameterType::SRV):
161
163
case llvm::to_underlying (dxbc::RootParameterType::UAV):
@@ -167,7 +169,7 @@ static RootSignatureBindingValidation initRsBindingValdation(const mcdxbc::RootS
167
169
Binding.LowerBound = Desc.ShaderRegister ;
168
170
Binding.Space = Desc.RegisterSpace ;
169
171
Binding.Size = 1 ;
170
-
172
+
171
173
Validation.addBinding (parameterToRangeType (Type), Binding);
172
174
break ;
173
175
}
@@ -176,11 +178,11 @@ static RootSignatureBindingValidation initRsBindingValdation(const mcdxbc::RootS
176
178
RSD.ParametersContainer .getDescriptorTable (Loc);
177
179
178
180
for (const dxbc::RTS0::v2::DescriptorRange &Range : Table.Ranges ) {
179
- llvm::dxil::ResourceInfo::ResourceBinding Binding;
180
- Binding.LowerBound = Range.BaseShaderRegister ;
181
- Binding.Space = Range.RegisterSpace ;
182
- Binding.Size = Range.NumDescriptors ;
183
- Validation.addBinding (Range.RangeType , Binding);
181
+ llvm::dxil::ResourceInfo::ResourceBinding Binding;
182
+ Binding.LowerBound = Range.BaseShaderRegister ;
183
+ Binding.Space = Range.RegisterSpace ;
184
+ Binding.Size = Range.NumDescriptors ;
185
+ Validation.addBinding (Range.RangeType , Binding);
184
186
}
185
187
break ;
186
188
}
@@ -238,17 +240,23 @@ static void reportErrors(Module &M, DXILResourceMap &DRM,
238
240
239
241
if (auto RSD = getRootSignature (RSBI, MMI)) {
240
242
241
- RootSignatureBindingValidation Validation = initRsBindingValdation (*RSD, tripleToVisibility (MMI.ShaderProfile ));
243
+ RootSignatureBindingValidation Validation =
244
+ initRsBindingValdation (*RSD, tripleToVisibility (MMI.ShaderProfile ));
242
245
243
246
auto Cbufs = DRM.cbuffers ();
244
247
auto SRVs = DRM.srvs ();
245
248
auto UAVs = DRM.uavs ();
246
249
auto Samplers = DRM.samplers ();
247
250
248
- reportUnboundRegisters (M, Validation.getBindingsOfType (dxbc::DescriptorRangeType::CBV), Cbufs);
249
- reportUnboundRegisters (M, Validation.getBindingsOfType (dxbc::DescriptorRangeType::UAV), UAVs);
250
- reportUnboundRegisters (M, Validation.getBindingsOfType (dxbc::DescriptorRangeType::Sampler), Samplers);
251
- reportUnboundRegisters (M, Validation.getBindingsOfType (dxbc::DescriptorRangeType::SRV), SRVs);
251
+ reportUnboundRegisters (
252
+ M, Validation.getBindingsOfType (dxbc::DescriptorRangeType::CBV), Cbufs);
253
+ reportUnboundRegisters (
254
+ M, Validation.getBindingsOfType (dxbc::DescriptorRangeType::UAV), UAVs);
255
+ reportUnboundRegisters (
256
+ M, Validation.getBindingsOfType (dxbc::DescriptorRangeType::Sampler),
257
+ Samplers);
258
+ reportUnboundRegisters (
259
+ M, Validation.getBindingsOfType (dxbc::DescriptorRangeType::SRV), SRVs);
252
260
}
253
261
}
254
262
} // namespace
0 commit comments