vkGetCudaModuleCacheNV
To get the CUDA module cache call:
VkResult vkGetCudaModuleCacheNV(
VkDevice device,
VkCudaModuleNV module,
size_t* pCacheSize,
void* pCacheData);
pub fn get_cuda_module_cache_nv(
device: vk::Device,
module: vk::CudaModuleNV,
p_cache_size: *mut usize,
p_cache_data: *mut c_void,
) -> vk::Result;
deviceis the logical device that destroys the Function.moduleis the CUDA module.pCacheSizeis a pointer containing the amount of bytes to be copied inpCacheDatapCacheDatais a pointer to a buffer in which to copy the binary cache
If pCacheData is NULL, then the size of the binary cache, in bytes,
is returned in pCacheSize.
Otherwise, pCacheSize must point to a variable set by the application
to the size of the buffer, in bytes, pointed to by pCacheData, and on
return the variable is overwritten with the amount of data actually written
to pCacheData.
If pCacheSize is less than the size of the binary shader code, nothing
is written to pCacheData, and VK_INCOMPLETE will be returned
instead of VK_SUCCESS.
The returned cache may then be used later for further initialization of the CUDA module, by sending this cache instead of the PTX code when using vkCreateCudaModuleNV.
pDataSize,
the query returns a VK_INCOMPLETE success status instead of a
VK_ERROR_NOT_ENOUGH_SPACE_KHR error status.Valid Usage (Implicit)
VUID-vkGetCudaModuleCacheNV-device-parameter
device must be a valid VkDevice handle
VUID-vkGetCudaModuleCacheNV-module-parameter
module must be a valid VkCudaModuleNV handle
VUID-vkGetCudaModuleCacheNV-pCacheSize-parameter
pCacheSize must be a valid pointer to a size_t value
VUID-vkGetCudaModuleCacheNV-pCacheData-parameter
If the value referenced by pCacheSize is not 0, and pCacheData is not NULL, pCacheData must be a valid pointer to an array of pCacheSize bytes
VUID-vkGetCudaModuleCacheNV-module-parent
module must have been created, allocated, or retrieved from device