Skip to content

Commit 7a34b48

Browse files
committed
add serialization of Filter and TextureAddresMode enums
1 parent 2b6ca2e commit 7a34b48

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed

llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,146 @@ static raw_ostream &operator<<(raw_ostream &OS,
7171
return OS;
7272
}
7373

74+
75+
static raw_ostream &operator<<(raw_ostream &OS,
76+
const SamplerFilter &Filter) {
77+
switch (Filter) {
78+
case SamplerFilter::MinMagMipPoint:
79+
OS << "MinMagMipPoint";
80+
break;
81+
case SamplerFilter::MinMagPointMipLinear:
82+
OS << "MinMagPointMipLinear";
83+
break;
84+
case SamplerFilter::MinPointMagLinearMipPoint:
85+
OS << "MinPointMagLinearMipPoint";
86+
break;
87+
case SamplerFilter::MinPointMagMipLinear:
88+
OS << "MinPointMagMipLinear";
89+
break;
90+
case SamplerFilter::MinLinearMagMipPoint:
91+
OS << "MinLinearMagMipPoint";
92+
break;
93+
case SamplerFilter::MinLinearMagPointMipLinear:
94+
OS << "MinLinearMagPointMipLinear";
95+
break;
96+
case SamplerFilter::MinMagLinearMipPoint:
97+
OS << "MinMagLinearMipPoint";
98+
break;
99+
case SamplerFilter::MinMagMipLinear:
100+
OS << "MinMagMipLinear";
101+
break;
102+
case SamplerFilter::Anisotropic:
103+
OS << "Anisotropic";
104+
break;
105+
case SamplerFilter::ComparisonMinMagMipPoint:
106+
OS << "ComparisonMinMagMipPoint";
107+
break;
108+
case SamplerFilter::ComparisonMinMagPointMipLinear:
109+
OS << "ComparisonMinMagPointMipLinear";
110+
break;
111+
case SamplerFilter::ComparisonMinPointMagLinearMipPoint:
112+
OS << "ComparisonMinPointMagLinearMipPoint";
113+
break;
114+
case SamplerFilter::ComparisonMinPointMagMipLinear:
115+
OS << "ComparisonMinPointMagMipLinear";
116+
break;
117+
case SamplerFilter::ComparisonMinLinearMagMipPoint:
118+
OS << "ComparisonMinLinearMagMipPoint";
119+
break;
120+
case SamplerFilter::ComparisonMinLinearMagPointMipLinear:
121+
OS << "ComparisonMinLinearMagPointMipLinear";
122+
break;
123+
case SamplerFilter::ComparisonMinMagLinearMipPoint:
124+
OS << "ComparisonMinMagLinearMipPoint";
125+
break;
126+
case SamplerFilter::ComparisonMinMagMipLinear:
127+
OS << "ComparisonMinMagMipLinear";
128+
break;
129+
case SamplerFilter::ComparisonAnisotropic:
130+
OS << "ComparisonAnisotropic";
131+
break;
132+
case SamplerFilter::MinimumMinMagMipPoint:
133+
OS << "MinimumMinMagMipPoint";
134+
break;
135+
case SamplerFilter::MinimumMinMagPointMipLinear:
136+
OS << "MinimumMinMagPointMipLinear";
137+
break;
138+
case SamplerFilter::MinimumMinPointMagLinearMipPoint:
139+
OS << "MinimumMinPointMagLinearMipPoint";
140+
break;
141+
case SamplerFilter::MinimumMinPointMagMipLinear:
142+
OS << "MinimumMinPointMagMipLinear";
143+
break;
144+
case SamplerFilter::MinimumMinLinearMagMipPoint:
145+
OS << "MinimumMinLinearMagMipPoint";
146+
break;
147+
case SamplerFilter::MinimumMinLinearMagPointMipLinear:
148+
OS << "MinimumMinLinearMagPointMipLinear";
149+
break;
150+
case SamplerFilter::MinimumMinMagLinearMipPoint:
151+
OS << "MinimumMinMagLinearMipPoint";
152+
break;
153+
case SamplerFilter::MinimumMinMagMipLinear:
154+
OS << "MinimumMinMagMipLinear";
155+
break;
156+
case SamplerFilter::MinimumAnisotropic:
157+
OS << "MinimumAnisotropic";
158+
break;
159+
case SamplerFilter::MaximumMinMagMipPoint:
160+
OS << "MaximumMinMagMipPoint";
161+
break;
162+
case SamplerFilter::MaximumMinMagPointMipLinear:
163+
OS << "MaximumMinMagPointMipLinear";
164+
break;
165+
case SamplerFilter::MaximumMinPointMagLinearMipPoint:
166+
OS << "MaximumMinPointMagLinearMipPoint";
167+
break;
168+
case SamplerFilter::MaximumMinPointMagMipLinear:
169+
OS << "MaximumMinPointMagMipLinear";
170+
break;
171+
case SamplerFilter::MaximumMinLinearMagMipPoint:
172+
OS << "MaximumMinLinearMagMipPoint";
173+
break;
174+
case SamplerFilter::MaximumMinLinearMagPointMipLinear:
175+
OS << "MaximumMinLinearMagPointMipLinear";
176+
break;
177+
case SamplerFilter::MaximumMinMagLinearMipPoint:
178+
OS << "MaximumMinMagLinearMipPoint";
179+
break;
180+
case SamplerFilter::MaximumMinMagMipLinear:
181+
OS << "MaximumMinMagMipLinear";
182+
break;
183+
case SamplerFilter::MaximumAnisotropic:
184+
OS << "MaximumAnisotropic";
185+
break;
186+
}
187+
188+
return OS;
189+
}
190+
191+
static raw_ostream &operator<<(raw_ostream &OS,
192+
const TextureAddressMode &Address) {
193+
switch (Address) {
194+
case TextureAddressMode::Wrap:
195+
OS << "Wrap";
196+
break;
197+
case TextureAddressMode::Mirror:
198+
OS << "Mirror";
199+
break;
200+
case TextureAddressMode::Clamp:
201+
OS << "Clamp";
202+
break;
203+
case TextureAddressMode::Border:
204+
OS << "Border";
205+
break;
206+
case TextureAddressMode::MirrorOnce:
207+
OS << "MirrorOnce";
208+
break;
209+
}
210+
211+
return OS;
212+
}
213+
74214
static raw_ostream &operator<<(raw_ostream &OS, const ClauseType &Type) {
75215
switch (Type) {
76216
case ClauseType::CBuffer:
@@ -253,6 +393,10 @@ raw_ostream &operator<<(raw_ostream &OS, const RootDescriptor &Descriptor) {
253393

254394
raw_ostream &operator<<(raw_ostream &OS, const StaticSampler &Sampler) {
255395
OS << "StaticSampler(" << Sampler.Reg
396+
<< ", filter = " << Sampler.Filter
397+
<< ", addressU = " << Sampler.AddressU
398+
<< ", addressV = " << Sampler.AddressV
399+
<< ", addressW = " << Sampler.AddressW
256400
<< ", mipLODBias = " << Sampler.MipLODBias
257401
<< ", maxAnisotropy = " << Sampler.MaxAnisotropy
258402
<< ", minLOD = " << Sampler.MinLOD

0 commit comments

Comments
 (0)