Skip to content

Commit e1de7ef

Browse files
committed
nfc: move ComparisonFunc and TextureAddressMode
1 parent 35a4f5c commit e1de7ef

File tree

6 files changed

+38
-69
lines changed

6 files changed

+38
-69
lines changed

clang/include/clang/Parse/ParseHLSLRootSignature.h

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,12 @@ class RootSignatureParser {
112112
struct ParsedStaticSamplerParams {
113113
std::optional<llvm::hlsl::rootsig::Register> Reg;
114114
std::optional<llvm::hlsl::rootsig::SamplerFilter> Filter;
115-
std::optional<llvm::hlsl::rootsig::TextureAddressMode> AddressU;
116-
std::optional<llvm::hlsl::rootsig::TextureAddressMode> AddressV;
117-
std::optional<llvm::hlsl::rootsig::TextureAddressMode> AddressW;
115+
std::optional<llvm::dxbc::TextureAddressMode> AddressU;
116+
std::optional<llvm::dxbc::TextureAddressMode> AddressV;
117+
std::optional<llvm::dxbc::TextureAddressMode> AddressW;
118118
std::optional<float> MipLODBias;
119119
std::optional<uint32_t> MaxAnisotropy;
120-
std::optional<llvm::hlsl::rootsig::ComparisonFunc> CompFunc;
120+
std::optional<llvm::dxbc::ComparisonFunc> CompFunc;
121121
std::optional<llvm::dxbc::StaticBorderColor> BorderColor;
122122
std::optional<float> MinLOD;
123123
std::optional<float> MaxLOD;
@@ -134,9 +134,8 @@ class RootSignatureParser {
134134
/// Parsing methods of various enums
135135
std::optional<llvm::dxbc::ShaderVisibility> parseShaderVisibility();
136136
std::optional<llvm::hlsl::rootsig::SamplerFilter> parseSamplerFilter();
137-
std::optional<llvm::hlsl::rootsig::TextureAddressMode>
138-
parseTextureAddressMode();
139-
std::optional<llvm::hlsl::rootsig::ComparisonFunc> parseComparisonFunc();
137+
std::optional<llvm::dxbc::TextureAddressMode> parseTextureAddressMode();
138+
std::optional<llvm::dxbc::ComparisonFunc> parseComparisonFunc();
140139
std::optional<llvm::dxbc::StaticBorderColor> parseStaticBorderColor();
141140
std::optional<llvm::dxbc::RootDescriptorFlags> parseRootDescriptorFlags();
142141
std::optional<llvm::dxbc::DescriptorRangeFlags> parseDescriptorRangeFlags();

clang/lib/Parse/ParseHLSLRootSignature.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,7 +1036,7 @@ RootSignatureParser::parseSamplerFilter() {
10361036
return std::nullopt;
10371037
}
10381038

1039-
std::optional<llvm::hlsl::rootsig::TextureAddressMode>
1039+
std::optional<llvm::dxbc::TextureAddressMode>
10401040
RootSignatureParser::parseTextureAddressMode() {
10411041
assert(CurToken.TokKind == TokenKind::pu_equal &&
10421042
"Expects to only be invoked starting at given keyword");
@@ -1052,7 +1052,7 @@ RootSignatureParser::parseTextureAddressMode() {
10521052
switch (CurToken.TokKind) {
10531053
#define TEXTURE_ADDRESS_MODE_ENUM(NAME, LIT) \
10541054
case TokenKind::en_##NAME: \
1055-
return TextureAddressMode::NAME; \
1055+
return llvm::dxbc::TextureAddressMode::NAME; \
10561056
break;
10571057
#include "clang/Lex/HLSLRootSignatureTokenKinds.def"
10581058
default:
@@ -1062,7 +1062,7 @@ RootSignatureParser::parseTextureAddressMode() {
10621062
return std::nullopt;
10631063
}
10641064

1065-
std::optional<llvm::hlsl::rootsig::ComparisonFunc>
1065+
std::optional<llvm::dxbc::ComparisonFunc>
10661066
RootSignatureParser::parseComparisonFunc() {
10671067
assert(CurToken.TokKind == TokenKind::pu_equal &&
10681068
"Expects to only be invoked starting at given keyword");
@@ -1078,7 +1078,7 @@ RootSignatureParser::parseComparisonFunc() {
10781078
switch (CurToken.TokKind) {
10791079
#define COMPARISON_FUNC_ENUM(NAME, LIT) \
10801080
case TokenKind::en_##NAME: \
1081-
return ComparisonFunc::NAME; \
1081+
return llvm::dxbc::ComparisonFunc::NAME; \
10821082
break;
10831083
#include "clang/Lex/HLSLRootSignatureTokenKinds.def"
10841084
default:

clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -261,12 +261,16 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseStaticSamplerTest) {
261261
ASSERT_EQ(std::get<StaticSampler>(Elem).Reg.ViewType, RegisterType::SReg);
262262
ASSERT_EQ(std::get<StaticSampler>(Elem).Reg.Number, 0u);
263263
ASSERT_EQ(std::get<StaticSampler>(Elem).Filter, SamplerFilter::Anisotropic);
264-
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressU, TextureAddressMode::Wrap);
265-
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressV, TextureAddressMode::Wrap);
266-
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressW, TextureAddressMode::Wrap);
264+
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressU,
265+
llvm::dxbc::TextureAddressMode::Wrap);
266+
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressV,
267+
llvm::dxbc::TextureAddressMode::Wrap);
268+
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressW,
269+
llvm::dxbc::TextureAddressMode::Wrap);
267270
ASSERT_FLOAT_EQ(std::get<StaticSampler>(Elem).MipLODBias, 0.f);
268271
ASSERT_EQ(std::get<StaticSampler>(Elem).MaxAnisotropy, 16u);
269-
ASSERT_EQ(std::get<StaticSampler>(Elem).CompFunc, ComparisonFunc::LessEqual);
272+
ASSERT_EQ(std::get<StaticSampler>(Elem).CompFunc,
273+
llvm::dxbc::ComparisonFunc::LessEqual);
270274
ASSERT_EQ(std::get<StaticSampler>(Elem).BorderColor,
271275
llvm::dxbc::StaticBorderColor::OpaqueWhite);
272276
ASSERT_FLOAT_EQ(std::get<StaticSampler>(Elem).MinLOD, 0.f);
@@ -282,12 +286,16 @@ TEST_F(ParseHLSLRootSignatureTest, ValidParseStaticSamplerTest) {
282286
ASSERT_EQ(std::get<StaticSampler>(Elem).Reg.Number, 0u);
283287
ASSERT_EQ(std::get<StaticSampler>(Elem).Filter,
284288
SamplerFilter::MaximumMinPointMagLinearMipPoint);
285-
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressU, TextureAddressMode::Mirror);
286-
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressV, TextureAddressMode::Border);
287-
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressW, TextureAddressMode::Clamp);
289+
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressU,
290+
llvm::dxbc::TextureAddressMode::Mirror);
291+
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressV,
292+
llvm::dxbc::TextureAddressMode::Border);
293+
ASSERT_EQ(std::get<StaticSampler>(Elem).AddressW,
294+
llvm::dxbc::TextureAddressMode::Clamp);
288295
ASSERT_FLOAT_EQ(std::get<StaticSampler>(Elem).MipLODBias, 230.f);
289296
ASSERT_EQ(std::get<StaticSampler>(Elem).MaxAnisotropy, 3u);
290-
ASSERT_EQ(std::get<StaticSampler>(Elem).CompFunc, ComparisonFunc::NotEqual);
297+
ASSERT_EQ(std::get<StaticSampler>(Elem).CompFunc,
298+
llvm::dxbc::ComparisonFunc::NotEqual);
291299
ASSERT_EQ(std::get<StaticSampler>(Elem).BorderColor,
292300
llvm::dxbc::StaticBorderColor::OpaqueBlackUint);
293301
ASSERT_FLOAT_EQ(std::get<StaticSampler>(Elem).MinLOD, 4.2f);

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

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -70,25 +70,6 @@ enum class SamplerFilter {
7070
MaximumAnisotropic = 0x1d5
7171
};
7272

