pub struct RayTracingPipelineCreateInfoNVBuilder<'a> { /* private fields */ }
Implementations§
source§impl<'a> RayTracingPipelineCreateInfoNVBuilder<'a>
impl<'a> RayTracingPipelineCreateInfoNVBuilder<'a>
pub fn flags( self, flags: PipelineCreateFlags ) -> RayTracingPipelineCreateInfoNVBuilder<'a>
pub fn stages( self, stages: &'a [PipelineShaderStageCreateInfo] ) -> RayTracingPipelineCreateInfoNVBuilder<'a>
pub fn groups( self, groups: &'a [RayTracingShaderGroupCreateInfoNV] ) -> RayTracingPipelineCreateInfoNVBuilder<'a>
pub fn max_recursion_depth( self, max_recursion_depth: u32 ) -> RayTracingPipelineCreateInfoNVBuilder<'a>
pub fn layout( self, layout: PipelineLayout ) -> RayTracingPipelineCreateInfoNVBuilder<'a>
pub fn base_pipeline_handle( self, base_pipeline_handle: Pipeline ) -> RayTracingPipelineCreateInfoNVBuilder<'a>
pub fn base_pipeline_index( self, base_pipeline_index: i32 ) -> RayTracingPipelineCreateInfoNVBuilder<'a>
sourcepub fn push_next<T>(
self,
next: &'a mut T
) -> RayTracingPipelineCreateInfoNVBuilder<'a>where
T: ExtendsRayTracingPipelineCreateInfoNV,
pub fn push_next<T>(
self,
next: &'a mut T
) -> RayTracingPipelineCreateInfoNVBuilder<'a>where
T: ExtendsRayTracingPipelineCreateInfoNV,
Prepends the given extension struct between the root and the first pointer. This
method only exists on structs that can be passed to a function directly. Only
valid extension structs can be pushed into the chain.
If the chain looks like A -> B -> C
, and you call builder.push_next(&mut D)
, then the
chain will look like A -> D -> B -> C
.
sourcepub fn build(self) -> RayTracingPipelineCreateInfoNV
pub fn build(self) -> RayTracingPipelineCreateInfoNV
Calling build will discard all the lifetime information. Only call this if
necessary! Builders implement Deref
targeting their corresponding Vulkan struct,
so references to builders can be passed directly to Vulkan functions.
Trait Implementations§
source§impl<'a> Deref for RayTracingPipelineCreateInfoNVBuilder<'a>
impl<'a> Deref for RayTracingPipelineCreateInfoNVBuilder<'a>
§type Target = RayTracingPipelineCreateInfoNV
type Target = RayTracingPipelineCreateInfoNV
The resulting type after dereferencing.
source§impl<'a> DerefMut for RayTracingPipelineCreateInfoNVBuilder<'a>
impl<'a> DerefMut for RayTracingPipelineCreateInfoNVBuilder<'a>
Auto Trait Implementations§
impl<'a> RefUnwindSafe for RayTracingPipelineCreateInfoNVBuilder<'a>
impl<'a> !Send for RayTracingPipelineCreateInfoNVBuilder<'a>
impl<'a> !Sync for RayTracingPipelineCreateInfoNVBuilder<'a>
impl<'a> Unpin for RayTracingPipelineCreateInfoNVBuilder<'a>
impl<'a> UnwindSafe for RayTracingPipelineCreateInfoNVBuilder<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more