module Data.SpirV.Enum.ImageOperands 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 ImageOperands = ImageOperands Word32 deriving (ImageOperands -> ImageOperands -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ImageOperands -> ImageOperands -> Bool $c/= :: ImageOperands -> ImageOperands -> Bool == :: ImageOperands -> ImageOperands -> Bool $c== :: ImageOperands -> ImageOperands -> Bool Eq, Eq ImageOperands ImageOperands -> ImageOperands -> Bool ImageOperands -> ImageOperands -> Ordering ImageOperands -> ImageOperands -> ImageOperands 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 :: ImageOperands -> ImageOperands -> ImageOperands $cmin :: ImageOperands -> ImageOperands -> ImageOperands max :: ImageOperands -> ImageOperands -> ImageOperands $cmax :: ImageOperands -> ImageOperands -> ImageOperands >= :: ImageOperands -> ImageOperands -> Bool $c>= :: ImageOperands -> ImageOperands -> Bool > :: ImageOperands -> ImageOperands -> Bool $c> :: ImageOperands -> ImageOperands -> Bool <= :: ImageOperands -> ImageOperands -> Bool $c<= :: ImageOperands -> ImageOperands -> Bool < :: ImageOperands -> ImageOperands -> Bool $c< :: ImageOperands -> ImageOperands -> Bool compare :: ImageOperands -> ImageOperands -> Ordering $ccompare :: ImageOperands -> ImageOperands -> Ordering Ord, Ptr ImageOperands -> IO ImageOperands Ptr ImageOperands -> Int -> IO ImageOperands Ptr ImageOperands -> Int -> ImageOperands -> IO () Ptr ImageOperands -> ImageOperands -> IO () ImageOperands -> Int forall b. Ptr b -> Int -> IO ImageOperands forall b. Ptr b -> Int -> ImageOperands -> 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 ImageOperands -> ImageOperands -> IO () $cpoke :: Ptr ImageOperands -> ImageOperands -> IO () peek :: Ptr ImageOperands -> IO ImageOperands $cpeek :: Ptr ImageOperands -> IO ImageOperands pokeByteOff :: forall b. Ptr b -> Int -> ImageOperands -> IO () $cpokeByteOff :: forall b. Ptr b -> Int -> ImageOperands -> IO () peekByteOff :: forall b. Ptr b -> Int -> IO ImageOperands $cpeekByteOff :: forall b. Ptr b -> Int -> IO ImageOperands pokeElemOff :: Ptr ImageOperands -> Int -> ImageOperands -> IO () $cpokeElemOff :: Ptr ImageOperands -> Int -> ImageOperands -> IO () peekElemOff :: Ptr ImageOperands -> Int -> IO ImageOperands $cpeekElemOff :: Ptr ImageOperands -> Int -> IO ImageOperands alignment :: ImageOperands -> Int $calignment :: ImageOperands -> Int sizeOf :: ImageOperands -> Int $csizeOf :: ImageOperands -> Int Storable, Eq ImageOperands ImageOperands Int -> ImageOperands ImageOperands -> Bool ImageOperands -> Int ImageOperands -> Maybe Int ImageOperands -> ImageOperands ImageOperands -> Int -> Bool ImageOperands -> Int -> ImageOperands ImageOperands -> ImageOperands -> ImageOperands 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 :: ImageOperands -> Int $cpopCount :: ImageOperands -> Int rotateR :: ImageOperands -> Int -> ImageOperands $crotateR :: ImageOperands -> Int -> ImageOperands rotateL :: ImageOperands -> Int -> ImageOperands $crotateL :: ImageOperands -> Int -> ImageOperands unsafeShiftR :: ImageOperands -> Int -> ImageOperands $cunsafeShiftR :: ImageOperands -> Int -> ImageOperands shiftR :: ImageOperands -> Int -> ImageOperands $cshiftR :: ImageOperands -> Int -> ImageOperands unsafeShiftL :: ImageOperands -> Int -> ImageOperands $cunsafeShiftL :: ImageOperands -> Int -> ImageOperands shiftL :: ImageOperands -> Int -> ImageOperands $cshiftL :: ImageOperands -> Int -> ImageOperands isSigned :: ImageOperands -> Bool $cisSigned :: ImageOperands -> Bool bitSize :: ImageOperands -> Int $cbitSize :: ImageOperands -> Int bitSizeMaybe :: ImageOperands -> Maybe Int $cbitSizeMaybe :: ImageOperands -> Maybe Int testBit :: ImageOperands -> Int -> Bool $ctestBit :: ImageOperands -> Int -> Bool complementBit :: ImageOperands -> Int -> ImageOperands $ccomplementBit :: ImageOperands -> Int -> ImageOperands clearBit :: ImageOperands -> Int -> ImageOperands $cclearBit :: ImageOperands -> Int -> ImageOperands setBit :: ImageOperands -> Int -> ImageOperands $csetBit :: ImageOperands -> Int -> ImageOperands bit :: Int -> ImageOperands $cbit :: Int -> ImageOperands zeroBits :: ImageOperands $czeroBits :: ImageOperands rotate :: ImageOperands -> Int -> ImageOperands $crotate :: ImageOperands -> Int -> ImageOperands shift :: ImageOperands -> Int -> ImageOperands $cshift :: ImageOperands -> Int -> ImageOperands complement :: ImageOperands -> ImageOperands $ccomplement :: ImageOperands -> ImageOperands xor :: ImageOperands -> ImageOperands -> ImageOperands $cxor :: ImageOperands -> ImageOperands -> ImageOperands .|. :: ImageOperands -> ImageOperands -> ImageOperands $c.|. :: ImageOperands -> ImageOperands -> ImageOperands .&. :: ImageOperands -> ImageOperands -> ImageOperands $c.&. :: ImageOperands -> ImageOperands -> ImageOperands Bits) pattern Bias :: ImageOperands pattern $bBias :: ImageOperands $mBias :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r Bias = ImageOperands 0x1 pattern Lod :: ImageOperands pattern $bLod :: ImageOperands $mLod :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r Lod = ImageOperands 0x2 pattern Grad :: ImageOperands pattern $bGrad :: ImageOperands $mGrad :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r Grad = ImageOperands 0x4 pattern ConstOffset :: ImageOperands pattern $bConstOffset :: ImageOperands $mConstOffset :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r ConstOffset = ImageOperands 0x8 pattern Offset :: ImageOperands pattern $bOffset :: ImageOperands $mOffset :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r Offset = ImageOperands 0x10 pattern ConstOffsets :: ImageOperands pattern $bConstOffsets :: ImageOperands $mConstOffsets :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r ConstOffsets = ImageOperands 0x20 pattern Sample :: ImageOperands pattern $bSample :: ImageOperands $mSample :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r Sample = ImageOperands 0x40 pattern MinLod :: ImageOperands pattern $bMinLod :: ImageOperands $mMinLod :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r MinLod = ImageOperands 0x80 pattern MakeTexelAvailable :: ImageOperands pattern $bMakeTexelAvailable :: ImageOperands $mMakeTexelAvailable :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r MakeTexelAvailable = ImageOperands 0x100 pattern MakeTexelAvailableKHR :: ImageOperands pattern $bMakeTexelAvailableKHR :: ImageOperands $mMakeTexelAvailableKHR :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r MakeTexelAvailableKHR = ImageOperands 0x100 pattern MakeTexelVisible :: ImageOperands pattern $bMakeTexelVisible :: ImageOperands $mMakeTexelVisible :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r MakeTexelVisible = ImageOperands 0x200 pattern MakeTexelVisibleKHR :: ImageOperands pattern $bMakeTexelVisibleKHR :: ImageOperands $mMakeTexelVisibleKHR :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r MakeTexelVisibleKHR = ImageOperands 0x200 pattern NonPrivateTexel :: ImageOperands pattern $bNonPrivateTexel :: ImageOperands $mNonPrivateTexel :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r NonPrivateTexel = ImageOperands 0x400 pattern NonPrivateTexelKHR :: ImageOperands pattern $bNonPrivateTexelKHR :: ImageOperands $mNonPrivateTexelKHR :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r NonPrivateTexelKHR = ImageOperands 0x400 pattern VolatileTexel :: ImageOperands pattern $bVolatileTexel :: ImageOperands $mVolatileTexel :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r VolatileTexel = ImageOperands 0x800 pattern VolatileTexelKHR :: ImageOperands pattern $bVolatileTexelKHR :: ImageOperands $mVolatileTexelKHR :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r VolatileTexelKHR = ImageOperands 0x800 pattern SignExtend :: ImageOperands pattern $bSignExtend :: ImageOperands $mSignExtend :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r SignExtend = ImageOperands 0x1000 pattern ZeroExtend :: ImageOperands pattern $bZeroExtend :: ImageOperands $mZeroExtend :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r ZeroExtend = ImageOperands 0x2000 pattern Nontemporal :: ImageOperands pattern $bNontemporal :: ImageOperands $mNontemporal :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r Nontemporal = ImageOperands 0x4000 pattern Offsets :: ImageOperands pattern $bOffsets :: ImageOperands $mOffsets :: forall {r}. ImageOperands -> ((# #) -> r) -> ((# #) -> r) -> r Offsets = ImageOperands 0x10000 toName :: IsString a => ImageOperands -> a toName :: forall a. IsString a => ImageOperands -> a toName ImageOperands x = case ImageOperands x of ImageOperands Bias -> a "Bias" ImageOperands Lod -> a "Lod" ImageOperands Grad -> a "Grad" ImageOperands ConstOffset -> a "ConstOffset" ImageOperands Offset -> a "Offset" ImageOperands ConstOffsets -> a "ConstOffsets" ImageOperands Sample -> a "Sample" ImageOperands MinLod -> a "MinLod" ImageOperands MakeTexelAvailable -> a "MakeTexelAvailable" ImageOperands MakeTexelAvailableKHR -> a "MakeTexelAvailableKHR" ImageOperands MakeTexelVisible -> a "MakeTexelVisible" ImageOperands MakeTexelVisibleKHR -> a "MakeTexelVisibleKHR" ImageOperands NonPrivateTexel -> a "NonPrivateTexel" ImageOperands NonPrivateTexelKHR -> a "NonPrivateTexelKHR" ImageOperands VolatileTexel -> a "VolatileTexel" ImageOperands VolatileTexelKHR -> a "VolatileTexelKHR" ImageOperands SignExtend -> a "SignExtend" ImageOperands ZeroExtend -> a "ZeroExtend" ImageOperands Nontemporal -> a "Nontemporal" ImageOperands Offsets -> a "Offsets" ImageOperands unknown -> forall a. IsString a => [Char] -> a fromString forall a b. (a -> b) -> a -> b $ [Char] "ImageOperands " forall a. [a] -> [a] -> [a] ++ forall a. Show a => a -> [Char] show ImageOperands unknown instance Show ImageOperands where show :: ImageOperands -> [Char] show = forall a. IsString a => ImageOperands -> a toName fromName :: (IsString a, Eq a) => a -> Maybe ImageOperands fromName :: forall a. (IsString a, Eq a) => a -> Maybe ImageOperands fromName a x = case a x of a "Bias" -> forall a. a -> Maybe a Just ImageOperands Bias a "Lod" -> forall a. a -> Maybe a Just ImageOperands Lod a "Grad" -> forall a. a -> Maybe a Just ImageOperands Grad a "ConstOffset" -> forall a. a -> Maybe a Just ImageOperands ConstOffset a "Offset" -> forall a. a -> Maybe a Just ImageOperands Offset a "ConstOffsets" -> forall a. a -> Maybe a Just ImageOperands ConstOffsets a "Sample" -> forall a. a -> Maybe a Just ImageOperands Sample a "MinLod" -> forall a. a -> Maybe a Just ImageOperands MinLod a "MakeTexelAvailable" -> forall a. a -> Maybe a Just ImageOperands MakeTexelAvailable a "MakeTexelAvailableKHR" -> forall a. a -> Maybe a Just ImageOperands MakeTexelAvailableKHR a "MakeTexelVisible" -> forall a. a -> Maybe a Just ImageOperands MakeTexelVisible a "MakeTexelVisibleKHR" -> forall a. a -> Maybe a Just ImageOperands MakeTexelVisibleKHR a "NonPrivateTexel" -> forall a. a -> Maybe a Just ImageOperands NonPrivateTexel a "NonPrivateTexelKHR" -> forall a. a -> Maybe a Just ImageOperands NonPrivateTexelKHR a "VolatileTexel" -> forall a. a -> Maybe a Just ImageOperands VolatileTexel a "VolatileTexelKHR" -> forall a. a -> Maybe a Just ImageOperands VolatileTexelKHR a "SignExtend" -> forall a. a -> Maybe a Just ImageOperands SignExtend a "ZeroExtend" -> forall a. a -> Maybe a Just ImageOperands ZeroExtend a "Nontemporal" -> forall a. a -> Maybe a Just ImageOperands Nontemporal a "Offsets" -> forall a. a -> Maybe a Just ImageOperands Offsets a _unknown -> forall a. Maybe a Nothing instance Read ImageOperands where readPrec :: ReadPrec ImageOperands 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 ImageOperands fromName [Char] s