gfx_auxil

Function read_spirv

Source
pub fn read_spirv<R: Read + Seek>(x: R) -> Result<Vec<u32>>
Expand description

Safely read SPIR-V

Converts to native endianness and returns correctly aligned storage without unnecessary copying. Returns an InvalidData error if the input is trivially not SPIR-V.

This function can also be used to convert an already in-memory &[u8] to a valid Vec<u32>, but prefer working with &[u32] from the start whenever possible.

ยงExamples

let mut file = std::fs::File::open("/path/to/shader.spv").unwrap();
let words = gfx_auxil::read_spirv(&mut file).unwrap();
const SPIRV: &[u8] = &[
    0x03, 0x02, 0x23, 0x07, // ...
];
let words = gfx_auxil::read_spirv(std::io::Cursor::new(&SPIRV[..])).unwrap();