@@ -19,6 +19,18 @@ namespace llvm {
1919class raw_ostream ;
2020namespace mcdxbc {
2121
22+ struct RootConstants {
23+ uint32_t ShaderRegister;
24+ uint32_t RegisterSpace;
25+ uint32_t Num32BitValues;
26+ };
27+
28+ struct RootDescriptor {
29+ uint32_t ShaderRegister;
30+ uint32_t RegisterSpace;
31+ uint32_t Flags;
32+ };
33+
2234struct RootParameterInfo {
2335 dxbc::RootParameterType Type;
2436 dxbc::ShaderVisibility Visibility;
@@ -42,8 +54,8 @@ struct DescriptorTable {
4254struct RootParametersContainer {
4355 SmallVector<RootParameterInfo> ParametersInfo;
4456
45- SmallVector<dxbc::RTS0::v1:: RootConstants> Constants;
46- SmallVector<dxbc::RTS0::v2:: RootDescriptor> Descriptors;
57+ SmallVector<RootConstants> Constants;
58+ SmallVector<RootDescriptor> Descriptors;
4759 SmallVector<DescriptorTable> Tables;
4860
4961 void addInfo (dxbc::RootParameterType Type, dxbc::ShaderVisibility Visibility,
@@ -52,15 +64,14 @@ struct RootParametersContainer {
5264 }
5365
5466 void addParameter (dxbc::RootParameterType Type,
55- dxbc::ShaderVisibility Visibility,
56- dxbc::RTS0::v1::RootConstants Constant) {
67+ dxbc::ShaderVisibility Visibility, RootConstants Constant) {
5768 addInfo (Type, Visibility, Constants.size ());
5869 Constants.push_back (Constant);
5970 }
6071
6172 void addParameter (dxbc::RootParameterType Type,
6273 dxbc::ShaderVisibility Visibility,
63- dxbc::RTS0::v2:: RootDescriptor Descriptor) {
74+ RootDescriptor Descriptor) {
6475 addInfo (Type, Visibility, Descriptors.size ());
6576 Descriptors.push_back (Descriptor);
6677 }
@@ -76,11 +87,11 @@ struct RootParametersContainer {
7687 return Info;
7788 }
7889
79- const dxbc::RTS0::v1:: RootConstants &getConstant (size_t Index) const {
90+ const RootConstants &getConstant (size_t Index) const {
8091 return Constants[Index];
8192 }
8293
83- const dxbc::RTS0::v2:: RootDescriptor &getRootDescriptor (size_t Index) const {
94+ const RootDescriptor &getRootDescriptor (size_t Index) const {
8495 return Descriptors[Index];
8596 }
8697
0 commit comments