ast: add sample_mask_in, ample_mask_out, sample_id

Fixed: tint:472
Change-Id: Id7ac14f4ec34fce8172747bfc24b1693addbe738
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/39842
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Auto-Submit: David Neto <dneto@google.com>
diff --git a/src/ast/builtin.cc b/src/ast/builtin.cc
index 8a8485f..36dbb83 100644
--- a/src/ast/builtin.cc
+++ b/src/ast/builtin.cc
@@ -59,6 +59,18 @@
       out << "global_invocation_id";
       break;
     }
+    case Builtin::kSampleId: {
+      out << "sample_id";
+      break;
+    }
+    case Builtin::kSampleMaskIn: {
+      out << "sample_mask_in";
+      break;
+    }
+    case Builtin::kSampleMaskOut: {
+      out << "sample_mask_out";
+      break;
+    }
     case Builtin::kPointSize: {
       out << "pointsize";
     }
diff --git a/src/ast/builtin.h b/src/ast/builtin.h
index e856e2c..864cfb3 100644
--- a/src/ast/builtin.h
+++ b/src/ast/builtin.h
@@ -32,6 +32,9 @@
   kLocalInvocationId,
   kLocalInvocationIndex,
   kGlobalInvocationId,
+  kSampleId,
+  kSampleMaskIn,
+  kSampleMaskOut,
 
   // Below are not currently WGSL builtins, but are included in this enum as
   // they are used by certain backends.
diff --git a/src/writer/spirv/builder.cc b/src/writer/spirv/builder.cc
index 158c56b..d9b936f 100644
--- a/src/writer/spirv/builder.cc
+++ b/src/writer/spirv/builder.cc
@@ -3137,6 +3137,9 @@
       return SpvBuiltInGlobalInvocationId;
     case ast::Builtin::kPointSize:
       return SpvBuiltInPointSize;
+    case ast::Builtin::kSampleId:       // TODO(dneto)
+    case ast::Builtin::kSampleMaskIn:   // TODO(dneto)
+    case ast::Builtin::kSampleMaskOut:  // TODO(dneto)
     case ast::Builtin::kNone:
       break;
   }