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();