Enum naga::Statement [−][src]
pub enum Statement { Emit(Range<Expression>), Block(Block), If { condition: Handle<Expression>, accept: Block, reject: Block, }, Switch { selector: Handle<Expression>, cases: Vec<SwitchCase>, default: Block, }, Loop { body: Block, continuing: Block, }, Break, Continue, Return { value: Option<Handle<Expression>>, }, Kill, Store { pointer: Handle<Expression>, value: Handle<Expression>, }, ImageStore { image: Handle<Expression>, coordinate: Handle<Expression>, array_index: Option<Handle<Expression>>, value: Handle<Expression>, }, Call { function: Handle<Function>, arguments: Vec<Handle<Expression>>, result: Option<Handle<Expression>>, }, }
Expand description
Instructions which make up an executable block.
Variants
Emit(Range<Expression>)
Expand description
Emit a range of expressions, visible to all statements that follow in this block.
Block(Block)
Expand description
A block containing more statements, to be executed sequentially.
Expand description
Conditionally executes one of two blocks, based on the value of the condition.
Show fields
Fields of If
Expand description
Conditionally executes one of multiple blocks, based on the value of the selector.
Show fields
Fields of Switch
Expand description
Executes a block repeatedly.
Expand description
Exits the loop.
Expand description
Skips execution to the next iteration of the loop.
Expand description
Returns from the function (possibly with a value).
Show fields
Fields of Return
value: Option<Handle<Expression>>
Expand description
Aborts the current shader execution.
Expand description
Stores a value at an address.
This statement is a barrier for any operations on the
Expression::LocalVariable
or Expression::GlobalVariable
that is the destination of an access chain, started
from the pointer
.
Show fields
Fields of Store
pointer: Handle<Expression>
value: Handle<Expression>
Expand description
Stores a value to an image.
Image has to point into a global variable of type TypeInner::Image
.
This statement is a barrier for any operations on the corresponding
Expression::GlobalVariable
for this image.
Show fields
Fields of ImageStore
image: Handle<Expression>
coordinate: Handle<Expression>
array_index: Option<Handle<Expression>>
value: Handle<Expression>
Expand description
Calls a function.
If the result
is Some
, the corresponding expression has to be
Expression::Call
, and this statement serves as a barrier for any
operations on that expression.
Show fields
Fields of Call
Trait Implementations
impl<'de> Deserialize<'de> for Statement
[src]
impl<'de> Deserialize<'de> for Statement
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Statement
impl Send for Statement
impl Sync for Statement
impl Unpin for Statement
impl UnwindSafe for Statement
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,