Add GLSL FSign support
This CL adds FSign to the type determination.
Bug: tint:5
Change-Id: I8e3a7e94f367c4aaa510e72f774097946382a968
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/19943
Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/type_determiner.cc b/src/type_determiner.cc
index 244c5a4..991bfda 100644
--- a/src/type_determiner.cc
+++ b/src/type_determiner.cc
@@ -577,7 +577,7 @@
}
if (name == "round" || name == "roundeven" || name == "trunc" ||
- name == "fabs") {
+ name == "fabs" || name == "fsign") {
if (params.size() != 1) {
error_ = "incorrect number of parameters for " + name +
". Expected 1 got " + std::to_string(params.size());
@@ -597,6 +597,8 @@
*id = GLSLstd450Trunc;
} else if (name == "fabs") {
*id = GLSLstd450FAbs;
+ } else if (name == "fsign") {
+ *id = GLSLstd450FSign;
}
return params[0]->result_type();
diff --git a/src/type_determiner_test.cc b/src/type_determiner_test.cc
index 8cb68e1..d16434d 100644
--- a/src/type_determiner_test.cc
+++ b/src/type_determiner_test.cc
@@ -1591,7 +1591,8 @@
GLSLData{"roundeven",
GLSLstd450RoundEven},
GLSLData{"trunc", GLSLstd450Trunc},
- GLSLData{"fabs", GLSLstd450FAbs}));
+ GLSLData{"fabs", GLSLstd450FAbs},
+ GLSLData{"fsign", GLSLstd450FSign}));
} // namespace
} // namespace tint