Add deprecation warning to Surface::GetPreferredFormat.

Developers should use Surface::GetCapabilities().formats[0] instead.

Bug: 42241264
Change-Id: Ic2e8814711fd9ad36a31020d0e89a1e25173ef51
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/189122
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
diff --git a/src/dawn/native/Surface.cpp b/src/dawn/native/Surface.cpp
index 6f7b6a9..65b643d 100644
--- a/src/dawn/native/Surface.cpp
+++ b/src/dawn/native/Surface.cpp
@@ -545,6 +545,10 @@
 }
 
 ResultOrError<wgpu::TextureFormat> Surface::GetPreferredFormat(AdapterBase* adapter) const {
+    GetInstance()->EmitDeprecationWarning(
+        "GetPreferredFormat is deprecated, use GetCapabilities().format[0] instead as the "
+        "preferred format.");
+
     wgpu::TextureFormat format = wgpu::TextureFormat::Undefined;
 
     DAWN_TRY(mCapabilityCache->WithAdapterCapabilities(
diff --git a/src/dawn/tests/end2end/SurfaceConfigurationValidationTests.cpp b/src/dawn/tests/end2end/SurfaceConfigurationValidationTests.cpp
index 4c7de5a..da0f809 100644
--- a/src/dawn/tests/end2end/SurfaceConfigurationValidationTests.cpp
+++ b/src/dawn/tests/end2end/SurfaceConfigurationValidationTests.cpp
@@ -102,10 +102,8 @@
         wgpu::SurfaceCapabilities capabilities;
         surface.GetCapabilities(adapter, &capabilities);
 
-        wgpu::TextureFormat preferredFormat = surface.GetPreferredFormat(adapter);
-
         wgpu::SurfaceConfiguration config = baseConfig;
-        config.format = preferredFormat;
+        config.format = capabilities.formats[0];
         config.alphaMode = capabilities.alphaModes[0];
         config.presentMode = capabilities.presentModes[0];
         return config;
@@ -203,21 +201,6 @@
     }
 }
 
-// Preferred format is always valid.
-TEST_P(SurfaceConfigurationValidationTests, PreferredFormatIsValid) {
-    wgpu::Surface surface = CreateTestSurface();
-
-    wgpu::SurfaceCapabilities capabilities;
-    surface.GetCapabilities(adapter, &capabilities);
-
-    wgpu::TextureFormat preferredFormat = surface.GetPreferredFormat(adapter);
-    bool found = false;
-    for (size_t i = 0; i < capabilities.formatCount; ++i) {
-        found = found || capabilities.formats[i] == preferredFormat;
-    }
-    ASSERT_TRUE(found);
-}
-
 // Invalid view format fails
 TEST_P(SurfaceConfigurationValidationTests, InvalidViewFormat) {
     wgpu::Surface surface = CreateTestSurface();