73-
enum class TextureAddressMode {
74-
Wrap = 1,
75-
Mirror = 2,
76-
Clamp = 3,
77-
Border = 4,
78-
MirrorOnce = 5
79-
};
80-
81-
enum class ComparisonFunc : unsigned {
82-
Never = 1,
83-
Less = 2,
84-
Equal = 3,
85-
LessEqual = 4,
86-
Greater = 5,
87-
NotEqual = 6,
88-
GreaterEqual = 7,
89-
Always = 8
90-
};
91-
9273
// Definitions of the in-memory data layout structures
9374

9475
// Models the different registers: bReg | tReg | uReg | sReg
@@ -167,12 +148,12 @@ struct DescriptorTableClause {
167148
struct StaticSampler {
168149
Register Reg;
169150
SamplerFilter Filter = SamplerFilter::Anisotropic;
170-
TextureAddressMode AddressU = TextureAddressMode::Wrap;
171-
TextureAddressMode AddressV = TextureAddressMode::Wrap;
172-
TextureAddressMode AddressW = TextureAddressMode::Wrap;
151+
dxbc::TextureAddressMode AddressU = dxbc::TextureAddressMode::Wrap;
152+
dxbc::TextureAddressMode AddressV = dxbc::TextureAddressMode::Wrap;
153+
dxbc::TextureAddressMode AddressW = dxbc::TextureAddressMode::Wrap;
173154
float MipLODBias = 0.f;
174155
uint32_t MaxAnisotropy = 16;
175-
ComparisonFunc CompFunc = ComparisonFunc::LessEqual;
156+
llvm::dxbc::ComparisonFunc CompFunc = llvm::dxbc::ComparisonFunc::LessEqual;
176157
dxbc::StaticBorderColor BorderColor = dxbc::StaticBorderColor::OpaqueWhite;
177158
float MinLOD = 0.f;
178159
float MaxLOD = std::numeric_limits<float>::max();

llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -142,35 +142,16 @@ static raw_ostream &operator<<(raw_ostream &OS, const SamplerFilter &Filter) {
142142
return OS;
143143
}
144144

145-
static const EnumEntry<TextureAddressMode> TextureAddressModeNames[] = {
146-
{"Wrap", TextureAddressMode::Wrap},
147-
{"Mirror", TextureAddressMode::Mirror},
148-
{"Clamp", TextureAddressMode::Clamp},
149-
{"Border", TextureAddressMode::Border},
150-
{"MirrorOnce", TextureAddressMode::MirrorOnce},
151-
};
152-
153145
static raw_ostream &operator<<(raw_ostream &OS,
154-
const TextureAddressMode &Address) {
155-
printEnum(OS, Address, ArrayRef(TextureAddressModeNames));
146+
const dxbc::TextureAddressMode &Address) {
147+
printEnum(OS, Address, dxbc::getTextureAddressModes());
156148

157149
return OS;
158150
}
159151

160-
static const EnumEntry<ComparisonFunc> ComparisonFuncNames[] = {
161-
{"Never", ComparisonFunc::Never},
162-
{"Less", ComparisonFunc::Less},
163-
{"Equal", ComparisonFunc::Equal},
164-
{"LessEqual", ComparisonFunc::LessEqual},
165-
{"Greater", ComparisonFunc::Greater},
166-
{"NotEqual", ComparisonFunc::NotEqual},
167-
{"GreaterEqual", ComparisonFunc::GreaterEqual},
168-
{"Always", ComparisonFunc::Always},
169-
};
170-
171152
static raw_ostream &operator<<(raw_ostream &OS,
172-
const ComparisonFunc &CompFunc) {
173-
printEnum(OS, CompFunc, ArrayRef(ComparisonFuncNames));
153+
const dxbc::ComparisonFunc &CompFunc) {
154+
printEnum(OS, CompFunc, dxbc::getComparisonFuncs());
174155

175156
return OS;
176157
}

llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -195,12 +195,12 @@ TEST(HLSLRootSignatureTest, DefinedStaticSamplerDump) {
195195
Sampler.Reg = {RegisterType::SReg, 0};
196196

197197
Sampler.Filter = SamplerFilter::ComparisonMinMagLinearMipPoint;
198-
Sampler.AddressU = TextureAddressMode::Mirror;
199-
Sampler.AddressV = TextureAddressMode::Border;
200-
Sampler.AddressW = TextureAddressMode::Clamp;
198+
Sampler.AddressU = llvm::dxbc::TextureAddressMode::Mirror;
199+
Sampler.AddressV = llvm::dxbc::TextureAddressMode::Border;
200+
Sampler.AddressW = llvm::dxbc::TextureAddressMode::Clamp;
201201
Sampler.MipLODBias = 4.8f;
202202
Sampler.MaxAnisotropy = 32;
203-
Sampler.CompFunc = ComparisonFunc::NotEqual;
203+
Sampler.CompFunc = llvm::dxbc::ComparisonFunc::NotEqual;
204204
Sampler.BorderColor = llvm::dxbc::StaticBorderColor::OpaqueBlack;
205205
Sampler.MinLOD = 1.0f;
206206
Sampler.MaxLOD = 32.0f;

0 commit comments

Comments
 (0)