{-# language CPP #-}
module Vulkan.Core10.Enums.ShaderStageFlagBits ( ShaderStageFlags
, ShaderStageFlagBits( SHADER_STAGE_VERTEX_BIT
, SHADER_STAGE_TESSELLATION_CONTROL_BIT
, SHADER_STAGE_TESSELLATION_EVALUATION_BIT
, SHADER_STAGE_GEOMETRY_BIT
, SHADER_STAGE_FRAGMENT_BIT
, SHADER_STAGE_COMPUTE_BIT
, SHADER_STAGE_ALL_GRAPHICS
, SHADER_STAGE_ALL
, SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI
, SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI
, SHADER_STAGE_MESH_BIT_EXT
, SHADER_STAGE_TASK_BIT_EXT
, SHADER_STAGE_CALLABLE_BIT_KHR
, SHADER_STAGE_INTERSECTION_BIT_KHR
, SHADER_STAGE_MISS_BIT_KHR
, SHADER_STAGE_CLOSEST_HIT_BIT_KHR
, SHADER_STAGE_ANY_HIT_BIT_KHR
, SHADER_STAGE_RAYGEN_BIT_KHR
, ..
)
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags)
type ShaderStageFlags = ShaderStageFlagBits
newtype ShaderStageFlagBits = ShaderStageFlagBits Flags
deriving newtype (ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
$c/= :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
== :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
$c== :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
Eq, Eq ShaderStageFlagBits
ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
ShaderStageFlagBits -> ShaderStageFlagBits -> Ordering
ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
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 :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
$cmin :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
max :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
$cmax :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
>= :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
$c>= :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
> :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
$c> :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
<= :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
$c<= :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
< :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
$c< :: ShaderStageFlagBits -> ShaderStageFlagBits -> Bool
compare :: ShaderStageFlagBits -> ShaderStageFlagBits -> Ordering
$ccompare :: ShaderStageFlagBits -> ShaderStageFlagBits -> Ordering
Ord, Ptr ShaderStageFlagBits -> IO ShaderStageFlagBits
Ptr ShaderStageFlagBits -> Int -> IO ShaderStageFlagBits
Ptr ShaderStageFlagBits -> Int -> ShaderStageFlagBits -> IO ()
Ptr ShaderStageFlagBits -> ShaderStageFlagBits -> IO ()
ShaderStageFlagBits -> Int
forall b. Ptr b -> Int -> IO ShaderStageFlagBits
forall b. Ptr b -> Int -> ShaderStageFlagBits -> 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 ShaderStageFlagBits -> ShaderStageFlagBits -> IO ()
$cpoke :: Ptr ShaderStageFlagBits -> ShaderStageFlagBits -> IO ()
peek :: Ptr ShaderStageFlagBits -> IO ShaderStageFlagBits
$cpeek :: Ptr ShaderStageFlagBits -> IO ShaderStageFlagBits
pokeByteOff :: forall b. Ptr b -> Int -> ShaderStageFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ShaderStageFlagBits -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ShaderStageFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ShaderStageFlagBits
pokeElemOff :: Ptr ShaderStageFlagBits -> Int -> ShaderStageFlagBits -> IO ()
$cpokeElemOff :: Ptr ShaderStageFlagBits -> Int -> ShaderStageFlagBits -> IO ()
peekElemOff :: Ptr ShaderStageFlagBits -> Int -> IO ShaderStageFlagBits
$cpeekElemOff :: Ptr ShaderStageFlagBits -> Int -> IO ShaderStageFlagBits
alignment :: ShaderStageFlagBits -> Int
$calignment :: ShaderStageFlagBits -> Int
sizeOf :: ShaderStageFlagBits -> Int
$csizeOf :: ShaderStageFlagBits -> Int
Storable, ShaderStageFlagBits
forall a. a -> Zero a
zero :: ShaderStageFlagBits
$czero :: ShaderStageFlagBits
Zero, Eq ShaderStageFlagBits
ShaderStageFlagBits
Int -> ShaderStageFlagBits
ShaderStageFlagBits -> Bool
ShaderStageFlagBits -> Int
ShaderStageFlagBits -> Maybe Int
ShaderStageFlagBits -> ShaderStageFlagBits
ShaderStageFlagBits -> Int -> Bool
ShaderStageFlagBits -> Int -> ShaderStageFlagBits
ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
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 :: ShaderStageFlagBits -> Int
$cpopCount :: ShaderStageFlagBits -> Int
rotateR :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$crotateR :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
rotateL :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$crotateL :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
unsafeShiftR :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$cunsafeShiftR :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
shiftR :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$cshiftR :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
unsafeShiftL :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$cunsafeShiftL :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
shiftL :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$cshiftL :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
isSigned :: ShaderStageFlagBits -> Bool
$cisSigned :: ShaderStageFlagBits -> Bool
bitSize :: ShaderStageFlagBits -> Int
$cbitSize :: ShaderStageFlagBits -> Int
bitSizeMaybe :: ShaderStageFlagBits -> Maybe Int
$cbitSizeMaybe :: ShaderStageFlagBits -> Maybe Int
testBit :: ShaderStageFlagBits -> Int -> Bool
$ctestBit :: ShaderStageFlagBits -> Int -> Bool
complementBit :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$ccomplementBit :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
clearBit :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$cclearBit :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
setBit :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$csetBit :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
bit :: Int -> ShaderStageFlagBits
$cbit :: Int -> ShaderStageFlagBits
zeroBits :: ShaderStageFlagBits
$czeroBits :: ShaderStageFlagBits
rotate :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$crotate :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
shift :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
$cshift :: ShaderStageFlagBits -> Int -> ShaderStageFlagBits
complement :: ShaderStageFlagBits -> ShaderStageFlagBits
$ccomplement :: ShaderStageFlagBits -> ShaderStageFlagBits
xor :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
$cxor :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
.|. :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
$c.|. :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
.&. :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
$c.&. :: ShaderStageFlagBits -> ShaderStageFlagBits -> ShaderStageFlagBits
Bits, Bits ShaderStageFlagBits
ShaderStageFlagBits -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ShaderStageFlagBits -> Int
$ccountTrailingZeros :: ShaderStageFlagBits -> Int
countLeadingZeros :: ShaderStageFlagBits -> Int
$ccountLeadingZeros :: ShaderStageFlagBits -> Int
finiteBitSize :: ShaderStageFlagBits -> Int
$cfiniteBitSize :: ShaderStageFlagBits -> Int
FiniteBits)
pattern $bSHADER_STAGE_VERTEX_BIT :: ShaderStageFlagBits
$mSHADER_STAGE_VERTEX_BIT :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_VERTEX_BIT = ShaderStageFlagBits 0x00000001
pattern $bSHADER_STAGE_TESSELLATION_CONTROL_BIT :: ShaderStageFlagBits
$mSHADER_STAGE_TESSELLATION_CONTROL_BIT :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_TESSELLATION_CONTROL_BIT = ShaderStageFlagBits 0x00000002
pattern $bSHADER_STAGE_TESSELLATION_EVALUATION_BIT :: ShaderStageFlagBits
$mSHADER_STAGE_TESSELLATION_EVALUATION_BIT :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_TESSELLATION_EVALUATION_BIT = ShaderStageFlagBits 0x00000004
pattern $bSHADER_STAGE_GEOMETRY_BIT :: ShaderStageFlagBits
$mSHADER_STAGE_GEOMETRY_BIT :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_GEOMETRY_BIT = ShaderStageFlagBits 0x00000008
pattern $bSHADER_STAGE_FRAGMENT_BIT :: ShaderStageFlagBits
$mSHADER_STAGE_FRAGMENT_BIT :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_FRAGMENT_BIT = ShaderStageFlagBits 0x00000010
pattern $bSHADER_STAGE_COMPUTE_BIT :: ShaderStageFlagBits
$mSHADER_STAGE_COMPUTE_BIT :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_COMPUTE_BIT = ShaderStageFlagBits 0x00000020
pattern $bSHADER_STAGE_ALL_GRAPHICS :: ShaderStageFlagBits
$mSHADER_STAGE_ALL_GRAPHICS :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_ALL_GRAPHICS = ShaderStageFlagBits 0x0000001f
pattern $bSHADER_STAGE_ALL :: ShaderStageFlagBits
$mSHADER_STAGE_ALL :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_ALL = ShaderStageFlagBits 0x7fffffff
pattern $bSHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI :: ShaderStageFlagBits
$mSHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = ShaderStageFlagBits 0x00080000
pattern $bSHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI :: ShaderStageFlagBits
$mSHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = ShaderStageFlagBits 0x00004000
pattern $bSHADER_STAGE_MESH_BIT_EXT :: ShaderStageFlagBits
$mSHADER_STAGE_MESH_BIT_EXT :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_MESH_BIT_EXT = ShaderStageFlagBits 0x00000080
pattern $bSHADER_STAGE_TASK_BIT_EXT :: ShaderStageFlagBits
$mSHADER_STAGE_TASK_BIT_EXT :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_TASK_BIT_EXT = ShaderStageFlagBits 0x00000040
pattern $bSHADER_STAGE_CALLABLE_BIT_KHR :: ShaderStageFlagBits
$mSHADER_STAGE_CALLABLE_BIT_KHR :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_CALLABLE_BIT_KHR = ShaderStageFlagBits 0x00002000
pattern $bSHADER_STAGE_INTERSECTION_BIT_KHR :: ShaderStageFlagBits
$mSHADER_STAGE_INTERSECTION_BIT_KHR :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_INTERSECTION_BIT_KHR = ShaderStageFlagBits 0x00001000
pattern $bSHADER_STAGE_MISS_BIT_KHR :: ShaderStageFlagBits
$mSHADER_STAGE_MISS_BIT_KHR :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_MISS_BIT_KHR = ShaderStageFlagBits 0x00000800
pattern $bSHADER_STAGE_CLOSEST_HIT_BIT_KHR :: ShaderStageFlagBits
$mSHADER_STAGE_CLOSEST_HIT_BIT_KHR :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_CLOSEST_HIT_BIT_KHR = ShaderStageFlagBits 0x00000400
pattern $bSHADER_STAGE_ANY_HIT_BIT_KHR :: ShaderStageFlagBits
$mSHADER_STAGE_ANY_HIT_BIT_KHR :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_ANY_HIT_BIT_KHR = ShaderStageFlagBits 0x00000200
pattern $bSHADER_STAGE_RAYGEN_BIT_KHR :: ShaderStageFlagBits
$mSHADER_STAGE_RAYGEN_BIT_KHR :: forall {r}.
ShaderStageFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
SHADER_STAGE_RAYGEN_BIT_KHR = ShaderStageFlagBits 0x00000100
conNameShaderStageFlagBits :: String
conNameShaderStageFlagBits :: String
conNameShaderStageFlagBits = String
"ShaderStageFlagBits"
enumPrefixShaderStageFlagBits :: String
enumPrefixShaderStageFlagBits :: String
enumPrefixShaderStageFlagBits = String
"SHADER_STAGE_"
showTableShaderStageFlagBits :: [(ShaderStageFlagBits, String)]
showTableShaderStageFlagBits :: [(ShaderStageFlagBits, String)]
showTableShaderStageFlagBits =
[ (ShaderStageFlagBits
SHADER_STAGE_VERTEX_BIT, String
"VERTEX_BIT")
,
( ShaderStageFlagBits
SHADER_STAGE_TESSELLATION_CONTROL_BIT
, String
"TESSELLATION_CONTROL_BIT"
)
,
( ShaderStageFlagBits
SHADER_STAGE_TESSELLATION_EVALUATION_BIT
, String
"TESSELLATION_EVALUATION_BIT"
)
, (ShaderStageFlagBits
SHADER_STAGE_GEOMETRY_BIT, String
"GEOMETRY_BIT")
, (ShaderStageFlagBits
SHADER_STAGE_FRAGMENT_BIT, String
"FRAGMENT_BIT")
, (ShaderStageFlagBits
SHADER_STAGE_COMPUTE_BIT, String
"COMPUTE_BIT")
, (ShaderStageFlagBits
SHADER_STAGE_ALL_GRAPHICS, String
"ALL_GRAPHICS")
, (ShaderStageFlagBits
SHADER_STAGE_ALL, String
"ALL")
,
( ShaderStageFlagBits
SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI
, String
"CLUSTER_CULLING_BIT_HUAWEI"
)
,
( ShaderStageFlagBits
SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI
, String
"SUBPASS_SHADING_BIT_HUAWEI"
)
, (ShaderStageFlagBits
SHADER_STAGE_MESH_BIT_EXT, String
"MESH_BIT_EXT")
, (ShaderStageFlagBits
SHADER_STAGE_TASK_BIT_EXT, String
"TASK_BIT_EXT")
,
( ShaderStageFlagBits
SHADER_STAGE_CALLABLE_BIT_KHR
, String
"CALLABLE_BIT_KHR"
)
,
( ShaderStageFlagBits
SHADER_STAGE_INTERSECTION_BIT_KHR
, String
"INTERSECTION_BIT_KHR"
)
, (ShaderStageFlagBits
SHADER_STAGE_MISS_BIT_KHR, String
"MISS_BIT_KHR")
,
( ShaderStageFlagBits
SHADER_STAGE_CLOSEST_HIT_BIT_KHR
, String
"CLOSEST_HIT_BIT_KHR"
)
,
( ShaderStageFlagBits
SHADER_STAGE_ANY_HIT_BIT_KHR
, String
"ANY_HIT_BIT_KHR"
)
,
( ShaderStageFlagBits
SHADER_STAGE_RAYGEN_BIT_KHR
, String
"RAYGEN_BIT_KHR"
)
]
instance Show ShaderStageFlagBits where
showsPrec :: Int -> ShaderStageFlagBits -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixShaderStageFlagBits
[(ShaderStageFlagBits, String)]
showTableShaderStageFlagBits
String
conNameShaderStageFlagBits
(\(ShaderStageFlagBits Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read ShaderStageFlagBits where
readPrec :: ReadPrec ShaderStageFlagBits
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixShaderStageFlagBits
[(ShaderStageFlagBits, String)]
showTableShaderStageFlagBits
String
conNameShaderStageFlagBits
Flags -> ShaderStageFlagBits
ShaderStageFlagBits