module Data.SpirV.Reflect.Enums.ResourceFlags where

import Data.SpirV.Reflect.Enums.Common

type ResourceFlags = ResourceFlagBits

newtype ResourceFlagBits = ResourceFlagBits Flags
  deriving newtype (ResourceFlagBits -> ResourceFlagBits -> Bool
(ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> Eq ResourceFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c/= :: ResourceFlagBits -> ResourceFlagBits -> Bool
== :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c== :: ResourceFlagBits -> ResourceFlagBits -> Bool
Eq, Eq ResourceFlagBits
Eq ResourceFlagBits
-> (ResourceFlagBits -> ResourceFlagBits -> Ordering)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> Ord ResourceFlagBits
ResourceFlagBits -> ResourceFlagBits -> Bool
ResourceFlagBits -> ResourceFlagBits -> Ordering
ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
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 :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$cmin :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
max :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$cmax :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
>= :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c>= :: ResourceFlagBits -> ResourceFlagBits -> Bool
> :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c> :: ResourceFlagBits -> ResourceFlagBits -> Bool
<= :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c<= :: ResourceFlagBits -> ResourceFlagBits -> Bool
< :: ResourceFlagBits -> ResourceFlagBits -> Bool
$c< :: ResourceFlagBits -> ResourceFlagBits -> Bool
compare :: ResourceFlagBits -> ResourceFlagBits -> Ordering
$ccompare :: ResourceFlagBits -> ResourceFlagBits -> Ordering
$cp1Ord :: Eq ResourceFlagBits
Ord, Int -> ResourceFlagBits -> ShowS
[ResourceFlagBits] -> ShowS
ResourceFlagBits -> String
(Int -> ResourceFlagBits -> ShowS)
-> (ResourceFlagBits -> String)
-> ([ResourceFlagBits] -> ShowS)
-> Show ResourceFlagBits
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResourceFlagBits] -> ShowS
$cshowList :: [ResourceFlagBits] -> ShowS
show :: ResourceFlagBits -> String
$cshow :: ResourceFlagBits -> String
showsPrec :: Int -> ResourceFlagBits -> ShowS
$cshowsPrec :: Int -> ResourceFlagBits -> ShowS
Show, Eq ResourceFlagBits
ResourceFlagBits
Eq ResourceFlagBits
-> (ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> ResourceFlagBits
-> (Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> Bool)
-> (ResourceFlagBits -> Maybe Int)
-> (ResourceFlagBits -> Int)
-> (ResourceFlagBits -> Bool)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int -> ResourceFlagBits)
-> (ResourceFlagBits -> Int)
-> Bits ResourceFlagBits
Int -> ResourceFlagBits
ResourceFlagBits -> Bool
ResourceFlagBits -> Int
ResourceFlagBits -> Maybe Int
ResourceFlagBits -> ResourceFlagBits
ResourceFlagBits -> Int -> Bool
ResourceFlagBits -> Int -> ResourceFlagBits
ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
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 :: ResourceFlagBits -> Int
$cpopCount :: ResourceFlagBits -> Int
rotateR :: ResourceFlagBits -> Int -> ResourceFlagBits
$crotateR :: ResourceFlagBits -> Int -> ResourceFlagBits
rotateL :: ResourceFlagBits -> Int -> ResourceFlagBits
$crotateL :: ResourceFlagBits -> Int -> ResourceFlagBits
unsafeShiftR :: ResourceFlagBits -> Int -> ResourceFlagBits
$cunsafeShiftR :: ResourceFlagBits -> Int -> ResourceFlagBits
shiftR :: ResourceFlagBits -> Int -> ResourceFlagBits
$cshiftR :: ResourceFlagBits -> Int -> ResourceFlagBits
unsafeShiftL :: ResourceFlagBits -> Int -> ResourceFlagBits
$cunsafeShiftL :: ResourceFlagBits -> Int -> ResourceFlagBits
shiftL :: ResourceFlagBits -> Int -> ResourceFlagBits
$cshiftL :: ResourceFlagBits -> Int -> ResourceFlagBits
isSigned :: ResourceFlagBits -> Bool
$cisSigned :: ResourceFlagBits -> Bool
bitSize :: ResourceFlagBits -> Int
$cbitSize :: ResourceFlagBits -> Int
bitSizeMaybe :: ResourceFlagBits -> Maybe Int
$cbitSizeMaybe :: ResourceFlagBits -> Maybe Int
testBit :: ResourceFlagBits -> Int -> Bool
$ctestBit :: ResourceFlagBits -> Int -> Bool
complementBit :: ResourceFlagBits -> Int -> ResourceFlagBits
$ccomplementBit :: ResourceFlagBits -> Int -> ResourceFlagBits
clearBit :: ResourceFlagBits -> Int -> ResourceFlagBits
$cclearBit :: ResourceFlagBits -> Int -> ResourceFlagBits
setBit :: ResourceFlagBits -> Int -> ResourceFlagBits
$csetBit :: ResourceFlagBits -> Int -> ResourceFlagBits
bit :: Int -> ResourceFlagBits
$cbit :: Int -> ResourceFlagBits
zeroBits :: ResourceFlagBits
$czeroBits :: ResourceFlagBits
rotate :: ResourceFlagBits -> Int -> ResourceFlagBits
$crotate :: ResourceFlagBits -> Int -> ResourceFlagBits
shift :: ResourceFlagBits -> Int -> ResourceFlagBits
$cshift :: ResourceFlagBits -> Int -> ResourceFlagBits
complement :: ResourceFlagBits -> ResourceFlagBits
$ccomplement :: ResourceFlagBits -> ResourceFlagBits
xor :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$cxor :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
.|. :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$c.|. :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
.&. :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$c.&. :: ResourceFlagBits -> ResourceFlagBits -> ResourceFlagBits
$cp1Bits :: Eq ResourceFlagBits
Bits, Bits ResourceFlagBits
Bits ResourceFlagBits
-> (ResourceFlagBits -> Int)
-> (ResourceFlagBits -> Int)
-> (ResourceFlagBits -> Int)
-> FiniteBits ResourceFlagBits
ResourceFlagBits -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ResourceFlagBits -> Int
$ccountTrailingZeros :: ResourceFlagBits -> Int
countLeadingZeros :: ResourceFlagBits -> Int
$ccountLeadingZeros :: ResourceFlagBits -> Int
finiteBitSize :: ResourceFlagBits -> Int
$cfiniteBitSize :: ResourceFlagBits -> Int
$cp1FiniteBits :: Bits ResourceFlagBits
FiniteBits)

