skia_safe/gpu/vk/
vulkan_mutable_texture_state.rs

1pub 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}