Suggested/status of GPU backends

6,575 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.

Reply all
Reply to author
Forward
0 new messages