[go: nahoru, domu]

[Skia][Graphite] Enable `skia_use_dawn` for Linux

With Vulkan, Graphite-Dawn in Chrome on Linux now renders (at least with
Lavapipe, which is all I have available to test with). This CL enables
`skia_use_dawn` on Linux modulo CastOS, where there are currently build
failures (sorting out the CastOS story will be its own task).

Note: To render via Lavapipe (e.g., in Chrome Remote Desktop), you'll
need to do the following:
- Comment out the inclusion of
  wgpu::FeatureName::DawnMultiPlanarFormats in dawn_context_provider.cc,
  as that feature is not enabled on the Dawn device backed by Lavapipe
- Run with the following arguments: --use-angle-vulkan
  --ignore-gpu-blocklist --enable-skia-graphite

Bug: 1513428
Change-Id: Id5d1abb1b1ec469d90fe0c7e4cc758de3e91d400
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5136506
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1239680}
diff --git a/skia/features.gni b/skia/features.gni
index 337585a..322d01d 100644
--- a/skia/features.gni
+++ b/skia/features.gni
@@ -6,11 +6,12 @@
 import("//printing/buildflags/buildflags.gni")
 
 declare_args() {
-  # Enable experimental Skia Graphite Dawn backend. Current enabled on Windows,
-  # macOS, Android, and iOS when Blink is used.
+  # Enable experimental Skia Graphite Dawn backend. Enabled on platforms where
+  # the team has verified that at least basic rendering to the screen is
+  # working.
   skia_use_dawn = is_mac || is_win ||
                   (is_android && target_cpu != "x86" && target_cpu != "x64") ||
-                  (is_ios && use_blink)
+                  (is_ios && use_blink) || (is_linux && !is_castos)
 
   # Enable experimental Skia Graphite Metal backend. Intended only for debugging
   # on non-official developer builds.