diff --git a/ash/src/device.rs b/ash/src/device.rs index 4c4330da5..e5d9e03e9 100644 --- a/ash/src/device.rs +++ b/ash/src/device.rs @@ -1276,6 +1276,34 @@ pub trait DeviceV1_0 { } } + unsafe fn get_pipeline_cache_data( + &self, + pipeline_cache: vk::PipelineCache, + ) -> VkResult> { + let mut data_size: usize = 0; + let err_code = self.fp_v1_0().get_pipeline_cache_data( + self.handle(), + pipeline_cache, + &mut data_size, + ptr::null_mut(), + ); + if err_code != vk::Result::SUCCESS { + return Err(err_code); + }; + let mut data: Vec = Vec::with_capacity(data_size); + let err_code = self.fp_v1_0().get_pipeline_cache_data( + self.handle(), + pipeline_cache, + &mut data_size, + data.as_mut_ptr() as _, + ); + data.set_len(data_size); + match err_code { + vk::Result::SUCCESS => Ok(data), + _ => Err(err_code), + } + } + unsafe fn map_memory( &self, memory: vk::DeviceMemory,