Graphite with Vulkan backend

Skip to first unread message


Apr 22, 2024, 7:50:48 AMApr 22
to skia-discuss
Hi folks!
I am building a prototype using skia->graphite->vulkan.
I am wondering what does recorder.snap()  exactly do in this case? Does the snap() function directly create VK command buffers? or it just creates skia data structures and the context.insertRecording() will create VK commands?
In other words, how is the division of jobs between snap() and insertRecording(), when the vulkan backend is used.
Thanks in advance!

Jim Van Verth

Apr 22, 2024, 9:45:10 AMApr 22
At a high level your second intuition is correct. Recorder::snap() will create a Recording, which is a collection of API-agnostic rendering, compute, and copy tasks. Context::insertRecording() parses those tasks, turns them into specific API commands, and inserts them into the command buffer. However, there is some preprocessing done during snap(): for example, loading data into buffers.

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
To view this discussion on the web visit


Jim Van Verth |
 Software Engineer |

Jim Van Verth

Apr 22, 2024, 9:53:11 AMApr 22
See Greg's response in the other thread for more detail.
Reply all
Reply to author
0 new messages