Skip to content

Commit 3fb4908

Browse files
committed
nfc:: move SamplerFilter
1 parent 8313c0e commit 3fb4908

File tree

6 files changed

+12
-100
lines changed

6 files changed

+12
-100
lines changed

clang/include/clang/Parse/ParseHLSLRootSignature.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class RootSignatureParser {
111111

112112
struct ParsedStaticSamplerParams {
113113
std::optional<llvm::hlsl::rootsig::Register> Reg;
114-
std::optional<llvm::hlsl::rootsig::SamplerFilter> Filter;
114+
std::optional<llvm::dxbc::SamplerFilter> Filter;
115115
std::optional<llvm::dxbc::TextureAddressMode> AddressU;
116116
std::optional<llvm::dxbc::TextureAddressMode> AddressV;
117117
std::optional<llvm::dxbc::TextureAddressMode> AddressW;
@@ -133,7 +133,7 @@ class RootSignatureParser {
133133

134134
/// Parsing methods of various enums
135135
std::optional<llvm::dxbc::ShaderVisibility> parseShaderVisibility();
136-
std::optional<llvm::hlsl::rootsig::SamplerFilter> parseSamplerFilter();
136+
std::optional<llvm::dxbc::SamplerFilter> parseSamplerFilter();
137137
std::optional<llvm::dxbc::TextureAddressMode> parseTextureAddressMode();
138138
std::optional<llvm::dxbc::ComparisonFunc> parseComparisonFunc();
139139
std::optional<llvm::dxbc::StaticBorderColor> parseStaticBorderColor();

clang/lib/Parse/ParseHLSLRootSignature.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,7 +1010,7 @@ RootSignatureParser::parseShaderVisibility() {
10101010
return std::nullopt;
10111011
}
10121012

1013-
std::optional<llvm::hlsl::rootsig::SamplerFilter>
1013+
std::optional<llvm::dxbc::SamplerFilter>
10141014
RootSignatureParser::parseSamplerFilter() {
10151015
assert(CurToken.TokKind == TokenKind::pu_equal &&
10161016
"Expects to only be invoked starting at given keyword");
@@ -1026,7 +1026,7 @@ RootSignatureParser::parseSamplerFilter() {
10261026
switch (CurToken.TokKind) {
10271027
#define FILTER_ENUM(NAME, LIT) \
10281028
case TokenKind::en_##NAME: \
1029-
return SamplerFilter::NAME; \
1029+
return llvm::dxbc::SamplerFilter::NAME; \
10301030
break;
10311031
#include "clang/Lex/HLSLRootSignatureTokenKinds.def"
10321032
default:

clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,8 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseStaticSamplerTest) {
260260
ASSERT_TRUE(std::holds_alternative<StaticSampler>(Elem));
261261
ASSERT_EQ(std::get<StaticSampler>(Elem).Reg.ViewType, RegisterType::SReg);
262262
ASSERT_EQ(std::get<StaticSampler>(Elem).Reg.Number, 0u);
263-
ASSERT_EQ(std::get<StaticSampler>(Elem).Filter, SamplerFilter::Anisotropic);
263+
ASSERT_EQ(std::get<StaticSampler>(Elem).Filter,
264+
llvm::dxbc::SamplerFilter::Anisotropic);
264265
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressU,
265266
llvm::dxbc::TextureAddressMode::Wrap);
266267
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressV,
@@ -285,7 +286,7 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseStaticSamplerTest) {
285286
ASSERT_EQ(std::get<StaticSampler>(Elem).Reg.ViewType, RegisterType::SReg);
286287
ASSERT_EQ(std::get<StaticSampler>(Elem).Reg.Number, 0u);
287288
ASSERT_EQ(std::get<StaticSampler>(Elem).Filter,
288-
SamplerFilter::MaximumMinPointMagLinearMipPoint);
289+
llvm::dxbc::SamplerFilter::MaximumMinPointMagLinearMipPoint);
289290
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressU,
290291
llvm::dxbc::TextureAddressMode::Mirror);
291292
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressV,

llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -29,47 +29,6 @@ namespace rootsig {
2929
// carried over from their values in DXC. For reference:
3030
// https://learn.microsoft.com/en-us/windows/win32/api/d3d12/
3131

32-
// D3D12_FILTER enumeration:
33-
// https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_filter
34-
enum class SamplerFilter {
35-
MinMagMipPoint = 0,
36-
MinMagPointMipLinear = 0x1,
37-
MinPointMagLinearMipPoint = 0x4,
38-
MinPointMagMipLinear = 0x5,
39-
MinLinearMagMipPoint = 0x10,
40-
MinLinearMagPointMipLinear = 0x11,
41-
MinMagLinearMipPoint = 0x14,
42-
MinMagMipLinear = 0x15,
43-
Anisotropic = 0x55,
44-
ComparisonMinMagMipPoint = 0x80,
45-
ComparisonMinMagPointMipLinear = 0x81,
46-
ComparisonMinPointMagLinearMipPoint = 0x84,
47-
ComparisonMinPointMagMipLinear = 0x85,
48-
ComparisonMinLinearMagMipPoint = 0x90,
49-
ComparisonMinLinearMagPointMipLinear = 0x91,
50-
ComparisonMinMagLinearMipPoint = 0x94,
51-
ComparisonMinMagMipLinear = 0x95,
52-
ComparisonAnisotropic = 0xd5,
53-
MinimumMinMagMipPoint = 0x100,
54-
MinimumMinMagPointMipLinear = 0x101,
55-
MinimumMinPointMagLinearMipPoint = 0x104,
56-
MinimumMinPointMagMipLinear = 0x105,
57-
MinimumMinLinearMagMipPoint = 0x110,
58-
MinimumMinLinearMagPointMipLinear = 0x111,
59-
MinimumMinMagLinearMipPoint = 0x114,
60-
MinimumMinMagMipLinear = 0x115,
61-
MinimumAnisotropic = 0x155,
62-
MaximumMinMagMipPoint = 0x180,
63-
MaximumMinMagPointMipLinear = 0x181,
64-
MaximumMinPointMagLinearMipPoint = 0x184,
65-
MaximumMinPointMagMipLinear = 0x185,
66-
MaximumMinLinearMagMipPoint = 0x190,
67-
MaximumMinLinearMagPointMipLinear = 0x191,
68-
MaximumMinMagLinearMipPoint = 0x194,
69-
MaximumMinMagMipLinear = 0x195,
70-
MaximumAnisotropic = 0x1d5
71-
};
72-
7332
// Definitions of the in-memory data layout structures
7433

7534
// Models the different registers: bReg | tReg | uReg | sReg
@@ -147,7 +106,7 @@ struct DescriptorTableClause {
147106

148107
struct StaticSampler {
149108
Register Reg;
150-
SamplerFilter Filter = SamplerFilter::Anisotropic;
109+
dxbc::SamplerFilter Filter = dxbc::SamplerFilter::Anisotropic;
151110
dxbc::TextureAddressMode AddressU = dxbc::TextureAddressMode::Wrap;
152111
dxbc::TextureAddressMode AddressV = dxbc::TextureAddressMode::Wrap;
153112
dxbc::TextureAddressMode AddressW = dxbc::TextureAddressMode::Wrap;

llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp

Lines changed: 3 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -87,57 +87,9 @@ static raw_ostream &operator<<(raw_ostream &OS,
8787
return OS;
8888
}
8989

90-
static const EnumEntry<SamplerFilter> SamplerFilterNames[] = {
91-
{"MinMagMipPoint", SamplerFilter::MinMagMipPoint},
92-
{"MinMagPointMipLinear", SamplerFilter::MinMagPointMipLinear},
93-
{"MinPointMagLinearMipPoint", SamplerFilter::MinPointMagLinearMipPoint},
94-
{"MinPointMagMipLinear", SamplerFilter::MinPointMagMipLinear},
95-
{"MinLinearMagMipPoint", SamplerFilter::MinLinearMagMipPoint},
96-
{"MinLinearMagPointMipLinear", SamplerFilter::MinLinearMagPointMipLinear},
97-
{"MinMagLinearMipPoint", SamplerFilter::MinMagLinearMipPoint},
98-
{"MinMagMipLinear", SamplerFilter::MinMagMipLinear},
99-
{"Anisotropic", SamplerFilter::Anisotropic},
100-
{"ComparisonMinMagMipPoint", SamplerFilter::ComparisonMinMagMipPoint},
101-
{"ComparisonMinMagPointMipLinear",
102-
SamplerFilter::ComparisonMinMagPointMipLinear},
103-
{"ComparisonMinPointMagLinearMipPoint",
104-
SamplerFilter::ComparisonMinPointMagLinearMipPoint},
105-
{"ComparisonMinPointMagMipLinear",
106-
SamplerFilter::ComparisonMinPointMagMipLinear},
107-
{"ComparisonMinLinearMagMipPoint",
108-
SamplerFilter::ComparisonMinLinearMagMipPoint},
109-
{"ComparisonMinLinearMagPointMipLinear",
110-
SamplerFilter::ComparisonMinLinearMagPointMipLinear},
111-
{"ComparisonMinMagLinearMipPoint",
112-
SamplerFilter::ComparisonMinMagLinearMipPoint},
113-
{"ComparisonMinMagMipLinear", SamplerFilter::ComparisonMinMagMipLinear},
114-
{"ComparisonAnisotropic", SamplerFilter::ComparisonAnisotropic},
115-
{"MinimumMinMagMipPoint", SamplerFilter::MinimumMinMagMipPoint},
116-
{"MinimumMinMagPointMipLinear", SamplerFilter::MinimumMinMagPointMipLinear},
117-
{"MinimumMinPointMagLinearMipPoint",
118-
SamplerFilter::MinimumMinPointMagLinearMipPoint},
119-
{"MinimumMinPointMagMipLinear", SamplerFilter::MinimumMinPointMagMipLinear},
120-
{"MinimumMinLinearMagMipPoint", SamplerFilter::MinimumMinLinearMagMipPoint},
121-
{"MinimumMinLinearMagPointMipLinear",
122-
SamplerFilter::MinimumMinLinearMagPointMipLinear},
123-
{"MinimumMinMagLinearMipPoint", SamplerFilter::MinimumMinMagLinearMipPoint},
124-
{"MinimumMinMagMipLinear", SamplerFilter::MinimumMinMagMipLinear},
125-
{"MinimumAnisotropic", SamplerFilter::MinimumAnisotropic},
126-
{"MaximumMinMagMipPoint", SamplerFilter::MaximumMinMagMipPoint},
127-
{"MaximumMinMagPointMipLinear", SamplerFilter::MaximumMinMagPointMipLinear},
128-
{"MaximumMinPointMagLinearMipPoint",
129-
SamplerFilter::MaximumMinPointMagLinearMipPoint},
130-
{"MaximumMinPointMagMipLinear", SamplerFilter::MaximumMinPointMagMipLinear},
131-
{"MaximumMinLinearMagMipPoint", SamplerFilter::MaximumMinLinearMagMipPoint},
132-
{"MaximumMinLinearMagPointMipLinear",
133-
SamplerFilter::MaximumMinLinearMagPointMipLinear},
134-
{"MaximumMinMagLinearMipPoint", SamplerFilter::MaximumMinMagLinearMipPoint},
135-
{"MaximumMinMagMipLinear", SamplerFilter::MaximumMinMagMipLinear},
136-
{"MaximumAnisotropic", SamplerFilter::MaximumAnisotropic},
137-
};
138-
139-
static raw_ostream &operator<<(raw_ostream &OS, const SamplerFilter &Filter) {
140-
printEnum(OS, Filter, ArrayRef(SamplerFilterNames));
90+
static raw_ostream &operator<<(raw_ostream &OS,
91+
const llvm::dxbc::SamplerFilter &Filter) {
92+
printEnum(OS, Filter, dxbc::getSamplerFilters());
14193

14294
return OS;
14395
}

llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ TEST(HLSLRootSignatureTest, DefinedStaticSamplerDump) {
194194
StaticSampler Sampler;
195195
Sampler.Reg = {RegisterType::SReg, 0};
196196

197-
Sampler.Filter = SamplerFilter::ComparisonMinMagLinearMipPoint;
197+
Sampler.Filter = llvm::dxbc::SamplerFilter::ComparisonMinMagLinearMipPoint;
198198
Sampler.AddressU = llvm::dxbc::TextureAddressMode::Mirror;
199199
Sampler.AddressV = llvm::dxbc::TextureAddressMode::Border;
200200
Sampler.AddressW = llvm::dxbc::TextureAddressMode::Clamp;

0 commit comments

Comments
 (0)