From 1c1fa85b91892a935546be9eeafc2069aea9985e Mon Sep 17 00:00:00 2001 From: Graham Wihlidal Date: Sun, 10 Feb 2019 03:45:07 +0100 Subject: [PATCH] Implemented create_ray_tracing_pipelines --- ash/src/extensions/nv/ray_tracing.rs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/ash/src/extensions/nv/ray_tracing.rs b/ash/src/extensions/nv/ray_tracing.rs index b9fab42..f26b38b 100644 --- a/ash/src/extensions/nv/ray_tracing.rs +++ b/ash/src/extensions/nv/ray_tracing.rs @@ -151,7 +151,27 @@ impl RayTracing { ); } - // create_ray_tracing_pipelines_nv + pub unsafe fn create_ray_tracing_pipelines( + &self, + device: vk::Device, + pipeline_cache: vk::PipelineCache, + create_info: &[vk::RayTracingPipelineCreateInfoNV], + allocation_callbacks: Option<&vk::AllocationCallbacks>, + ) -> VkResult> { + let mut pipelines = vec![mem::uninitialized(); create_info.len()]; + let err_code = self.ray_tracing_fn.create_ray_tracing_pipelines_nv( + device, + pipeline_cache, + create_info.len() as u32, + create_info.as_ptr(), + allocation_callbacks.as_raw_ptr(), + pipelines.as_mut_ptr(), + ); + match err_code { + vk::Result::SUCCESS => Ok(pipelines), + _ => Err(err_code), + } + } // get_ray_tracing_shader_group_handles_nv