Struct ash::vk::RayTracingPipelineCreateInfoNV
source · #[repr(C)]pub struct RayTracingPipelineCreateInfoNV<'a> {
pub s_type: StructureType,
pub p_next: *const c_void,
pub flags: PipelineCreateFlags,
pub stage_count: u32,
pub p_stages: *const PipelineShaderStageCreateInfo<'a>,
pub group_count: u32,
pub p_groups: *const RayTracingShaderGroupCreateInfoNV<'a>,
pub max_recursion_depth: u32,
pub layout: PipelineLayout,
pub base_pipeline_handle: Pipeline,
pub base_pipeline_index: i32,
pub _marker: PhantomData<&'a ()>,
}
Expand description
Fields§
§s_type: StructureType
§p_next: *const c_void
§flags: PipelineCreateFlags
§stage_count: u32
§p_stages: *const PipelineShaderStageCreateInfo<'a>
§group_count: u32
§p_groups: *const RayTracingShaderGroupCreateInfoNV<'a>
§max_recursion_depth: u32
§layout: PipelineLayout
§base_pipeline_handle: Pipeline
§base_pipeline_index: i32
§_marker: PhantomData<&'a ()>
Implementations§
source§impl<'a> RayTracingPipelineCreateInfoNV<'a>
impl<'a> RayTracingPipelineCreateInfoNV<'a>
pub fn flags(self, flags: PipelineCreateFlags) -> Self
pub fn stages(self, stages: &'a [PipelineShaderStageCreateInfo<'a>]) -> Self
pub fn groups(self, groups: &'a [RayTracingShaderGroupCreateInfoNV<'a>]) -> Self
pub fn max_recursion_depth(self, max_recursion_depth: u32) -> Self
pub fn layout(self, layout: PipelineLayout) -> Self
pub fn base_pipeline_handle(self, base_pipeline_handle: Pipeline) -> Self
pub fn base_pipeline_index(self, base_pipeline_index: i32) -> Self
sourcepub fn push_next<T: ExtendsRayTracingPipelineCreateInfoNV + ?Sized>(
self,
next: &'a mut T,
) -> Self
pub fn push_next<T: ExtendsRayTracingPipelineCreateInfoNV + ?Sized>( self, next: &'a mut T, ) -> Self
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 x.push_next(&mut D)
, then the
chain will look like A -> D -> B -> C
.
Trait Implementations§
source§impl<'a> Clone for RayTracingPipelineCreateInfoNV<'a>
impl<'a> Clone for RayTracingPipelineCreateInfoNV<'a>
source§fn clone(&self) -> RayTracingPipelineCreateInfoNV<'a>
fn clone(&self) -> RayTracingPipelineCreateInfoNV<'a>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'a> Debug for RayTracingPipelineCreateInfoNV<'a>
impl<'a> Debug for RayTracingPipelineCreateInfoNV<'a>
source§impl Default for RayTracingPipelineCreateInfoNV<'_>
impl Default for RayTracingPipelineCreateInfoNV<'_>
source§impl<'a> TaggedStructure for RayTracingPipelineCreateInfoNV<'a>
impl<'a> TaggedStructure for RayTracingPipelineCreateInfoNV<'a>
const STRUCTURE_TYPE: StructureType = StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV
impl<'a> Copy for RayTracingPipelineCreateInfoNV<'a>
impl Send for RayTracingPipelineCreateInfoNV<'_>
impl Sync for RayTracingPipelineCreateInfoNV<'_>
Auto Trait Implementations§
impl<'a> Freeze for RayTracingPipelineCreateInfoNV<'a>
impl<'a> RefUnwindSafe for RayTracingPipelineCreateInfoNV<'a>
impl<'a> Unpin for RayTracingPipelineCreateInfoNV<'a>
impl<'a> UnwindSafe for RayTracingPipelineCreateInfoNV<'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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)