[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.