unsafe fn push_constant_bytes<T>(push_constants: &T) -> &[u32] {
    let size_in_bytes = std::mem::size_of::<T>();
    let size_in_u32s = size_in_bytes / std::mem::size_of::<u32>();
    let start_ptr = push_constants as *const T as *const u32;
    std::slice::from_raw_parts(start_ptr, size_in_u32s)
}
/// Returns a view of a struct as a slice of `u32`s.
///
/// Note that this assumes the struct divides evenly into
/// 4-byte chunks. If the contents are all `f32`s, which they
/// often are, then this will always be the case.
Returns a view of a struct as a slice of `u32`s.
Note that this assumes the struct divides evenly into
4-byte chunks. If the contents are all `f32`s, which they
often are, then this will always be the case.
Returns a view of a struct as a slice of ` u32 ` s . Note that this assumes the struct divides evenly into 4 - byte chunks . If the contents are all ` f32 ` s which they often are then this will always be the case .
unsafe fn push_constant_bytes<T>(push_constants: &T) -> &[u32] {
    let size_in_bytes = std::mem::size_of::<T>();
    let size_in_u32s = size_in_bytes / std::mem::size_of::<u32>();
    let start_ptr = push_constants as *const T as *const u32;
    std::slice::from_raw_parts(start_ptr, size_in_u32s)
}
unsafe fn push_constant_bytes < T > ( push_constants : & T ) -> & [ u32 ] { let size_in_bytes = std :: mem :: size_of :: < T > ( ) ; let size_in_u32s = size_in_bytes / std :: mem :: size_of :: < u32 > ( ) ; let start_ptr = push_constants as * const T as * const u32 ; std :: slice :: from_raw_parts ( start_ptr , size_in_u32s ) }
Returns a view of a struct as a slice of `u32`s.
Returns a view of a struct as a slice of ` u32 ` s .
push_constants
&T