pub fn copy_to_u32(bytes: &'static [u8]) -> Vec<u32> {
    const U32_SIZE: usize = std::mem::size_of::<u32>();
    if bytes.len() % U32_SIZE != 0 {
        panic!("the byte array must be evenly divisible into u32 words");
    }

    let mut buffer: Vec<u32> = vec![];
    let mut input: &[u8] = &bytes;
    while input.len() > 0 {
        let (int_slice, rest) = input.split_at(U32_SIZE);
        input = rest;
        let word = u32::from_le_bytes(int_slice.try_into().unwrap());
        buffer.push(word);
    }

    buffer
}
/// Copy a byte slice into a properly-aligned u32 array.
///
/// This is meant to help functions which use `include_bytes!` to load sprv
/// because Vulkan expects sprv source to be in u32 words but `include_bytes`
/// imports only u8 bytes.
///
/// A full copy is leveraged to handle endianess issues and to ensure proper
/// alignment.
///
/// Assumes that data is little endian and will break on other architectures.
///
Copy a byte slice into a properly-aligned u32 array.
This is meant to help functions which use `include_bytes!` to load sprv
because Vulkan expects sprv source to be in u32 words but `include_bytes`
imports only u8 bytes.

A full copy is leveraged to handle endianess issues and to ensure proper
alignment.

Assumes that data is little endian and will break on other architectures.
Copy a byte slice into a properly - aligned u32 array . This is meant to help functions which use ` include_bytes! ` to load sprv because Vulkan expects sprv source to be in u32 words but ` include_bytes ` imports only u8 bytes . A full copy is leveraged to handle endianess issues and to ensure proper alignment . Assumes that data is little endian and will break on other architectures .
pub fn copy_to_u32(bytes: &'static [u8]) -> Vec<u32> {
    const U32_SIZE: usize = std::mem::size_of::<u32>();
    if bytes.len() % U32_SIZE != 0 {
        panic!("the byte array must be evenly divisible into u32 words");
    }
    let mut buffer: Vec<u32> = vec![];
    let mut input: &[u8] = &bytes;
    while input.len() > 0 {
        let (int_slice, rest) = input.split_at(U32_SIZE);
        input = rest;
        let word = u32::from_le_bytes(int_slice.try_into().unwrap());
        buffer.push(word);
    }
    buffer
}
pub fn copy_to_u32 ( bytes : & ' static [ u8 ] ) -> Vec < u32 > { const U32_SIZE : usize = std :: mem :: size_of :: < u32 > ( ) ; if bytes . len ( ) % U32_SIZE != 0 { panic ! ( " " ) ; } let mut buffer : Vec < u32 > = vec ! [ ] ; let mut input : & [ u8 ] = & bytes ; while input . len ( ) > 0 { let ( int_slice , rest ) = input . split_at ( U32_SIZE ) ; input = rest ; let word = u32 :: from_le_bytes ( int_slice . try_into ( ) . unwrap ( ) ) ; buffer . push ( word ) ; } buffer }
Copy a byte slice into a properly-aligned u32 array.
Copy a byte slice into a properly - aligned u32 array .
bytes
&'static [u8]