Suggested/status of GPU backends

7,041 views
Skip to first unread message

mattl...@live.com

unread,
Aug 4, 2023, 8:26:13 AM8/4/23
to skia-discuss
Hi folks! After many months of old things I am finally updating SkiaSharp to the latest skia (yay!)

I see there is a few messages here and comments and things about the status and deprecation of backends. I was just wondering if there is a place to see the status of the backends?

What is the current status of the backends in m115? For example, what are the current stable ones and the ones in dev?

And what is the dream/final goal of all the backends? Is there something we are working towards so I should keep that in mind?

I think maybe I am starting to lose the mental picture of how these all fit together... I see:

 - Ganesh
 - Graphite
 - Dawn

There is also Metal and Vulkan, but Ganesh also has a Metal and then Graphite has a Vulkan, Metal and Dawn set of files.

If I am writing code using GrContext for example, will this change with different backends - like I use different code, or is it changing internally.

:)

Jim Van Verth

unread,
Aug 4, 2023, 9:54:14 AM8/4/23
to skia-d...@googlegroups.com
There are two overarching approaches to the backends: Ganesh, which is the set of old GPU backends with an approach originally designed for OpenGL, and Graphite, which is the new approach under development, designed to specifically run well on Metal, Dawn, Vulkan, and Direct3D 12, and be better for multithreading.

The current organization is (ordered by historical creation):
Ganesh (stable)
- OpenGL
- Vulkan
- Metal
- Dawn
- D3D12
Graphite (dev)
- Metal
- Dawn
- Vulkan

GrContext will only work with Ganesh -- there is an entirely new setup for Graphite that uses skgpu::graphite::Context and skgpu::graphite::Recorder.

Chrome is in the process of switching over to Graphite. The long-term goal for Skia is to deprecate Ganesh and move forward with Graphite only.


--
You received this message because you are subscribed to the Google Groups "skia-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to skia-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/skia-discuss/afa6332c-0225-4ea6-bc11-714876643d87n%40googlegroups.com.


--

Jim Van Verth |
 Software Engineer | Google.com

gpu

unread,
Nov 19, 2024, 7:11:06 AM11/19/24
to skia-discuss
how is Graphite now? has it already used in any project?such Android, Chrome, etc? Thanks!

gpu

unread,
Nov 19, 2024, 7:11:11 AM11/19/24
to skia-discuss
how about Graphite for Android? still in dev? any plan of when to switch to Graphite in Android?
by the way, what's Dawn?
Thanks!
On Friday, August 4, 2023 at 9:54:14 PM UTC+8 jvan...@google.com wrote:

Jim Van Verth

unread,
Nov 20, 2024, 10:56:56 AM11/20/24
to skia-d...@googlegroups.com
Chrome has integrated Graphite, and Android to a limited extent, but in both cases it's still under development and testing. You can try Graphite in Chrome by using the --skia-graphite-backend flag. Dawn is Google's internal library for WebGPU.

Sowmyyy Reanz

unread,
Dec 11, 2025, 9:41:57 AM12/11/25
to skia-discuss
Team, any update on completion of Graphite support for all platforms includes macOS iOS , windows and linux?
Graphite is stable to adopt?

Michael Ludwig

unread,
Dec 11, 2025, 9:47:35 AM12/11/25
to skia-discuss
Graphite should be stable enough to start testing.  It is enabled by default on Chrome for Mac and is making progress for Windows (primarily tested with Dawn's D3D11 backend although D3D12 should be functional). For Android devices that support Vulkan 1.1,  Graphite should also be functional although we are still in the process of expanding which devices we've tested on.  

There are several less-used APIs of SkCanvas that have not been ported to Graphite yet, such as drawMesh and drawImageLattice, although they are targeted for completion this year.

xoofx

unread,
Dec 24, 2025, 6:09:29 AM (9 days ago) 12/24/25
to skia-discuss
Hey, are the Metal / Vulkan backends for Graphite still going to be maintained considering the purpose of Dawn to serve as a common GPU foundation for Graphite?

Greg Daniel

unread,
Dec 24, 2025, 6:14:36 AM (9 days ago) 12/24/25
to skia-discuss
For the current plans, the vulkan backend will definitely be maintained and be used in production/shipping code. The metal backend will be maintained and kept working for testing purposes.

--
You received this message because you are subscribed to the Google Groups "skia-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to skia-discuss...@googlegroups.com.

xoofx

unread,
Dec 26, 2025, 10:12:09 AM (7 days ago) 12/26/25
to skia-discuss
Hey, are the Metal/Vulkan backends still relevant for Graphite, if Dawn is going to be the main target for it?

On Thursday, December 11, 2025 at 3:47:35 PM UTC+1 michae...@google.com wrote:

xoofx

unread,
Dec 26, 2025, 10:12:21 AM (7 days ago) 12/26/25
to skia-discuss
Hey, regarding the Metal and Vulkan backends for Graphite, is there still a reason to target them and are they going to be kept around, or should we consider Dawn only?
On Thursday, December 11, 2025 at 3:47:35 PM UTC+1 michae...@google.com wrote:
Reply all
Reply to author
Forward
0 new messages