{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeSynonymInstances #-}
module Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags
(VkSubgroupFeatureBitmask(VkSubgroupFeatureBitmask,
VkSubgroupFeatureFlags, VkSubgroupFeatureFlagBits,
VK_SUBGROUP_FEATURE_BASIC_BIT, VK_SUBGROUP_FEATURE_VOTE_BIT,
VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, VK_SUBGROUP_FEATURE_BALLOT_BIT,
VK_SUBGROUP_FEATURE_SHUFFLE_BIT,
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,
VK_SUBGROUP_FEATURE_CLUSTERED_BIT, VK_SUBGROUP_FEATURE_QUAD_BIT),
VkSubgroupFeatureFlags, VkSubgroupFeatureFlagBits)
where
import Data.Bits (Bits, FiniteBits)
import Data.Data (Data)
import Foreign.Storable (Storable)
import GHC.Generics (Generic)
import GHC.Read (choose, expectP)
import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)
import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read (Read (..), parens)
import Text.Read.Lex (Lexeme (..))
newtype VkSubgroupFeatureBitmask (a ::
FlagType) = VkSubgroupFeatureBitmask VkFlags
deriving (VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
(VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool)
-> (VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Bool)
-> Eq (VkSubgroupFeatureBitmask a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
/= :: VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
$c/= :: forall (a :: FlagType).
VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
== :: VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
$c== :: forall (a :: FlagType).
VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
Eq, Eq (VkSubgroupFeatureBitmask a)
Eq (VkSubgroupFeatureBitmask a)
-> (VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Ordering)
-> (VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Bool)
-> (VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Bool)
-> (VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Bool)
-> (VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Bool)
-> (VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a)
-> (VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a)
-> Ord (VkSubgroupFeatureBitmask a)
VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Ordering
VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
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
forall (a :: FlagType). Eq (VkSubgroupFeatureBitmask a)
forall (a :: FlagType).
VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
forall (a :: FlagType).
VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Ordering
forall (a :: FlagType).
VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
min :: VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
$cmin :: forall (a :: FlagType).
VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
max :: VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
$cmax :: forall (a :: FlagType).
VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
>= :: VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
$c>= :: forall (a :: FlagType).
VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
> :: VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
$c> :: forall (a :: FlagType).
VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
<= :: VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
$c<= :: forall (a :: FlagType).
VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
< :: VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
$c< :: forall (a :: FlagType).
VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a -> Bool
compare :: VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Ordering
$ccompare :: forall (a :: FlagType).
VkSubgroupFeatureBitmask a
-> VkSubgroupFeatureBitmask a -> Ordering
$cp1Ord :: forall (a :: FlagType). Eq (VkSubgroupFeatureBitmask a)
Ord, Ptr b -> Int -> IO (VkSubgroupFeatureBitmask a)
Ptr b -> Int -> VkSubgroupFeatureBitmask a -> IO ()
Ptr (VkSubgroupFeatureBitmask a) -> IO (VkSubgroupFeatureBitmask a)
Ptr (VkSubgroupFeatureBitmask a)
-> Int -> IO (VkSubgroupFeatureBitmask a)
Ptr (VkSubgroupFeatureBitmask a)
-> Int -> VkSubgroupFeatureBitmask a -> IO ()
Ptr (VkSubgroupFeatureBitmask a)
-> VkSubgroupFeatureBitmask a -> IO ()
VkSubgroupFeatureBitmask a -> Int
(VkSubgroupFeatureBitmask a -> Int)
-> (VkSubgroupFeatureBitmask a -> Int)
-> (Ptr (VkSubgroupFeatureBitmask a)
-> Int -> IO (VkSubgroupFeatureBitmask a))
-> (Ptr (VkSubgroupFeatureBitmask a)
-> Int -> VkSubgroupFeatureBitmask a -> IO ())
-> (forall b. Ptr b -> Int -> IO (VkSubgroupFeatureBitmask a))
-> (forall b. Ptr b -> Int -> VkSubgroupFeatureBitmask a -> IO ())
-> (Ptr (VkSubgroupFeatureBitmask a)
-> IO (VkSubgroupFeatureBitmask a))
-> (Ptr (VkSubgroupFeatureBitmask a)
-> VkSubgroupFeatureBitmask a -> IO ())
-> Storable (VkSubgroupFeatureBitmask a)
forall b. Ptr b -> Int -> IO (VkSubgroupFeatureBitmask a)
forall b. Ptr b -> Int -> VkSubgroupFeatureBitmask a -> 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
forall (a :: FlagType).
Ptr (VkSubgroupFeatureBitmask a) -> IO (VkSubgroupFeatureBitmask a)
forall (a :: FlagType).
Ptr (VkSubgroupFeatureBitmask a)
-> Int -> IO (VkSubgroupFeatureBitmask a)
forall (a :: FlagType).
Ptr (VkSubgroupFeatureBitmask a)
-> Int -> VkSubgroupFeatureBitmask a -> IO ()
forall (a :: FlagType).
Ptr (VkSubgroupFeatureBitmask a)
-> VkSubgroupFeatureBitmask a -> IO ()
forall (a :: FlagType). VkSubgroupFeatureBitmask a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkSubgroupFeatureBitmask a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkSubgroupFeatureBitmask a -> IO ()
poke :: Ptr (VkSubgroupFeatureBitmask a)
-> VkSubgroupFeatureBitmask a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkSubgroupFeatureBitmask a)
-> VkSubgroupFeatureBitmask a -> IO ()
peek :: Ptr (VkSubgroupFeatureBitmask a) -> IO (VkSubgroupFeatureBitmask a)
$cpeek :: forall (a :: FlagType).
Ptr (VkSubgroupFeatureBitmask a) -> IO (VkSubgroupFeatureBitmask a)
pokeByteOff :: Ptr b -> Int -> VkSubgroupFeatureBitmask a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkSubgroupFeatureBitmask a -> IO ()
peekByteOff :: Ptr b -> Int -> IO (VkSubgroupFeatureBitmask a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkSubgroupFeatureBitmask a)
pokeElemOff :: Ptr (VkSubgroupFeatureBitmask a)
-> Int -> VkSubgroupFeatureBitmask a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkSubgroupFeatureBitmask a)
-> Int -> VkSubgroupFeatureBitmask a -> IO ()
peekElemOff :: Ptr (VkSubgroupFeatureBitmask a)
-> Int -> IO (VkSubgroupFeatureBitmask a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkSubgroupFeatureBitmask a)
-> Int -> IO (VkSubgroupFeatureBitmask a)
alignment :: VkSubgroupFeatureBitmask a -> Int
$calignment :: forall (a :: FlagType). VkSubgroupFeatureBitmask a -> Int
sizeOf :: VkSubgroupFeatureBitmask a -> Int
$csizeOf :: forall (a :: FlagType). VkSubgroupFeatureBitmask a -> Int
Storable, Typeable (VkSubgroupFeatureBitmask a)
DataType
Constr
Typeable (VkSubgroupFeatureBitmask a)
-> (forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkSubgroupFeatureBitmask a
-> c (VkSubgroupFeatureBitmask a))
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r)
-> Constr
-> c (VkSubgroupFeatureBitmask a))
-> (VkSubgroupFeatureBitmask a -> Constr)
-> (VkSubgroupFeatureBitmask a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d))
-> Maybe (c (VkSubgroupFeatureBitmask a)))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkSubgroupFeatureBitmask a)))
-> ((forall b. Data b => b -> b)
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a)
-> (forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r)
-> (forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r)
-> (forall u.
(forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> [u])
-> (forall u.
Int
-> (forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a))
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a))
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a))
-> Data (VkSubgroupFeatureBitmask a)
VkSubgroupFeatureBitmask a -> DataType
VkSubgroupFeatureBitmask a -> Constr
(forall b. Data b => b -> b)
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkSubgroupFeatureBitmask a
-> c (VkSubgroupFeatureBitmask a)
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkSubgroupFeatureBitmask a)
forall a.
Typeable a
-> (forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int
-> (forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> u
forall u.
(forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r
forall (a :: FlagType).
Typeable a =>
Typeable (VkSubgroupFeatureBitmask a)
forall (a :: FlagType).
Typeable a =>
VkSubgroupFeatureBitmask a -> DataType
forall (a :: FlagType).
Typeable a =>
VkSubgroupFeatureBitmask a -> Constr
forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
forall (a :: FlagType) u.
Typeable a =>
Int
-> (forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> u
forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> [u]
forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r
forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r
forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkSubgroupFeatureBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkSubgroupFeatureBitmask a
-> c (VkSubgroupFeatureBitmask a)
forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d))
-> Maybe (c (VkSubgroupFeatureBitmask a))
forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkSubgroupFeatureBitmask a))
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkSubgroupFeatureBitmask a)
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkSubgroupFeatureBitmask a
-> c (VkSubgroupFeatureBitmask a)
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d))
-> Maybe (c (VkSubgroupFeatureBitmask a))
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkSubgroupFeatureBitmask a))
$cVkSubgroupFeatureBitmask :: Constr
$tVkSubgroupFeatureBitmask :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
$cgmapMo :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
gmapMp :: (forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
$cgmapMp :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
gmapM :: (forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
$cgmapM :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkSubgroupFeatureBitmask a -> m (VkSubgroupFeatureBitmask a)
gmapQi :: Int
-> (forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> u
$cgmapQi :: forall (a :: FlagType) u.
Typeable a =>
Int
-> (forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> u
gmapQ :: (forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> [u]
$cgmapQ :: forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkSubgroupFeatureBitmask a -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r
$cgmapQr :: forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r
$cgmapQl :: forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkSubgroupFeatureBitmask a
-> r
gmapT :: (forall b. Data b => b -> b)
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
$cgmapT :: forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkSubgroupFeatureBitmask a -> VkSubgroupFeatureBitmask a
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkSubgroupFeatureBitmask a))
$cdataCast2 :: forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkSubgroupFeatureBitmask a))
dataCast1 :: (forall d. Data d => c (t d))
-> Maybe (c (VkSubgroupFeatureBitmask a))
$cdataCast1 :: forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d))
-> Maybe (c (VkSubgroupFeatureBitmask a))
dataTypeOf :: VkSubgroupFeatureBitmask a -> DataType
$cdataTypeOf :: forall (a :: FlagType).
Typeable a =>
VkSubgroupFeatureBitmask a -> DataType
toConstr :: VkSubgroupFeatureBitmask a -> Constr
$ctoConstr :: forall (a :: FlagType).
Typeable a =>
VkSubgroupFeatureBitmask a -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkSubgroupFeatureBitmask a)
$cgunfold :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkSubgroupFeatureBitmask a)
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkSubgroupFeatureBitmask a
-> c (VkSubgroupFeatureBitmask a)
$cgfoldl :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkSubgroupFeatureBitmask a
-> c (VkSubgroupFeatureBitmask a)
$cp1Data :: forall (a :: FlagType).
Typeable a =>
Typeable (VkSubgroupFeatureBitmask a)
Data, (forall x.
VkSubgroupFeatureBitmask a -> Rep (VkSubgroupFeatureBitmask a) x)
-> (forall x.
Rep (VkSubgroupFeatureBitmask a) x -> VkSubgroupFeatureBitmask a)
-> Generic (VkSubgroupFeatureBitmask a)
forall x.
Rep (VkSubgroupFeatureBitmask a) x -> VkSubgroupFeatureBitmask a
forall x.
VkSubgroupFeatureBitmask a -> Rep (VkSubgroupFeatureBitmask a) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (a :: FlagType) x.
Rep (VkSubgroupFeatureBitmask a) x -> VkSubgroupFeatureBitmask a
forall (a :: FlagType) x.
VkSubgroupFeatureBitmask a -> Rep (VkSubgroupFeatureBitmask a) x
$cto :: forall (a :: FlagType) x.
Rep (VkSubgroupFeatureBitmask a) x -> VkSubgroupFeatureBitmask a
$cfrom :: forall (a :: FlagType) x.
VkSubgroupFeatureBitmask a -> Rep (VkSubgroupFeatureBitmask a) x
Generic)
type VkSubgroupFeatureFlags = VkSubgroupFeatureBitmask FlagMask
type VkSubgroupFeatureFlagBits = VkSubgroupFeatureBitmask FlagBit
pattern VkSubgroupFeatureFlagBits ::
VkFlags -> VkSubgroupFeatureBitmask FlagBit
pattern $bVkSubgroupFeatureFlagBits :: VkFlags -> VkSubgroupFeatureBitmask FlagBit
$mVkSubgroupFeatureFlagBits :: forall r.
VkSubgroupFeatureBitmask FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkSubgroupFeatureFlagBits n = VkSubgroupFeatureBitmask n
pattern VkSubgroupFeatureFlags ::
VkFlags -> VkSubgroupFeatureBitmask FlagMask
pattern $bVkSubgroupFeatureFlags :: VkFlags -> VkSubgroupFeatureBitmask FlagMask
$mVkSubgroupFeatureFlags :: forall r.
VkSubgroupFeatureBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkSubgroupFeatureFlags n = VkSubgroupFeatureBitmask n
deriving instance Bits (VkSubgroupFeatureBitmask FlagMask)
deriving instance FiniteBits (VkSubgroupFeatureBitmask FlagMask)
deriving instance Integral (VkSubgroupFeatureBitmask FlagMask)
deriving instance Num (VkSubgroupFeatureBitmask FlagMask)
deriving instance Bounded (VkSubgroupFeatureBitmask FlagMask)
deriving instance Enum (VkSubgroupFeatureBitmask FlagMask)
deriving instance Real (VkSubgroupFeatureBitmask FlagMask)
instance Show (VkSubgroupFeatureBitmask a) where
showsPrec :: Int -> VkSubgroupFeatureBitmask a -> ShowS
showsPrec Int
_ VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_BASIC_BIT
= String -> ShowS
showString String
"VK_SUBGROUP_FEATURE_BASIC_BIT"
showsPrec Int
_ VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_VOTE_BIT
= String -> ShowS
showString String
"VK_SUBGROUP_FEATURE_VOTE_BIT"
showsPrec Int
_ VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_ARITHMETIC_BIT
= String -> ShowS
showString String
"VK_SUBGROUP_FEATURE_ARITHMETIC_BIT"
showsPrec Int
_ VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_BALLOT_BIT
= String -> ShowS
showString String
"VK_SUBGROUP_FEATURE_BALLOT_BIT"
showsPrec Int
_ VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_SHUFFLE_BIT
= String -> ShowS
showString String
"VK_SUBGROUP_FEATURE_SHUFFLE_BIT"
showsPrec Int
_ VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
= String -> ShowS
showString String
"VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"
showsPrec Int
_ VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_CLUSTERED_BIT
= String -> ShowS
showString String
"VK_SUBGROUP_FEATURE_CLUSTERED_BIT"
showsPrec Int
_ VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_QUAD_BIT
= String -> ShowS
showString String
"VK_SUBGROUP_FEATURE_QUAD_BIT"
showsPrec Int
p (VkSubgroupFeatureBitmask VkFlags
x)
= Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
(String -> ShowS
showString String
"VkSubgroupFeatureBitmask " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 VkFlags
x)
instance Read (VkSubgroupFeatureBitmask a) where
readPrec :: ReadPrec (VkSubgroupFeatureBitmask a)
readPrec
= ReadPrec (VkSubgroupFeatureBitmask a)
-> ReadPrec (VkSubgroupFeatureBitmask a)
forall a. ReadPrec a -> ReadPrec a
parens
([(String, ReadPrec (VkSubgroupFeatureBitmask a))]
-> ReadPrec (VkSubgroupFeatureBitmask a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
[(String
"VK_SUBGROUP_FEATURE_BASIC_BIT",
VkSubgroupFeatureBitmask a -> ReadPrec (VkSubgroupFeatureBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSubgroupFeatureBitmask a
forall (a :: FlagType). VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_BASIC_BIT),
(String
"VK_SUBGROUP_FEATURE_VOTE_BIT",
VkSubgroupFeatureBitmask a -> ReadPrec (VkSubgroupFeatureBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSubgroupFeatureBitmask a
forall (a :: FlagType). VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_VOTE_BIT),
(String
"VK_SUBGROUP_FEATURE_ARITHMETIC_BIT",
VkSubgroupFeatureBitmask a -> ReadPrec (VkSubgroupFeatureBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSubgroupFeatureBitmask a
forall (a :: FlagType). VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_ARITHMETIC_BIT),
(String
"VK_SUBGROUP_FEATURE_BALLOT_BIT",
VkSubgroupFeatureBitmask a -> ReadPrec (VkSubgroupFeatureBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSubgroupFeatureBitmask a
forall (a :: FlagType). VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_BALLOT_BIT),
(String
"VK_SUBGROUP_FEATURE_SHUFFLE_BIT",
VkSubgroupFeatureBitmask a -> ReadPrec (VkSubgroupFeatureBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSubgroupFeatureBitmask a
forall (a :: FlagType). VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_SHUFFLE_BIT),
(String
"VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT",
VkSubgroupFeatureBitmask a -> ReadPrec (VkSubgroupFeatureBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSubgroupFeatureBitmask a
forall (a :: FlagType). VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT),
(String
"VK_SUBGROUP_FEATURE_CLUSTERED_BIT",
VkSubgroupFeatureBitmask a -> ReadPrec (VkSubgroupFeatureBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSubgroupFeatureBitmask a
forall (a :: FlagType). VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_CLUSTERED_BIT),
(String
"VK_SUBGROUP_FEATURE_QUAD_BIT",
VkSubgroupFeatureBitmask a -> ReadPrec (VkSubgroupFeatureBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkSubgroupFeatureBitmask a
forall (a :: FlagType). VkSubgroupFeatureBitmask a
VK_SUBGROUP_FEATURE_QUAD_BIT)]
ReadPrec (VkSubgroupFeatureBitmask a)
-> ReadPrec (VkSubgroupFeatureBitmask a)
-> ReadPrec (VkSubgroupFeatureBitmask a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec (VkSubgroupFeatureBitmask a)
-> ReadPrec (VkSubgroupFeatureBitmask a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
(Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkSubgroupFeatureBitmask") ReadPrec ()
-> ReadPrec (VkSubgroupFeatureBitmask a)
-> ReadPrec (VkSubgroupFeatureBitmask a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
(VkFlags -> VkSubgroupFeatureBitmask a
forall (a :: FlagType). VkFlags -> VkSubgroupFeatureBitmask a
VkSubgroupFeatureBitmask (VkFlags -> VkSubgroupFeatureBitmask a)
-> ReadPrec VkFlags -> ReadPrec (VkSubgroupFeatureBitmask a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec VkFlags -> ReadPrec VkFlags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec VkFlags
forall a. Read a => ReadPrec a
readPrec)))
pattern VK_SUBGROUP_FEATURE_BASIC_BIT :: VkSubgroupFeatureBitmask a
pattern $bVK_SUBGROUP_FEATURE_BASIC_BIT :: VkSubgroupFeatureBitmask a
$mVK_SUBGROUP_FEATURE_BASIC_BIT :: forall r (a :: FlagType).
VkSubgroupFeatureBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SUBGROUP_FEATURE_BASIC_BIT = VkSubgroupFeatureBitmask 1
pattern VK_SUBGROUP_FEATURE_VOTE_BIT :: VkSubgroupFeatureBitmask a
pattern $bVK_SUBGROUP_FEATURE_VOTE_BIT :: VkSubgroupFeatureBitmask a
$mVK_SUBGROUP_FEATURE_VOTE_BIT :: forall r (a :: FlagType).
VkSubgroupFeatureBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SUBGROUP_FEATURE_VOTE_BIT = VkSubgroupFeatureBitmask 2
pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT ::
VkSubgroupFeatureBitmask a
pattern $bVK_SUBGROUP_FEATURE_ARITHMETIC_BIT :: VkSubgroupFeatureBitmask a
$mVK_SUBGROUP_FEATURE_ARITHMETIC_BIT :: forall r (a :: FlagType).
VkSubgroupFeatureBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SUBGROUP_FEATURE_ARITHMETIC_BIT =
VkSubgroupFeatureBitmask 4
pattern VK_SUBGROUP_FEATURE_BALLOT_BIT ::
VkSubgroupFeatureBitmask a
pattern $bVK_SUBGROUP_FEATURE_BALLOT_BIT :: VkSubgroupFeatureBitmask a
$mVK_SUBGROUP_FEATURE_BALLOT_BIT :: forall r (a :: FlagType).
VkSubgroupFeatureBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SUBGROUP_FEATURE_BALLOT_BIT = VkSubgroupFeatureBitmask 8
pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT ::
VkSubgroupFeatureBitmask a
pattern $bVK_SUBGROUP_FEATURE_SHUFFLE_BIT :: VkSubgroupFeatureBitmask a
$mVK_SUBGROUP_FEATURE_SHUFFLE_BIT :: forall r (a :: FlagType).
VkSubgroupFeatureBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SUBGROUP_FEATURE_SHUFFLE_BIT =
VkSubgroupFeatureBitmask 16
pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT ::
VkSubgroupFeatureBitmask a
pattern $bVK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT :: VkSubgroupFeatureBitmask a
$mVK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT :: forall r (a :: FlagType).
VkSubgroupFeatureBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT =
VkSubgroupFeatureBitmask 32
pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT ::
VkSubgroupFeatureBitmask a
pattern $bVK_SUBGROUP_FEATURE_CLUSTERED_BIT :: VkSubgroupFeatureBitmask a
$mVK_SUBGROUP_FEATURE_CLUSTERED_BIT :: forall r (a :: FlagType).
VkSubgroupFeatureBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SUBGROUP_FEATURE_CLUSTERED_BIT =
VkSubgroupFeatureBitmask 64
pattern VK_SUBGROUP_FEATURE_QUAD_BIT :: VkSubgroupFeatureBitmask a
pattern $bVK_SUBGROUP_FEATURE_QUAD_BIT :: VkSubgroupFeatureBitmask a
$mVK_SUBGROUP_FEATURE_QUAD_BIT :: forall r (a :: FlagType).
VkSubgroupFeatureBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SUBGROUP_FEATURE_QUAD_BIT = VkSubgroupFeatureBitmask 128