Add typedef to simplify enum-bitmasks with SkSLTestFlags.

Change-Id: I67f6c6fa16b046f358ec28efe80e04efe861eb18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/745576
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
Reviewed-by: James Godfrey-Kittle <jamesgk@google.com>
diff --git a/tests/SkSLTest.cpp b/tests/SkSLTest.cpp
index cb7a728..3667f4e 100644
--- a/tests/SkSLTest.cpp
+++ b/tests/SkSLTest.cpp
@@ -68,7 +68,7 @@
 static constexpr int kWidth = 2;
 static constexpr int kHeight = 2;
 
-enum class SkSLTestFlags : int {
+enum class SkSLTestFlag : int {
     /** `CPU` tests must pass when painted to a CPU-backed surface via SkRuntimeEffect. */
     CPU     = 1 << 0,
 
@@ -91,16 +91,18 @@
     UsesNaN = 1 << 4,
 };
 
-static constexpr bool is_cpu(SkEnumBitMask<SkSLTestFlags> flags) {
-    return SkToBool(flags & SkSLTestFlags::CPU);
+using SkSLTestFlags = SkEnumBitMask<SkSLTestFlag>;
+
+static constexpr bool is_cpu(SkSLTestFlags flags) {
+    return SkToBool(flags & SkSLTestFlag::CPU);
 }
 
-static constexpr bool is_gpu(SkEnumBitMask<SkSLTestFlags> flags) {
-    return (flags & SkSLTestFlags::GPU) || (flags & SkSLTestFlags::GPU_ES3);
+static constexpr bool is_gpu(SkSLTestFlags flags) {
+    return (flags & SkSLTestFlag::GPU) || (flags & SkSLTestFlag::GPU_ES3);
 }
 
-static constexpr bool is_strict_es2(SkEnumBitMask<SkSLTestFlags> flags) {
-    return !(flags & SkSLTestFlags::GPU_ES3) && !(flags & SkSLTestFlags::ES3);
+static constexpr bool is_strict_es2(SkSLTestFlags flags) {
+    return !(flags & SkSLTestFlag::GPU_ES3) && !(flags & SkSLTestFlag::ES3);
 }
 
 struct UniformData {
@@ -284,10 +286,8 @@
     test_one_permutation(r, surface, testFile, " (Unoptimized)", options);
 }
 
-static void test_cpu(skiatest::Reporter* r,
-                     const char* testFile,
-                     SkEnumBitMask<SkSLTestFlags> flags) {
-    SkASSERT(flags & SkSLTestFlags::CPU);
+static void test_cpu(skiatest::Reporter* r, const char* testFile, SkSLTestFlags flags) {
+    SkASSERT(flags & SkSLTestFlag::CPU);
 
     // Create a raster-backed surface.
     const SkImageInfo info = SkImageInfo::MakeN32Premul(kWidth, kHeight);
@@ -299,18 +299,18 @@
 static void test_gpu(skiatest::Reporter* r,
                      GrDirectContext* ctx,
                      const char* testFile,
-                     SkEnumBitMask<SkSLTestFlags> flags) {
+                     SkSLTestFlags flags) {
     // If this is an ES3-only test on a GPU which doesn't support SkSL ES3, return immediately.
-    bool shouldRunGPU = SkToBool(flags & SkSLTestFlags::GPU);
+    bool shouldRunGPU = SkToBool(flags & SkSLTestFlag::GPU);
     bool shouldRunGPU_ES3 =
-            (flags & SkSLTestFlags::GPU_ES3) &&
+            (flags & SkSLTestFlag::GPU_ES3) &&
             (ctx->priv().caps()->shaderCaps()->supportedSkSLVerion() >= SkSL::Version::k300);
     if (!shouldRunGPU && !shouldRunGPU_ES3) {
         return;
     }
 
     // If this is a test that requires the GPU to generate NaN values, check for that first.
-    if (flags & SkSLTestFlags::UsesNaN) {
+    if (flags & SkSLTestFlag::UsesNaN) {
         if (!gpu_generates_nan(r, ctx)) {
             return;
         }
@@ -328,9 +328,7 @@
     }
 }
 
-static void test_clone(skiatest::Reporter* r,
-                       const char* testFile,
-                       SkEnumBitMask<SkSLTestFlags> flags) {
+static void test_clone(skiatest::Reporter* r, const char* testFile, SkSLTestFlags flags) {
     SkString shaderString = load_source(r, testFile, "");
     if (shaderString.isEmpty()) {
         return;
@@ -358,26 +356,24 @@
     SkSL::ThreadContext::End();
 }
 
-static void report_rp_pass(skiatest::Reporter* r,
-                           const char* testFile,
-                           SkEnumBitMask<SkSLTestFlags> flags) {
-    if (!(flags & SkSLTestFlags::CPU) && !(flags & SkSLTestFlags::ES3)) {
+static void report_rp_pass(skiatest::Reporter* r, const char* testFile, SkSLTestFlags flags) {
+    if (!(flags & SkSLTestFlag::CPU) && !(flags & SkSLTestFlag::ES3)) {
         ERRORF(r, "NEW: %s", testFile);
     }
 }
 
 static void report_rp_fail(skiatest::Reporter* r,
                            const char* testFile,
-                           SkEnumBitMask<SkSLTestFlags> flags,
+                           SkSLTestFlags flags,
                            const char* reason) {
-    if ((flags & SkSLTestFlags::CPU) || (flags & SkSLTestFlags::ES3)) {
+    if ((flags & SkSLTestFlag::CPU) || (flags & SkSLTestFlag::ES3)) {
         ERRORF(r, "%s: %s", testFile, reason);
     }
 }
 
 static void test_raster_pipeline(skiatest::Reporter* r,
                                  const char* testFile,
-                                 SkEnumBitMask<SkSLTestFlags> flags) {
+                                 SkSLTestFlags flags) {
     SkString shaderString = load_source(r, testFile, "");
     if (shaderString.isEmpty()) {
         return;
@@ -514,11 +510,11 @@
 
 // clang-format off
 
-constexpr SkEnumBitMask<SkSLTestFlags> CPU = SkSLTestFlags::CPU;
-constexpr SkEnumBitMask<SkSLTestFlags> ES3 = SkSLTestFlags::ES3;
-constexpr SkEnumBitMask<SkSLTestFlags> GPU = SkSLTestFlags::GPU;
-constexpr SkEnumBitMask<SkSLTestFlags> GPU_ES3 = SkSLTestFlags::GPU_ES3;
-constexpr SkEnumBitMask<SkSLTestFlags> UsesNaN = SkSLTestFlags::UsesNaN;
+constexpr SkSLTestFlags CPU = SkSLTestFlag::CPU;
+constexpr SkSLTestFlags ES3 = SkSLTestFlag::ES3;
+constexpr SkSLTestFlags GPU = SkSLTestFlag::GPU;
+constexpr SkSLTestFlags GPU_ES3 = SkSLTestFlag::GPU_ES3;
+constexpr SkSLTestFlags UsesNaN = SkSLTestFlag::UsesNaN;
 constexpr auto kApiLevel_T = CtsEnforcement::kApiLevel_T;
 constexpr auto kApiLevel_U = CtsEnforcement::kApiLevel_U;
 constexpr auto kNever = CtsEnforcement::kNever;