Module spirv_std::arch[][src]

SPIR-V Instrinics

This module is intended as a low level abstraction over SPIR-V instructions. These functions will typically map to a single instruction, and will perform no additional safety checks beyond type-checking.

Functions

all

Result is true if all components of vector is true, otherwise result is false.

any

Result is true if any component of vector is true, otherwise result is false.

emit_stream_vertex

Emits the current values of all output variables to the current output primitive. After execution, the values of all output variables are undefined.

emit_vertex

Emits the current values of all output variables to the current output primitive. After execution, the values of all output variables are undefined. Requires capability Geometry.

end_primitive

Finish the current primitive and start a new one. No vertex is emitted. Requires capability Geometry.

end_stream_primitive

Finish the current primitive and start a new one. No vertex is emitted.

f_add_vector

Floating-point addition of x and y. Results are computed per component.

f_div_vector

Floating-point division of x from y. Results are computed per component.

f_mod_vector

Floating-point modulo operation from x modulo y, whose sign matches the sign of y. Results are computed per component.

f_mul_vector

Floating-point multiplication of x and y. Results are computed per component.

f_negate_vector

Floating-point subtract of operand from zero. Results are computed per component.

f_rem_vector

Floating-point remainder operation for getting the remainder from x / y whose sign matches the sign of x. Results are computed per component.

f_sub_vector

Floating-point subtract of x from y. Results are computed per component.

i_add_vector

Integer addition of x and y. Results are computed per component.

i_mul_vector

Integer multiplication of x and y. Results are computed per component.

i_sub_vector

Signed-integer subtract of x from y. Results are computed per component.

s_div_vector

Signed-integer division of x from y. Results are computed per component.

s_mod_vector

Signed-integer modulo operation from x modulo y, whose sign matches the sign of y. Results are computed per component.

s_negate_vector

Signed-integer subtract of operand from zero. Results are computed per component.

s_rem_vector

Signed-integer remainder operation for getting the remainder from x / y whose sign matches the sign of x.

u_div_vector

Unsigned-integer division of x from y. Results are computed per component.

u_mod_vector

Unsigned modulo operation of x modulo y. Results are computed per component.

vector_extract_dynamic

Extract a single, dynamically selected, component of a vector.

vector_insert_dynamic

Make a copy of a vector, with a single, variably selected, component modified.

vector_times_scalar

Scale a floating-point vector by scalar. Each component of vector is multiplied by scalar.