Graphite with Vulkan backend

51 views
Skip to first unread message

YUANPEI WU

unread,
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

unread,
Apr 22, 2024, 9:45:10 AMApr 22
to skia-d...@googlegroups.com
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 skia-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/skia-discuss/379f7add-9624-4019-93c1-b470ca0c09c9n%40googlegroups.com.


--

Jim Van Verth |
 Software Engineer | Google.com

Jim Van Verth

unread,
Apr 22, 2024, 9:53:11 AMApr 22
to skia-d...@googlegroups.com
See Greg's response in the other thread for more detail.
Reply all
Reply to author
Forward
0 new messages