pattern RESOURCE_FLAG_UNDEFINED :: ResourceFlagBits
pattern $bRESOURCE_FLAG_UNDEFINED :: ResourceFlagBits
$mRESOURCE_FLAG_UNDEFINED :: forall r. ResourceFlagBits -> (Void# -> r) -> (Void# -> r) -> r
RESOURCE_FLAG_UNDEFINED = ResourceFlagBits 0x00000000

pattern RESOURCE_FLAG_SAMPLER :: ResourceFlagBits
pattern $bRESOURCE_FLAG_SAMPLER :: ResourceFlagBits
$mRESOURCE_FLAG_SAMPLER :: forall r. ResourceFlagBits -> (Void# -> r) -> (Void# -> r) -> r
RESOURCE_FLAG_SAMPLER = ResourceFlagBits 0x00000001

pattern RESOURCE_FLAG_CBV :: ResourceFlagBits
pattern $bRESOURCE_FLAG_CBV :: ResourceFlagBits
$mRESOURCE_FLAG_CBV :: forall r. ResourceFlagBits -> (Void# -> r) -> (Void# -> r) -> r
RESOURCE_FLAG_CBV = ResourceFlagBits 0x00000002

pattern RESOURCE_FLAG_SRV :: ResourceFlagBits
pattern $bRESOURCE_FLAG_SRV :: ResourceFlagBits
$mRESOURCE_FLAG_SRV :: forall r. ResourceFlagBits -> (Void# -> r) -> (Void# -> r) -> r
RESOURCE_FLAG_SRV = ResourceFlagBits 0x00000004

pattern RESOURCE_FLAG_UAV :: ResourceFlagBits
pattern $bRESOURCE_FLAG_UAV :: ResourceFlagBits
$mRESOURCE_FLAG_UAV :: forall r. ResourceFlagBits -> (Void# -> r) -> (Void# -> r) -> r
RESOURCE_FLAG_UAV = ResourceFlagBits 0x00000008