Skip to main content

cubek_std/
stage_ident.rs

1use crate::stage::SwizzleMode;
2
3#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
4pub enum StageIdent {
5    Lhs,
6    Rhs,
7    Acc,
8    Out,
9}
10
11#[derive(Default, Copy, Clone, Debug, Hash, PartialEq, Eq)]
12pub struct SwizzleModes {
13    pub lhs: SwizzleMode,
14    pub rhs: SwizzleMode,
15    pub acc: SwizzleMode,
16    pub out: SwizzleMode,
17}
18
19impl SwizzleModes {
20    pub fn has_swizzle(&self) -> bool {
21        self.lhs != SwizzleMode::None
22            || self.rhs != SwizzleMode::None
23            || self.acc != SwizzleMode::None
24            || self.out != SwizzleMode::None
25    }
26}