skia_safe/gpu/vk/
vulkan_mutable_texture_state.rs1pub mod mutable_texture_states {
2 use skia_bindings as sb;
3
4 use crate::{
5 gpu::{vk::ImageLayout, BackendApi, MutableTextureState},
6 prelude::*,
7 };
8
9 pub fn new_vulkan(layout: ImageLayout, queue_family_index: u32) -> MutableTextureState {
10 MutableTextureState::from_ptr(unsafe {
11 sb::C_MutableTextureStates_ConstructVulkan(layout, queue_family_index)
12 })
13 .unwrap()
14 }
15
16 pub fn get_vk_image_layout(state: &MutableTextureState) -> sb::VkImageLayout {
17 assert_eq!(state.backend(), BackendApi::Vulkan);
18 unsafe { sb::C_MutableTextureStates_getVkImageLayout(state.native()) }
19 }
20
21 pub fn get_vk_queue_family_index(state: &MutableTextureState) -> u32 {
22 assert_eq!(state.backend(), BackendApi::Vulkan);
23 unsafe { sb::C_MutableTextureStates_getVkQueueFamilyIndex(state.native()) }
24 }
25}