Struct ash::vk::OpticalFlowSessionCreateInfoNV
source · #[repr(C)]pub struct OpticalFlowSessionCreateInfoNV<'a> {
pub s_type: StructureType,
pub p_next: *mut c_void,
pub width: u32,
pub height: u32,
pub image_format: Format,
pub flow_vector_format: Format,
pub cost_format: Format,
pub output_grid_size: OpticalFlowGridSizeFlagsNV,
pub hint_grid_size: OpticalFlowGridSizeFlagsNV,
pub performance_level: OpticalFlowPerformanceLevelNV,
pub flags: OpticalFlowSessionCreateFlagsNV,
pub _marker: PhantomData<&'a ()>,
}
Expand description
Fields§
§s_type: StructureType
§p_next: *mut c_void
§width: u32
§height: u32
§image_format: Format
§flow_vector_format: Format
§cost_format: Format
§output_grid_size: OpticalFlowGridSizeFlagsNV
§hint_grid_size: OpticalFlowGridSizeFlagsNV
§performance_level: OpticalFlowPerformanceLevelNV
§flags: OpticalFlowSessionCreateFlagsNV
§_marker: PhantomData<&'a ()>
Implementations§
source§impl<'a> OpticalFlowSessionCreateInfoNV<'a>
impl<'a> OpticalFlowSessionCreateInfoNV<'a>
pub fn width(self, width: u32) -> Self
pub fn height(self, height: u32) -> Self
pub fn image_format(self, image_format: Format) -> Self
pub fn flow_vector_format(self, flow_vector_format: Format) -> Self
pub fn cost_format(self, cost_format: Format) -> Self
pub fn output_grid_size( self, output_grid_size: OpticalFlowGridSizeFlagsNV, ) -> Self
pub fn hint_grid_size(self, hint_grid_size: OpticalFlowGridSizeFlagsNV) -> Self
pub fn performance_level( self, performance_level: OpticalFlowPerformanceLevelNV, ) -> Self
pub fn flags(self, flags: OpticalFlowSessionCreateFlagsNV) -> Self
sourcepub fn push_next<T: ExtendsOpticalFlowSessionCreateInfoNV + ?Sized>(
self,
next: &'a mut T,
) -> Self
pub fn push_next<T: ExtendsOpticalFlowSessionCreateInfoNV + ?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 OpticalFlowSessionCreateInfoNV<'a>
impl<'a> Clone for OpticalFlowSessionCreateInfoNV<'a>
source§fn clone(&self) -> OpticalFlowSessionCreateInfoNV<'a>
fn clone(&self) -> OpticalFlowSessionCreateInfoNV<'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 OpticalFlowSessionCreateInfoNV<'a>
impl<'a> Debug for OpticalFlowSessionCreateInfoNV<'a>
source§impl Default for OpticalFlowSessionCreateInfoNV<'_>
impl Default for OpticalFlowSessionCreateInfoNV<'_>
source§impl<'a> TaggedStructure for OpticalFlowSessionCreateInfoNV<'a>
impl<'a> TaggedStructure for OpticalFlowSessionCreateInfoNV<'a>
const STRUCTURE_TYPE: StructureType = StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV
impl<'a> Copy for OpticalFlowSessionCreateInfoNV<'a>
impl Send for OpticalFlowSessionCreateInfoNV<'_>
impl Sync for OpticalFlowSessionCreateInfoNV<'_>
Auto Trait Implementations§
impl<'a> Freeze for OpticalFlowSessionCreateInfoNV<'a>
impl<'a> RefUnwindSafe for OpticalFlowSessionCreateInfoNV<'a>
impl<'a> Unpin for OpticalFlowSessionCreateInfoNV<'a>
impl<'a> UnwindSafe for OpticalFlowSessionCreateInfoNV<'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
)