pub struct OpticalFlowSessionCreateInfoNVBuilder<'a> { /* private fields */ }
Implementations§
source§impl<'a> OpticalFlowSessionCreateInfoNVBuilder<'a>
impl<'a> OpticalFlowSessionCreateInfoNVBuilder<'a>
pub fn width(self, width: u32) -> OpticalFlowSessionCreateInfoNVBuilder<'a>
pub fn height(self, height: u32) -> OpticalFlowSessionCreateInfoNVBuilder<'a>
pub fn image_format( self, image_format: Format ) -> OpticalFlowSessionCreateInfoNVBuilder<'a>
pub fn flow_vector_format( self, flow_vector_format: Format ) -> OpticalFlowSessionCreateInfoNVBuilder<'a>
pub fn cost_format( self, cost_format: Format ) -> OpticalFlowSessionCreateInfoNVBuilder<'a>
pub fn output_grid_size( self, output_grid_size: OpticalFlowGridSizeFlagsNV ) -> OpticalFlowSessionCreateInfoNVBuilder<'a>
pub fn hint_grid_size( self, hint_grid_size: OpticalFlowGridSizeFlagsNV ) -> OpticalFlowSessionCreateInfoNVBuilder<'a>
pub fn performance_level( self, performance_level: OpticalFlowPerformanceLevelNV ) -> OpticalFlowSessionCreateInfoNVBuilder<'a>
pub fn flags( self, flags: OpticalFlowSessionCreateFlagsNV ) -> OpticalFlowSessionCreateInfoNVBuilder<'a>
sourcepub fn push_next<T>(
self,
next: &'a mut T
) -> OpticalFlowSessionCreateInfoNVBuilder<'a>where
T: ExtendsOpticalFlowSessionCreateInfoNV,
pub fn push_next<T>(
self,
next: &'a mut T
) -> OpticalFlowSessionCreateInfoNVBuilder<'a>where
T: ExtendsOpticalFlowSessionCreateInfoNV,
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) -> OpticalFlowSessionCreateInfoNV
pub fn build(self) -> OpticalFlowSessionCreateInfoNV
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 OpticalFlowSessionCreateInfoNVBuilder<'a>
impl<'a> Deref for OpticalFlowSessionCreateInfoNVBuilder<'a>
§type Target = OpticalFlowSessionCreateInfoNV
type Target = OpticalFlowSessionCreateInfoNV
The resulting type after dereferencing.
source§impl<'a> DerefMut for OpticalFlowSessionCreateInfoNVBuilder<'a>
impl<'a> DerefMut for OpticalFlowSessionCreateInfoNVBuilder<'a>
Auto Trait Implementations§
impl<'a> RefUnwindSafe for OpticalFlowSessionCreateInfoNVBuilder<'a>
impl<'a> !Send for OpticalFlowSessionCreateInfoNVBuilder<'a>
impl<'a> !Sync for OpticalFlowSessionCreateInfoNVBuilder<'a>
impl<'a> Unpin for OpticalFlowSessionCreateInfoNVBuilder<'a>
impl<'a> UnwindSafe for OpticalFlowSessionCreateInfoNVBuilder<'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