pub unsafe fn create_compute_pipelines(&self, pipeline_cache: Option<PipelineCacheHandle>,
            create_infos: &[ComputePipelineCreateInfo],
            allocator: Option<*const vks::VkAllocationCallbacks>)
            -> VdResult<SmallVec<[PipelineHandle; 4]>> {
        let allocator = allocator.unwrap_or(ptr::null());
        let pipeline_cache = pipeline_cache.map(|pc| pc.to_raw()).unwrap_or(0);
        let mut pipelines = SmallVec::<[PipelineHandle; 4]>::new();
        pipelines.reserve_exact(create_infos.len());
        pipelines.set_len(create_infos.len());
        let result = self.proc_addr_loader().vk.vkCreateComputePipelines(self.handle().to_raw(),
            pipeline_cache, create_infos.len() as u32,
            create_infos.as_ptr() as *const vks::VkComputePipelineCreateInfo,
            allocator,
            pipelines.as_mut_ptr() as *mut vks::VkPipeline);
        error::check(result, "vkCreateComputePipelines", pipelines)
    }
/// Creates a new compute pipeline object.
///
/// https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateComputePipelines.html
//
// *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache
// pipelineCache, uint32_t createInfoCount, const
// VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks*
// pAllocator, VkPipeline* pPipelines);
Creates a new compute pipeline object.


Creates a new compute pipeline object .
pub unsafe fn create_compute_pipelines(&self, pipeline_cache: Option<PipelineCacheHandle>,
            create_infos: &[ComputePipelineCreateInfo],
            allocator: Option<*const vks::VkAllocationCallbacks>)
            -> VdResult<SmallVec<[PipelineHandle; 4]>> {
        let allocator = allocator.unwrap_or(ptr::null());
        let pipeline_cache = pipeline_cache.map(|pc| pc.to_raw()).unwrap_or(0);
        let mut pipelines = SmallVec::<[PipelineHandle; 4]>::new();
        pipelines.reserve_exact(create_infos.len());
        pipelines.set_len(create_infos.len());
        let result = self.proc_addr_loader().vk.vkCreateComputePipelines(self.handle().to_raw(),
            pipeline_cache, create_infos.len() as u32,
            create_infos.as_ptr() as *const vks::VkComputePipelineCreateInfo,
            allocator,
            pipelines.as_mut_ptr() as *mut vks::VkPipeline);
        error::check(result, "vkCreateComputePipelines", pipelines)
    }
pub unsafe fn create_compute_pipelines ( & self , pipeline_cache : Option < PipelineCacheHandle > , create_infos : & [ ComputePipelineCreateInfo ] , allocator : Option < * const vks :: VkAllocationCallbacks > ) -> VdResult < SmallVec < [ PipelineHandle ; 4 ] > > { let allocator = allocator . unwrap_or ( ptr :: null ( ) ) ; let pipeline_cache = pipeline_cache . map ( | pc | pc . to_raw ( ) ) . unwrap_or ( 0 ) ; let mut pipelines = SmallVec :: < [ PipelineHandle ; 4 ] > :: new ( ) ; pipelines . reserve_exact ( create_infos . len ( ) ) ; pipelines . set_len ( create_infos . len ( ) ) ; let result = self . proc_addr_loader ( ) . vk . vkCreateComputePipelines ( self . handle ( ) . to_raw ( ) , pipeline_cache , create_infos . len ( ) as u32 , create_infos . as_ptr ( ) as * const vks :: VkComputePipelineCreateInfo , allocator , pipelines . as_mut_ptr ( ) as * mut vks :: VkPipeline ) ; error :: check ( result , " " , pipelines ) }
Creates a new compute pipeline object.
Creates a new compute pipeline object .
&self
pipeline_cache
Option<PipelineCacheHandle>
create_infos
&[ComputePipelineCreateInfo]
allocator
Option<*const vks::VkAllocationCallbacks>
&self
pipeline_cache
Option<PipelineCacheHandle>
create_infos
&[ComputePipelineCreateInfo]
allocator
Option<*const vks::VkAllocationCallbacks>