pub struct Spirv { /* private fields */ }
Expand description
A parsed and analyzed SPIR-V module.
Implementations§
source§impl Spirv
impl Spirv
sourcepub fn new(words: &[u32]) -> Result<Spirv, SpirvError>
pub fn new(words: &[u32]) -> Result<Spirv, SpirvError>
Parses a SPIR-V document from a list of words.
sourcepub fn id(&self, id: Id) -> &IdInfo
pub fn id(&self, id: Id) -> &IdInfo
Returns information about an Id
.
Panics
- Panics if
id
is not defined in this module. This can in theory only happpen if you are mixingId
s from different modules.
sourcepub fn function(&self, id: Id) -> &FunctionInfo
pub fn function(&self, id: Id) -> &FunctionInfo
Returns the function with the given id
, if it exists.
Panics
- Panics if
id
is not defined in this module. This can in theory only happpen if you are mixingId
s from different modules.
sourcepub fn iter_capability(&self) -> impl ExactSizeIterator<Item = &Instruction>
pub fn iter_capability(&self) -> impl ExactSizeIterator<Item = &Instruction>
Returns an iterator over all Capability
instructions.
sourcepub fn iter_extension(&self) -> impl ExactSizeIterator<Item = &Instruction>
pub fn iter_extension(&self) -> impl ExactSizeIterator<Item = &Instruction>
Returns an iterator over all Extension
instructions.
sourcepub fn iter_ext_inst_import(
&self
) -> impl ExactSizeIterator<Item = &Instruction>
pub fn iter_ext_inst_import( &self ) -> impl ExactSizeIterator<Item = &Instruction>
Returns an iterator over all ExtInstImport
instructions.
sourcepub fn memory_model(&self) -> &Instruction
pub fn memory_model(&self) -> &Instruction
Returns the MemoryModel
instruction.
sourcepub fn iter_entry_point(&self) -> impl ExactSizeIterator<Item = &Instruction>
pub fn iter_entry_point(&self) -> impl ExactSizeIterator<Item = &Instruction>
Returns an iterator over all EntryPoint
instructions.
sourcepub fn iter_execution_mode(&self) -> impl ExactSizeIterator<Item = &Instruction>
pub fn iter_execution_mode(&self) -> impl ExactSizeIterator<Item = &Instruction>
Returns an iterator over all execution mode instructions.
sourcepub fn iter_name(&self) -> impl ExactSizeIterator<Item = &Instruction>
pub fn iter_name(&self) -> impl ExactSizeIterator<Item = &Instruction>
Returns an iterator over all name debug instructions.
sourcepub fn iter_decoration(&self) -> impl ExactSizeIterator<Item = &Instruction>
pub fn iter_decoration(&self) -> impl ExactSizeIterator<Item = &Instruction>
Returns an iterator over all decoration instructions.
sourcepub fn iter_global(&self) -> impl ExactSizeIterator<Item = &Instruction>
pub fn iter_global(&self) -> impl ExactSizeIterator<Item = &Instruction>
Returns an iterator over all global declaration instructions: types, constants and global variables.
sourcepub fn iter_functions(&self) -> impl ExactSizeIterator<Item = &FunctionInfo>
pub fn iter_functions(&self) -> impl ExactSizeIterator<Item = &FunctionInfo>
Returns an iterator over all functions.
pub fn apply_specialization( &mut self, specialization_info: &HashMap<u32, SpecializationConstant> )
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Spirv
impl Send for Spirv
impl Sync for Spirv
impl Unpin for Spirv
impl UnwindSafe for Spirv
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