pub enum MacroCall {
Show 23 variants
Sampler,
SamplerShadow,
Texture {
proj: bool,
offset: bool,
shadow: bool,
level_type: TextureLevelType,
},
TextureSize {
arrayed: bool,
},
TextureQueryLevels,
ImageLoad {
multi: bool,
},
ImageStore,
MathFunction(MathFunction),
FindLsbUint,
FindMsbUint,
BitfieldExtract,
BitfieldInsert,
Relational(RelationalFunction),
Unary(UnaryOperator),
Binary(BinaryOperator),
Mod(Option<VectorSize>),
Splatted(MathFunction, Option<VectorSize>, usize),
MixBoolean,
Clamp(Option<VectorSize>),
BitCast(ScalarKind),
Derivate(DerivativeAxis, DerivativeControl),
Barrier,
SmoothStep {
splatted: Option<VectorSize>,
},
}
Expand description
A compiler defined builtin function
Variants§
Sampler
SamplerShadow
Texture
TextureSize
TextureQueryLevels
ImageLoad
ImageStore
MathFunction(MathFunction)
FindLsbUint
FindMsbUint
BitfieldExtract
BitfieldInsert
Relational(RelationalFunction)
Unary(UnaryOperator)
Binary(BinaryOperator)
Mod(Option<VectorSize>)
Splatted(MathFunction, Option<VectorSize>, usize)
MixBoolean
Clamp(Option<VectorSize>)
BitCast(ScalarKind)
Derivate(DerivativeAxis, DerivativeControl)
Barrier
SmoothStep
SmoothStep needs a separate variant because it might need it’s inputs to be splatted depending on the overload
Fields
§
splatted: Option<VectorSize>
The size of the splat operation if some
Implementations§
Trait Implementations§
impl Copy for MacroCall
impl StructuralPartialEq for MacroCall
Auto Trait Implementations§
impl Freeze for MacroCall
impl RefUnwindSafe for MacroCall
impl Send for MacroCall
impl Sync for MacroCall
impl Unpin for MacroCall
impl UnwindSafe for MacroCall
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)