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]
pub unsafe extern "C" fn gfxGetPipelineCacheData(
_gpu: VkDevice,
_pipelineCache: VkPipelineCache,
gpu: VkDevice,
pipelineCache: VkPipelineCache,
pDataSize: *mut usize,
_pData: *mut c_void,
pData: *mut c_void,
) -> VkResult {
//TODO: save
*pDataSize = 0;
let data = match gpu.device.get_pipeline_cache_data(&pipelineCache) {
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
}
#[inline]