Remove validation for framebuffer fetch with MSAA

Since Metal supports framebuffer fetch on multisampled targets, and the
current Dawn API for fetch is only supported on Metal, it's beneficial
to allow fetch in Dawn on multisampled targets as well.

Change-Id: I2125c09ba390108ce431e69600a647081602a9a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/161220
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn/native/RenderPipeline.cpp b/src/dawn/native/RenderPipeline.cpp
index 1d03bf9..f5a749c 100644
--- a/src/dawn/native/RenderPipeline.cpp
+++ b/src/dawn/native/RenderPipeline.cpp
@@ -638,12 +638,6 @@
             format->format);
     }
 
-    if (multisample.count != 1) {
-        DAWN_INVALID_IF(fragmentMetadata.fragmentInputMask.any(),
-                        "Framebuffer inputs are used when the sample count (%u) is not 1.",
-                        multisample.count);
-    }
-
     if (device->IsCompatibilityMode()) {
         DAWN_INVALID_IF(
             fragmentMetadata.usesSampleMaskOutput,
diff --git a/src/dawn/tests/unittests/validation/RenderPipelineValidationTests.cpp b/src/dawn/tests/unittests/validation/RenderPipelineValidationTests.cpp
index 03ac33b..0c2d853 100644
--- a/src/dawn/tests/unittests/validation/RenderPipelineValidationTests.cpp
+++ b/src/dawn/tests/unittests/validation/RenderPipelineValidationTests.cpp
@@ -2553,26 +2553,6 @@
     }
 }
 
-// Test that the framebuffer fetch requires multisampling to be off.
-TEST_F(FramebufferFetchFeatureTest, MultisampleDisallowed) {
-    utils::ComboRenderPipelineDescriptor desc;
-    desc.vertex.entryPoint = "main";
-    desc.vertex.module = vsModule;
-    desc.cFragment.entryPoint = "main";
-    desc.cFragment.module = utils::CreateShaderModule(device, R"(
-        enable chromium_experimental_framebuffer_fetch;
-        @fragment fn main(@color(0) in : vec4f) -> @location(0) vec4f {
-            return in;
-        }
-    )");
-
-    desc.multisample.count = 1;
-    device.CreateRenderPipeline(&desc);
-
-    desc.multisample.count = 4;
-    ASSERT_DEVICE_ERROR(device.CreateRenderPipeline(&desc));
-}
-
 // Test that the framebuffer fetch type matches the texture format exactly.
 TEST_F(FramebufferFetchFeatureTest, InputMatchesFormat) {
     struct ValidPair {