Implement gfxGetPipelineCacheData

This commit is contained in:
Ashley Ruglys 2021-04-06 19:53:01 +02:00
parent 3173cdda25
commit fdcb2add5b
No known key found for this signature in database
GPG key ID: 15AB67BD4E518615

View file

@ -1971,13 +1971,23 @@ pub unsafe extern "C" fn gfxDestroyPipelineCache(
} }
#[inline] #[inline]
pub unsafe extern "C" fn gfxGetPipelineCacheData( pub unsafe extern "C" fn gfxGetPipelineCacheData(
_gpu: VkDevice, gpu: VkDevice,
_pipelineCache: VkPipelineCache, pipelineCache: VkPipelineCache,
pDataSize: *mut usize, pDataSize: *mut usize,
_pData: *mut c_void, pData: *mut c_void,
) -> VkResult { ) -> VkResult {
//TODO: save let data = match gpu.device.get_pipeline_cache_data(&pipelineCache) {
*pDataSize = 0; Ok(data) => data,
Err(oom) => return map_oom(oom)
};
if pData.is_null() {
*pDataSize = data.len();
} else {
let output = slice::from_raw_parts_mut(pData as *mut u8, *pDataSize);
output.copy_from_slice(&data);
}
VkResult::VK_SUCCESS VkResult::VK_SUCCESS
} }
#[inline] #[inline]