Skip to content

Commit bf5714d

Browse files
Joao SaffranJoao Saffran
authored andcommitted
moving code to where I think make sense
1 parent d3349ce commit bf5714d

File tree

3 files changed

+39
-39
lines changed

3 files changed

+39
-39
lines changed

llvm/include/llvm/BinaryFormat/DXContainer.h

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,39 @@ enum class ShaderVisibility : uint32_t {
214214
#include "DXContainerConstants.def"
215215
};
216216

217+
inline dxil::ResourceClass
218+
toResourceClass(dxbc::DescriptorRangeType RangeType) {
219+
using namespace dxbc;
220+
switch (RangeType) {
221+
case DescriptorRangeType::SRV:
222+
return dxil::ResourceClass::SRV;
223+
case DescriptorRangeType::UAV:
224+
return dxil::ResourceClass::UAV;
225+
case DescriptorRangeType::CBV:
226+
return dxil::ResourceClass::CBuffer;
227+
case DescriptorRangeType::Sampler:
228+
return dxil::ResourceClass::Sampler;
229+
}
230+
llvm_unreachable("Unknown DescriptorRangeType");
231+
}
232+
233+
inline dxil::ResourceClass toResourceClass(dxbc::RootParameterType Type) {
234+
using namespace dxbc;
235+
switch (Type) {
236+
case RootParameterType::Constants32Bit:
237+
return dxil::ResourceClass::CBuffer;
238+
case RootParameterType::SRV:
239+
return dxil::ResourceClass::SRV;
240+
case RootParameterType::UAV:
241+
return dxil::ResourceClass::UAV;
242+
case RootParameterType::CBV:
243+
return dxil::ResourceClass::CBuffer;
244+
case dxbc::RootParameterType::DescriptorTable:
245+
llvm_unreachable("DescriptorTable is not convertible to ResourceClass");
246+
}
247+
llvm_unreachable("Unknown RootParameterType");
248+
}
249+
217250
LLVM_ABI ArrayRef<EnumEntry<ShaderVisibility>> getShaderVisibility();
218251

219252
#define SHADER_VISIBILITY(Val, Enum) \

llvm/include/llvm/Frontend/HLSL/RootSignatureMetadata.h

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -28,39 +28,6 @@ class Metadata;
2828
namespace hlsl {
2929
namespace rootsig {
3030

31-
inline dxil::ResourceClass
32-
toResourceClass(dxbc::DescriptorRangeType RangeType) {
33-
using namespace dxbc;
34-
switch (RangeType) {
35-
case DescriptorRangeType::SRV:
36-
return dxil::ResourceClass::SRV;
37-
case DescriptorRangeType::UAV:
38-
return dxil::ResourceClass::UAV;
39-
case DescriptorRangeType::CBV:
40-
return dxil::ResourceClass::CBuffer;
41-
case DescriptorRangeType::Sampler:
42-
return dxil::ResourceClass::Sampler;
43-
}
44-
llvm_unreachable("Unknown DescriptorRangeType");
45-
}
46-
47-
inline dxil::ResourceClass toResourceClass(dxbc::RootParameterType Type) {
48-
using namespace dxbc;
49-
switch (Type) {
50-
case RootParameterType::Constants32Bit:
51-
return dxil::ResourceClass::CBuffer;
52-
case RootParameterType::SRV:
53-
return dxil::ResourceClass::SRV;
54-
case RootParameterType::UAV:
55-
return dxil::ResourceClass::UAV;
56-
case RootParameterType::CBV:
57-
return dxil::ResourceClass::CBuffer;
58-
case dxbc::RootParameterType::DescriptorTable:
59-
llvm_unreachable("DescriptorTable is not convertible to ResourceClass");
60-
}
61-
llvm_unreachable("Unknown RootParameterType");
62-
}
63-
6431
template <typename T>
6532
class RootSignatureValidationError
6633
: public ErrorInfo<RootSignatureValidationError<T>> {

llvm/lib/Target/DirectX/DXILPostOptimizationValidation.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
#include "llvm/ADT/SmallString.h"
1414
#include "llvm/Analysis/DXILMetadataAnalysis.h"
1515
#include "llvm/Analysis/DXILResource.h"
16-
#include "llvm/Frontend/HLSL/RootSignatureMetadata.h"
1716
#include "llvm/IR/DiagnosticInfo.h"
1817
#include "llvm/IR/Instructions.h"
1918
#include "llvm/IR/IntrinsicsDirectX.h"
@@ -237,10 +236,11 @@ static void validateRootSignatureBindings(Module &M,
237236
case dxbc::RootParameterType::CBV: {
238237
dxbc::RTS0::v2::RootDescriptor Desc =
239238
RSD.ParametersContainer.getRootDescriptor(ParamInfo.Location);
240-
Builder.trackBinding(hlsl::rootsig::toResourceClass(static_cast<dxbc::RootParameterType>(
241-
ParamInfo.Header.ParameterType)),
242-
Desc.RegisterSpace, Desc.ShaderRegister,
243-
Desc.ShaderRegister, &ParamInfo);
239+
Builder.trackBinding(
240+
dxbc::toResourceClass(static_cast<dxbc::RootParameterType>(
241+
ParamInfo.Header.ParameterType)),
242+
Desc.RegisterSpace, Desc.ShaderRegister, Desc.ShaderRegister,
243+
&ParamInfo);
244244

245245
break;
246246
}
@@ -254,7 +254,7 @@ static void validateRootSignatureBindings(Module &M,
254254
? Range.BaseShaderRegister
255255
: Range.BaseShaderRegister + Range.NumDescriptors - 1;
256256
Builder.trackBinding(
257-
hlsl::rootsig::toResourceClass(
257+
dxbc::toResourceClass(
258258
static_cast<dxbc::DescriptorRangeType>(Range.RangeType)),
259259
Range.RegisterSpace, Range.BaseShaderRegister, UpperBound,
260260
&ParamInfo);

0 commit comments

Comments
 (0)