skia_safe/gpu/ganesh/vk/
vk_direct_context.rs1pub mod direct_contexts {
2 use skia_bindings as sb;
3
4 use crate::{
5 gpu::{vk, ContextOptions, DirectContext},
6 prelude::*,
7 };
8
9 pub fn make_vulkan<'a>(
10 backend_context: &vk::BackendContext,
11 options: impl Into<Option<&'a ContextOptions>>,
12 ) -> Option<DirectContext> {
13 unsafe {
14 let end_resolving = backend_context.begin_resolving();
15 let context = DirectContext::from_ptr(sb::C_GrDirectContexts_MakeVulkan(
16 backend_context.native.as_ptr() as _,
17 options.into().native_ptr_or_null(),
18 ));
19 drop(end_resolving);
20 context
21 }
22 }
23}