module Data.SpirV.Enum.FragmentShadingRate where import Data.Bits (Bits) import Data.String (IsString(..)) import Data.Word (Word32) import Foreign (Storable(..)) import GHC.Read (Read(..)) import Text.ParserCombinators.ReadPrec (pfail) import qualified GHC.Read as Read import qualified Text.Read.Lex as Lex newtype FragmentShadingRate = FragmentShadingRate Word32 deriving (FragmentShadingRate -> FragmentShadingRate -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: FragmentShadingRate -> FragmentShadingRate -> Bool $c/= :: FragmentShadingRate -> FragmentShadingRate -> Bool == :: FragmentShadingRate -> FragmentShadingRate -> Bool $c== :: FragmentShadingRate -> FragmentShadingRate -> Bool Eq, Eq FragmentShadingRate FragmentShadingRate -> FragmentShadingRate -> Bool FragmentShadingRate -> FragmentShadingRate -> Ordering FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate $cmin :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate max :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate $cmax :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate >= :: FragmentShadingRate -> FragmentShadingRate -> Bool $c>= :: FragmentShadingRate -> FragmentShadingRate -> Bool > :: FragmentShadingRate -> FragmentShadingRate -> Bool $c> :: FragmentShadingRate -> FragmentShadingRate -> Bool <= :: FragmentShadingRate -> FragmentShadingRate -> Bool $c<= :: FragmentShadingRate -> FragmentShadingRate -> Bool < :: FragmentShadingRate -> FragmentShadingRate -> Bool $c< :: FragmentShadingRate -> FragmentShadingRate -> Bool compare :: FragmentShadingRate -> FragmentShadingRate -> Ordering $ccompare :: FragmentShadingRate -> FragmentShadingRate -> Ordering Ord, Ptr FragmentShadingRate -> IO FragmentShadingRate Ptr FragmentShadingRate -> Int -> IO FragmentShadingRate Ptr FragmentShadingRate -> Int -> FragmentShadingRate -> IO () Ptr FragmentShadingRate -> FragmentShadingRate -> IO () FragmentShadingRate -> Int forall b. Ptr b -> Int -> IO FragmentShadingRate forall b. Ptr b -> Int -> FragmentShadingRate -> IO () forall a. (a -> Int) -> (a -> Int) -> (Ptr a -> Int -> IO a) -> (Ptr a -> Int -> a -> IO ()) -> (forall b. Ptr b -> Int -> IO a) -> (forall b. Ptr b -> Int -> a -> IO ()) -> (Ptr a -> IO a) -> (Ptr a -> a -> IO ()) -> Storable a poke :: Ptr FragmentShadingRate -> FragmentShadingRate -> IO () $cpoke :: Ptr FragmentShadingRate -> FragmentShadingRate -> IO () peek :: Ptr FragmentShadingRate -> IO FragmentShadingRate $cpeek :: Ptr FragmentShadingRate -> IO FragmentShadingRate pokeByteOff :: forall b. Ptr b -> Int -> FragmentShadingRate -> IO () $cpokeByteOff :: forall b. Ptr b -> Int -> FragmentShadingRate -> IO () peekByteOff :: forall b. Ptr b -> Int -> IO FragmentShadingRate $cpeekByteOff :: forall b. Ptr b -> Int -> IO FragmentShadingRate pokeElemOff :: Ptr FragmentShadingRate -> Int -> FragmentShadingRate -> IO () $cpokeElemOff :: Ptr FragmentShadingRate -> Int -> FragmentShadingRate -> IO () peekElemOff :: Ptr FragmentShadingRate -> Int -> IO FragmentShadingRate $cpeekElemOff :: Ptr FragmentShadingRate -> Int -> IO FragmentShadingRate alignment :: FragmentShadingRate -> Int $calignment :: FragmentShadingRate -> Int sizeOf :: FragmentShadingRate -> Int $csizeOf :: FragmentShadingRate -> Int Storable, Eq FragmentShadingRate FragmentShadingRate Int -> FragmentShadingRate FragmentShadingRate -> Bool FragmentShadingRate -> Int FragmentShadingRate -> Maybe Int FragmentShadingRate -> FragmentShadingRate FragmentShadingRate -> Int -> Bool FragmentShadingRate -> Int -> FragmentShadingRate FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate forall a. Eq a -> (a -> a -> a) -> (a -> a -> a) -> (a -> a -> a) -> (a -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> a -> (Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> Bool) -> (a -> Maybe Int) -> (a -> Int) -> (a -> Bool) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int -> a) -> (a -> Int) -> Bits a popCount :: FragmentShadingRate -> Int $cpopCount :: FragmentShadingRate -> Int rotateR :: FragmentShadingRate -> Int -> FragmentShadingRate $crotateR :: FragmentShadingRate -> Int -> FragmentShadingRate rotateL :: FragmentShadingRate -> Int -> FragmentShadingRate $crotateL :: FragmentShadingRate -> Int -> FragmentShadingRate unsafeShiftR :: FragmentShadingRate -> Int -> FragmentShadingRate $cunsafeShiftR :: FragmentShadingRate -> Int -> FragmentShadingRate shiftR :: FragmentShadingRate -> Int -> FragmentShadingRate $cshiftR :: FragmentShadingRate -> Int -> FragmentShadingRate unsafeShiftL :: FragmentShadingRate -> Int -> FragmentShadingRate $cunsafeShiftL :: FragmentShadingRate -> Int -> FragmentShadingRate shiftL :: FragmentShadingRate -> Int -> FragmentShadingRate $cshiftL :: FragmentShadingRate -> Int -> FragmentShadingRate isSigned :: FragmentShadingRate -> Bool $cisSigned :: FragmentShadingRate -> Bool bitSize :: FragmentShadingRate -> Int $cbitSize :: FragmentShadingRate -> Int bitSizeMaybe :: FragmentShadingRate -> Maybe Int $cbitSizeMaybe :: FragmentShadingRate -> Maybe Int testBit :: FragmentShadingRate -> Int -> Bool $ctestBit :: FragmentShadingRate -> Int -> Bool complementBit :: FragmentShadingRate -> Int -> FragmentShadingRate $ccomplementBit :: FragmentShadingRate -> Int -> FragmentShadingRate clearBit :: FragmentShadingRate -> Int -> FragmentShadingRate $cclearBit :: FragmentShadingRate -> Int -> FragmentShadingRate setBit :: FragmentShadingRate -> Int -> FragmentShadingRate $csetBit :: FragmentShadingRate -> Int -> FragmentShadingRate bit :: Int -> FragmentShadingRate $cbit :: Int -> FragmentShadingRate zeroBits :: FragmentShadingRate $czeroBits :: FragmentShadingRate rotate :: FragmentShadingRate -> Int -> FragmentShadingRate $crotate :: FragmentShadingRate -> Int -> FragmentShadingRate shift :: FragmentShadingRate -> Int -> FragmentShadingRate $cshift :: FragmentShadingRate -> Int -> FragmentShadingRate complement :: FragmentShadingRate -> FragmentShadingRate $ccomplement :: FragmentShadingRate -> FragmentShadingRate xor :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate $cxor :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate .|. :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate $c.|. :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate .&. :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate $c.&. :: FragmentShadingRate -> FragmentShadingRate -> FragmentShadingRate Bits) pattern Vertical2Pixels :: FragmentShadingRate pattern $bVertical2Pixels :: FragmentShadingRate $mVertical2Pixels :: forall {r}. FragmentShadingRate -> ((# #) -> r) -> ((# #) -> r) -> r Vertical2Pixels = FragmentShadingRate 0x1 pattern Vertical4Pixels :: FragmentShadingRate pattern $bVertical4Pixels :: FragmentShadingRate $mVertical4Pixels :: forall {r}. FragmentShadingRate -> ((# #) -> r) -> ((# #) -> r) -> r Vertical4Pixels = FragmentShadingRate 0x2 pattern Horizontal2Pixels :: FragmentShadingRate pattern $bHorizontal2Pixels :: FragmentShadingRate $mHorizontal2Pixels :: forall {r}. FragmentShadingRate -> ((# #) -> r) -> ((# #) -> r) -> r Horizontal2Pixels = FragmentShadingRate 0x4 pattern Horizontal4Pixels :: FragmentShadingRate pattern $bHorizontal4Pixels :: FragmentShadingRate $mHorizontal4Pixels :: forall {r}. FragmentShadingRate -> ((# #) -> r) -> ((# #) -> r) -> r Horizontal4Pixels = FragmentShadingRate 0x8 toName :: IsString a => FragmentShadingRate -> a toName :: forall a. IsString a => FragmentShadingRate -> a toName FragmentShadingRate x = case FragmentShadingRate x of FragmentShadingRate Vertical2Pixels -> a "Vertical2Pixels" FragmentShadingRate Vertical4Pixels -> a "Vertical4Pixels" FragmentShadingRate Horizontal2Pixels -> a "Horizontal2Pixels" FragmentShadingRate Horizontal4Pixels -> a "Horizontal4Pixels" FragmentShadingRate unknown -> forall a. IsString a => [Char] -> a fromString forall a b. (a -> b) -> a -> b $ [Char] "FragmentShadingRate " forall a. [a] -> [a] -> [a] ++ forall a. Show a => a -> [Char] show FragmentShadingRate unknown instance Show FragmentShadingRate where show :: FragmentShadingRate -> [Char] show = forall a. IsString a => FragmentShadingRate -> a toName fromName :: (IsString a, Eq a) => a -> Maybe FragmentShadingRate fromName :: forall a. (IsString a, Eq a) => a -> Maybe FragmentShadingRate fromName a x = case a x of a "Vertical2Pixels" -> forall a. a -> Maybe a Just FragmentShadingRate Vertical2Pixels a "Vertical4Pixels" -> forall a. a -> Maybe a Just FragmentShadingRate Vertical4Pixels a "Horizontal2Pixels" -> forall a. a -> Maybe a Just FragmentShadingRate Horizontal2Pixels a "Horizontal4Pixels" -> forall a. a -> Maybe a Just FragmentShadingRate Horizontal4Pixels a _unknown -> forall a. Maybe a Nothing instance Read FragmentShadingRate where readPrec :: ReadPrec FragmentShadingRate readPrec = forall a. ReadPrec a -> ReadPrec a Read.parens do Lex.Ident [Char] s <- ReadPrec Lexeme Read.lexP forall b a. b -> (a -> b) -> Maybe a -> b maybe forall a. ReadPrec a pfail forall (f :: * -> *) a. Applicative f => a -> f a pure forall a b. (a -> b) -> a -> b $ forall a. (IsString a, Eq a) => a -> Maybe FragmentShadingRate fromName [Char] s